> ## Documentation Index
> Fetch the complete documentation index at: https://developers.apob.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GraphQL errors

> Handle transport, authentication, validation, and generation failures without duplicating paid work.

Inspect both the HTTP status and the GraphQL response. HTTP 200 can contain
GraphQL errors, and `data` can be partially present alongside `errors`.

## Read the error envelope

An illustrative field-error response is:

```json Example error response theme={null}
{
  "errors": [
    {
      "message": "[100101]",
      "path": ["getUserByPrivateId"],
      "extensions": {
        "type": "GraphQLException"
      }
    }
  ],
  "data": {
    "getUserByPrivateId": null
  }
}
```

Application error codes appear as numeric prefixes in `message`. Do not assume
they are available as `extensions.code`. The `path`, message text, and extension
type depend on where the failure occurs; transport-level rejection can return
`data: null` and a different path.

## Choose the next action

| Condition | Action |
| - | - |
| Missing or invalid authentication (`100101`) | Check the key, its expiry/revocation, and the active APOB account. For Firebase login calls, check the sign-in token and project. |
| Temporary identity failure (`100102`) | Back off before repeating a read; preserve uncertainty for a mutation. |
| Permission denied (`110202`) | Check the operation's role requirements and resource access. |
| Deleted account (`110206`) | Stop protected operations for that account. |
| GraphQL validation error | Correct field names, variable types, required inputs, and enum values. |
| Generation task failure | Read `status`, `finishCode`, and `displayErrorMessage` from the saved content. |
| Timeout or lost mutation response | Reconcile the saved receipt or account history before another submission. |
| Expired output URL | Request a new URL for the same output media ID. |

A generation error may concern prompt moderation, incompatible media, a
quality/duration/reference combination, credits, or concurrency. Correct the
reported cause. Do not bypass moderation or permission checks by switching
accounts or retrying an unchanged request.

## Preserve partial receipts

If a mutation's response contains a content ID or task ID alongside an error,
save those IDs. A failure while resolving a selected response field can happen
after creation. Continue through [tasks and results](/api-reference/tasks-and-results)
to establish the existing operation's outcome.

For account and workflow preparation, see the
[troubleshooting guide](/troubleshooting) and
[credits and billing](/credits-and-billing).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.