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

# Errors

> Status codes the API returns and what to do about them.

| Status | Body | What it means | What to do |
| - | - | - | - |
| `400` | `{"error": "..."}` or `{"ok": false, ...}` | The request is missing something or a value is wrong. The message says which. | Fix the request. |
| `401` | `{"error": "missing X-API-Key header"}` | No key sent. | Add the header. |
| `401` | `{"error": "invalid or revoked API key"}` | The key is wrong or was revoked. | Create a new key. |
| `403` | `{"ok": false, "error": "this API key has no owner; mint a new one"}` | An old key with no creator. | Create a new key. |
| `403` | `{"ok": false, "error": "no access to this workspace"}` | The key's creator is no longer in the workspace. | Create a key as a current member. |
| `403` | `{"ok": false, "messages": [...], "error": 403}` | The key's role is below the operation's `x-min-role`. | Use a key from a user with a higher role. |
| `404` | `{"error": "not found"}` or `{"ok": false, "error": 404}` | The campaign, lead, thread or mailbox isn't in this workspace. | Check the id. |
| `500` | | Something failed on our side. | Retry. If it keeps happening, tell us. |

## A refused action can still be `200`

Many actions answer the way the app does: with `ok` and a list of `messages`. If the action was refused (for example, launching a campaign with no pending leads), you get `200` with `"ok": false` and the reason in `messages`. Always check `ok`. See [responses](https://docs.salessequencer.com/concepts/responses.md).


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