Reference
Errors
What an error looks like, and what to do about it.
Error shape
Every error has the same shape. message is written for a person; branch on error. Quote the request_id when you contact Manifest.
{
"error": "unauthorized",
"message": "That API key is not recognised.",
"request_id": "…"
}
Any path outside /v1/* answers 404 with "error": "not_found" and "No such API route." A content or file update error also names the field, for example "field": "articles[1].slug" or "field": "files[0].path".
What to do
| Status | What to do |
|---|---|
| 400, 422 | Fix the request. The message says what is wrong; don't retry unchanged. |
| 401 | Check the key. A revoked key stays revoked. |
| 402 | pro_required: the feature is part of Pro. Upgrade the project in the dashboard, then retry. |
| 403 | A cap is reached (projects or domains), or you are a member of the project but not its owner or an admin. The message says which. |
| 404 | The project, deployment, file, or domain doesn't exist or the key can't reach it, or the route doesn't exist. |
| 409 | A conflict or an operation still running. The error code says which; retry the _in_progress ones shortly. |
| 413 | The body or a file is too large. See Limits. |
| 429 | Too many requests. Wait the number of seconds in Retry-After, then retry. |
| 5xx | Retry with the same Idempotency-Key. Failures are never stored, so the retry runs again. |
Codes by topic
Each article lists its own codes:
- Authentication: missing, invalid, and revoked keys, and the rate limit.
- Manage: creates,
source_idconflicts, the project cap, and project roles. - Publish: uploads, file reads and updates, promotes, rollbacks, and Pro features.
- Content: content ingest and
fielderrors. - Domains: hostnames, certificates, and the domain cap.
- Idempotency:
Idempotency-Keyreuse and retries.
Article does not exist
There is no documentation at this path.