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

# List verifications

> Retrieve a paginated list of every verification run on your account, with optional search, date, and status filters.

<div className="dj-endpoint">
  <span className={`dj-method dj-method-get`}>GET</span>
  <code>/api/v1/kyc/verifications</code>
</div>

Retrieve a paginated list of every verification run on your account, with optional search, date-range, and status filters. Use it to reconcile results, build an audit view, or poll for completed checks.

## Headers

| Header          | Required | Description                                         |
| --------------- | -------- | --------------------------------------------------- |
| `Authorization` | Yes      | Your app's secret key, sent as-is — *not* `Bearer`. |
| `AppId`         | Yes      | The App ID from your dashboard.                     |

## Query parameters

| Parameter | Type   | Required | Description                                                            |
| --------- | ------ | -------- | ---------------------------------------------------------------------- |
| `term`    | string | No       | Search by email address or `reference_id`.                             |
| `start`   | string | No       | Start-date filter, format `YYYY-MM-DD`.                                |
| `end`     | string | No       | End-date filter, format `YYYY-MM-DD`.                                  |
| `status`  | string | No       | Filter by status — one of `Ongoing`, `Pending`, `Completed`, `Failed`. |

## Response

Returns an `entity` object with a `data` array of verification summaries and a `meta` object for pagination.

| Field                       | Type   | Description                                                                                                                                                 |
| --------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `data[].reference_id`       | string | Unique reference for the verification — pass it to [Get verification](/api-reference/verifications/get-verification) for the full result.                   |
| `data[].verificationStatus` | string | Current status (`Ongoing`, `Pending`, `Completed`, `Failed`, `Abandoned`). See [Verification statuses](/api-reference/core-concepts/verification-statuses). |
| `data[].datetime`           | string | When the verification was created.                                                                                                                          |
| `data[].full_name`          | string | Resolved full name of the verified individual (when applicable).                                                                                            |
| `data[].selfieUrl`          | string | Link to the captured selfie. **Expires \~1 hour** — see [File links & expiry](/api-reference/core-concepts/file-links-expiry).                              |
| `meta.total_count`          | number | Total verifications matching the filter.                                                                                                                    |
| `meta.item_per_page`        | number | Items returned per page.                                                                                                                                    |
| `meta.current_page`         | number | The current page index.                                                                                                                                     |

## Errors

| Code  | Meaning                                                           |
| ----- | ----------------------------------------------------------------- |
| `400` | Bad request — a filter value is malformed (e.g. an invalid date). |
| `401` | Unauthorized — check your key and `AppId` (no `Bearer` prefix).   |
| `429` | Too many requests — back off and retry.                           |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    "https://api.dojah.io/api/v1/kyc/verifications?status=Completed" \
    -H "Authorization: {{secret_key}}" \
    -H "AppId: {{app_id}}"
  ```

  ```js Node.js theme={null}
  const params = new URLSearchParams({
    "status": "Completed",
  });

  const url = "https://api.dojah.io/api/v1/kyc/verifications?" + params;
  const res = await fetch(url, {
    headers: {
      Authorization: process.env.DOJAH_SECRET_KEY,
      AppId: process.env.DOJAH_APP_ID,
    },
  });
  const data = await res.json();
  ```

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

  res = requests.get(
      "https://api.dojah.io/api/v1/kyc/verifications",
      headers={
          "Authorization": os.environ["DOJAH_SECRET_KEY"],
          "AppId": os.environ["DOJAH_APP_ID"],
      },
      params={ "status": "Completed" },
  )
  data = res.json()
  ```
</RequestExample>

<ResponseExample>
  ```json GET /api/v1/kyc/verifications theme={null}
  {
    "entity": {
      "data": [
        {
          "reference_id": "DJ-479A8E4159",
          "app_id": "64d4ab23b2793b00401a2993",
          "verificationStatus": "Completed",
          "datetime": "2024-07-19 17:06:05",
          "environment": "production",
          "first_name": "JOHN",
          "last_name": "MUSA",
          "full_name": "JOHN DOE MUSA",
          "business_name": "ANON Enterprises",
          "selfieUrl": "https://dojah-kyc.s3.../sandbox_kyc_image.png",
          "verificationUrl": "https://app.dojah.io/verifications/bio-data/DJ-479A8E4159"
        }
      ],
      "meta": {
        "total_count": 107,
        "item_per_page": 10,
        "current_page": 1
      }
    }
  }
  ```
</ResponseExample>
