Create an Article
POST
/
v1
/
articles
Create an Article
curl --request POST \
--url https://api.siit.io/v1/articles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"subtitle": "<string>",
"body": "<string>",
"body_markdown": "<string>",
"external_url": "<string>",
"category": "<string>",
"author": "<string>"
}
'import requests
url = "https://api.siit.io/v1/articles"
payload = {
"title": "<string>",
"subtitle": "<string>",
"body": "<string>",
"body_markdown": "<string>",
"external_url": "<string>",
"category": "<string>",
"author": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
subtitle: '<string>',
body: JSON.stringify('<string>'),
body_markdown: '<string>',
external_url: '<string>',
category: '<string>',
author: '<string>'
})
};
fetch('https://api.siit.io/v1/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.siit.io/v1/articles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'subtitle' => '<string>',
'body' => '<string>',
'body_markdown' => '<string>',
'external_url' => '<string>',
'category' => '<string>',
'author' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.siit.io/v1/articles"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"subtitle\": \"<string>\",\n \"body\": \"<string>\",\n \"body_markdown\": \"<string>\",\n \"external_url\": \"<string>\",\n \"category\": \"<string>\",\n \"author\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.siit.io/v1/articles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"subtitle\": \"<string>\",\n \"body\": \"<string>\",\n \"body_markdown\": \"<string>\",\n \"external_url\": \"<string>\",\n \"category\": \"<string>\",\n \"author\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/articles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"subtitle\": \"<string>\",\n \"body\": \"<string>\",\n \"body_markdown\": \"<string>\",\n \"external_url\": \"<string>\",\n \"category\": \"<string>\",\n \"author\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"uid": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"author": "<string>",
"author_uid": "<string>",
"body": "<string>",
"body_markdown": "<string>",
"category": "<string>",
"category_uid": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"external_url": "<string>",
"last_editor": "<string>",
"last_editor_uid": "<string>",
"published": true,
"source": "external",
"subtitle": "<string>",
"title": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
}Introduction
This endpoint allows you to create a new article. Please note that those will have asource marked as external and can only be managed through the API.
- Articles created via this endpoint will be automatically
published, and thus might be picked by the Siit Bot. - Category will be the default one when not provided.
Usage
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Request body for creating or updating an Article. Pass UIDs (not objects) for relationship fields.
please use "body_markdown" instead
Content of the article, as markdown. Takes precedence over body when both are provided.
URL that the article redirects to
The category of this article. Pass the UID of the related object.
The user who creates the article (only honored on create — defaults to current user). Pass the UID of the related object.
Response
201 - application/json
Article created
Show child attributes
Show child attributes
⌘I
Create an Article
curl --request POST \
--url https://api.siit.io/v1/articles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"subtitle": "<string>",
"body": "<string>",
"body_markdown": "<string>",
"external_url": "<string>",
"category": "<string>",
"author": "<string>"
}
'import requests
url = "https://api.siit.io/v1/articles"
payload = {
"title": "<string>",
"subtitle": "<string>",
"body": "<string>",
"body_markdown": "<string>",
"external_url": "<string>",
"category": "<string>",
"author": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
subtitle: '<string>',
body: JSON.stringify('<string>'),
body_markdown: '<string>',
external_url: '<string>',
category: '<string>',
author: '<string>'
})
};
fetch('https://api.siit.io/v1/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.siit.io/v1/articles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'subtitle' => '<string>',
'body' => '<string>',
'body_markdown' => '<string>',
'external_url' => '<string>',
'category' => '<string>',
'author' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.siit.io/v1/articles"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"subtitle\": \"<string>\",\n \"body\": \"<string>\",\n \"body_markdown\": \"<string>\",\n \"external_url\": \"<string>\",\n \"category\": \"<string>\",\n \"author\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.siit.io/v1/articles")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"subtitle\": \"<string>\",\n \"body\": \"<string>\",\n \"body_markdown\": \"<string>\",\n \"external_url\": \"<string>\",\n \"category\": \"<string>\",\n \"author\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/articles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"subtitle\": \"<string>\",\n \"body\": \"<string>\",\n \"body_markdown\": \"<string>\",\n \"external_url\": \"<string>\",\n \"category\": \"<string>\",\n \"author\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"uid": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"author": "<string>",
"author_uid": "<string>",
"body": "<string>",
"body_markdown": "<string>",
"category": "<string>",
"category_uid": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"external_url": "<string>",
"last_editor": "<string>",
"last_editor_uid": "<string>",
"published": true,
"source": "external",
"subtitle": "<string>",
"title": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}
}
