> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://dev.admoji.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://dev.admoji.com/_mcp/server.

# Response codes

Every Admoji API response returns a top-level `Status` field. Successful calls return `0`; failures return `1` (validation) or `2` (server error) along with an `ErrorMessage`.

## Status values

| `Status` | Meaning                               | HTTP class |
| -------- | ------------------------------------- | ---------- |
| `0`      | Success                               | 2xx        |
| `1`      | Validation error — see `ErrorMessage` | 4xx        |
| `2`      | Internal server error                 | 5xx        |

**`Success`**

```json title="Success"
{ "Status": 0, "CustomerID": 12345 }
```

**`Validation error`**

```json title="Validation error"
{ "Status": 1, "ErrorMessage": "email is required" }
```

**`Server error`**

```json title="Server error"
{ "Status": 2, "ErrorMessage": "processor timeout, retry with same idempotency key" }
```

## Handling errors

* Retry `Status: 2` responses with the **same** `Idempotency-Key` — the server will return the cached success if the operation actually completed, or re-attempt it if not. See [Idempotency](/idempotency).
* Do **not** retry `Status: 1` without changing the request — validation failures are deterministic.
* Log the full response body (including `ErrorMessage`) to make support requests actionable.

## Rate limits

Most list endpoints are rate-limited to **20 requests per second** per ApiKey and return a **maximum of 1000 records per call**.

To page through larger result sets, use cursor parameters returned by the endpoint:

| Endpoint family | Cursor field      |
| --------------- | ----------------- |
| Customers       | `customerIDafter` |
| Transactions    | `txnCrmIDAfter`   |

Exceeding the rate limit returns `Status: 1` with `ErrorMessage: "rate limit exceeded"`. Back off and retry with jitter.

## Related

#### [Idempotency](/idempotency)

Retry POSTs safely

#### [Get support](https://support.admoji.com/hc/en-us)

Report unexpected errors