EStatementsRequest
POST
https://test.api.neotek.sa/financial-statements/v1/estatements-requestSandbox URL · in Production call https://api.neotek.sa
Body — required as a whole:
| Parameter | Required | Description |
|---|---|---|
PSUId | Required | string, 1–35 chars. 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 |
AccountsLinkIds | Required | array of string. The consent ids — not account ids — returned when creating the accounts link |
TransactionType | Optional | string. One of KSAOB.POS, KSAOB.ECommerce, KSAOB.ATM, KSAOB.BillPayments, KSAOB.LocalBankTransfer, KSAOB.SameBankTransfer, KSAOB.InternationalTransfer, KSAOB.Teller, KSAOB.Cheque, KSAOB.Other |
TransactionFromTimestamp | Optional | date-time. Defaults to the last 6 months if omitted |
TransactionToTimestamp | Optional | date-time. Same default |
TransactionFromAmount | Optional | number |
TransactionToAmount | Optional | number |
IsCategorized | Optional | boolean. Returns additional categorization details on each transaction |
cURL
curl -X POST 'https://test.api.neotek.sa/financial-statements/v1/estatements-request' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "PSUId": "PTP100", "AccountsLinkIds": ["2623"], "IsCategorized": true}'Response (trimmed to one statement)
JSON
{ "Data": { "RequestId": "01KYQ2EZ6PWR0XPPNHCWARCC4R", "Status": "Requested", "AccountsLinkIds": [ "2623" ], "EStatements": [ { "StatementId": "01KYQ2EZ73MMY7GRAVK3CHEEXD", "Status": "Requested", "StatusDescription": null, "AccountId": "ACC-998", "AccountsLinkId": "2623", "FinancialInstitutionId": "SAIBCSARI" } ] }}Errors
| Code | Status | Cause and Action |
|---|---|---|
400 | Bad Request | Invalid or missing request fields. Check the error Code and Path. Common: NTSP.ERROR.400.349 = PSUId is mandatory. |
401 | Unauthorized | Token missing, expired, or invalid. Refresh the bearer token and retry. |
403 | Forbidden | No valid subscription or insufficient scope. Verify client credentials and that the correct scope is included for the service being called. |
405 | Method Not Allowed | Wrong HTTP verb for this endpoint. Check the endpoint specification. |
406 | Not Acceptable | Accept header mismatch. Use application/json. |
429 | Too Many Requests | Rate limit exceeded. Wait the number of seconds in the Retry-After response header before retrying. |
500 | Internal Server Error | Unexpected server error. Retry with exponential backoff. Include x-request-id when raising a support ticket. |