ListProfileAccounts
GET
https://test.api.neotek.sa/single-api-aggregator/v1/profiles/accountsSandbox 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:
| Parameter | Required | Description |
|---|---|---|
PSUId | Required | the 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:
| Parameter | Filters by |
|---|---|
ProfileId | profile |
AccountsLinkId | one consent/link |
FinancialInstitutionId | one bank (BIC) |
FinancialInstitutionName | bank name |
AccountId | one account |
Status | account status |
Currency | currency |
AccountType | KSAOB.Retail / KSAOB.Corporate |
AccountSubType | CurrentAccount, Savings, CreditCard… |
FromOpeningDate / ToOpeningDate | opening date range |
IncludeBalancesFlag | include/exclude balances |
BalanceType | balance type when included |
Page | page number |
Order | ASC / 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
| Scenario | Status | Code | Message |
|---|---|---|---|
| Missing required param | 400 | NTSP.ERROR.400.090 | One or more required API parameters are missing in the API request. |
| Invalid enum value | 400 | NTSP.ERROR.400.901 | Backend Invalid Request Body |
| Invalid/expired token | 401 | NTSP.ERROR.401.001 | Cannot pass the security checks that are required by the target API or operation… |
| No Authorization header | 401 | NTSP.ERROR.401.001 | Invalid client id or secret. |
| Wrong method | 405 | null | The method is not allowed for the requested URL |