OP Accounts API (v3.0)
Download OpenAPI specification:Download
OP Accounts V3.0 API was available for onboarding in the sandbox and in production for selected partners only. At the moment, we don't approve new applications. For all licensed TPPs, we offer our PSD2 APIs.
OP Accounts V3.0 API provides easy access to private customers' account and transaction information from their Current Accounts. It features a simplified API, reduced headers and flattened response models for smoother consumption. In short, Accounts V3.0 reflects our accumulated knowledge of how to design great banking APIs.
OP Accounts V3.0 API is for selected partners only and the onboarding happens based on partner negotiation. We are currently not onboarding new partners.
Note that using Accounts V3.0 in production requires a valid AISP license from a financial authority, e.g. Financial Supervisory Authority (FIN-FSA).
Get Accounts
Returns all accounts owned and consented to by the end user (account owner).
Account balance will only be returned if the end user has consented to the application accessing the account's information.
header Parameters
x-api-key required | string Example: dxB2AFwnwraQRrAsLZpJ5T4IrNGp7fhx An application-specific key for accessing the API, acquired from the Developer Portal. |
authorization required | string Example: Bearer 6c18c234b1b18b1d97c7043e2e41135c293d0da9 Authorization token granted during the authorization process. |
accept required | string Example: application/hal+json Defines the content-types, expressed as MIME-types, that the client is able to understand. Currently only application/json and application/hal+json are supported. |
Responses
Request samples
- CURL
curl -X GET https://N/A/accounts/v3/accounts \ -H 'Accept: application/json' \ -H 'Content-Type: application/json'
Response samples
- 200
{- "accounts": [
- {
- "accountId": "bhQ9c4g36DiRk_H9TvL1US7-G5WOfOcLZ_7d2D5f0WM.ZDf75jTNOXLX1UJO68INfg.ljJKhsD3AD4QmJaujtH9qA",
- "name": "KÄYTTÖTILI",
- "nickname": "Mark's grocery account",
- "balance": "202.56",
- "currency": "EUR",
- "identifierScheme": "IBAN",
- "identifier": "FI1659986920182946",
- "servicerScheme": "BIC",
- "servicerIdentifier": "OKOYFIHH",
- "_links": {
- "self": {
- "href": "/accounts/v3/accounts/:accountId"
}, - "transactions": {
- "href": "/accounts/v3/accounts/:accountId/transactions"
}
}
}
], - "_links": {
- "self": {
- "href": "/accounts/v3/accounts"
}
}
}
Get Single Account
Returns the information of a single account. The operation will only return the requested information if the user has provided consent to the application seeing this data.
Account balance will only be returned if the end user has consented to the application accessing the account's information.
path Parameters
accountId required | string Example: bhQ9c4g36DiRk_H9TvL1US7-G5WOfOcLZ_7d2D5f0WM.ZDf75jTNOXLX1UJO68INfg.ljJKhsD3AD4QmJaujtH9qA A unique surrogate identifier for the account. |
header Parameters
x-api-key required | string Example: dxB2AFwnwraQRrAsLZpJ5T4IrNGp7fhx An application-specific key for accessing the API, acquired from the Developer Portal. |
authorization required | string Example: Bearer 6c18c234b1b18b1d97c7043e2e41135c293d0da9 Authorization token granted during the authorization process. |
accept required | string Example: application/hal+json Defines the content-types, expressed as MIME-types, that the client is able to understand. Currently only application/json and application/hal+json are supported. |
Responses
Request samples
- CURL
curl -X GET https://N/A/accounts/v3/accounts/{accountId} \ -H 'Accept: application/json' \ -H 'Content-Type: application/json'
Response samples
- 200
{- "accountId": "bhQ9c4g36DiRk_H9TvL1US7-G5WOfOcLZ_7d2D5f0WM.ZDf75jTNOXLX1UJO68INfg.ljJKhsD3AD4QmJaujtH9qA",
- "name": "KÄYTTÖTILI",
- "nickname": "Mark's grocery account",
- "balance": "202.56",
- "currency": "EUR",
- "identifierScheme": "IBAN",
- "identifier": "FI1659986920182946",
- "servicerScheme": "BIC",
- "servicerIdentifier": "OKOYFIHH",
- "_links": {
- "self": {
- "href": "/accounts/v3/accounts/:accountId"
}, - "transactions": {
- "href": "/accounts/v3/accounts/:accountId/transactions"
}
}
}
Get Account Transactions
Returns transactions of an account.
Returned transactions are limited to the time frame set by the client with the maximum of three months. If no such time frame is set, or the time-frame is open-ended (only one parameter supplied), the number of transactions is limited to 150 (or pageSize
if set).
Transactions will only include one of the creditor
and debtor
properties, depending on the type of the transaction.
path Parameters
accountId required | string Example: bhQ9c4g36DiRk_H9TvL1US7-G5WOfOcLZ_7d2D5f0WM.ZDf75jTNOXLX1UJO68INfg.ljJKhsD3AD4QmJaujtH9qA A unique surrogate identifier for the account. |
query Parameters
fromBookingDateTime | string <date-time> Example: fromBookingDateTime=2017-09-01T00:00:00Z ISO 8601-compatible date-time string representing the earliest date-time from which transactions will be queried. Timezone must not be set. Set time to to 00:00:00 for Date-only queries. |
toBookingDateTime | string <date-time> Example: toBookingDateTime=2020-05-23T00:00:00Z ISO 8601-compatible date-time string representing the latest date-time up to which transactions will be queried. Timezone must not be set. Set time to 00:00:00 for Date-only queries. |
pageSize | integer <= 150 Default: 150 Number of transactions to be returned per each page. |
forwardPagingToken | string Example: forwardPagingToken=_ih3KV-S_SEZBWgmlXXJUA.iGWZUY3eo3eJ1REU7RPPgw.9ARfLf6eSda1rqhqD8ndyA Paging token used to retrieve the next page of data. Tokens are available in the links located in the _links object. |
header Parameters
x-api-key required | string Example: dxB2AFwnwraQRrAsLZpJ5T4IrNGp7fhx An application-specific key for accessing the API, acquired from the Developer Portal. |
authorization required | string Example: Bearer 6c18c234b1b18b1d97c7043e2e41135c293d0da9 Authorization token granted during the authorization process. |
accept required | string Example: application/hal+json Defines the content-types, expressed as MIME-types, that the client is able to understand. Currently only application/json and application/hal+json are supported. |
Responses
Request samples
- CURL
curl -X GET https://N/A/accounts/v3/accounts/{accountId}/transactions \ -H 'Accept: application/json' \ -H 'Content-Type: application/json'
Response samples
- 200
{- "transactions": [
- {
- "transactionId": "_WtQy2oma2gh4eCiBt_173t9JxNKNbQxVeUdvceWgCOrGYAaYYasNdvW4kT3WYP_.mdUhpFaJnBwcq4MyNS2QmA.na0OnmFrOm-16XucMLF9Rg",
- "accountId": "bhQ9c4g36DiRk_H9TvL1US7-G5WOfOcLZ_7d2D5f0WM.ZDf75jTNOXLX1UJO68INfg.ljJKhsD3AD4QmJaujtH9qA",
- "archiveId": "string",
- "reference": "26787524294",
- "transactionDescription": {
- "code": 500,
- "text": "WITHDRAWAL"
}, - "message": "TILIASIOINNIN PALVELUMAKSUT AJALTA 1.3-31.3.2018\"",
- "amount": "-6.03",
- "currency": "EUR",
- "creditDebitIndicator": "debit",
- "accountBalance": "145.45",
- "creditor": {
- "accountIdentifierType": "IBAN",
- "accountName": "KÄYTTÖTILI",
- "accountIdentifier": "FI1659986920182946",
- "servicerIdentifier": "OKOYFIHH",
- "servicerIdentifierType": "BIC"
}, - "debtor": {
- "accountIdentifierType": "IBAN",
- "accountName": "KÄYTTÖTILI",
- "accountIdentifier": "FI1659986920182946",
- "servicerIdentifier": "OKOYFIHH",
- "servicerIdentifierType": "BIC"
}, - "bookingDateTime": "2017-04-05T10:43:07T",
- "valueDateTime": "2017-04-05T10:43:07T",
- "status": "Authorized",
- "isoTransactionCode": "string",
- "opTransactionCode": "string",
- "_links": {
- "account": {
- "href": "/accounts/v3/accounts/:accountId"
}
}
}
], - "_links": {
- "self": {
- "href": "/accounts/v3/accounts/:accountId/transactions?fromBookingDateTime=&toBookingDateTime=&pageSize=&forwardPagingToken="
}, - "next": {
- "href": "/accounts/v3/accounts/:accountId/transactions?fromBookingDateTime=&toBookingDateTime=&pageSize=&forwardPagingToken=NEXT_PAGE_TOKEN"
}
}
}
List authorized cards
header Parameters
x-api-key required | string Example: dxB2AFwnwraQRrAsLZpJ5T4IrNGp7fhx An application-specific key for accessing the API, acquired from the Developer Portal. |
authorization required | string Example: Bearer 6c18c234b1b18b1d97c7043e2e41135c293d0da9 Authorization token granted during the authorization process. |
accept required | string Example: application/hal+json Defines the content-types, expressed as MIME-types, that the client is able to understand. Currently only application/json and application/hal+json are supported. |
Responses
Request samples
- CURL
curl -X GET https://N/A/accounts/v3/cards \ -H 'Accept: application/json' \ -H 'Content-Type: application/json'
Response samples
- 200
{- "cards": [
- {
- "cardId": "string",
- "productName": "OP-Visa Credit/Debit",
- "cardNumber": "492065******6526",
- "statementBalance": "1234.56",
- "authorizedOutstandingAmount": "1234.56",
- "_links": {
- "transactions": {
- "href": "/accounts/v3/cards/:cardId/transactions"
}
}
}
], - "_links": {
- "self": {
- "href": "/accounts/v3/cards"
}
}
}
Get Card Transactions
No description yet.
path Parameters
cardId required | string Example: DDA9c4g36DiRk_H9TvL1US7-G5WOfOcLZ_7d2D5f0WM.ZDf75jTNOXLX1UJO68INfG.ljJKhsD3AD4QmJaujtH9qE A unique surrogate identifier for the card. |
query Parameters
fromBookingDateTime | string <date-time> Example: fromBookingDateTime=2017-09-01T00:00:00Z ISO 8601-compatible date-time string representing the earliest date-time from which transactions will be queried. Timezone must not be set. Set time to to 00:00:00 for Date-only queries. |
toBookingDateTime | string <date-time> Example: toBookingDateTime=2020-05-23T00:00:00Z ISO 8601-compatible date-time string representing the latest date-time up to which transactions will be queried. Timezone must not be set. Set time to 00:00:00 for Date-only queries. |
forwardPagingToken | string Example: forwardPagingToken=_ih3KV-S_SEZBWgmlXXJUA.iGWZUY3eo3eJ1REU7RPPgw.9ARfLf6eSda1rqhqD8ndyA Paging token used to retrieve the next page of data. Tokens are available in the links located in the _links object. |
header Parameters
x-api-key required | string Example: dxB2AFwnwraQRrAsLZpJ5T4IrNGp7fhx An application-specific key for accessing the API, acquired from the Developer Portal. |
authorization required | string Example: Bearer 6c18c234b1b18b1d97c7043e2e41135c293d0da9 Authorization token granted during the authorization process. |
accept required | string Example: application/hal+json Defines the content-types, expressed as MIME-types, that the client is able to understand. Currently only application/json and application/hal+json are supported. |
Responses
Request samples
- CURL
curl -X GET https://N/A/accounts/v3/cards/{cardId}/transactions \ -H 'Accept: application/json' \ -H 'Content-Type: application/json'
Response samples
- 200
{- "transactions": [
- {
- "transactionId": "string",
- "cardNumberLastDigits": "string",
- "description": "HBO*NORDIC.COM",
- "amount": "1234.56",
- "currency": "EUR",
- "originalAmount": "1234.56",
- "originalCurrency": "EUR",
- "postingDate": "2019-08-24T14:15:22Z",
- "_links": {
- "card": {
- "href": "/accounts/v3/cards/:cardId"
}
}
}
], - "_links": {
- "self": {
- "href": "/accounts/v3/cards/:cardId/transactions?forwardPagingToken="
}, - "next": {
- "href": "/accounts/v3/cards/:cardId/transactions?forwardPagingToken=NEXT_PAGE_TOKEN"
}
}
}