ListProfileTransactions
GET
https://test.api.neotek.sa/single-api-aggregator/v1/profiles/transactionsSandbox URL · in Production call https://api.neotek.sa
Returns the full transaction history across every linked account in one call, normalized — amount, direction, type, merchant, booking/value dates, and the running balance after each entry.
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 |
TransactionType | e.g. KSAOB.LocalBankTransfer |
TransactionSubType | KSAOB.Deposit, KSAOB.Purchase, KSAOB.Dividend… |
TransactionFlags | flags |
PaymentMode | KSAOB.Online, KSAOB.Offline, KSAOB.Batch |
TransactionAmountType | amount type |
TransactionStatus | e.g. Booked |
TransactionMutability | KSAOB.Immutable / mutable |
FromBookingDate / ToBookingDate | booking date range |
FromAmount / ToAmount | amount range |
Currency | currency |
MerchantName | merchant |
CardSchemeName | card scheme |
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/transactions' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -d 'PSUId=PTP100'Response (trimmed to one transaction)
JSON
{ "Data": { "Transactions": [ { "ProfileId": "SINGLEAPI", "AccountsLinkId": "2603", "FinancialInstitution": { "FinancialInstitutionId": "SAIBCSARI", "NameEn": "The Saudi Investment Bank" }, "AccountId": "ACC-999", "TransactionId": "TXN-ED6218976F", "TransactionType": "KSAOB.LocalBankTransfer", "SubTransactionType": "KSAOB.Deposit", "PaymentModes": "KSAOB.Online", "CreditDebitIndicator": "KSAOB.Credit", "Status": "Booked", "TransactionMutability": "KSAOB.Immutable", "BookingDateTime": "2026-07-06T07:00:00+03:00", "ValueDateTime": "2026-07-06T06:00:00+03:00", "TransactionInformation": "إيجار عقار", "Amount": { "Amount": 6370.51, "Currency": "SAR" }, "Balance": { "CreditDebitIndicator": "KSAOB.Credit", "Type": "KSAOB.ClosingAvailable", "Amount": { "Amount": 1481205.09, "Currency": "SAR" } }, "MerchantDetails": { "MerchantName": "إيجار عقار" } } ] }, "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 |