Initiate a Nafath identity verification request for the SME owner as part of the account opening process
This is a draft version of the SME Onboarding APIs. The final version is expected to be released by the end of September. The API specifications are subjected to go through a few more changes before the final version is released.
Initiate Nafath Verification API starts the customer's identity verification journey through Nafath.
Use this API after the required customer validation and Nafath call-status checks have been completed. On successful initiation, the API returns reference numbers that can be used to track the verification request.
Environment | Domain | Rate/Limit |
|---|---|---|
Sandbox | 3 Calls per Minute | |
Production/LIVE | To be provided upon onboarding | Based on contract |
Endpoint | Method | Authentication requirements |
|---|---|---|
| POST | Header
Request body
|
curl --location 'https://sandboxapi.onesingleview.com/api/v2/smeonboarding/nafathinitiate' \
--header 'SVReferenceID: SV123456' \
--header 'CompanyId: SINGLEVIEW1234' \
--header 'Device: web' \
--header 'DateTimeStamp: 2025-01-07T10:20:39' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoiTDNyMmpxV29JS2I4MTNodDBNeVN4WFRCZjlqUlNWQzFad3B5QnlkOVpHelZXR2ZwUmFQNUUrY3d6cVQ5bi9OV0lwR2V5STNNMkdPL1pqakd4ZG0yclJkVEZxY3lhWGNpWnZFejl0V1EySjQxK2VvSlk2ZjdJZkFsV3BKRi9VL1YydDEzMUtnRnVhcnd6MzVQY1UzbnFEV0p0UWlzIiwiaWF0IjoxNzY3NzYxODc3LCJleHAiOjE3Njc3NjU0Nzd9.lWDSB3Rk_TtdUbKyFcCdaE5XGo7UDiTu2kDcqEyU7vg' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
"InitiateNafathRequest": {
"IdNumber": "1650613225",
"Service": "OpenBankAccount"
},
"Signature": "rZZ9alg/2k9B5uWSdnW3AfYswAMqA4HXyNX3jIzckWb4o37uS4eKFEQ3xRn/dBarN6EGjfaXiMSOPdKyyjjrgT80K5ReXzQ7cC1INuU79ozlLgK8yTFz+nq785geQ+He4PR+hD35DkF9qnela9qmcr3GhAXpTjZG12hmaJEyzeofh6q3p+jqLFd208eAImubnL6SbSBDEAi5SLRH1K2I1U77OmFNirrfGV8qd+gsi+lqgyF9mpNj6lzy/fJNNe0qEr2WHvG1R7E2g3EhqovDNanQt6RFgkWegtlE37Eyi5qO3xlTqu76317ZWfMI7jHxs48fOLTNtBCOwUboVze5Tw=="
}'Request parameters
JSON Tag | Requirement | Description | Data type |
|---|---|---|---|
InitiateNafathRequest | Mandatory | Root node containing information to request initiation of Nafath verification process | Object |
IdNumber | Mandatory | Customer's Iqama/ID number specified for account creation request | String |
Service | Mandatory | Service for which Nafath verification is being initiated to be specified as | String |
{
"InitiateNafathResponse": {
"StatusCode": "Completed",
"StatusDetail": "Nafath verification request initiated",
"BankReferenceNumber": "611",
"ExternalReferenceNumber": "b40bfcf5-b053-48fe-a9a6-62c5a872f7eb",
"ClientReferenceNumber": "20260827072215001108",
"TimeStamp": "2026-08-27T07:22:16"
}
}Response parameters
JSON Tag | Description | Data type |
|---|---|---|
InitiateNafathResponse | Root node containing information of response for Nafath verification initiation | Object |
StatusCode | Code representing status of the transaction in the request | String |
StatusDetail | Details of the status code represented for the transaction in the request | String |
BankReferenceNumber | Reference number generated by the bank for the Nafath request | String |
ExternalReferenceNumber | External reference number assigned to the verification request | String |
ClientReferenceNumber | Client-side reference number associated with the Nafath request | String |
TimeStamp | Date and time when the response was generated | String |
StatusCode | StatusDetail |
|---|---|
Completed | Nafath verification request initiated. |
Failed | Bank response description |
Response_Timeout | Timeout! Unable to get response from the bank. Please try again or contact SingleView support if issue persists. |
On successful initiation, retain the returned BankReferenceNumber, ExternalReferenceNumber, and ClientReferenceNumber as they may be required to track the Nafath verification status in subsequent steps.