# Get statement (/en/docs/conta-digital/endpoints/account/get_statement)

## GET /transactions/statement

`GET https://api.hub.payzu.com.br/api/v1/transactions/statement`

Scope: `STATEMENT_READ`. Returns the entries that changed the available balance, cursor paginated. Each line is an entry, not an operation: a paid charge comes in net of the fee, and a withdrawal goes out at request time, for `amount + serviceFee`. Filters are combined.

### Query params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `limit` | integer | no | Items per page, 1 to 100. — minimum: 1; maximum: 100; default: 20 |
| `cursor` | string | no | `nextCursor` from the previous page. |
| `dateFrom` | string | no | Start of the period, by creation date. ISO 8601 or `YYYY-MM-DD`; a date without a time covers the whole day in Brasília time. |
| `dateTo` | string | no | End of the period, by creation date. ISO 8601 or `YYYY-MM-DD`; a date without a time covers the whole day in Brasília time. |
| `trigger` | string | no | One or more line types, comma separated: `PAYMENT`, `DEPOSIT`, `PAYMENT_REFUND`, `PAYOUT`, `PAYOUT_REVERSAL`, `PAYOUT_REFUND_RECEIVED`, `INFRACTION_BLOCK`, `INFRACTION_SETTLED`, `INFRACTION_RELEASED`, `INTERNAL_TRANSFER`. |
| `originId` | string | no | Charge, withdrawal, deposit or transfer identifier as sent in the webhooks. — minLength: 1 |
| `amount` | integer | no | Amount in cents, unsigned. Matches incoming and outgoing lines of that amount and also operations with that gross amount. |
| `e2e` | string | no | Pix end-to-end ID. — minLength: 1 |
| `document` | string | no | Payer document; punctuation is ignored. On outgoing lines, searches the destination key. — minLength: 1 |
| `name` | string | no | At least 2 characters, case insensitive. Payer name on incoming lines, key on outgoing lines. — minLength: 2 |
| `status` | string | no | State of the originating operation, not the line `status`. `PENDING`: charge awaiting payment or withdrawal still being processed. `COMPLETED`: paid charge, paid withdrawal or received Pix. `CANCELED`: expired charge or refused withdrawal. `REFUNDED`: charge with a completed refund. `WAITING_FOR_REFUND`: charge with a refund still being processed. Returns the lines of those operations; transfer and dispute lines are left out. — `PENDING`, `COMPLETED`, `CANCELED`, `REFUNDED`, `WAITING_FOR_REFUND` |
| `sortBy` | string | no | Sort field. — `postedAt`, `createdAt`; default: createdAt |
| `sortDirection` | string | no | Sort direction. — `asc`, `desc`; default: desc |

### Responses

**200** Page of the statement.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `data` | object[] | yes | Statement lines. |
| `data.id` | string | yes | Line identifier. It is the value used as cursor. |
| `data.entryId` | string | yes | Entry. Lines with the same `entryId` came from the same event. |
| `data.amount` | integer | yes | Signed amount: positive came in, negative went out. In cents. |
| `data.balanceAfter` | integer | yes | Available balance after the line. In cents. |
| `data.trigger` | string | yes | What produced the line. `PAYMENT`: paid charge. `DEPOSIT`: Pix received without a charge. `PAYMENT_REFUND`: refund. `PAYOUT`: withdrawal or Pix copy-and-paste payment debit, at request time. `PAYOUT_REVERSAL`: amount back in the balance after a failure. `PAYOUT_REFUND_RECEIVED`: return of a sent Pix. `INFRACTION_BLOCK`: dispute opened. `INFRACTION_SETTLED`: dispute upheld. `INFRACTION_RELEASED`: dispute rejected or cancelled. `INTERNAL_TRANSFER`: transfer between accounts. — `PAYMENT`, `PAYMENT_REFUND`, `DEPOSIT`, `PAYOUT`, `PAYOUT_REVERSAL`, `INFRACTION_BLOCK`, `INFRACTION_SETTLED`, `INFRACTION_RELEASED`, `INTERNAL_TRANSFER`, `PAYOUT_REFUND_RECEIVED` |
| `data.description` | string | null | yes | Short label, recorded with the entry. It does not change afterwards; the current state is in `status`. |
| `data.originId` | string | yes | Operation identifier (charge, withdrawal, deposit or transfer) as sent in the webhooks; it is not the charge, withdrawal or transfer `id`. On MED lines, the dispute identifier. |
| `data.infractionProtocol` | string | null | yes | Dispute protocol, on MED lines. |
| `data.gross` | integer | null | yes | Full operation amount. On receipts, what the payer paid; on withdrawals, what reached the destination. In cents. |
| `data.fee` | integer | null | yes | Operation fee. In cents. |
| `data.status` | string | null | yes | Current state of the line operation, for withdrawals, refunds and transfers: `PROCESSING`, `SETTLED` or `RETURNED`. `null` for the others. — `PROCESSING`, `SETTLED`, `RETURNED` |
| `data.statusDetail` | string | null | yes | `APPROVAL_REFUSED`: the bank did not approve the withdrawal, and the amount stays out of the available balance. `PROVIDER_REFUND`: the bank returned the money to the payer without your request. — `APPROVAL_REFUSED`, `PROVIDER_REFUND` |
| `data.statusReason` | string | null | yes | Message ready to display, on `APPROVAL_REFUSED`. |
| `data.statusAt` | string | null | yes | When the operation completed or returned. — format: date-time |
| `data.payoutOperation` | string | null | yes | On withdrawal lines: `WITHDRAW` (to a key) or `EXTERNAL_PAYMENT` (Pix copy-and-paste payment). — `WITHDRAW`, `EXTERNAL_PAYMENT` |
| `data.counterparty` | object | null | yes | Who the operation was with. `null` on dispute lines. |
| `data.counterparty.name` | string | null | yes | On incoming lines, the payer name; for a charge, the customer informed. `null` on outgoing Pix lines. |
| `data.counterparty.document` | string | null | yes | Document of that person. For a charge, in full; for a standalone Pix, masked. |
| `data.counterparty.pixKey` | string | null | yes | On outgoing lines, the masked destination key. On transfers between accounts, the key of the other account. |
| `data.postedAt` | string | yes | When the money moved. — format: date-time |
| `nextCursor` | string | no | Cursor for the next page. Absent on the last page. |
| `balance` | integer | yes | Available balance now, same as `available` in the balance. In cents. |

**400** Invalid request.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |

**401** Missing, invalid or expired credential.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |

**403** Not allowed: scope, IP or disabled operation.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |