Artifacts

Create an artifact

Creates a private artifact at version 1. session_id files it under a session you can edit, and project_id under a project you can read. Unknown body fields are rejected.

post/api/v1/artifacts

Request

  • Base URL: https://your-deployment.example.com
  • URL: https://your-deployment.example.com/api/v1/artifacts
  • Auth: one of:
    • HTTP bearer
    • API key in header x-api-key

Request body

type'mermaid' | 'recharts' | 'chess' | 'python' | 'react' | 'html' | 'svg' | 'code' | 'quest' | 'file' | 'questmaster' | 'lattice' | 'blog-draft' required
titlestring required
contentstring required
descriptionstring
session_idstring

A session you can edit, to file the artifact under.

project_idstring

A project you can read, to file the artifact under.

tagsstring[]

Example request

{
  "type": "mermaid",
  "title": "Signup flow",
  "content": "graph TD; A[Sign up] --> B[Verify email]",
  "tags": [
    "onboarding"
  ]
}

Response

The new artifact.

idstring required
type'mermaid' | 'recharts' | 'chess' | 'python' | 'react' | 'html' | 'svg' | 'code' | 'quest' | 'file' | 'questmaster' | 'lattice' | 'blog-draft' required
titlestring required
descriptionstring nullable required
versioninteger required

The current version. Starts at 1; each content change adds one.

version_tagstring nullable required
status'draft' | 'review' | 'published' | 'archived' required
tagsstring[] required
session_idstring nullable required
project_idstring nullable required
visibility'private' | 'project' | 'organization' | 'public' required
created_atstring required

ISO 8601 timestamp.

updated_atstring required

ISO 8601 timestamp.

contentstring nullable required

The current version's content. null in a list (fetch the artifact by id for it), and in an update response to a caller who may edit the artifact but not read it, unless that update sent content.

Example response

{
  "id": "<artifactId>",
  "type": "mermaid",
  "title": "Signup flow",
  "description": null,
  "version": 1,
  "version_tag": null,
  "status": "draft",
  "tags": [
    "onboarding"
  ],
  "session_id": "<sessionId>",
  "project_id": null,
  "visibility": "private",
  "created_at": "2026-10-01T12:00:00.000Z",
  "updated_at": "2026-10-02T09:30:00.000Z",
  "content": "graph TD; A[Sign up] --> B[Verify email]"
}

Changes

No recorded changes to this operation across all 1 revision of this API.