# Accounts and balance

Read accounts, balance, statement and receipt. All resources are scoped to the partner of the token. Balance, statement and receipt are returned in **reais**.

## List accounts

```http
GET /api/partner/v1/accounts?page=1&page_size=20
Authorization: Bearer {{access_token}}
```

- **Scope:** `account:read`

```json
{
  "data": [
    { "id": 1042, "account_type": "payment", "agency": "0001", "account_number": "12345-6", "status": "active" }
  ],
  "meta": { "page": 1, "page_size": 20, "total": 1 }
}
```

## Account detail

```http
GET /api/partner/v1/accounts/{id}
Authorization: Bearer {{access_token}}
```

- **Scope:** `account:read`

## Balance

```http
GET /api/partner/v1/accounts/{id}/balance
Authorization: Bearer {{access_token}}
```

- **Scope:** `account:read`

```json
{
  "data": { "account_id": 1042, "balance": 1500.00, "available": 1500.00, "blocked": 0, "currency": "BRL" }
}
```

## Statement

```http
GET /api/partner/v1/accounts/{id}/statement?date_from=2026-06-01&date_to=2026-06-30
Authorization: Bearer {{access_token}}
```

- **Scope:** `statement:read`

Returns the entries in the period (paginated). Values in reais.

### Fee entries

The fee is always a separate entry from the main transaction. Entries with `type: "fee"` carry two correlation fields: `feeTransactionId`, the identifier of the fee charge, and `originTransactionId`, the transaction that originated the charge.

```json
{
  "direction": "debit",
  "type": "fee",
  "amount": 350,
  "status": "settled",
  "feeTransactionId": "5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c",
  "originTransactionId": "E4602656220260714210000aabbccdd0"
}
```

The other fields are the same as in any other entry. Fee details are in [Fees](/en/endpoints/fees).

## Receipt

```http
GET /api/partner/v1/accounts/{id}/statement/{entry_id}/receipt
Authorization: Bearer {{access_token}}
```

- **Scope:** `statement:read`

Returns the receipt for a statement entry.

## Account audit trail

```http
GET /api/partner/v1/accounts/{id}/events?limit=50
Authorization: Bearer {{access_token}}
```

- **Scope:** `account:read` · Optional filters `from` and `to` (ISO8601) and `limit` (default 50, max 100).

Returns the account audit trail (creation, block, limit changes and other administrative changes), newest first:

```json
{
  "data": {
    "events": [
      { "id": "5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c", "action": "update", "resourceType": "account", "actorType": "admin", "changes": { "status": "blocked" }, "metadata": {}, "occurredAt": "2026-07-14T21:00:00Z" }
    ],
    "source": "audit_trail"
  }
}
```

This is not the notification catalog: webhook events live in `GET /webhooks/events` and in [Webhooks](/en/endpoints/webhooks).

## Account events

The webhook events `account.created`, `account.blocked`, `account.unblocked` and `account.closed` notify account creation and state changes. The payloads are in [Webhooks](/en/endpoints/webhooks).
