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

# Errors

> How failures are reported.

## HTTP status

| Status | Meaning | Retry? |
| - | - | - |
| `400` | Request rejected — missing or invalid field. | No. Fix the request. |
| `401` | Key missing, malformed or revoked. | No. |
| `403` | Key valid, product not enabled on the account. | No. |
| `404` | Resource not found. | No. |
| `429` | Rate limited. | Yes, with backoff. |
| `500` | Flick-side failure. | Yes, with backoff and the same idempotency key. |

## Shape

```json theme={null}
{ "status": 400, "message": "invalid bank code" }
```

Some endpoints return `status` as a string (`"00"` for success) inside a `200`
response. **Check the body, not only the HTTP status** — a `200` does not by itself
mean the operation succeeded.

> [!WARNING]
>
> On a timeout or `500` from a payout, do not reissue blindly. Query
> [Verify payout](https://docs.getflick.co/api-reference) first: the transfer may have succeeded even though
> the response never reached you.


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