import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/restore/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/restore/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/restore/ \
--header 'Authorization: Bearer <token>'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_number": 123,
"short_name": "<string>",
"change_summary": "<string>",
"edit_source": "<string>",
"coach_conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"created_by_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_email": "[email protected]",
"conversation": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"name": "<string>"
},
"payload": "<unknown>"
}{
"error": "Authentication credentials were not provided."
}{
"error": "You do not have permission to perform this action."
}{
"error": "Not found."
}Restore an artifact version
Publish a new head version copying the payload of an older version
(nothing is deleted; history stays intact). The restore itself goes
through the normal publish path, so it appears in the knowledge
changelog and the version history with edit_source: "ui".
Rejected (400) for out-of-scope artifacts. Requires admin permission.
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/restore/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/restore/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/restore/ \
--header 'Authorization: Bearer <token>'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_number": 123,
"short_name": "<string>",
"change_summary": "<string>",
"edit_source": "<string>",
"coach_conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"created_by_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_email": "[email protected]",
"conversation": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"name": "<string>"
},
"payload": "<unknown>"
}{
"error": "Authentication credentials were not provided."
}{
"error": "You do not have permission to perform this action."
}{
"error": "Not found."
}Authorizations
Use Authorization: Bearer <token>. The token is either a user token / OAuth access
token, or a service-account API key (cfk_...). A key is valid on every endpoint and
acts as its service account, an organization member with per-store permissions.
Refused keys answer 403 with Invalid API key., API key revoked.,
API key expired. or API key disabled..
Path Parameters
UUID of the project
Slug of the artifact within the project's catalog
Version number to restore (1-based, unique per artifact)
Response
The newly published head version
Where the edit came from: "chat", "clara", "mcp", "ui"; empty for legacy/system writes.
Coach conversation whose agent produced this version, when known.
Coach conversation that produced this version, when known.
Show child attributes
Show child attributes
Version content; shape depends on the artifact's technical_type. Null allowed.