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

# National ID Basic

> Verify a Kenyan customer's identity using their national ID number.

The Kenya National ID Basic endpoint retrieves verified identity data from the Kenyan government's IPRS database, returning the ID holder's full name, gender, citizenship, and photo.

## Endpoint

```
POST /api/onboarding/kenya_kyc/national_id_basic/
```

## Request

### Headers

| Header           | Value               | Required |
| ---------------- | ------------------- | -------- |
| `x-access-token` | Your API secret key | Yes      |
| `Content-Type`   | `application/json`  | Yes      |

### Body Parameters

| Parameter     | Type   | Required | Description                              |
| ------------- | ------ | -------- | ---------------------------------------- |
| `national_id` | string | Yes      | The customer's Kenyan national ID number |

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://adhere-api.smartcomply.com/api/onboarding/kenya_kyc/national_id_basic/" \
    -H "x-access-token: YOUR_SECRET_KEY" \
    -H "Content-Type: application/json" \
    -d '{"national_id": "00000000"}'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://adhere-api.smartcomply.com/api/onboarding/kenya_kyc/national_id_basic/",
    {
      method: "POST",
      headers: {
        "x-access-token": "YOUR_SECRET_KEY",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({ national_id: "00000000" }),
    }
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://adhere-api.smartcomply.com/api/onboarding/kenya_kyc/national_id_basic/",
      headers={
          "x-access-token": "YOUR_SECRET_KEY",
          "Content-Type": "application/json",
      },
      json={"national_id": "00000000"},
  )
  data = response.json()
  ```
</CodeGroup>

## Response

### 200 OK

| Field                 | Type    | Description                       |
| --------------------- | ------- | --------------------------------- |
| `data.First_Name`     | string  | Customer's first name             |
| `data.Surname`        | string  | Customer's surname                |
| `data.Other_Name`     | string  | Other names                       |
| `data.Gender`         | string  | `"M"` or `"F"`                    |
| `data.Citizenship`    | string  | e.g., `"Kenyan"`                  |
| `data.Date_of_Birth`  | string  | Date of birth                     |
| `data.Date_of_Issue`  | string  | ID issue date                     |
| `data.Place_of_Birth` | string  | Place of birth including district |
| `data.Place_of_Live`  | string  | Registered address                |
| `data.Photo`          | string  | Base64-encoded customer photo     |
| `data.ErrorOcurred`   | boolean | `false` on success                |

```json theme={null}
{
  "status": "success",
  "data": {
    "Gender": "M",
    "Surname": "Leo",
    "First_Name": "Joe",
    "Other_Name": "Doe",
    "Citizenship": "Kenyan",
    "ErrorOcurred": false,
    "Date_of_Birth": "2000-09-20 12:00:00 AM",
    "Date_of_Issue": "1/27/2000 12:00:00 AM",
    "Place_of_Live": "BOX 12345-00800 NAIROBI\nKAREN\nLOCATION - LANGATA",
    "Place_of_Birth": "NAIROBI\nDISTRICT - STAREHE",
    "Photo": "<base64-encoded-jpeg>"
  },
  "message": "National ID Basic details retrieved successfully"
}
```

### 400 Bad Request

Returned when the ID number is missing, malformed, or not found.

```json theme={null}
{
  "status": "failed",
  "data": [],
  "message": "Sorry, your check cannot be processed at the moment. Please try again in a few minutes"
}
```

### 401 Unauthorized

```json theme={null}
{
  "status": "failed",
  "message": "Authentication credentials were not provided."
}
```


## OpenAPI

````yaml POST /api/onboarding/kenya_kyc/national_id_basic/
openapi: 3.0.3
info:
  title: Adhere API
  description: >-
    Identity verification, credit checks, transaction monitoring, and loan fraud
    detection across Africa.
  version: 3.0.0
servers:
  - url: https://adhere-api.smartcomply.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Nigeria KYC
  - name: Kenya KYC
  - name: Ghana KYC
  - name: Rwanda KYC
  - name: Uganda KYC
  - name: Biometrics
  - name: Individual Credit
  - name: Business Credit
  - name: Transaction Monitoring
  - name: Transaction Screening
  - name: Transaction KYC
  - name: Loan Fraud
  - name: User Journey
paths:
  /api/onboarding/kenya_kyc/national_id_basic/:
    post:
      tags:
        - Kenya KYC
      summary: Kenya National ID Basic
      operationId: kenyaNationalIdBasic
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - id_number
              properties:
                id_number:
                  type: string
                  description: Kenyan national ID number
                  example: '12345678'
      responses:
        '200':
          description: National ID verified
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: failed
              data:
                type: array
                items: {}
              message:
                type: string
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: failed
              message:
                type: string
                example: Authentication credentials were not provided.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-access-token
      description: Your Adhere API secret key

````