HTTP Status Codes
| Code | Meaning | What to do |
|---|---|---|
200 | Request succeeded. | |
201 | Resource created. | The body carries the new resource. |
204 | Resource deleted. | No body. |
401 | Missing, invalid, expired or revoked API token. | Check the Authorization header and the token in the CMS. |
403 | Token lacks the required scope, the IP restriction blocks the request, the feature is not enabled, or existing references block a delete or update. | Read the message; see Authentication. |
404 | Resource not found, or not visible to this token. | The body is JSON when Accept: application/json is sent. |
405 | The path does not take this HTTP method. | Check the method on the endpoint's page. |
409 | The request conflicts with the resource's state, for example deleting a handbook chapter a course still uses. | Read the message; the body carries error conflict. |
413 | Request body larger than 2,048 MiB, refused by the web server before it reaches the API. | The body is an HTML page, not JSON. Keep uploads within the API's 2,000 MiB file limit. |
422 | Validation error. | Fix the fields listed in errors, or read message when there is no errors. |
429 | Rate limit exceeded. | Wait for Retry-After seconds; see Rate limiting. |
500 | Server error. | Retry with backoff; errors are tracked on our side. |
For payload formats and error message shapes, see Errors.