Skip to main content
POST
/
articles
/
{id}
/
versions
/
{version}
/
restore
Restore an article to a prior version
curl --request POST \
  --url https://api.awardee.dev/v1/articles/{id}/versions/{version}/restore \
  --header 'Authorization: Bearer <token>'
{
  "object": "<string>",
  "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>",
  "language": "en",
  "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"
}

Authorizations

Authorization
string
header
required

Send your API key as Authorization: Bearer aw_live_…. Manage keys in the dashboard under Settings → API Keys.

Headers

Idempotency-Key
string

Opaque key that makes this POST safe to retry. Responses are cached for 24h per API key.

Maximum string length: 255

Path Parameters

id
string<uuid>
required
version
integer
required
Required range: 1 <= x <= 9007199254740991

Response

Restored article

object
string
required
Allowed value: "article"
id
string<uuid>
required
Example:

"8f3a9d2e-1b4c-4f5d-9e8a-7c3b2a1d0f9e"

knowledge_base_id
string<uuid> | null
required
Example:

"b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e"

category_id
string<uuid> | null
required
Example:

"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"

title
string
required
Example:

"Refund policy"

slug
string
required
Example:

"refund-policy"

content
string
required
Example:

"<p>Refunds are available within 30 days …</p>"

content_plain
string | null
required
status
enum<string>
required
Available options:
draft,
unpublished,
published,
archived
visibility
enum<string>
required
Available options:
public,
internal,
chatbot_only
language
string
required
Example:

"en"

indexing_status
enum<string>
required
Available options:
not_started,
pending,
processing,
indexed,
failed
indexed_at
string<date-time> | null
required
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"

published_at
string<date-time> | null
required
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"

created_at
string<date-time>
required
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"

updated_at
string<date-time>
required
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"