Skip to main content

Base URL

All endpoints (except GET /health) are prefixed with /v1/. API-direct transcript storage uses the existing artifact metadata and content-type fields, not a new REST field. See the multipart, JSON-body, and list recipes in the session transcript guide. Model provenance likewise uses existing metadata keys (model, model_source, models_used) — there is no new REST field. See model capture.

Authentication

Every request requires a Bearer token:
Get your key from app.artifacta.io/dashboard/keys. Use GET /v1/whoami to verify your key.

Endpoints

Artifacts

Presigned uploads

Artifact Pages (authenticated)

Artifact Pages (public — no auth)

The three /v1/public/pages/ endpoints require no Bearer token. They are called by the public viewer and by end users’ browsers. The “Every request requires a Bearer token” rule applies only to authenticated endpoints.

Sessions

Account

Content upload paths

Pagination

All list endpoints use cursor-based pagination.
  • Response includes next_cursor (null if no more results)
  • Pass cursor=<value> for the next page
  • Max limit: 200, default: 50
Sort order guarantee: Results are always ordered by created_at DESC, artifact_id DESC. This is a V1 API contract and will not change without a new API version.

Rate limiting

Per-tenant: 100 requests/second sustained, 200 requests/second burst (sliding window). Headers on every response: When exceeded: 429 Too Many Requests with Retry-After header and retry_after_seconds in the body.

Error response shape

All errors return:
Match on error.code (stable). Never parse error.message. See the full error reference.

The page field on artifact responses

GET /v1/artifacts/{id} includes a page sub-object when the artifact has a live published page:
page is null when no live page exists (never published, or unpublished). It is present only on the single-artifact GET /v1/artifacts/{id} response — list results always return page: null.

API guarantees

  • Read-after-write consistency: An artifact written via POST /v1/artifacts is immediately visible to all read endpoints.
  • Backward compatibility: Additive changes (new fields, new optional parameters, new endpoints) are non-breaking. Removals and type changes require a new API version. V1 remains available for 12 months after V2 launches.
Coming in V1.1: POST /v1/artifacts/batch/download-urls — batch download URLs for up to 20 artifacts in a single request.