Errors
The API uses standard HTTP status codes. Error responses are JSON with a message field describing what went wrong.
400 — Bad Request
The request was syntactically wrong or violated a validation rule.
403 — Forbidden
Authentication or authorization failed.
The body for these errors matches the InvalidAPIKey schema.
404 — Not Found
The resource doesn’t exist, or it isn’t visible under the current account/org.
404 vs 403: you get 403 when the account itself is not yours, and 404 when the account is fine but the org/workspace/document you named does not live under it. This avoids leaking whether a resource exists in another tenant.
500 — Internal Server Error
Something went wrong on our side. The response usually contains a generic message. If you can reproduce it, contact [email protected] with:
- The full request URL (with ids redacted if sensitive)
- The request body
- The timestamp and your
X-Account-Id
Debugging checklist
When a request fails, work through this list before opening a ticket:
- Auth works on its own?
GET /v1/mereturns200. - Account is yours?
GET /v1/me(orGET /v1/organizations) with theX-Account-Idsucceeds. - Using ids straight from the API? Pass back the exact
ida list/detail endpoint returned — no transformation. - Resources in the same account/org? The org/workspace/document in the URL must live under the account in the header, and a document and workspace must share an org to embed.
- Required fields present and valid? Check the endpoint’s schema in the API Reference.

