> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# Errors

> When something goes wrong with an API request, our server generates an error via an HTTP status code in the header and a JSON response in the body.

When something goes wrong with an API request, our server generates an error. The error message contains an appropriate HTTP status code in the header and a JSON response in the body.

Errors share the same common attributes as other API resources. They have a `sys` property, where `sys.type` is always `"Error"` and a `sys.id` that identifies the exact error code (see table below) that occurred. They always have a `message` property which will be a short description of what went wrong.

Errors resulting from bad input (such as `ValidationFailed` errors) contain a `details` property. This property is structured data that indicates more precisely what was wrong with the input.

## Error types

| HTTP status code            | Error code           | Description                                                                                                                                                                                       |
| --------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400 Bad Request`           | `BadRequest`         | The request was malformed or missing a required parameter.                                                                                                                                        |
| `400 Bad Request`           | `InvalidQuery`       | The request contained invalid or unknown query parameters.                                                                                                                                        |
| `401 Unauthorized`          | `AccessTokenInvalid` | The authorization token was invalid.                                                                                                                                                              |
| `403 Forbidden`             | `AccessDenied`       | The user tried to access a resource they do not have access to. This could include a missing role.                                                                                                |
| `404 Not Found`             | `NotFound`           | The requested resource or endpoint could not be found.                                                                                                                                            |
| `409 Conflict`              | `VersionMismatch`    | This error occurs when you're trying to update an existing asset, entry or content type, and you didn't specify the current version of the object or specified an outdated version.               |
| `422 Unprocessable Entity`  | `ValidationFailed`   | The request payload was valid JSON, but something was wrong with the data. The error details should provide more specific information about the error.                                            |
| `422 Unprocessable Entity`  | `UnknownField`       | The triggered query references an unknown field.                                                                                                                                                  |
| `422 Unprocessable Entity`  | `InvalidEntry`       | The entered value is invalid.                                                                                                                                                                     |
| `429 Too Many Requests`     | `RateLimitExceeded`  | The user sent too many requests in a given timeframe. See [API Rate limits](/references/content-management-api/overview#api-rate-limits) for details.                                             |
| `500 Internal Server Error` | `ServerError`        | Something went wrong on the Contentful servers.                                                                                                                                                   |
| `502 Bad Gateway`           | `Hibernated`         | The space has not been accessed for a long time and has been "hibernated" in a saved state. This error should resolve on its own in a few moments, once the space has been successfully awakened. |

## Next steps

* [Details of our HTTP transport](/references/http-details)