Back to neotek ↗Get Sandbox Access

VerifyIBANWithSwift

GEThttps://test.api.neotek.sa/iban/v1/verify-with-swift

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

The same synchronous check as VerifyIBAN, with the account's bank identified as well — name in both languages, plus its SWIFT code.

Query parameters — all three are required:

ParameterRequiredDescription
POITypeRequiredthe proof-of-identity type: NAT for a national ID, IQA for an iqama
POINumRequiredthe ID number itself, exactly 10 characters
IBANRequiredthe IBAN being checked against that ID, exactly 24 characters

Headers:

ParameterRequiredDescription
authorizationRequiredBearer <ACCESS_TOKEN>, with scope iban_verification
x-request-idOptionalan RFC 4122 UUID you generate; quote it when raising a support ticket
accept-languageOptionalen or ar, exactly two characters, defaulting to en
sub-clientOptionalidentifies the downstream consumer when one client fronts several
cURL
curl -G 'https://test.api.neotek.sa/iban/v1/verify-with-swift' \  -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 (schema — RequestStatus is Valid, Not Valid or Failed, and a failure also carries FailureCode)

JSON
{  "Data": {    "RequestId": "string",    "RequestStatus": "Valid",    "FailureCode": "string",    "AccountStatus": "Blocked",    "Name": "string",    "IBAN": "string",    "POIType": "NAT",    "POINumber": "string",    "BankNameEn": "AlRajhi Bank",    "BankNameAr": "string",    "SwiftCode": "SARJHI"  }}

Errors

CodeStatusCause and Action
400Bad RequestMissing required field, or a value that fails validation — check Code and Path in the body
401UnauthorizedToken missing, expired, or invalid
403ForbiddenToken doesn't carry the iban_verification scope
404Not FoundNo resource matches the identifier provided
405Method Not AllowedHTTP verb not supported on that path
406Not AcceptableAccept header doesn't match a supported representation — use application/json
415Unsupported Media TypeContent-Type missing or wrong — use application/json
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer error — retry with backoff, quote your x-request-id