curl --request POST \
--url 'https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"version": 0
}'
const response = await fetch('https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public', {
method: 'POST',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'version': 0
}
)
});
const data = await response.json();
import requests
response = requests.post(
"https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"version": 0
},
)
data = response.json()
{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"title": "Refund policy",
"mainKnowledge": "Customers can request a refund within 30 days of purchase.",
"agentInstruction": "Use this article for refund eligibility questions.",
"questions": [
"Can I get a refund?"
],
"keywords": [
"refund",
"billing"
],
"escalation": false,
"active": false,
"public": false,
"version": 4,
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b",
"isDraft": false,
"origin": "API_CREATED",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Articles
Revert article version
Revert an article to a saved history version.
POST
/
v2
/
hc-articles
/
{id}
/
revert
/
public
curl --request POST \
--url 'https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"version": 0
}'
const response = await fetch('https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public', {
method: 'POST',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'version': 0
}
)
});
const data = await response.json();
import requests
response = requests.post(
"https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"version": 0
},
)
data = response.json()
{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"title": "Refund policy",
"mainKnowledge": "Customers can request a refund within 30 days of purchase.",
"agentInstruction": "Use this article for refund eligibility questions.",
"questions": [
"Can I get a refund?"
],
"keywords": [
"refund",
"billing"
],
"escalation": false,
"active": false,
"public": false,
"version": 4,
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b",
"isDraft": false,
"origin": "API_CREATED",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
Reverts an article to a saved history version. This changes live knowledge content, so use it only when your workflow intentionally rolls back an article.
Restores the saved title, main knowledge, agent instruction, questions, keywords, and escalation setting. The current
active and public values are preserved: restoring content does not re-enable an inactive article or republish an internal-only article. The restore creates a new current content version rather than resetting the version counter.
Headers
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.string
required
application/jsonPath parameters
string
required
Article ID.
Body parameters
number
required
Article version number to restore.
Response
Returns the reverted article.curl --request POST \
--url 'https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public' \
--header 'Authorization: Bearer fini_your_api_key' \
--header 'Content-Type: application/json' \
--data '{
"version": 0
}'
const response = await fetch('https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public', {
method: 'POST',
headers: {
Authorization: 'Bearer fini_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
'version': 0
}
)
});
const data = await response.json();
import requests
response = requests.post(
"https://api-prod.usefini.com/v2/hc-articles/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/revert/public",
headers={"Authorization": "Bearer fini_your_api_key", "Content-Type": "application/json"},
json={
"version": 0
},
)
data = response.json()
{
"id": "4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3",
"title": "Refund policy",
"mainKnowledge": "Customers can request a refund within 30 days of purchase.",
"agentInstruction": "Use this article for refund eligibility questions.",
"questions": [
"Can I get a refund?"
],
"keywords": [
"refund",
"billing"
],
"escalation": false,
"active": false,
"public": false,
"version": 4,
"parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b",
"isDraft": false,
"origin": "API_CREATED",
"createdAt": "2026-07-28T08:55:32.000Z",
"updatedAt": "2026-07-28T09:10:18.000Z"
}
This route writes to the knowledge graph immediately. If you need review before changing live answers, create or update a draft instead.
Was this page helpful?

