# Aritma Banking API
API versioning
Over time there will be introduced changes to the API as we continuously introduce improvements.
You have the option to use a specific version or the most recent version, supported versions are
available in the response header api-supported-versions.
Use a specific version of the API by specifying the api-version header, for example api-version: 1.0.
If you don't specify the header, the latest version will be used.
If a version has been scheduled to be removed, it will be reported through the api-deprecated-versions header, for example api-deprecated-versions: 1.0, 1.1.
Idempotency
The API supports idempotency for safely retrying POST requests without accidentally performing the operation twice.
To perform an idempotent request, specify the Idempotency-Key: UUID header with a value on UUID format,
example: Idempotency-Key: 5bfa15da-0969-46a3-820d-be0ec7a16c24.
The idempotency works by storing the status code and body of the first response made for the idempotency key for a short timespan,
regardless of whether if succeeds or fails. Subsequent request with the same key returns the response of the previous response.
The presence of response header Idempotent-Replayed: true indicates that a previous response has been returned.
Note that the replayed responses for created resources would change from status 201 to 200 ok,
indicating that no resource was created.
Version: 1.0.0
## Servers
```
https://banking.dev.zdata.io/api/
```
## Security
### Api access
Type: oauth2
Token URL: https://id.dev.aritma.io/connect/token
Scopes:
- `services.banking`: Grants access to banking service
- `api`: Grants client access to the api
### User access
Type: oauth2
## Download OpenAPI description
[Aritma Banking API](https://developer.aritma.com/_bundle/apis/banking/v4/openapi/banking-openapi.yaml)
## Accounts
Access account information.
### GetAccount
- [GET /accounts/{id}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/getaccount.md)
### DeleteAccount
- [DELETE /accounts/{id}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/deleteaccount.md)
### GetAccounts
- [GET /accounts](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/getaccounts.md)
### GetTransactions
- [GET /accounts/{id}/transactions](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/gettransactions.md)
### GetTransactionDetails
- [GET /accounts/{accountId}/transactions/{id}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/gettransactiondetails.md)
### Get account parameters
- [GET /accounts/{id}/parameters](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/getaccountparameters.md)
### Get account balances
- [GET /accounts/{id}/balances](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/accounts/getaccountbalances.md)
## Banks
Access information about the available banks.
### GetBanks
- [GET /banks](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/banks/getbanks.md)
### GetBank
- [GET /banks/{bankId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/banks/getbank.md)
## Consents
Obtaining a consent is the first thing you need to do in order to access bank information.
Start by sending a request to the create consent endpoint which will return a link you can redirect the user to.
When the user visits the link, we will gather the necessary information needed to obtain a consent linked to the chosen bank.
When a consent has been obtained you can use it to access data through the available endpoints,
keep in mind that a consent can potentially be withdrawn by the user at any point.
### CreateConsent
- [POST /consents](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/consents/createconsent.md)
### GetConsents
- [GET /consents](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/consents/getconsents.md)
### RefreshConsent
- [PUT /consents/{id}/refresh](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/consents/refreshconsent.md)
### GetConsent
- [GET /consents/{id}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/consents/getconsent.md)
### DeleteConsent
- [DELETE /consents/{id}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/consents/deleteconsent.md)
## Payments
### Bulk payment initiation
- [POST /bulk-payments/{paymentProduct}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/initiatepayment.md)
### Get bulk payments
- [GET /bulk-payments/{paymentProduct}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/getbulkpayments.md)
### Get bulk-payment information
- [GET /bulk-payments/{paymentProduct}/{paymentId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/getbulkpaymentinformation.md)
### Get payment status
- [GET /{paymentService}/{paymentProduct}/{paymentId}/status](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/getpaymentstatus.md)
### Start authorization
- [POST /{paymentService}/{paymentProduct}/{paymentId}/authorizations](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/startauthorization.md)
### Update authorization
- [PUT /{paymentService}/{paymentProduct}/{paymentId}/authorizations/{authorizationId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/updateauthorization.md)
### Cancel a payment.
- [DELETE /{paymentService}/{paymentProduct}/{paymentId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/cancelpayment.md): This endpoint is used to cancel/delete a payment resource based on the provided service, product, and payment Id.
### Get payment information
- [GET /payments/{paymentProduct}/{paymentId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/payments/getpaymentinformation.md)
## SigningBaskets
Signing baskets are short-lived vessels used for authorizing several payments with one SCA operation.
### Get signing basket
- [GET /signing-baskets/{basketId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/signingbaskets/getsigningbasket.md)
### Cancel signing basket.
- [DELETE /signing-baskets/{basketId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/signingbaskets/cancelsigningbasket.md)
### Get signing basket status
- [GET /signing-baskets/{basketId}/status](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/signingbaskets/getsigningbasketstatus.md)
### Start signing basket authorization
- [POST /signing-baskets/{basketId}/authorizations](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/signingbaskets/startsigningbasketauthorization.md)
### Update signing basket authorization
- [PUT /signing-baskets/{basketId}/authorizations/{authorizationId}](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/signingbaskets/updatesigningbasketauthorization.md)
### Create a signing basket
- [POST /signing-baskets](https://developer.aritma.com/apis/banking/v4/openapi/banking-openapi/signingbaskets/createsigningbasket.md)