Back to neotek ↗Get Sandbox Access

ListProfileAccounts

GEThttps://test.api.neotek.sa/single-api-aggregator/v1/profiles/accounts

Sandbox URL · in Production call https://api.neotek.sa

Returns every account the customer has consented to share — across all their linked banks — in one call, with balances included and identifiers normalized to a single format.

Each account carries its AccountId along with its identifiers under AccountIdentifiers — the IBAN (KSAOB.IBAN) and the account number (KSAOB.AccountNumber).

Query parameters:

ParameterRequiredDescription
PSUIdRequiredthe Payment Service User id: the identifier you assign to the customer in your own system. Use the same id you sent when creating the accounts link, since that is how Neotek resolves which consented accounts to return

PSUId is the only required parameter. Everything else is optional:

ParameterFilters by
ProfileIdprofile
AccountsLinkIdone consent/link
FinancialInstitutionIdone bank (BIC)
FinancialInstitutionNamebank name
AccountIdone account
Statusaccount status
Currencycurrency
AccountTypeKSAOB.Retail / KSAOB.Corporate
AccountSubTypeCurrentAccount, Savings, CreditCard
FromOpeningDate / ToOpeningDateopening date range
IncludeBalancesFlaginclude/exclude balances
BalanceTypebalance type when included
Pagepage number
OrderASC / DESC

An optional x-request-id header is also supported.

cURL
curl -G 'https://test.api.neotek.sa/single-api-aggregator/v1/profiles/accounts' \  -H 'Authorization: Bearer <ACCESS_TOKEN>' \  -d 'PSUId=PTP100'

Response (trimmed to one account)

JSON
{    "Data": {        "Accounts": [            {                "ProfileId": "SINGLEAPI",                "AccountsLinkId": "2603",                "FinancialInstitution": {                    "FinancialInstitutionId": "SAIBCSARI",                    "NameEn": "The Saudi Investment Bank"                },                "AccountId": "ACC-5C9F1F19",                "AccountHolderName": "John Doe",                "Status": "Active",                "Currency": "SAR",                "AccountType": "KSAOB.Retail",                "AccountSubType": "CurrentAccount",                "AccountIdentifiers": [                    {                        "IdentificationType": "KSAOB.IBAN",                        "Identification": "SA8220000000000002222222"                    },                    {                        "IdentificationType": "KSAOB.AccountNumber",                        "Identification": "10000002222"                    }                ],                "Balances": [                    {                        "BalanceType": "KSAOB.InterimAvailable",                        "Amount": 96199.5000,                        "Currency": "SAR"                    }                ]            }        ]    },    "Meta": {        "PageNumber": 1,        "TotalPages": 1    }}

Errors

ScenarioStatusCodeMessage
Missing required param400NTSP.ERROR.400.090One or more required API parameters are missing in the API request.
Invalid enum value400NTSP.ERROR.400.901Backend Invalid Request Body
Invalid/expired token401NTSP.ERROR.401.001Cannot pass the security checks that are required by the target API or operation…
No Authorization header401NTSP.ERROR.401.001Invalid client id or secret.
Wrong method405nullThe method is not allowed for the requested URL