Skip to content

Aritma Banking API (1.0.0)

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.

Download OpenAPI description
Languages
Servers
Mock server
https://developer.aritma.com/_mock/apis/banking/v4/openapi/banking-openapi
https://banking.dev.zdata.io/api

Accounts

Access account information.

Operations

Banks

Access information about the available banks.

Operations

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.

Operations

Payments

Operations

SigningBaskets

Signing baskets are short-lived vessels used for authorizing several payments with one SCA operation.

Operations

Get signing basket

Request

Security
Api access(Required scopes:
services.banking
api
)
Path
basketIdstringrequired

Id of the basket.

Headers
PSU-IP-Addressstring

IP Address of the PSU.

api-versionstring
No request payload

Responses

OK

Bodyapplication/json
transactionStatusstring

The "most negative" status of all the payments

Enum ValueDescription
acsp
`AcceptedSettlementInProcess` - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
actc
`AcceptedTechnicalValidation` - Authentication and syntactical and semantical validation are successful.
acwc
`AcceptedWithChange` - Instruction is accepted but a change will be made, such as date or remittance not sent.
rcvd
`Received` - Payment initiation has been received by the receiving agent.
rjct
`Rejected` - Payment initiation or individual transaction included in the payment initiation has been rejected.
Example: "actc"
basketIdstring

Id of the signing basket

Example: "09ACBC7B-15E1-4E4A-B2A0-551345EB4360"
paymentIdsArray of strings

Id of the payments

Example: ["A30D7108-A584-4C32-95ED-8FF4BB5A7C2C"]
consentIdsArray of strings

Id of the consents

Example: ["1E5EFC3B-635E-4973-A605-41D7F0D6D7B3"]
_linksobject
Response
application/json
{ "transactionStatus": "actc", "basketId": "09ACBC7B-15E1-4E4A-B2A0-551345EB4360", "paymentIds": [ "A30D7108-A584-4C32-95ED-8FF4BB5A7C2C" ], "consentIds": [ "1E5EFC3B-635E-4973-A605-41D7F0D6D7B3" ], "_links": { "self": {}, "status": {}, "startAuthorization": {}, "scaRedirect": {} } }

Cancel signing basket.

Request

Security
Api access(Required scopes:
services.banking
api
)
Path
basketIdstringrequired

Id of basket.

Headers
PSU-IP-Addressstring

IP Address of the PSU.

api-versionstring
No request payload

Responses

OK

Bodyapplication/json
object(IActionResult)
Response
application/json
{}

Get signing basket status

Request

Security
Api access(Required scopes:
services.banking
api
)
Path
basketIdstringrequired

Id of the basket.

Headers
PSU-IP-Addressstring

IP Address of the PSU.

api-versionstring
No request payload

Responses

OK

Bodyapplication/json
transactionStatusstring

The "most negative" status of all the payments

Enum ValueDescription
acsp
`AcceptedSettlementInProcess` - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
actc
`AcceptedTechnicalValidation` - Authentication and syntactical and semantical validation are successful.
acwc
`AcceptedWithChange` - Instruction is accepted but a change will be made, such as date or remittance not sent.
rcvd
`Received` - Payment initiation has been received by the receiving agent.
rjct
`Rejected` - Payment initiation or individual transaction included in the payment initiation has been rejected.
Example: "actc"
Response
application/json
{ "transactionStatus": "actc" }

Start signing basket authorization

Request

Security
Api access(Required scopes:
services.banking
api
)
Path
basketIdstringrequired

Id of the basket.

Headers
TPP-Redirect-URIstring(uri)

The url to redirect the user to after authorization.

PSU-IP-Addressstring

IP Address of the PSU.

api-versionstring
Body

Authentication method configuration.

authenticationMethodIdnull or string

Identification used for later authentication method selection.

authenticationMethodAcrValuesnull or string

Acr values used for later authentication method selection.

{ "authenticationMethodId": null, "authenticationMethodAcrValues": null }

Responses

Created

Bodyapplication/json
scaStatusstring

Status of the SCA.

Example:

  • received
  • psuIdentified
  • psuAuthenticated
  • scaMethodSelected
  • unconfirmed
  • started
  • finalised
  • failed
  • exempted
Example: "started"
authorizationIdstring

Resource identification of the related SCA.

Example: "auth9000"
_linksobject
Response
application/json
{ "scaStatus": "started", "authorizationId": "auth9000", "_links": { "scaRedirect": {}, "scaOauth": "https://id.aritma.io", "confirmation": "https://banking.aritma.io/api/payments/1/authorizations/1", "self": {} } }

Update signing basket authorization

Request

Security
User access(Required scopes:
services.banking
)
Path
basketIdstringrequired

Id of the basket.

authorizationIdstringrequired

The authorization id.

Headers
PSU-IP-Addressstring

IP Address of the PSU.

api-versionstring
No request payload

Responses

Unauthorized

Bodyapplication/json
typenull or string
titlenull or string
statusnull or integer(int32)
detailnull or string
instancenull or string
property name*anyadditional property
Response
application/json
{ "type": "https://developer.aritma.com/apis/banking/development/errors/#access-unauthorized", "title": "Access unauthorized", "status": 401, "detail": "", "traceId": "00-f9821bd7f70351dce24ddf4da8f3d480-3a7f8abcb3ad9b7f-01" }

Create a signing basket

Request

Security
Api access(Required scopes:
services.banking
api
)
Headers
TPP-Redirect-URIstring(uri)

The url to redirect the user to after authorization.

PSU-IP-Addressstring

IP Address of the PSU.

Consent-IDstring

The consent id. Should be set unless a specific Subscription-Id is used.

Channel-Typestring

The banking channel.

Enum"unspecified""openBanking""psd2"
Subscription-Idstring^[A-Za-z0-9_-]+$

Id of the subscription to use. Only supported for Channel-Type openBanking.

Resource-Group-Namestring^[A-Za-z0-9_-]+$

Name of the resource group to use in the specified subscription. Only supported for Channel-Type openBanking

ScopesArray of strings

Resource scopes to use, mutually exclusive with subscriptionId.

  • /: Use all resources available.
  • /subscriptions/7fdf00601dfb: Use all resources in subscription 7fdf00601dfb.
  • /subscriptions/7fdf00601dfb/resource-groups/my-company: Use all resources within subscription 7fdf00601dfb and resource-group my-company.
Example: /subscriptions/7fdf00601dfb/resource-groups/my-company
api-versionstring
Body
paymentIdsArray of stringsnon-emptyrequired

Id of the payments

Example: ["A30D7108-A584-4C32-95ED-8FF4BB5A7C2C"]
{ "paymentIds": [ "A30D7108-A584-4C32-95ED-8FF4BB5A7C2C" ] }

Responses

Created

Bodyapplication/json
transactionStatusstring

The "most negative" status of all the payments

Enum ValueDescription
acsp
`AcceptedSettlementInProcess` - All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.
actc
`AcceptedTechnicalValidation` - Authentication and syntactical and semantical validation are successful.
acwc
`AcceptedWithChange` - Instruction is accepted but a change will be made, such as date or remittance not sent.
rcvd
`Received` - Payment initiation has been received by the receiving agent.
rjct
`Rejected` - Payment initiation or individual transaction included in the payment initiation has been rejected.
Example: "actc"
basketIdstring

Id of the signing basket

Example: "09ACBC7B-15E1-4E4A-B2A0-551345EB4360"
paymentIdsArray of strings

Id of the payments

Example: ["A30D7108-A584-4C32-95ED-8FF4BB5A7C2C"]
consentIdsArray of strings

Id of the consents

Example: ["1E5EFC3B-635E-4973-A605-41D7F0D6D7B3"]
_linksobject
Response
application/json
{ "transactionStatus": "actc", "basketId": "09ACBC7B-15E1-4E4A-B2A0-551345EB4360", "paymentIds": [ "A30D7108-A584-4C32-95ED-8FF4BB5A7C2C" ], "consentIds": [ "1E5EFC3B-635E-4973-A605-41D7F0D6D7B3" ], "_links": { "self": {}, "status": {}, "startAuthorization": {}, "scaRedirect": {} } }