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
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.