When you make a request to the Document360 v3 API, the server responds with an HTTP status code indicating whether the request succeeded or failed. Each response is also accompanied by a JSON body — a success envelope for 2xx responses, or an RFC 7807 problem+json body for errors.
Common HTTP status codes
| Status | Name | Description |
|---|---|---|
| 200 | OK | Request fulfilled successfully — read, update, publish. |
| 201 | Created | A new resource was created. |
| 204 | No Content | Success with no response body, for example a delete. |
| 400 | Bad Request | Invalid or malformed request. |
| 401 | Unauthorized | Missing or invalid API key. |
| 403 | Forbidden | Authenticated, but not allowed. Check the error code: FORBIDDEN (permission or scope), FEATURE_NOT_IN_LICENSE (plan), PREMIUM_FEATURE_NOT_IN_LICENSE (premium add-on), LICENSE_LIMIT_EXCEEDED (seats). |
| 404 | Not Found | The requested resource was not found. |
| 409 | Conflict | Conflicts with the current state, for example a duplicate name. |
| 422 | Unprocessable Entity | The request was well-formed but failed validation. |
| 429 | Too Many Requests | Rate limit has been exceeded. |
| 500 | Internal Server Error | The server encountered an unexpected error. |
| 503 | Service Unavailable | Service temporarily unavailable, returned by the infrastructure without a problem+json body. |
Creates return 201 Created, deletes return 204 No Content, and validation failures return 422 Unprocessable Entity. The API emits a problem+json body for 400, 401, 403, 404, 409, 422, 429 and 500. A 503 comes from the infrastructure and has no problem+json body. 401 responses also carry a WWW-Authenticate: Bearer header.
Handling status codes
- 2xx (Success) —
200: process thedata.201: store the new resource ID.204: no body to read. - 400 Bad Request — check the request body and query parameters; review the
errorsarray. - 401 / 403 — verify the API key in the
X-API-Keyheader is present and valid, and that it has the required role, permission and content access. On a403, read the error code:FEATURE_NOT_IN_LICENSE,PREMIUM_FEATURE_NOT_IN_LICENSEandLICENSE_LIMIT_EXCEEDEDindicate a plan or entitlement issue rather than a permission problem, and are not resolved by retrying. - 404 Not Found — verify the resource ID and endpoint; ensure it has not been deleted or moved.
- 409 Conflict — resolve the conflicting state, for example a duplicate name or slug.
- 422 Unprocessable Entity — inspect the
errorsarray; each entry names the field that failed. - 429 Too Many Requests — honour the
Retry-Afterheader and use exponential backoff. - 5xx — retry after a short delay with exponential backoff; escalate if errors persist.
Always log failed responses along with the error code, message and trace_id to help with debugging and support.