# internal

Source: https://capacms.com/docs/errors/internal

500 api_error. Capa hit an unexpected error.

| HTTP status | `type`      | Surfaces      |
| ----------- | ----------- | ------------- |
| 500         | `api_error` | REST, GraphQL |

## What it means

Capa hit an unexpected error. The body has no details, by design.

| When      | What the `hint` tells you       |
| --------- | ------------------------------- |
| our fault | no hint: quote `meta.requestId` |

## What to do

Retry once. If it repeats, report the requestId to Capa support.

## The response

HTTP 500:

```json
{
  "error": {
    "type": "api_error",
    "code": "internal",
    "message": "Internal error.",
    "docs": "https://docs.capacms.com/errors/internal"
  },
  "meta": {
    "version": "2026-10-01",
    "contract": 1,
    "requestId": "req_0f3c…"
  }
}
```

## On GraphQL

`/api/graphql` answers the same `code` inside `errors[].extensions`. The status depends on the `Accept` header you send ([status codes](https://capacms.com/docs/api/graphql#status-codes)):

| `application/json`     | `graphql-response+json` | When                                                                                                                                                                   |
| ---------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 500, or 200 on a field | 500, or 200 on a field  | our bug. No details, quote the `requestId`. A bug met while answering one field nulls that field, with `path` set, and the rest of `data` is still answered with a 200 |
