VerifyIBAN
GET
https://test.api.neotek.sa/iban/v1/verifySandbox URL · in Production call https://api.neotek.sa
Runs the check synchronously and returns the answer in the response. There is no source selection — parameters go in the query string.
Query parameters — all three are required:
| Parameter | Required | Description |
|---|---|---|
POIType | Required | the proof-of-identity type: NAT for a national ID, IQA for an iqama |
POINum | Required | the ID number itself |
IBAN | Required | the IBAN being checked against that ID |
Headers:
| Parameter | Required | Description |
|---|---|---|
authorization | Required | Bearer <ACCESS_TOKEN>, with scope iban_verification |
x-request-id | Optional | an RFC 4122 UUID you generate; quote it when raising a support ticket |
accept-language | Optional | en or ar, where the backend supports it |
sub-client | Optional | identifies the downstream consumer when one client fronts several |
cURL
curl -G 'https://test.api.neotek.sa/iban/v1/verify' \ -H 'Authorization: Bearer <ACCESS_TOKEN>' \ -d 'POIType=NAT' \ -d 'POINum=1523698745' \ -d 'IBAN=SA1080000012345678901002'Sandbox: the values above resolve in the test environment — POIType=NAT, POINum=1523698745 and IBAN=SA1080000012345678901002.
Response — RequestStatus is Valid, Not Valid or Failed, and a failure also carries FailureCode
JSON
{ "Data": { "RequestId": "f3bcc305-e442-4e11-a230-bbb446273708", "RequestStatus": "Valid", "AccountStatus": "Active", "Name": "HERO GOLD GOLD", "IBAN": "SA1080000012345678901002", "POIType": "NAT", "POINumber": "1523698745" }}Errors
| Code | Status | Cause and Action |
|---|---|---|
400 | Bad Request | Missing required field, or a value that fails validation — check Code and Path in the body |
401 | Unauthorized | Token missing, expired, or invalid |
403 | Forbidden | Token doesn't carry the iban_verification scope |
404 | Not Found | No resource matches the identifier provided |
405 | Method Not Allowed | HTTP verb not supported on that path |
406 | Not Acceptable | Accept header doesn't match a supported representation — use application/json |
415 | Unsupported Media Type | Content-Type missing or wrong — use application/json |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server error — retry with backoff, quote your x-request-id |