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

# Errors

> HTTP status codes returned by the PointZero API, the structure of the error object, and which errors are safe to retry.

Errors use standard HTTP status codes and return a JSON body:

```json theme={null}
{
  "error": {
    "type": "invalid_request",
    "code": "card_not_active",
    "message": "The card must be active to perform this action.",
    "param": "card_id",
    "request_id": "req_01JZ8R2Q4V"
  }
}
```

| Field | Description |
| - | - |
| `type` | Error category, see the table below. |
| `code` | Specific reason. Use it for handling errors in code. |
| `message` | Human-readable description. Can change, do not parse it. |
| `param` | The parameter that caused the error, if any. |
| `request_id` | Include it when you contact support. |

## Status codes

| Status | `type` | Meaning |
| - | - | - |
| `400` | `invalid_request` | Malformed request or missing required parameter. |
| `401` | `authentication_error` | Missing or invalid API key. |
| `403` | `permission_error` | The key has no access to this resource. |
| `404` | `not_found` | The object does not exist. |
| `409` | `conflict` | The action is not allowed in the current state, or the idempotency key was reused. |
| `422` | `invalid_request` | Parameters are valid JSON but failed validation. |
| `429` | `rate_limit` | Too many requests. Wait for the number of seconds in `Retry-After`. |
| `5xx` | `api_error` | Error on our side. Retry with exponential backoff. |


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