# Payout Banklink API

## Authentication

This API can be accessed on behalf of a user with an OAuth2 access token issued by
Payout ID. Supported grant flows are `authorization_code` and `client_credentials`.
Send the token in the `Authorization: Bearer <access_token>` header.

| Environment | Authorization endpoint                   | Token endpoint                       |
|-------------|------------------------------------------|--------------------------------------|
| Sandbox     | https://id-sa.payout.one/oauth/authorize | https://id-sa.payout.one/oauth/token |
| Production  | https://id.payout.one/oauth/authorize    | https://id.payout.one/oauth/token    |

Integrator can use these scopes:

| scope  | description                                                          | endpoints |
|--------|----------------------------------------------------------------------|-----------|
| BLAISP | scope for reading details of user bank account                       | List accounts, Account Details, Account Information, Retrieve account balance, Consent Accounts, /transactions |
| BLIBAN | to verify that currently authorized user has access to bank account  | Verify IBAN |
| BLPISP | to create payment on behalf of current user                          | Payment initialisation, Payment status |
| VERIFY | to verify user identity, retrieved using the `client_credentials` flow | Create Verification, Get Verification Status |

List Integrations requires a valid access token but no specific scope.

A missing, invalid or expired token, or a token without the required scope, is rejected
with `403` and error code `UNAUTHORIZED`.

### Authorizing access to the bank account

When the requested account is not connected yet, or its authorization at the bank has
expired, account endpoints respond with `403` and a body containing `consent_id` and
`redirect_url`. Redirect the user to `redirect_url` and add the query parameters
`redirect_uri` (one of the redirect URIs registered for your application) and optionally
`state`. The same applies to `_links.sca.href` returned by Payment initialisation and to
`redirect_url` returned by Create Verification. After the user authorized access at the
bank, he is redirected back to `redirect_uri` together with `state`.


## Errors

API uses HTTP response codes.

| Code | Description           |
|------|-----------------------|
| 400  | Bad request           |
| 401  | Unauthorized          |
| 403  | Forbidden             |
| 404  | Not Found             |
| 500  | Internal Server Error |

Errors are returned in a `tppMessages` array:

```json
{
  "tppMessages": [
    {
      "category": "ERROR",
      "code": "INVALID_INPUT",
      "text": "Unsupported IBAN country",
      "xpath": "/debtorAccount/iban"
    }
  ]
}
```

`xpath` is present only for validation errors (`INVALID_INPUT`).

| HTTP | code                    | meaning |
|------|-------------------------|---------|
| 400  | INVALID_REQUEST         | Missing or invalid header or body |
| 400  | INVALID_INPUT           | A request body field failed validation, see `xpath` |
| 400  | UNSUPPORTED_BANK        | Bank could not be recognised from `iban` and `bank` |
| 400  | INVALID_PAYMENT_PRODUCT | Unknown `payment_product` path parameter |
| 401  | INVALID_TOKEN           | Token does not identify the application (`aud`, `auu` claims) |
| 403  | UNAUTHORIZED            | Missing, invalid or expired token, or missing scope |
| 500  | INTERNAL_SERVER_ERROR   | Unexpected bank response or internal error |

A `403` returned by an account endpoint can instead contain `consent_id` and
`redirect_url`: the user has to authorize access to the account first, see
Authentication. Unknown payment in Payment status returns `404` with body
`{"errors": {"detail": "Not Found"}}`.


## List accounts

`POST https://wap-sa.payout.one/api/v1/accounts`

Retrieve current user connected accounts. Data are returned from Banklink, the bank is not called.

## Responses

### 200 Success

| name                           | example                  | description                        |
|--------------------------------|--------------------------|------------------------------------|
| accounts[]/identification/iban | SK3112000000198742637541 | IBAN of retrieved account          |
| accounts[]/name                | common                   | Name of account                    |
| accounts[]/baseCurrency        | EUR                      | -                                  |
| accounts[]/providerName        | tatrabanka               | Name of bank servicing the account |

### Response 200

- `accounts` — object[]
  - `identification` — object
    - `iban` — string · IBAN of retrieved account · e.g. SK3112000000198742637541
  - `name` — string · Name of account · e.g. common
  - `baseCurrency` — string · e.g. EUR
  - `providerName` — string · Name of bank servicing the account · e.g. tatrabanka

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/accounts' \
  -H "Authorization: Bearer $TOKEN"
```


## Retrieve account balance

`POST https://wap-sa.payout.one/api/v1/accounts/balance`

Retrieve current user account balance directly from bank.

### Response in case of unexpired connected account

#### Body parameters

| name                            | description                                       |
|---------------------------------|---------------------------------------------------|
| balances[]/amount/value         | Balance of account                                |
| balances[]/amount/currency      | Currency of this balance from ISO 4217            |
| balances[]/type                 | Balance type in ISO 20022                         |
| balances[]/creditDebitIndicator | CRDT if it is credit, else DBIT                   |
| balances[]/dateTime             | Date and time of account balance check in RFC3339 |

### Response in case of expired/unknown account

Status `403`.

| name         | description                                                         |
|--------------|---------------------------------------------------------------------|
| consent_id   | Consent id, can be used with Consent Accounts after user authorization |
| redirect_url | Redirect url to use to redirect user to authorize access to account |

### Parameters

- `PSU-IP-Address` (header) — IP address from which is user performing actions
- `PSU-Presence` (header) — If request is realtime consequence of user action, `true` or `false` (default)
- `PSU-User-Agent` (header) — Application which user is using to browse web

### Request body

- `iban` — string (required) · IBAN of the account · e.g. SK3112000000198742637541
- `bank` — string · Optional name of bank, integration `name` from List Integrations, for IBANs whose bank cannot be recognised from IBAN alone · e.g. tatrabanka

### Response 200

- `balances` — object[]
  - `amount` — object
    - `value` — number · Balance of account · e.g. 1520.35
    - `currency` — string · Currency of this balance from ISO 4217 · e.g. EUR
  - `type` — string · Balance type in ISO 20022 · e.g. ITAV
  - `creditDebitIndicator` — string · CRDT if it is credit, else DBIT · one of CRDT, DBIT · e.g. CRDT
  - `dateTime` — string<date-time> · Date and time of account balance check in RFC3339 · e.g. 2026-10-06T08:00:00+00:00

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/accounts/balance' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "iban": "SK3112000000198742637541"
     }'
```


## Verify IBAN

`POST https://wap-sa.payout.one/api/v1/accounts/verify-iban`

Verify that current user has access to account with specified IBAN.

### Response in case of unexpired connected account

#### Body parameters

| name     | description                               |
|----------|-------------------------------------------|
| iban     | IBAN for which was verification requested |
| verified | Constant true                             |

### Response in case of expired/unknown account

Status `403`.

#### Body parameters

| name         | description                                         |
|--------------|-----------------------------------------------------|
| consent_id   | Consent id                                          |
| redirect_url | Url to redirect user to authorize access to account |

### Parameters

- `PSU-IP-Address` (header) — IP address from which is user performing actions
- `PSU-Presence` (header) — If request is realtime consequence of user action, `true` or `false` (default)
- `PSU-User-Agent` (header) — Application which user is using to browse web

### Request body

- `iban` — string (required) · IBAN of the account · e.g. SK3112000000198742637541
- `bank` — string · Optional name of bank, integration `name` from List Integrations, for IBANs whose bank cannot be recognised from IBAN alone · e.g. tatrabanka

### Response 200

- `iban` — string · IBAN for which was verification requested · e.g. SK3112000000198742637541
- `verified` — boolean · Constant true · e.g. True

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/accounts/verify-iban' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "iban": "SK3112000000198742637541"
     }'
```


## Account Details

`POST https://wap-sa.payout.one/api/v1/accounts/details`

Retrieve details of user account identified by IBAN

For expired/unknown account the response is `403` with `consent_id` and `redirect_url`.

### Parameters

- `PSU-IP-Address` (header) — IP address from which is user performing actions
- `PSU-Presence` (header) — If request is realtime consequence of user action, `true` or `false` (default)
- `PSU-User-Agent` (header) — Application which user is using to browse web

### Request body

- `iban` — string (required) · IBAN of the account · e.g. SK3112000000198742637541
- `bank` — string · Optional name of bank, integration `name` from List Integrations, for IBANs whose bank cannot be recognised from IBAN alone · e.g. tatrabanka

### Response 200

- `identification` — object
  - `iban` — string · IBAN of retrieved account · e.g. SK3112000000198742637541
- `name` — string · Name of account · e.g. common
- `productName` — string · name of product in bank · e.g. superaccount
- `type` — string · type of account, depends on bank · e.g. CACC
- `baseCurrency` — string · e.g. EUR
- `authorizationExpiration` — string<date-time> · The date and time in RFC3339 at which authorization of the account expires · e.g. 2026-12-31T08:37:51+00:00

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/accounts/details' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "iban": "SK3112000000198742637541"
     }'
```


## Consent Accounts

`POST https://wap-sa.payout.one/api/v1/provider/accounts`

Retrieve list of accounts by consent id, which is returned during user authorization

Each item of `accounts` has the same fields as the Account Details response.

### Parameters

- `PSU-IP-Address` (header) — IP address from which is user performing actions
- `PSU-Presence` (header) — If request is realtime consequence of user action, `true` or `false` (default)
- `PSU-User-Agent` (header) — Application which user is using to browse web

### Request body

- `consent_id` — integer (required) · Consent id returned in `consent_id` when user authorization was requested · e.g. 123

### Response 200

- `accounts` — object[]
  - `identification` — object
    - `iban` — string · IBAN of retrieved account · e.g. SK3112000000198742637541
  - `name` — string · Name of account · e.g. common
  - `productName` — string · name of product in bank · e.g. superaccount
  - `type` — string · type of account, depends on bank · e.g. CACC
  - `baseCurrency` — string · e.g. EUR
  - `authorizationExpiration` — string<date-time> · The date and time in RFC3339 at which authorization of the account expires · e.g. 2026-12-31T08:37:51+00:00

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/provider/accounts' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "consent_id": 123
     }'
```


## Account Information

`POST https://wap-sa.payout.one/api/v1/accounts/information`

Retrieve current user account information and balances

`account` has the same fields as the Account Details response. Each item of `balances` has
`amount/value`, `amount/currency`, `creditDebitIndicator` and `dateTime` as described in
Retrieve account balance.

For expired/unknown account the response is `403` with `consent_id` and `redirect_url`.

### Parameters

- `PSU-IP-Address` (header) — IP address from which is user performing actions
- `PSU-Presence` (header) — If request is realtime consequence of user action, `true` or `false` (default)
- `PSU-User-Agent` (header) — Application which user is using to browse web

### Request body

- `iban` — string (required) · IBAN of the account · e.g. SK3112000000198742637541
- `bank` — string · Optional name of bank, integration `name` from List Integrations, for IBANs whose bank cannot be recognised from IBAN alone · e.g. tatrabanka

### Response 200

- `account` — object
  - `identification` — object
    - `iban` — string · IBAN of retrieved account · e.g. SK3112000000198742637541
  - `name` — string · Name of account · e.g. common
  - `productName` — string · name of product in bank · e.g. superaccount
  - `type` — string · type of account, depends on bank · e.g. CACC
  - `baseCurrency` — string · e.g. EUR
  - `authorizationExpiration` — string<date-time> · The date and time in RFC3339 at which authorization of the account expires · e.g. 2026-12-31T08:37:51+00:00
- `balances` — object[]
  - `amount` — object
    - `value` — number · Balance of account · e.g. 1520.35
    - `currency` — string · Currency of this balance from ISO 4217 · e.g. EUR
  - `creditDebitIndicator` — string · CRDT if it is credit, else DBIT · one of CRDT, DBIT · e.g. CRDT
  - `dateTime` — string<date-time> · Date and time of account balance check in RFC3339 · e.g. 2026-10-06T08:00:00+00:00

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/accounts/information' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "iban": "SK3112000000198742637541"
     }'
```


## Payment initialisation

`POST https://wap-sa.payout.one/api/v1/payments/{integration}/{payment_product}`

Payment initialisation request. Access token for this request requires `BLPISP` OAuth scope.

Redirect the user to `_links.sca.href` to authorize the payment, see Authentication.

## Responses

### 201 Created

| name | example | description |
| --- | --- | --- |
| paymentId | 123 | Id of created payment |
| _links/sca/href | https://wap-sa.payout.one/providers/forward/Xk7pQ2 | HATEOAS link containing redirect to authorize user |

### 400 Invalid input parameter

| name | example | description |
| --- | --- | --- |
| tppMessages\[\]/category | ERROR | Message category, only error is supported for now |
| tppMessages\[\]/code | INVALID_INPUT | Kind of error that happened |
| tppMessages\[\]/text | Unsupported IBAN country |  |
| tppMessages\[\]/xpath | /debtorAccount/iban | XPath to field where error happened (optional) |

### Parameters

- `integration` (path, required) — Which integration to use to create payment: `name` of an integration from List Integrations, for example `tatrabanka`, `vub`, `slsp`, `unicredit`, `csob`, `csas`, `fio`, `komercni-banka`, `csob-cz`.
- `payment_product` (path, required) — Which payment method to use, can be different per integration: `sepa-credit-transfers` (`sepa` in `supported_payment_methods` of List Integrations) or `instant-sepa-credit-transfers` (`sepa_ipay`).

### Request body

- `endToEndIndentification` — string · End to end identification. In format `/VS…/SS…/KS…` it is split to variable, specific and constant symbol · e.g. /VS1/SS2/KS3
- `creditorAgent` — string · BIC of creditor bank · e.g. COBADEFFXXX
- `creditorName` — string (required) · e.g. John Doe
- `creditorEmail` — string · E-mail of creditor, non-standard field used by the `payout` integration · e.g. john.doe@example.com
- `debtorName` — string (required) · e.g. Test Testovic
- `remittanceInformationUnstructured` — string · e.g. Testing
- `purposeProprietary` — string · Non-standard field, required by `csob-cz` for business customers
- `debtorAccount` — object (required)
  - `iban` — string (required) · IBAN of debtor account (SK, CZ, DE or LT) · e.g. SK3112000000198742637541
- `creditorAccount` — object (required)
  - `iban` — string (required) · IBAN of creditor account (SK, CZ, DE or LT) · e.g. DE89370400440532013000
- `instructedAmount` — object (required)
  - `amount` — string (required) · Amount as decimal number · e.g. 1.00
  - `currency` — string (required) · one of EUR, CZK · e.g. EUR

### Response 201

- `paymentId` — integer · Id of created payment · e.g. 123
- `_links` — object
  - `sca` — object
    - `href` — string<uri> · HATEOAS link containing redirect to authorize user · e.g. https://wap-sa.payout.one/providers/forward/Xk7pQ2

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/payments/{integration}/{payment_product}' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "endToEndIndentification": "/VS1/SS2/KS3",
       "creditorAgent": "COBADEFFXXX",
       "creditorName": "John Doe",
       "debtorName": "Test Testovic",
       "remittanceInformationUnstructured": "Testing",
       "debtorAccount": {
         "iban": "SK3112000000198742637541"
       },
       "creditorAccount": {
         "iban": "DE89370400440532013000"
       },
       "instructedAmount": {
         "amount": "1.00",
         "currency": "EUR"
       }
     }'
```


## Payment status

`GET https://wap-sa.payout.one/api/v1/payments/{payment_id}/status`

Retrieve actual status of payment.

## Responses

### 200 Success

| name | example | description |
| --- | --- | --- |
| paymentId | 123 | Id of requested payment |
| transactionStatus | pending | Status of the payment, described in following table |

#### Payment statuses

| value | description |
| --- | --- |
| pending | payment created in Banklink but not yet posted to bank |
| initialized | payment posted to bank, but not yet validated |
| received | payment was validated as technically correct by bank |
| accepted | bank accepted payment as valid, is signed by user and waiting to be processed |
| unknown | payment was signed, but we were unable to check it's status after that |
| completed | payment was successfully processed |
| rejected | payment is invalid or declined by user |

### 404 Not Found

### Parameters

- `payment_id` (path, required) — Payment ID returned during payment initialization request

### Response 200

- `paymentId` — integer · Id of requested payment · e.g. 123
- `transactionStatus` — string · Status of the payment, described in the payment statuses table · one of pending, initialized, received, accepted, unknown, completed, rejected · e.g. pending

### Example

```bash
curl -X GET 'https://wap-sa.payout.one/api/v1/payments/{payment_id}/status' \
  -H "Authorization: Bearer $TOKEN"
```


## List Integrations

`GET https://wap-sa.payout.one/api/v1/integrations`

List of bank integrations. `name` is the value to use as `bank` in account requests and as `integration` in Payment initialisation.

### Response 200

- `name` — string · Integration name · e.g. tatrabanka
- `aisp` — boolean · Integration supports account information · e.g. True
- `pisp` — boolean · Integration supports payment initiation · e.g. True
- `supported_payment_methods` — string[] · Present only when `pisp` is true. `sepa` stands for `sepa-credit-transfers`, `sepa_ipay` for `instant-sepa-credit-transfers`

### Example

```bash
curl -X GET 'https://wap-sa.payout.one/api/v1/integrations' \
  -H "Authorization: Bearer $TOKEN"
```


## Create Verification

`POST https://wap-sa.payout.one/api/v1/verifications`

Verify user identity using PSD2 APIs. Requires `VERIFY` scope that can be retrieved using client credentials flow from Payout ID.

Redirect the user to the returned `redirect_url`, see Authentication. The result can then be retrieved with Get Verification Status.

### Request body

- `iban` — string (required) · IBAN of the account used for verification · e.g. CZ6508000000192000145399
- `first_name` — string · First name compared with account owner · e.g. Jan
- `last_name` — string · Last name compared with account owner · e.g. Novák
- `bank` — string · Optional integration `name` from List Integrations, for IBANs whose bank cannot be recognised from IBAN alone · e.g. csas

### Response 200

- `id` — string<uuid> · Verification id · e.g. 3f1c9a52-7d4e-4b8a-9c21-5e6f7a8b9c0d
- `redirect_url` — string<uri> · Url to redirect user to verify access to account · e.g. https://wap-sa.payout.one/providers/forward/Xk7pQ2
- `status` — string · one of initialized, verified_access, verified_ownership, unverified_access, unverified_ownership, error · e.g. initialized

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/verifications' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "iban": "CZ6508000000192000145399",
       "first_name": "Jan",
       "last_name": "Novák"
     }'
```


## Get Verification Status

`GET https://wap-sa.payout.one/api/v1/verifications/{verification_id}`

Verification status can be one of:

- `initialized` - verification was created but user was not yet redirected for verification
- `verified_access` - user managed to provide credentials for account, but bank servicing that account is not providing ownership information
- `verified_ownership` - user managed to login and account servicer provided ownership information which also matched name of the user
- `unverified_access` - user failed to provide credentials to access account
- `unverified_ownership` - user provided credentials to access account but ownership details were different from provided user details
- `error` - error during communication between us and account servicer

Only verifications created by the same application can be retrieved.

### Parameters

- `verification_id` (path, required) — Verification id returned by Create Verification

### Response 200

- `status` — string · one of initialized, verified_access, verified_ownership, unverified_access, unverified_ownership, error · e.g. initialized

### Example

```bash
curl -X GET 'https://wap-sa.payout.one/api/v1/verifications/{verification_id}' \
  -H "Authorization: Bearer $TOKEN"
```


## /transactions

`POST https://wap-sa.payout.one/api/v1/transactions`

Retrieve current user transactions directly from bank. Up to 100 transactions are returned per page.

## Body parameters

| name | required | description |
| --- | --- | --- |
| iban | true | - |
| bank | false | Optional name of bank, integration `name` from List Integrations |
| page_index | false | Parameter to be used if we want to visit next or previous page, it can be filled from next_page/previous_page from successful previous response |
| date_from | false | Does not return transaction older than this, default is 90 days ago |
| date_to | false | Does not return transactions newer than this, default is end of today |

### Response in case of unexpired connected account

#### Body parameters

| name | description |
| --- | --- |
| pagination/next_page | Next page index |
| pagination/previous_page | Previous page index |
| transactions\[\]/amount/value | Amount in transaction |
| transactions\[\]/amount/currency | Currency of transactions |
| transactions\[\]/valueDate | The Date at which assets become available to the account owner in case of a credit |
| transactions\[\]/bookingDate | The Date when an entry is posted to an account on the ASPSPs books. |
| transactions\[\]/creditDebitIndicator | Indication of credit or debit, CRDT or DBIT respectiveli |
| transactions\[\]/bankTransactionCode | ISO20022 bank transaction code |
| transactions\[\]/transactionDetails/reversalIndicator | Whatever this transaction is reveresal for previous one |
| transactions\[\]/transactionDetails/references/accountServiceReference | Unique transaction id generated by ASPSP |
| transactions\[\]/transactionDetails/references/endToEndIdentification | The unique identifier of the transaction generated by a bank that it should be considered as a bank reference |
| transactions\[\]/transactionDetails/references/chequeNumber | For card transactions, this is the card number in format ** 1111. |
| transactions\[\]/transactionDetails/counterValueAmount/amount/value | Numberic value of amount as fractional number |
| transactions\[\]/transactionDetails/counterValueAmount/amount/currency | Alphabetic code from ISO 4217 |
| transactions\[\]/transactionDetails/currencyExchange/exchangeRate | Fraction as exchange rate for transaction |
| transactions\[\]/transactionDetails/relatedParties/debtor/name | Debtor account |
| transactions\[\]/transactionDetails/relatedParties/debtorAccount/identification | Unique identificator of debtor account, usually IBAN |
| transactions\[\]/transactionDetails/relatedParties/creditor/name | Creditor account |
| transactions\[\]/transactionDetails/relatedParties/creditorAccount/identification | Creditor account unique identificator, usualy IBAN |
| transactions\[\]/transactionDetails/tradingParty/name | Name of third party, in case of card transactions it is merchant |
| transactions\[\]/transactionDetails/relatedAgents/debtorAgent/financialInstitutionIdentification | Identification of bank managing debtor account, usually BIC |
| transactions\[\]/transactionDetails/relatedAgents/creditorAgent/financialInstitutionIdentification | Identification of bank managing creditor account, usually BIC |
| transactions\[\]/transactionDetails/remittanceInformation | The text aimed as the information for a receiver of the transaction. |

### Response in case of expired/unknown account

Status `403`.

#### Body parameters

| name | description |
| --- | --- |
| consent_id | Consent id |
| redirect_url | Url to redirect user to authorize access to account |

### Parameters

- `PSU-IP-Address` (header) — IP address from which is user performing actions
- `PSU-Presence` (header) — If request is realtime consequence of user action, `true` or `false` (default)
- `PSU-User-Agent` (header) — Application which user is using to browse web

### Request body

- `iban` — string (required) · IBAN of the account · e.g. SK3112000000198742637541
- `bank` — string · Optional name of bank, integration `name` from List Integrations, for IBANs whose bank cannot be recognised from IBAN alone · e.g. tatrabanka
- `page_index` — string · Parameter to be used if we want to visit next or previous page, it can be filled from next_page/previous_page from successful previous response · e.g. xAffr34154
- `date_from` — string · Does not return transaction older than this. Default is 90 days ago · e.g. 2023-01-05
- `date_to` — string · Does not return transactions newer than this. Default is end of today · e.g. 2023-01-10

### Response 200

- `pagination` — object
  - `next_page` — any · Next page index · e.g. zxQewRtveXy
  - `previous_page` — any · Previous page index · e.g. g1123zseaR
- `transactions` — object[]
  - `amount` — object
    - `value` — string · Amount in transaction · e.g. 12.50
    - `currency` — string · Currency of transactions · e.g. EUR
  - `valueDate` — string · The Date at which assets become available to the account owner in case of a credit · e.g. 2026-09-14
  - `bookingDate` — string · The Date when an entry is posted to an account on the ASPSPs books. · e.g. 2026-09-14
  - `creditDebitIndicator` — string · Indication of credit or debit, CRDT or DBIT respectiveli · one of CRDT, DBIT · e.g. CRDT
  - `bankTransactionCode` — string · ISO20022 bank transaction code
  - `transactionDetails` — object
    - `reversalIndicator` — boolean · Whatever this transaction is reveresal for previous one
    - `references` — object
      - `accountServiceReference` — string · Unique transaction id generated by ASPSP
      - `endToEndIdentification` — string · The unique identifier of the transaction generated by a bank that it should be considered as a bank reference
      - `chequeNumber` — string · For card transactions, this is the card number in format ** 1111.
    - `counterValueAmount` — object
      - `amount` — object
        - `value` — string · Numberic value of amount as fractional number
        - `currency` — string · Alphabetic code from ISO 4217
    - `currencyExchange` — object
      - `exchangeRate` — number · Fraction as exchange rate for transaction
    - `relatedParties` — object
      - `debtor` — object
        - `name` — string · Debtor account
      - `debtorAccount` — object
        - `identification` — string · Unique identificator of debtor account, usually IBAN
      - `creditor` — object
        - `name` — string · Creditor account
      - `creditorAccount` — object
        - `identification` — string · Creditor account unique identificator, usualy IBAN
    - `tradingParty` — object
      - `name` — string · Name of third party, in case of card transactions it is merchant
    - `relatedAgents` — object
      - `debtorAgent` — object
        - `financialInstitutionIdentification` — string · Identification of bank managing debtor account, usually BIC
      - `creditorAgent` — object
        - `financialInstitutionIdentification` — string · Identification of bank managing creditor account, usually BIC
    - `remittanceInformation` — string · The text aimed as the information for a receiver of the transaction.

### Example

```bash
curl -X POST 'https://wap-sa.payout.one/api/v1/transactions' \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
       "iban": "SK3112000000198742637541",
       "page_index": "xAffr34154",
       "date_from": "2023-01-05",
       "date_to": "2023-01-10"
     }'
```

