REST API
Call Super Artifacts from your own code over HTTPS with an API key — base URL, errors, pagination, retries, rate limits, key scopes and MCP parity.
reference~3 minVerified v0.175.0
Everything your agent does over MCP is also an HTTPS endpoint, for code with no MCP client: a script, a scheduled job, your own backend. API endpoints lists every one, with a request you can build and copy.
Base URL and key
Requests go to https://superartifacts.app/v1, with JSON bodies. Create a key in
Settings → API keys and send it on every request
as Authorization: Bearer <key>. The OpenAPI 3.1 document is
https://superartifacts.app/v1/openapi.json, public, for a client generator.
A key can read, or read and write. A read key that calls a write gets 403 scope_required. Keys made before scopes existed can do both.
Keep the key on a server. A request carrying an Origin header, which every browser adds, is
refused with 403.
Errors
A failure has a status and one shape. code is stable; Error codes
lists every one.
{ "error": { "code": "not_found", "message": "No artifact with that id." } }| Status | code |
|---|---|
| 400 | invalid_arguments and the other invalid_* codes |
| 401 | unauthorized: no key, or one that was revoked |
| 402 | plan_limit |
| 403 | forbidden, scope_required |
| 404 | not_found |
| 409 | conflict |
| 413 | payload_too_large: over 1 MiB; stage large files through /v1/uploads |
| 429 | rate_limited, workspace_busy |
| 500 | internal |
Lists
A list answers an object whose array is named for what it holds: artifacts, responses,
threads, entries, projects, templates. Paged reads say how to get the next page
inside the answer: data reads return cursor.next, which you send back as ?cursor=, and
collection entries take ?page=. Each operation's page parameters are in its entry below.
Retries
A POST sent with an Idempotency-Key header happens once: the same key within 24 hours
returns the first answer instead of doing it again. Deleting an artifact or a project needs
?confirm= set to its id.
Rate limits
Per key: 600 reads a minute, 120 writes a minute, and 20 an hour to the endpoints that send
email (sharing and signature requests). Over a limit answers 429 with a Retry-After header
in seconds. The rest are in Limits.
Every MCP tool has an endpoint
| MCP tool | Endpoints |
|---|---|
super_whoami | GET /v1/whoami |
super_publish | POST /v1/artifacts |
super_upload | POST /v1/uploads |
super_artifacts | GET /v1/artifacts, GET /v1/artifacts/{artifact}, GET /v1/artifacts/{artifact}/file, POST /v1/artifacts/{artifact}/open |
super_artifact_set | PATCH /v1/artifacts/{artifact}, DELETE /v1/artifacts/{artifact}, POST /v1/artifacts/{artifact}/versions/{version}/serve, POST /v1/artifacts/{artifact}/live, DELETE /v1/artifacts/{artifact}/live |
super_data | GET /v1/artifacts/{artifact}/data, GET /v1/data |
super_data_query | POST /v1/data/query |
super_data_write | POST /v1/artifacts/{artifact}/data/rows |
super_data_schema | GET /v1/schema, PUT /v1/schema |
super_entries | GET /v1/collections/{collection}/entries, POST /v1/collections/{collection}/entries |
super_secret_use | POST /v1/collections/{collection}/entries/{entry}/fields/{field}/use |
super_templates | GET /v1/templates, GET /v1/templates/{slug}, GET /v1/templates/{slug}/history, GET /v1/templates/{slug}/feedback |
super_template_save | POST /v1/templates |
super_template_action | POST /v1/templates/{slug}/actions |
super_release_template | POST /v1/templates/{slug}/release |
super_project | GET /v1/projects, POST /v1/projects, GET /v1/projects/{project}, PATCH /v1/projects/{project}, DELETE /v1/projects/{project}, POST /v1/projects/{project}/artifacts, DELETE /v1/projects/{project}/artifacts/{remove} |
super_share | POST /v1/artifacts/{artifact}/shares, POST /v1/projects/{project}/shares, POST /v1/workspace/shares |
super_comments | GET /v1/artifacts/{artifact}/comments, POST /v1/artifacts/{artifact}/comments/responses, GET /v1/artifacts/{artifact}/comments/screenshots/{screenshot}, GET /v1/mentions |
super_signatures | GET /v1/signatures, POST /v1/signatures, GET /v1/signatures/{request}, POST /v1/signatures/{request}/remind, POST /v1/signatures/{request}/withdraw |
super_help | GET /v1/help |