curl --request POST \
--url http://localhost:3001/portal-api/posts \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"Content": "# Title\r\n## Subtitle\r\nContent goes here",
"Status": "published",
"Title": "Get started this API Product",
"Path": "<string>",
"MarkdownEnabled": true,
"Lede": "<string>",
"Categories": [
1
],
"Tags": [
1
],
"MarkdownContent": "<string>",
"PreviewContent": "<string>"
}
'import requests
url = "http://localhost:3001/portal-api/posts"
payload = {
"Content": "# Title
## Subtitle
Content goes here",
"Status": "published",
"Title": "Get started this API Product",
"Path": "<string>",
"MarkdownEnabled": True,
"Lede": "<string>",
"Categories": [1],
"Tags": [1],
"MarkdownContent": "<string>",
"PreviewContent": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Content: '# Title\r\n## Subtitle\r\nContent goes here',
Status: 'published',
Title: 'Get started this API Product',
Path: '<string>',
MarkdownEnabled: true,
Lede: '<string>',
Categories: [1],
Tags: [1],
MarkdownContent: '<string>',
PreviewContent: '<string>'
})
};
fetch('http://localhost:3001/portal-api/posts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3001",
CURLOPT_URL => "http://localhost:3001/portal-api/posts",
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([
'Content' => '# Title
## Subtitle
Content goes here',
'Status' => 'published',
'Title' => 'Get started this API Product',
'Path' => '<string>',
'MarkdownEnabled' => true,
'Lede' => '<string>',
'Categories' => [
1
],
'Tags' => [
1
],
'MarkdownContent' => '<string>',
'PreviewContent' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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 := "http://localhost:3001/portal-api/posts"
payload := strings.NewReader("{\n \"Content\": \"# Title\\r\\n## Subtitle\\r\\nContent goes here\",\n \"Status\": \"published\",\n \"Title\": \"Get started this API Product\",\n \"Path\": \"<string>\",\n \"MarkdownEnabled\": true,\n \"Lede\": \"<string>\",\n \"Categories\": [\n 1\n ],\n \"Tags\": [\n 1\n ],\n \"MarkdownContent\": \"<string>\",\n \"PreviewContent\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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("http://localhost:3001/portal-api/posts")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Content\": \"# Title\\r\\n## Subtitle\\r\\nContent goes here\",\n \"Status\": \"published\",\n \"Title\": \"Get started this API Product\",\n \"Path\": \"<string>\",\n \"MarkdownEnabled\": true,\n \"Lede\": \"<string>\",\n \"Categories\": [\n 1\n ],\n \"Tags\": [\n 1\n ],\n \"MarkdownContent\": \"<string>\",\n \"PreviewContent\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/portal-api/posts")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Content\": \"# Title\\r\\n## Subtitle\\r\\nContent goes here\",\n \"Status\": \"published\",\n \"Title\": \"Get started this API Product\",\n \"Path\": \"<string>\",\n \"MarkdownEnabled\": true,\n \"Lede\": \"<string>\",\n \"Categories\": [\n 1\n ],\n \"Tags\": [\n 1\n ],\n \"MarkdownContent\": \"<string>\",\n \"PreviewContent\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"ID": "<string>",
"Title": "<string>",
"Lede": "<string>",
"Content": "<string>",
"Status": "<string>",
"Path": "<string>",
"Categories": [
{
"ID": "<string>",
"Name": "<string>",
"CreatedAt": "2023-06-25 13:37",
"UpdatedAt": "2023-06-25 13:37"
}
],
"Tags": [
{
"ID": "<string>",
"Name": "<string>",
"CreatedAt": "2023-06-25 13:37",
"UpdatedAt": "2023-06-25 13:37"
}
],
"MarkdownEnabled": true,
"MarkdownContent": "<string>",
"PreviewContent": "<string>",
"CreatedAt": "2023-06-25 13:37",
"UpdatedAt": "2023-06-25 13:37"
}Create a new post
Create a new post.
curl --request POST \
--url http://localhost:3001/portal-api/posts \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"Content": "# Title\r\n## Subtitle\r\nContent goes here",
"Status": "published",
"Title": "Get started this API Product",
"Path": "<string>",
"MarkdownEnabled": true,
"Lede": "<string>",
"Categories": [
1
],
"Tags": [
1
],
"MarkdownContent": "<string>",
"PreviewContent": "<string>"
}
'import requests
url = "http://localhost:3001/portal-api/posts"
payload = {
"Content": "# Title
## Subtitle
Content goes here",
"Status": "published",
"Title": "Get started this API Product",
"Path": "<string>",
"MarkdownEnabled": True,
"Lede": "<string>",
"Categories": [1],
"Tags": [1],
"MarkdownContent": "<string>",
"PreviewContent": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Content: '# Title\r\n## Subtitle\r\nContent goes here',
Status: 'published',
Title: 'Get started this API Product',
Path: '<string>',
MarkdownEnabled: true,
Lede: '<string>',
Categories: [1],
Tags: [1],
MarkdownContent: '<string>',
PreviewContent: '<string>'
})
};
fetch('http://localhost:3001/portal-api/posts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3001",
CURLOPT_URL => "http://localhost:3001/portal-api/posts",
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([
'Content' => '# Title
## Subtitle
Content goes here',
'Status' => 'published',
'Title' => 'Get started this API Product',
'Path' => '<string>',
'MarkdownEnabled' => true,
'Lede' => '<string>',
'Categories' => [
1
],
'Tags' => [
1
],
'MarkdownContent' => '<string>',
'PreviewContent' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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 := "http://localhost:3001/portal-api/posts"
payload := strings.NewReader("{\n \"Content\": \"# Title\\r\\n## Subtitle\\r\\nContent goes here\",\n \"Status\": \"published\",\n \"Title\": \"Get started this API Product\",\n \"Path\": \"<string>\",\n \"MarkdownEnabled\": true,\n \"Lede\": \"<string>\",\n \"Categories\": [\n 1\n ],\n \"Tags\": [\n 1\n ],\n \"MarkdownContent\": \"<string>\",\n \"PreviewContent\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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("http://localhost:3001/portal-api/posts")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Content\": \"# Title\\r\\n## Subtitle\\r\\nContent goes here\",\n \"Status\": \"published\",\n \"Title\": \"Get started this API Product\",\n \"Path\": \"<string>\",\n \"MarkdownEnabled\": true,\n \"Lede\": \"<string>\",\n \"Categories\": [\n 1\n ],\n \"Tags\": [\n 1\n ],\n \"MarkdownContent\": \"<string>\",\n \"PreviewContent\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/portal-api/posts")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Content\": \"# Title\\r\\n## Subtitle\\r\\nContent goes here\",\n \"Status\": \"published\",\n \"Title\": \"Get started this API Product\",\n \"Path\": \"<string>\",\n \"MarkdownEnabled\": true,\n \"Lede\": \"<string>\",\n \"Categories\": [\n 1\n ],\n \"Tags\": [\n 1\n ],\n \"MarkdownContent\": \"<string>\",\n \"PreviewContent\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"ID": "<string>",
"Title": "<string>",
"Lede": "<string>",
"Content": "<string>",
"Status": "<string>",
"Path": "<string>",
"Categories": [
{
"ID": "<string>",
"Name": "<string>",
"CreatedAt": "2023-06-25 13:37",
"UpdatedAt": "2023-06-25 13:37"
}
],
"Tags": [
{
"ID": "<string>",
"Name": "<string>",
"CreatedAt": "2023-06-25 13:37",
"UpdatedAt": "2023-06-25 13:37"
}
],
"MarkdownEnabled": true,
"MarkdownContent": "<string>",
"PreviewContent": "<string>",
"CreatedAt": "2023-06-25 13:37",
"UpdatedAt": "2023-06-25 13:37"
}Authorizations
Body
Full content of the post
"# Title\r\n## Subtitle\r\nContent goes here"
Status of the post (e.g., draft, published)
published, draft, review "published"
Title of the post
"Get started this API Product"
URL path for the post
Whether Markdown is enabled for this post
true
Short summary or lead paragraph of the post
IDs of existing categories to associate with the post
IDs of existing tags to associate with the post
Content of the post in Markdown format, if Markdown is enabled
Preview content of the post
Response
Created
Unique identifier for the post
Title of the post
Short summary or lead paragraph of the post
Full content of the post
Status of the post (e.g., draft, published)
URL path for the post
List of categories associated with the post
Show child attributes
Show child attributes
List of tags associated with the post
Show child attributes
Show child attributes
Whether Markdown is enabled for this post
Content of the post in Markdown format, if Markdown is enabled
Preview content of the post
Timestamp of when this post was created
^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$"2023-06-25 13:37"
Timestamp of when this post was last updated
^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$"2023-06-25 13:37"
Was this page helpful?