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

# Errors

> HTTP error envelope, status codes, and retry guidance.

```json theme={null}
{ "error": { "code": "invalid_request", "message": "limit must be between 1 and 100" } }
```

| Status | Code examples                                                                                         | Meaning                                               |
| -----: | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
|    400 | `invalid_request`, `invalid_pagination`, `invalid_address`, `invalid_proposal_id`, `invalid_interval` | Caller input is malformed                             |
|    400 | `invalid_upload`, `invalid_image`, `invalid_name`, `invalid_symbol`, URL-specific codes               | Metadata validation failed                            |
|    404 | `not_found`                                                                                           | Canonical resource or stored object is absent         |
|    409 | `not_indexed`                                                                                         | Matching launch is not yet in canonical indexed state |
|    503 | `not_ready`, `storage_unavailable`                                                                    | Required backend dependency is unavailable            |
|    500 | `inconsistent_accounting`, `internal_error`                                                           | Safe consistency failure or hidden internal error     |

Timeout middleware returns code `timeout`. Preserve `X-Request-ID` in bug reports. Do not retry invalid input unchanged. A `409 not_indexed` finalization can be retried after the indexer advances; a transaction confirmation timeout must be resolved through Arc receipt/nonce recovery, not by calling the HTTP API.
