# List statement entries (/en/docs/pix-processamento/endpoints/reports/get_user_bank_statements)

## GET /user/bank-statements

`GET https://api.payzu.processamento.com/v1/user/bank-statements`

Lists the account statement entries. `createdAtFrom` and `createdAtTo` are required.

Guia: Reconciliation (/docs/pix-processamento/tutoriais/reconciliation)

### Query params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `createdAtFrom` | string | yes | Start date (required). — format: date-time |
| `createdAtTo` | string | yes | End date (required). — format: date-time |
| `id` | string | no | Entry ID. |
| `operation` | string | no | Operation type. `INCREMENT` `DECREMENT` — `INCREMENT`, `DECREMENT` |
| `reason` | string | no | Reason for the entry. |
| `transactionId` | string | no | Transaction ID. |
| `amountFrom` | number | no | Minimum amount. |
| `amountTo` | number | no | Maximum amount. |
| `page` | integer | no | Page number. — minimum: 1; default: 1 |
| `limit` | integer | no | Items per page. — minimum: 1; maximum: 100; default: 10 |
| `sortBy` | string | no | Sort field. — `createdAt`, `amount`; default: createdAt |
| `sortDirection` | string | no | Sort direction. — `asc`, `desc`; default: desc |

### Responses

**200** Statement page.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `pagination` | object | no | Page and limit used, and whether there is a next page. |
| `pagination.page` | integer | no | Page returned, the same as the page parameter sent in the query; when omitted, it is 1. |
| `pagination.limit` | integer | no | Page size applied in the query; when omitted it is 10 and the maximum accepted is 100. |
| `pagination.hasNextPage` | boolean | no | Indicates whether there is a next page, detected by fetching one item beyond the limit. |
| `bankStatements` | object[] | no | Entries of the queried page. |
| `bankStatements.id` | string | no | Identifier of the balance entry. |
| `bankStatements.amount` | number | no | Amount of the entry. |
| `bankStatements.operation` | string | no | INCREMENT credits the balance, DECREMENT debits it. — `INCREMENT`, `DECREMENT` |
| `bankStatements.reason` | string | no | Reason for the ledger entry. |
| `bankStatements.balanceType` | string | no | Balance moved: AVAILABLE or BLOCKED. — `AVAILABLE`, `BLOCKED` |
| `bankStatements.previousBalanceAvailable` | number | no | Balance free for use that the account had, in reais, immediately before this entry. |
| `bankStatements.previousBalanceBlocked` | number | no | Blocked balance before the entry, in reais. |
| `bankStatements.newBalanceAvailable` | number | no | Available balance after the entry, in reais. |
| `bankStatements.newBalanceBlocked` | number | no | Blocked balance after the entry, in reais. |
| `bankStatements.transactionId` | string | null | no | Transaction that originated the entry. |
| `bankStatements.infractionId` | string | null | no | Infraction related to the entry. |
| `bankStatements.createdAt` | string | no | Date and time the balance movement was recorded. — format: date-time |
| `bankStatements.updatedAt` | string | no | Date and time of the last change to the record. — format: date-time |

**400** Invalid request

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Fixed marker of an error response. |
| `error` | string | yes | Name of the corresponding HTTP status. |
| `errorCode` | string | yes | Stable machine-readable error code, when available. |
| `message` | string | yes | Human-readable error message. |
| `statusCode` | integer | yes | HTTP status code. |
| `requestId` | string | yes | Unique request correlation ID (cuid). Include it when contacting support. |
| `details` | object[] | no | Field-level validation errors, when applicable. |
| `details.field` | string | yes | Path of the field rejected in validation, without the leading slash. |
| `details.message` | string | yes | Reason that field was rejected, in Portuguese. |
| `retryAfterSeconds` | integer | no | Seconds to wait before retrying. Present only on 429 responses. |

**401** Authentication failure

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Fixed marker of an error response. |
| `error` | string | yes | Name of the corresponding HTTP status. |
| `errorCode` | string | yes | Stable machine-readable error code, when available. |
| `message` | string | yes | Human-readable error message. |
| `statusCode` | integer | yes | HTTP status code. |
| `requestId` | string | yes | Unique request correlation ID (cuid). Include it when contacting support. |
| `details` | object[] | no | Field-level validation errors, when applicable. |
| `details.field` | string | yes | Path of the field rejected in validation, without the leading slash. |
| `details.message` | string | yes | Reason that field was rejected, in Portuguese. |
| `retryAfterSeconds` | integer | no | Seconds to wait before retrying. Present only on 429 responses. |