Publish an artifact version
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/publish/"
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}/publish/', 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}/publish/ \
--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."
}Artifacts
Publish an artifact version
Points the knowledge store at this version, so agents read it. Creates no new version — this is also the rollback action, unlike restore, which appends a copy of an old version as the new latest one. Only valid when the project’s artifact_publish_mode is manual_publish. Requires admin permissions.
POST
/
projects
/
{project_id}
/
artifacts
/
{slug}
/
versions
/
{version_number}
/
publish
/
Publish an artifact version
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/artifacts/{slug}/versions/{version_number}/publish/"
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}/publish/', 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}/publish/ \
--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
BearerAuthTokenAuth
Use Authorization: Bearer
Path Parameters
UUID of the project
Response
The now-published 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.