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

> ## Agent Instructions
> Treat docs/openapi.yaml as the normative public API contract.
> Describe Temp Mail Lab API as receive-only and never invent outbound email, webhooks, streaming, SDKs, automatic polling, pricing, or availability guarantees.
> Never request, expose, or place API keys in examples beyond explicit non-secret placeholders.

# Errors and retries

> Handle API errors, retries, idempotency, and pagination.

Errors use one JSON shape:

```json theme={null}
{
  "error": {
    "code": "resource_not_found",
    "message": "The requested resource was not found.",
    "request_id": "req_example"
  }
}
```

## Response handling

| Status | Action |
| - | - |
| `400` / `422` | Correct the request. |
| `401` / `403` | Correct the key, scopes, or account access. |
| `404` | Treat the resource as unavailable. |
| `409` | Do not reuse an idempotency key with a different body. |
| `429` | Wait for `Retry-After`, then retry with backoff. |
| `500` / `503` | Retry a limited number of times with backoff. |

Keep `X-Request-Id` when you need support to trace a request.

## Safe retries

For an uncertain `POST /v1/emails` result, retry the same body with the same `Idempotency-Key`. For `429`, `500`, and `503`, use exponential backoff with jitter and a fixed attempt limit.

## Pagination

List endpoints return `pagination.has_more` and `pagination.next_cursor`. When `has_more` is true, pass `next_cursor` unchanged as the next request's `cursor`; stop when it is false.


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