> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didx.co.za/llms.txt
> Use this file to discover all available pages before exploring further.

# Driver's Licence Verification

> Verify a South African driver's licence via the eNaTIS system.

## Overview

This endpoint verifies South African driver's licence details via the eNaTIS (Electronic National Traffic Information System). Because eNaTIS lookups are asynchronous, results are delivered via a webhook callback.

## Workflow

<Steps>
  <Step title="Submit verification request">
    POST to `/Citizen/DriversLicenseVerificationService` with the licence details
  </Step>

  <Step title="Receive result via webhook">
    The result is delivered to your registered webhook endpoint at `/Citizen/DriversVerificationWebHook`
  </Step>
</Steps>

***

## Submit Verification Request

```
POST /Citizen/DriversLicenseVerificationService
```

```bash theme={null}
curl -X POST "https://citizen.uat.securecitizen.cloud/Citizen/DriversLicenseVerificationService" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "ConsentReceived": true,
    "IdNumber": "8001014800080",
    "LicenceNumber": "DL123456789",
    "CRef": "REF00001"
  }'
```

### Request Fields

| Field             | Type    | Required | Description                        |
| ----------------- | ------- | -------- | ---------------------------------- |
| `ConsentReceived` | boolean | **Yes**  | Must be `true`                     |
| `IdNumber`        | string  | **Yes**  | SA ID number of the licence holder |
| `LicenceNumber`   | string  | **Yes**  | Driver's licence number            |
| `CRef`            | string  | No       | Your transaction reference         |

### Initial Response (202 Accepted)

```json theme={null}
{
  "TrackingNumber": "abc123-def456",
  "Status": "Pending",
  "Message": "Verification submitted. Result will be delivered via webhook."
}
```

***

## Webhook Payload

When the eNaTIS lookup completes, the result is POSTed to your registered webhook endpoint:

```json theme={null}
{
  "TrackingNumber": "abc123-def456",
  "LicenceNumber": "DL123456789",
  "IdNumber": "8001014800080",
  "LicenceValid": true,
  "LicenceStatus": "Valid",
  "LicenceCategories": ["B", "C"],
  "ExpiryDate": "2028-01-01",
  "IssueDate": "2018-01-01",
  "RestrictionsAndConditions": null,
  "Status": "Success",
  "CRef": "REF00001"
}
```

### Webhook Response Fields

| Field                       | Description                                                          |
| --------------------------- | -------------------------------------------------------------------- |
| `LicenceValid`              | `true` if the licence is valid and current                           |
| `LicenceStatus`             | `Valid`, `Expired`, `Suspended`, `Cancelled`, etc.                   |
| `LicenceCategories`         | List of vehicle categories the licence holder is authorised to drive |
| `ExpiryDate`                | Licence expiry date                                                  |
| `RestrictionsAndConditions` | Any restrictions or conditions on the licence                        |

<Note>
  Ensure your webhook endpoint is registered and accessible before submitting verification requests. Contact the DIDx
  team to register your webhook URL.
</Note>
