Back to neotek ↗Get Sandbox Access

VerificationRequests

POSThttps://test.api.neotek.sa/iban-verification-neotek/v1/verification-requests

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

Submits the check rather than querying it: the receiving institution gets the outcome and acts on it. You get back a RequestId to reference the inquiry, plus a PASPRedirectionUrl where one applies.

It takes the same identity trio as the synchronous call, plus a Source and optional routing context.

Body — everything sits under a top-level Data object:

  • Source (required) – which provider performs the check. The specification lists Saudi-Payment; ARB also works
  • IBAN (required) – the IBAN being verified
  • POIType (required) – the proof-of-identity type: NAT for a national ID, IQA for an iqama
  • POINumber (required) – the ID number
  • Meta (optional) – routing and context for the receiving institution. Meta itself is optional, so the minimal body is the four fields above:
    • FinancialInstitutionId (optional) – the target institution: RJHISARI, ALBISARI, INMASARI, BSFRSARI or SIBCSARI
    • PSUId (optional) – the Payment Service User identifier
    • UserLoginId (optional) – user login hint, for the decoupled authorisation profile
    • Purpose (optional) – array of strings
    • EchoList (optional) – name/value pairs returned back with the response, such as a channelRedirectionUrl

Headers:

ParameterRequiredDescription
authorizationRequiredBearer <ACCESS_TOKEN>, with scope iban_verification
content-typeRequiredapplication/json
x-request-idOptionalan RFC 4122 UUID you generate; quote it when raising a support ticket
accept-languageOptionalen or ar, where the backend supports it
sub-clientOptionalidentifies the downstream consumer when one client fronts several
cURL
curl -X POST 'https://test.api.neotek.sa/iban-verification-neotek/v1/verification-requests' \  -H 'Authorization: Bearer <ACCESS_TOKEN>' \  -H 'Content-Type: application/json' \  -d '{    "Data": {        "Source": "ARB",        "IBAN": "SA1080000012345678901001",        "POIType": "IQA",        "POINumber": "2345678901",        "Meta": {            "EchoList": [                {                    "Name": "channelRedirectionUrl",                    "Value": "https://www.example.com"                }            ]        }    }}'

Response

JSON
{    "Data": {        "RequestId": "8424"    }}

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