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

# Errors

> Status codes and the error response shape.

Parley uses standard HTTP status codes. Every error response has the same JSON body:

```json theme={null}
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Project not found.",
    "details": {}
  }
}
```

| Field | Description |
| - | - |
| `code` | Machine-readable error code. Branch on this, not on `message`. |
| `message` | Human-readable description of the error. |
| `details` | Optional structured context, such as the validation issues for a request. |

## Status codes

| Status | Code | Meaning |
| - | - | - |
| `400` | `BAD_REQUEST` | The request is malformed or failed validation. See `details`. |
| `401` | `UNAUTHORIZED` | The API key is missing or invalid. See [Authentication](/api-reference/authentication.md). |
| `403` | `FORBIDDEN` | The key's user can't perform this action. |
| `404` | `NOT_FOUND` | The resource doesn't exist, or the key's user can't see it. |
| `409` | `CONFLICT` | The request conflicts with the resource's current state. |
| `429` | `TOO_MANY_REQUESTS` | Too many requests. Wait briefly and retry. |
| `5xx` | | Something went wrong on Parley's side. Retry with backoff. |


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