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

# Accounts API

> The eight accounts endpoints, the response shape, and where each detail is documented

An account is where a customer receives money. Open one in a supported currency and
Endl returns the bank coordinates to give a payer — and, for an on-ramp account,
what those funds convert into on arrival.

<Note>
  **Scope of this section.** Base URLs, authentication, versioning, rate limits,
  reference-id format and the shared error-envelope shape are documented once in
  the [API reference overview](/api-reference/introduction) and are not repeated
  here.
</Note>

<Warning>
  **The one convention worth repeating.** A successful response is the **bare
  object**. There is no envelope around it — only errors are enveloped.
</Warning>

<Info>
  **New to accounts? Start with the [Accounts guide](/guides/accounts).** It covers
  what an account is, the difference between `FIAT` and `ONRAMP`, how to open one,
  and the lifecycle. This page is the reference entry point.
</Info>

## At a glance

| | |
| - | - |
| Surface | `/api/v0/accounts` |
| Sandbox | `https://api-sandbox.endl.io` |
| Production | Issued at onboarding |
| Version header | `Api-Version: 2026-09.1` |
| Permission | `accounts` |
| Rate limit | 100 requests per minute per API key, unless a different limit has been agreed with you |
| Success bodies | **Unwrapped** — the body is the object itself |
| Error bodies | The shared `{ code, message, status, data, errors }` envelope |

<Note>
  The accounts endpoints run a **higher rate limit than the platform default** of
  60 requests per minute. Both are per API key, and both answer with
  `429 ERRCORE_1006` carrying `X-RateLimit-Limit` and `X-RateLimit-Remaining` —
  read the header rather than assuming either number.
</Note>

## The endpoints

| | Endpoint | What it does |
| - | - | - |
| `POST` | [Open account](/api-reference/accounts/open-account) | Opens an account in the requested currency. Returns `200` with or without an `id`. |
| `GET` | [List accounts](/api-reference/accounts/list-accounts) | All of a customer's accounts, plus balances grouped by category. The only endpoint that shows a deactivated account. |
| `GET` | [Available for opening](/api-reference/accounts/list-accounts-available-for-opening) | Which currencies this customer can open right now, and why not when they cannot. |
| `GET` | [Get account](/api-reference/accounts/get-account) | One account with its full funding instructions and per-rail deposit fees. |
| `GET` | [Get balance](/api-reference/accounts/get-account-balance) | The available balance and when it was accurate. |
| `GET` | [Get activity](/api-reference/accounts/get-account-activity) | Movements, newest first. No pagination. |
| `PATCH` | [Activate](/api-reference/accounts/activate-account) | Queues a reactivation. Not supported for AED. |
| `PATCH` | [Deactivate](/api-reference/accounts/deactivate-account) | Queues a deactivation. Not supported for AED. |

## Response shape

**Success bodies are unwrapped** — a `200` body is the account object itself, with
no `data` key to unwrap. Only errors use the five-key envelope.

```json Get account — 200 theme={null}
{
  "id": "acct_8f2a1c4e9b7d43a6",
  "name": "USD Account",
  "displayName": "Operating USD",
  "status": "ACTIVE",
  "category": "ONRAMP",
  "currency": "USD",
  "balance": { "amount": "12450.00", "currency": "USD" },
  "createdAt": "2026-09-02T11:41:07Z",
  "updatedAt": "2026-09-18T08:12:55Z",
  "fundingInstructions": { "source": { } }
}
```

Which keys inside `fundingInstructions` are populated depends on the currency.
**Fields that do not apply are omitted entirely, not returned as `null`.**

<Columns cols={2}>
  <Card title="Response by currency" icon="table-list" href="/api-reference/accounts/response-by-currency">
    A field matrix across all seven currency/category combinations, with a full
    body for each.
  </Card>

  <Card title="Accounts errors" icon="triangle-exclamation" href="/api-reference/accounts/errors">
    Every code the accounts endpoints raise, what causes it, and whether to retry.
  </Card>
</Columns>

## Identifiers

Path ids are **reference ids, not UUIDs** — customers are `cus_…`, accounts are
`acct_…`, wallets are `wlt_…`. A wrongly-shaped id is a `400` (`ERRREF_1000`); a
well-formed but unknown one is a `404` (`ERRREF_1001`). Different fixes, so they
are deliberately different codes.
