Platform
ScaiWave ScaiGrid ScaiCore ScaiBot ScaiDrive ScaiKey Models Tools & Services
Solutions
Organisations Developers Internet Service Providers Managed Service Providers AI-in-a-Box
Resources
Support Documentation Blog Downloads
Company
About Research Careers Investment Opportunities Contact
Log in

Artifacts API

7 endpoints. Artifacts are documents the AI can produce or edit during a chat — code, markdown, JSON — that live as first-class documents alongside the conversation. They have version history; think of them as "the AI's draft pad that you can co-edit".

All paths scoped to a room. Auth: power_level ≥ 0 to read, default power_level ≥ 10 to write (configurable per room).

Method Path Purpose
GET /v1/rooms/{room_id}/artifacts List artifacts in this room.
GET /v1/rooms/{room_id}/artifacts/{artifact_id} Read latest version.
PUT /v1/rooms/{room_id}/artifacts/{artifact_id} Update (creates new version).
DELETE /v1/rooms/{room_id}/artifacts/{artifact_id} Soft-delete.
POST /v1/rooms/{room_id}/artifacts/{artifact_id}/revert Revert to a specific version.
GET /v1/rooms/{room_id}/artifacts/{artifact_id}/versions List versions with change_description.
GET /v1/rooms/{room_id}/artifacts/{artifact_id}/versions/{version} Read a specific version.

PUT body#

json
1
2
3
4
5
{
  "title": "Migration plan v3",
  "content": "# Migration plan\n\n…",
  "change_description": "Added the rollback section per Alice's feedback"
}

Each PUT creates a new version. change_description is what you see in the version history panel.

Creation#

There's no POST /artifacts — artifacts are created by the AI calling the create_artifact plugin tool, or by the client's canvas panel which uses an internal mechanism. From outside, artifacts come into existence when the AI decides they should.

Versions#

bash
1
2
curl "$BASE/v1/rooms/$ROOM_ID/artifacts/$ARTIFACT_ID/versions" \
  -H "Authorization: Bearer $TOKEN"
json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
{
  "data": [
    {
      "version": 3,
      "title": "Migration plan v3",
      "change_description": "...",
      "editor_id": "ai-…",
      "created_at": "..."
    },
    {
      "version": 2,
      "title": "Migration plan v2",
      
    },
    
  ]
}

Revert#

bash
1
2
3
curl -X POST "$BASE/v1/rooms/$ROOM_ID/artifacts/$ARTIFACT_ID/revert" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"version": 2}'

Creates a new version with content from version 2; doesn't delete versions 3+ from history.

Updated 2026-05-17 13:10:03 View source (.md) rev 3