Create an article
curl --request POST \
--url https://api.awardee.com/v1/articles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"slug": "<string>",
"knowledge_base_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"content": "<string>",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"published_at": "2023-11-07T05:31:56Z"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
slug: '<string>',
knowledge_base_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
content: '<string>',
category_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
published_at: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.awardee.com/v1/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.awardee.com/v1/articles"
payload = {
"title": "<string>",
"slug": "<string>",
"knowledge_base_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"content": "<string>",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"published_at": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"object": "article",
"id": "8f3a9d2e-1b4c-4f5d-9e8a-7c3b2a1d0f9e",
"knowledge_base_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"category_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"title": "Refund policy",
"slug": "refund-policy",
"content": "<p>Refunds are available within 30 days …</p>",
"content_plain": "<string>",
"status": "draft",
"visibility": "public",
"language": "en",
"indexing_status": "not_started",
"indexed_at": "2026-05-23T10:00:00.000Z",
"published_at": "2026-05-23T10:00:00.000Z",
"created_at": "2026-05-23T09:30:00.000Z",
"updated_at": "2026-05-23T10:00:00.000Z"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}Endpoints
Create an article
External image URLs embedded in content (markdown or HTML) are rehosted to your org’s storage. If status is published the article enters the indexing pipeline immediately.
POST
/
articles
Create an article
curl --request POST \
--url https://api.awardee.com/v1/articles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"slug": "<string>",
"knowledge_base_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"content": "<string>",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"published_at": "2023-11-07T05:31:56Z"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
slug: '<string>',
knowledge_base_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
content: '<string>',
category_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
published_at: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.awardee.com/v1/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.awardee.com/v1/articles"
payload = {
"title": "<string>",
"slug": "<string>",
"knowledge_base_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"content": "<string>",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"published_at": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"object": "article",
"id": "8f3a9d2e-1b4c-4f5d-9e8a-7c3b2a1d0f9e",
"knowledge_base_id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"category_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"title": "Refund policy",
"slug": "refund-policy",
"content": "<p>Refunds are available within 30 days …</p>",
"content_plain": "<string>",
"status": "draft",
"visibility": "public",
"language": "en",
"indexing_status": "not_started",
"indexed_at": "2026-05-23T10:00:00.000Z",
"published_at": "2026-05-23T10:00:00.000Z",
"created_at": "2026-05-23T09:30:00.000Z",
"updated_at": "2026-05-23T10:00:00.000Z"
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}{
"error": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": "<unknown>",
"retry_after": 123
}Authorizations
Send your API key as Authorization: Bearer aw_live_…. Manage keys in the dashboard under Settings → API Keys.
Headers
Opaque key that makes this POST safe to retry. Responses are cached for 24h per API key.
Maximum string length:
255Body
application/json
Minimum string length:
1Required string length:
1 - 200Pattern:
^[a-z0-9-]+$Available options:
draft, unpublished, published, archived Available options:
public, internal, chatbot_only Available options:
en, ja, de, fr, ko, zh, nl, sv, es, it, no Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Response
Article created
Allowed value:
"article"Example:
"8f3a9d2e-1b4c-4f5d-9e8a-7c3b2a1d0f9e"
Example:
"b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e"
Example:
"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
Example:
"Refund policy"
Example:
"refund-policy"
Example:
"<p>Refunds are available within 30 days …</p>"
Available options:
draft, unpublished, published, archived Available options:
public, internal, chatbot_only Example:
"en"
Available options:
not_started, pending, processing, indexed, failed Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Example:
"2026-05-23T10:00:00.000Z"
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Example:
"2026-05-23T10:00:00.000Z"
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Example:
"2026-05-23T09:30:00.000Z"
Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Example:
"2026-05-23T10:00:00.000Z"

