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

# Response formats

> Parse the core API's single-object, list, and error responses exactly

## Single-object responses

The core Daya API does not use one envelope for every endpoint. Parse each operation according to its schema. These successful operations return exactly one object under `data`:

| Method | Endpoint | Object inside `data` |
| - | - | - |
| POST | `/v1/banks/resolve` | Resolved account number and name |
| POST | `/v1/recipients` | Saved recipient |
| GET | `/v1/recipients/{id}` | Saved recipient |
| GET | `/v1/merchant/balance` | Merchant balances |
| POST | `/v1/merchant/balance/transfer` | Updated merchant balances |
| GET | `/v1/merchant/funding` | Merchant funding instructions |
| PATCH | `/v1/merchant/funding/settlement-destination` | Updated merchant funding instructions |
| POST | `/v1/merchant/withdrawals` | Withdrawal submission result (`transaction_id`) |

For example, `POST /v1/banks/resolve` returns:

```json theme={"dark"}
{
  "data": {
    "account_number": "1234567890",
    "account_name": "TEST ACCOUNT"
  }
}
```

Read the resolved name from `body.data.account_name`, not `body.account_name`.

## Flat objects

Other core single-object responses are flat. This includes customer create/get/update and verification, funding-account create/get/disable/settlement updates, quotes, transfers, deposits, virtual accounts and their deposits, bridges, liveness checks/sessions, and legacy onramps/offramps/payouts.

In particular:

* `POST /v1/funding-accounts` and `GET /v1/funding-accounts/{id}` return the funding account directly. Read `body.id` and `body.settlement_destination`.
* `GET /v1/merchant/withdrawals/{id}` returns the withdrawal directly, even though `POST /v1/merchant/withdrawals` wraps its submission result in `data`.
* The legacy `POST /v1/withdrawals` alias returns a flat withdrawal object. New integrations should use the documented merchant withdrawal route.

Do not add or remove `data` based only on HTTP method or resource name. Pro, Coins, and Stocks have separate API contracts; this list covers the core API, not those products.

## Lists and errors

A list's `data` field is an array, not a single-object envelope. For example, `GET /v1/banks` returns `{"data": [...]}`. Customer balances also use an array under `data`, even when only one currency is returned. Paginated lists include the pagination fields defined by their operation.

Errors use `{"error": {...}}`. Check the HTTP status before parsing a success body. A successful `DELETE /v1/recipients/{id}` returns `204 No Content` with no JSON body.

Use the [generated public schema](https://docs.daya.co/api-reference/openapi.json) for field definitions and each operation's status codes.


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