Guides

Account Information

The Account Information Service (AIS) allows you to retrieve various information on accounts that the PSU has granted access to via an active consent. A consent is an object that holds information about what permissions a PSU has given you to fetch its account information from a particular bank. This guide shows the steps for creating a consent, and for using it to make requests to the AIS.

For requests to the Consent Service and AIS APIs, you need an access token with scope accountinformation corporate.

Always include PSU-ID in all requests to ensure proper consent tracking per user and maintain a seamless user experience.

The first step is to create a consent, where we define the the access permissions that the PSU agrees to grant.

Endpoint

POST /psd2/consent/v1/consents
http

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
PSU-IDstringThe ID used to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.

Request Body

NameTypeDescription
accessobjectRequested access services for a consent. This can be left empty to access all available accounts, or it can be populated with IBANs to limit consent to specific accounts.
combinedServiceIndicatorbooleanIndicates that the Payment Initiation Service (PIS) will be addressed in the same session.
frequencyPerDayintegerThe number of times per day the TPP may access the account data without PSU interaction. For one-off access, this attribute is set to “1”. If not otherwise agreed bilaterally between TPP and bank, the frequency is less equal to 4.
recurringIndicatorbooleanIndicates that access to the data should be recurring when set to true.
validUntilstring(date)The end date of the consent in ISO 8601 format, e.g. 2025-10-31.
curl -X POST "https://api.openbankingplatform.com/psd2/consent/v1/consents" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: 8ef6348b-3f9f-4e1c-a768-fc586af7badf" \
  -H "X-BicFi: ESSESESS" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false" \
  -H "PSU-IP-Address: 152.120.171.187" \
  -d '{
    "access": {},
    "combinedServiceIndicator": false,
    "frequencyPerDay": 4,
    "recurringIndicator": true,
    "validUntil": "2099-12-31"
  }'
bash

Response

{
    "consentStatus": "received",
    "consentId": "70c6d203-e1d1-43ff-9e42-07e5dda640ba",
    "scaMethods": [
        {
            "authenticationType": "PUSH_OTP",
            "authenticationMethodId": "mbid",
            "name": "Mobilt BankID"
        },
        {
            "authenticationType": "CHIP_OTP",
            "authenticationMethodId": "mbid_same_device",
            "name": "Mobile BankID on this device"
        },
        {
            "authenticationType": "PHOTO_OTP",
            "authenticationMethodId": "mbid_animated_qr_token",
            "name": "Mobile BankID on another device"
        }
    ],
    "_links": {
        "self": {
            "href": "/psd2/consent/v1/consents/70c6d203-e1d1-43ff-9e42-07e5dda640ba"
        },
        "status": {
            "href": "/psd2/consent/v1/consents/70c6d203-e1d1-43ff-9e42-07e5dda640ba/status"
        },
        "startAuthorisation": {
            "href": "/psd2/consent/v1/consents/70c6d203-e1d1-43ff-9e42-07e5dda640ba/authorisations"
        }
    }
}
json

After creating the consent, it must be authorised by the PSU before it can be used. See the Authorisations guide for instructions on how to complete the authorisation process.

Once you complete the authorisation flow, check the status of the consent by polling the Get Consent Status endpoint.

Endpoint

GET /psd2/consent/v1/consents/{consentId}/status
http

Path Parameters

NameTypeDescription
consentIdstring(uuid)The ID of the consent that was created.

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
PSU-IDstringThe ID used to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.
PSU-User-AgentstringThe forwarded Agent header field of the HTTP request between PSU and TPP, if available.
curl -X GET "https://api.openbankingplatform.com/psd2/consent/v1/consents/70c6d203-e1d1-43ff-9e42-07e5dda640ba/status" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: 5a441866-935b-41e9-ba3a-2952a351b706" \
  -H "X-BicFi: ESSESESS" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false" \
  -H "PSU-IP-Address: 152.120.171.187"
bash

Response

{
    "consentStatus": "valid"
}
json

Consents can have a number of different statuses. Here, you want to check if the consent was rejected, in which case consentStatus would have the value rejected. If not, then you are done.

4. Get Account List

After obtaining a valid consent, you can start making requests to the AIS. The first step to fetch a list of accounts for the PSU, which can optionally be queried to include balances via the withBalance parameter.

Endpoint

GET /psd2/accountinformation/v1/accounts
http

Query Parameters

NameTypeDescription
withBalancebooleanIncludes balance information for each account in the response when set to true.

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
Consent-IDstringThe ID of the related consent.
PSU-IDstringThe ID used to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.
PSU-User-AgentstringThe forwarded Agent header field of the HTTP request between PSU and TPP, if available.

To try out our harmonized balance types, include an X-Feature-Flags header set to new-balances.

curl -X GET "https://api.openbankingplatform.com/psd2/accountinformation/v1/accounts?withBalance=true" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: 034315f0-702d-46af-ac4d-186f877f603e" \
  -H "X-BicFi: ESSESESS" \
  -H "Consent-ID: 70c6d203-e1d1-43ff-9e42-07e5dda640ba" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false" \
  -H "PSU-IP-Address: 152.120.171.187"
bash

Response

{
    "accounts": [
        {
            "resourceId": "ab82e294-b01d-4c21-b53e-9a39df7507d1",
            "iban": "SE123456789000532811",
            "bban": "89000532811",
            "currency": "SEK",
            "product": "Business Account",
            "cashAccountType": "OTHR",
            "status": "enabled",
            "bic": "ESSESESS",
            "usage": "ORGA",
            "balances": [
                {
                    "balanceAmount": {
                        "currency": "SEK",
                        "amount": "18959.990"
                    },
                    "balanceType": "interimAvailable",
                    "creditLimitIncluded": true
                },
                {
                    "balanceAmount": {
                        "currency": "SEK",
                        "amount": "16550.990"
                    },
                    "balanceType": "interimBooked",
                    "creditLimitIncluded": false
                },
                {
                    "balanceAmount": {
                        "currency": "SEK",
                        "amount": "18000.990"
                    },
                    "balanceType": "valueDated",
                    "creditLimitIncluded": false
                }
            ],
            "ownerName": "Company AB",
            "creditLimit": {
                "currency": "SEK",
                "amount": "0.000"
            }
        },
        {
            "resourceId": "d8d010fa-93c1-41c8-a352-bc0f6e788ab4",
            "iban": "SE304153657000123456",
            "bban": "57000123456",
            "currency": "SEK",
            "product": "Savings account",
            "cashAccountType": "OTHR",
            "status": "enabled",
            "bic": "ESSESESS",
            "usage": "ORGA",
            "balances": [
                {
                    "balanceAmount": {
                        "currency": "SEK",
                        "amount": "5062.090"
                    },
                    "balanceType": "interimAvailable",
                    "creditLimitIncluded": true
                },
                {
                    "balanceAmount": {
                        "currency": "SEK",
                        "amount": "3062.090"
                    },
                    "balanceType": "interimBooked",
                    "creditLimitIncluded": false
                },
                {
                    "balanceAmount": {
                        "currency": "SEK", 
                        "amount": "5000.090"
                    }, 
                    "balanceType": "valueDated", 
                    "creditLimitIncluded": false
                }
            ],
            "ownerName": "Company AB",
            "creditLimit": {
                "currency": "SEK",
                "amount": "0.000"
            }
        }
    ]
}
json

5. Get Account Details

Once you have a list of accounts, the Get Account Details request allows you to retrieve more detailed information about a specific account. For this request, you need to specify the account for which to fetch details by providing an accountId. This ID is equivalent to the resourceId of an account listed in the previous step.

Endpoint

GET /psd2/accountinformation/v1/accounts/{accountId}
http

Path Parameters

NameTypeDescription
accountIdstringThe ID of the specified account.

Query Parameters

NameTypeDescription
withBalancebooleanIncludes balance information for each account in the response when set to true.

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
Consent-IDstringThe ID of the related consent.
PSU-IDstringThe ID used to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.
PSU-User-AgentstringThe forwarded Agent header field of the HTTP request between PSU and TPP, if available.
curl -X GET "https://api.openbankingplatform.com/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: c57b0341-b4c3-4cfc-a6d8-6c1e6e534b2e" \
  -H "X-BicFi: ESSESESS" \
  -H "Consent-ID: 70c6d203-e1d1-43ff-9e42-07e5dda640ba" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false" \
  -H "PSU-IP-Address: 152.120.171.187"
bash

Response

{
    "resourceId": "ab82e294-b01d-4c21-b53e-9a39df7507d1",
    "iban": "SE123456789000532811",
    "bban": "89000532811",
    "bankgiroNumber": "12345678",
    "currency": "SEK",
    "product": "Business Account",
    "cashAccountType": "OTHR",
    "status": "enabled",
    "bic": "ESSESESS",
    "usage": "ORGA",
    "balances": [
        {
            "balanceAmount": {
                "currency": "SEK",
                "amount": "18959.990"
            },
            "balanceType": "interimAvailable",
            "creditLimitIncluded": true
        },
        {
            "balanceAmount": {
                "currency": "SEK",
                "amount": "16550.990"
            },
            "balanceType": "interimBooked",
            "creditLimitIncluded": false
        },
        {
            "balanceAmount": {
                "currency": "SEK",
                "amount": "18000.990"
            },
            "balanceType": "valueDated",
            "creditLimitIncluded": false
        }
    ],
    "ownerName": "Company AB",
    "creditLimit": {
        "currency": "SEK",
        "amount": "0.000"
    },
    "paymentsEnabled": true,
    "lastTransactionEnrichmentDateTime": "2025-04-23T20:51:16.803+00:00",
    "lastTransactionEnrichmentDateTimeUtc": "2025-04-23T20:51:16.803Z"
}
json

6. Get Balances

This request allows you to retrieve the balances for a specific account in the account list. For this request, you need to specify the account for which to fetch balances by providing an accountId, as you did in the previous request.

Endpoint

GET /psd2/accountinformation/v1/accounts/{accountId}/balances
http

Path Parameters

NameTypeDescription
accountIdstringThe ID of the specified account.

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
Consent-IDstringThe ID of the related consent.
PSU-IDstringThe ID used to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.
PSU-User-AgentstringThe forwarded Agent header field of the HTTP request between PSU and TPP, if available.
curl -X GET "https://api.openbankingplatform.com/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/balances" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: 685d5dc0-f03c-45a1-aeec-42e1e6505164" \
  -H "X-BicFi: ESSESESS" \
  -H "Consent-ID: 70c6d203-e1d1-43ff-9e42-07e5dda640ba" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false" \
  -H "PSU-IP-Address: 152.120.171.187"
bash

Response

{
    "balances": [
        {
            "balanceAmount": {
                "currency": "SEK",
                "amount": "18959.990"
            },
            "balanceType": "interimAvailable",
            "creditLimitIncluded": true
        },
        {
            "balanceAmount": {
                "currency": "SEK",
                "amount": "16550.990"
            },
            "balanceType": "interimBooked",
            "creditLimitIncluded": false
        },
        {
            "balanceAmount": {
                "currency": "SEK",
                "amount": "18000.990"
            },
            "balanceType": "valueDated",
            "creditLimitIncluded": false
        }
    ]
}
json

Alternatively to this request, include balances in the Get Account List and Get Account Details responses by using the withBalance query parameter, as shown in step 3—4.

7. Get Transaction List

The next request allows you to retrieve a paginated list of booked and pending transactions for a specific account. This request also requires us to specify the account for which to fetch a list of transactions by providing an accountId. You then also need to define whether to fetch booked, pending or both types of transactions by querying the bookingStatus parameter. In this guide, we will request a list of booked transactions on the account.

ISO-enriched transactions should be fetched once per day. Check lastTransactionEnrichmentDateTime or lastTransactionEnrichmentDateTimeUtc in the Get Account Details response to determine if today's enrichment has been applied yet.

Endpoint

GET /psd2/accountinformation/v1/accounts/{accountId}/transactions
http

Path Parameters

NameTypeDescription
accountIdstringThe ID of the specified account.

Query Parameters

NameTypeDescription
bookingStatusstring(enum)Specifies which transactions to retrieve: booked, pending or both.
dateFromstring(date)The start date for the transaction list in ISO 8601 format, e.g. 2025-10-31.
dateTostring(date)The end date for the transaction list in ISO 8601 format, e.g. 2025-10-31.

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
Consent-IDstringThe ID of the related consent.
PSU-IDstringThe ID used to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.
PSU-User-AgentstringThe forwarded Agent header field of the HTTP request between PSU and TPP, if available.

Some banks grant access to an extended transaction history only for a short period after consent creation (1 hour or less). After this window, the range may be reduced or additional SCA may be required.

curl -X GET "https://api.openbankingplatform.com/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/transactions?bookingStatus=booked&dateFrom=2025-04-21&dateTo=2025-04-22" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: 49880132-d0a7-4ab8-8b8d-3614bda92c25" \
  -H "X-BicFi: ESSESESS" \
  -H "Consent-ID: 70c6d203-e1d1-43ff-9e42-07e5dda640ba" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false" \
  -H "PSU-IP-Address: 152.120.171.187"
bash

Response

The transactionId is issued by the bank and may change until the transaction reaches its final state. Some banks do not provide a transactionId for pending transactions.

{
  "account": {
    "iban": "SE1234567890123456788"
  },
  "transactions": {
    "booked": [
      {
        "transactionId": "ecc47512-ea64-4844-92d4-82d0a5968753", 
        "bookingDate": "2025-04-22", 
        "valueDate": "2025-04-22", 
        "transactionAmount": {
            "currency": "SEK", 
            "amount": "4165.00"
        }, 
        "creditorAccount": {},
        "debtorAccount": {},
        "remittanceInformationUnstructured": "Example 3",  
        "balanceAfterTransaction": {
            "balanceAmount": {
                "currency": "SEK", 
                "amount": "13227.090"
            },
            "balanceType": "interimBooked"
        },
        "_links": {
            "transactionDetails": {
                "href": "/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/transactions/ecc47512-ea64-4844-92d4-82d0a5968753"
            }
        },
        "proprietaryBankTransactionCodeText": "Transfer",
        "additionalInformation": "Payment for invoice",
        "transactionFees": []
      },
      {
        "transactionId": "0b1b498d-3951-4a48-8c71-3ca7bc9bf988",
        "entryReference": "LBE1234-5678-0000001",
        "bookingDate": "2025-04-22", 
        "valueDate": "2025-04-22",
        "transactionAmount": {
            "currency": "SEK", 
            "amount": "-1250.00"
        },
        "creditorName": "Merchant 123", 
        "creditorAccount": {
            "bankgiroNumber": "12345678"
        },
        "debtorName": "CompanyABC", 
        "debtorAccount": {
            "bankgiroNumber": "98765432"
        },
        "remittanceInformationUnstructured": "Example 2", 
        "remittanceInformationStructured": "INV-12345", 
        "remittanceInformationStructuredArray": [
            {
                "referredDocumentInformation": [
                    {
                        "typeCode": "CINV", 
                        "number": "INV-12345"
                    }
                ],
                "referredDocumentAmount": {
                    "remittedAmount": {
                        "currency": "SEK", 
                        "amount": "1250.00"
                    }
                }
            }
        ],
        "proprietaryBankTransactionCodeText": "TRF", 
        "balanceAfterTransaction": {
            "balanceAmount": {
                "currency": "SEK", 
                "amount": "9062.090"
            },
            "balanceType": "interimBooked"
        },
        "aggregateTransactionId": "d8lTg5nRk2qWzXgA7cNf3LhVYujXK9_E",
        "aggregateAmount": "-1250.00", 
        "aggregateRemittanceInformationUnstructured": "LBE1234-5678", 
        "isAliasPayout": true, 
        "isEnriched": true, 
        "paymentId": "b9c91da5-e78b-484a-acca-693120d75ab3",
        "transactionFees": []
      },
      {
        "transactionId": "700ed360-25e1-446a-94eb-775530c1adc0",
        "entryReference": "EX02-0005678", 
        "bookingDate": "2025-04-22", 
        "valueDate": "2025-04-22", 
        "transactionAmount": {
            "currency": "SEK", 
            "amount": "-2578.090"
        }, 
        "creditorAccount": {}, 
        "debtorAccount": {},
        "remittanceInformationUnstructured": "Example 1", 
        "balanceAfterTransaction": {
            "balanceAmount": {
                "currency": "SEK", 
                "amount": "10312.090"
            },
            "balanceType": "interimBooked"
        },
        "_links": {
            "transactionDetails": {
                "href": "/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/transactions/700ed360-25e1-446a-94eb-775530c1adc0"
            }
        },
        "proprietaryBankTransactionCodeText": "Transfer", 
        "transactionFees": []
      }
    ],
    "pending": [],
    "bankgiro": [],
    "_links": {
        "next": {
            "href": "/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/transactions?bookingStatus=booked&dateFrom=2025-04-21&dateTo=2025-04-22&continuationKey=0jrZlU66guCSgkTDQr8cuA"
        },
        "account": {
            "href": "/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1"
        }
    }
  }
}
json

For basic reference capture, track remittanceInformationUnstructured and additionalInformation. For accurate invoice matching, credit note handling, and advanced reconciliation, use the enriched remittanceInformationStructuredArray and remittanceInformationUnstructuredArray to extract full metadata.

8. Get Transaction Details

Once you have a list of transactions, the next request allows you to retrieve further detailed information about a specific transaction in the list. For this request, you need to specify the transaction for which to fetch details by providing a transactionId. This is an ID of each entry in the transaction list.

This endpoint is only needed for banks that do not include full transaction data in the Get Transaction List response. Transactions that support detailed view will include a transactionDetails link in the Get Transaction List response.

Check transaction details one-by-one and overwrite any data found in the Get Transaction List response with that found in the Get Transaction Details response.

Endpoint

GET /psd2/accountinformation/v1/accounts/{accountId}/transactions/{transactionId}
http

Path Parameters

NameTypeDescription
accountIdstringThe ID of the specified account.
transactionIdstringThe ID of the specified account.

Request Headers

NameTypeDescription
X-Request-IDstring(uuid)The ID of the request, unique to the call, as determined by the initiating party.
X-BicFistringThe BIC of the bank to which the request is addressed.
Consent-IDstringThe ID of the related consent.
PSU-IDstringThe ID to identify the PSU at the bank. Typically a local social security number or another unique login ID.
PSU-Corporate-IDstringThe Corporate ID of the PSU when acting on behalf of an organization, e.g. Org. nummer for SE, KVK for NL.
TPP-Redirect-PreferredbooleanIndicates a preference for redirect-based SCA over decoupled when set to true. The bank may not support both types.
PSU-IP-Addressstring(ipv4)The IP address of the PSU to be forwarded to the bank. Only included if the request was actively initiated by the PSU.
PSU-User-AgentstringThe forwarded Agent header field of the HTTP request between PSU and TPP, if available.
curl -X GET "https://api.openbankingplatform.com/psd2/accountinformation/v1/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/transactions/700ed360-25e1-446a-94eb-775530c1adc0" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIn0..." \
  -H "Content-Type: application/json" \
  -H "X-Request-ID: a76bdd7b-159f-49c6-b9a2-d28f046320c9" \
  -H "X-BicFi: ESSESESS" \
  -H "Consent-ID: 70c6d203-e1d1-43ff-9e42-07e5dda640ba" \
  -H "PSU-ID: 123456789001" \
  -H "PSU-Corporate-ID: 1234567890" \
  -H "TPP-Redirect-Preferred: false"
  -H "PSU-IP-Address: 152.120.171.187"
bash

Response

{
    "transactionId": "700ed360-25e1-446a-94eb-775530c1adc0",
    "bookingDate": "2025-04-22",
    "valueDate": "2025-04-22",
    "transactionAmount": {
        "currency": "SEK",
        "amount": "-2578.090"
    },
    "currencyExchange": [
        {
            "exchangeRate": "0.07683",
            "targetCurrency": "GBP", 
            "targetAmount": "-198.19", 
            "exchangeFeeCurrency": "SEK", 
            "exchangeFeeAmount": "38.54"
        }
    ],
	"creditorName": "Merchant 123",
	"creditorAccount": {
		"iban": "GB1234567890001",
        "currency": "GBP"
    },
    "creditorAgent": "HBUKGB4B", 
    "debtorAccount": {
        "bban": "34567890123456788"
    },
    "remittanceInformationUnstructured": "Example 1", 
    "purposeCode": "OTHR", 
    "_links": {
        "proofOfPayment": {
            "href": "/accounts/ab82e294-b01d-4c21-b53e-9a39df7507d1/transactions/626bc7dc-fa30-4283-aed3-5aa87febef14/pop"
        }
    },
    "isEnriched": true, 
    "paymentId": "626bc7dc-fa30-4283-aed3-5aa87febef14", 
    "paymentServiceReference": "OPESE12345",
    "creditorAgentName": "HSBC UK BANK PLC", 
    "creditorAddress": {
        "street": "1 Centenary Square", 
        "buildingNumber": "1", 
        "city": "Birmingham", 
        "postalCode": "B1 1HQ", 
        "country": "GB"
    },
    "proprietaryBankTransactionCodeText": "Transfer", 
    "transactionFees": []
}
json

Transaction entries for international TP payments additionally include a proofOfPayment link, which you can use to generate a Proof of Payment document for the PSU.