Dpaverify Docs

Verification records

Look up verifications you've already made, and summarise usage.

List verifications

GET
/v1/verifications

Your organization's verifications, newest first. A key sees only its own environment (test keys see test verifications).

Authorization

ApiKey
headerAuthorizationBearer <token>

Your API key. sk_test_… keys use the sandbox (sample data, free); sk_live_… keys query the real sources and are charged.

Query Parameters

limit?integer

Page size, 1 to 100.

Range1 <= value <= 100
Default20
cursor?string

nextCursor from the previous page.

apiCode?string

Only this API, e.g. identity.national-id.

status?string
Value in"PENDING""COMPLETED""FAILED"

Response Body

One page of verifications.

application/json
  1. response
data*array<>
nextCursor*|

Pass as cursor for the next page; null on the last page.

Example Request
curl -X GET 'https://restapi.nilinde.com/v1/verifications'
Example Response
{  "data": [    {      "id": "cmhd2k7q80001s60h3x9f2a1b",      "api": "tax.kra-pin",      "status": "COMPLETED",      "environment": "LIVE",      "result": {        "found": true,        "idNumber": "12345678",        "taxpayer": {          "pin": "A000000000S",          "name": "JANE WANJIKU DOE"        }      },      "error": null,      "cost": "50",      "latencyMs": 412,      "createdAt": "2026-10-30T09:15:02.118Z",      "completedAt": "2026-10-30T09:15:02.530Z"    }  ],  "nextCursor": null}

Usage summary

GET
/v1/verifications/summary

Calls, success rate and cost per API over a period (default: the last 30 days).

Authorization

ApiKey
headerAuthorizationBearer <token>

Your API key. sk_test_… keys use the sandbox (sample data, free); sk_live_… keys query the real sources and are charged.

Query Parameters

from?string

Start (inclusive), ISO 8601.

Formatdate-time
to?string

End (exclusive), ISO 8601.

Formatdate-time

Response Body

The summary.

application/json
  1. response
from?string
Formatdate-time
to?string
Formatdate-time
environment?string
Value in"LIVE""TEST"
calls?integer

All verifications in the period.

completed?integer
successRate?|

Completed share of finished verifications, from 0 to 1.

totalCost?string

Total charged in KES.

byApi?array<>
Example Request
curl -X GET 'https://restapi.nilinde.com/v1/verifications/summary?from=2026-10-01T00%3A00%3A00Z&to=2026-11-01T00%3A00%3A00Z'
Example Response
{  "from": "2026-10-01T00:00:00.000Z",  "to": "2026-11-01T00:00:00.000Z",  "environment": "LIVE",  "calls": 128,  "completed": 126,  "successRate": 0.984375,  "totalCost": "6300",  "byApi": [    {      "apiCode": "identity.national-id",      "calls": 100,      "completed": 99,      "failed": 1,      "cost": "4950"    },    {      "apiCode": "tax.kra-pin",      "calls": 28,      "completed": 27,      "failed": 1,      "cost": "1350"    }  ]}

Get a verification

GET
/v1/verifications/{id}

Fetch a verification again by its id, e.g. after a timeout or to show a past result.

Authorization

ApiKey
headerAuthorizationBearer <token>

Your API key. sk_test_… keys use the sandbox (sample data, free); sk_live_… keys query the real sources and are charged.

Path Parameters

id*string

Response Body

The verification.

application/json
  1. response

One verification. Returned by every verification API, by GET /v1/verifications/{id}, and in webhooks.

id*string

Unique id; use it to fetch the verification again.

api*string

The verification API that was called, e.g. identity.national-id.

status*string

COMPLETED includes "not found" answers; FAILED means the source failed and the charge was refunded.

Value in"PENDING""COMPLETED""FAILED"
environment*string

TEST for test keys (sandbox data), LIVE for live keys.

Value in"LIVE""TEST"
result*|

The answer, specific to each API (see its examples). Always has found: false when the source holds no record.

error*|

Set when status is FAILED.

cost*string

Amount charged in KES, as a decimal string. "0" for test keys and failed verifications.

latencyMs?|

Time the source took to answer, in milliseconds.

createdAt*string
Formatdate-time
completedAt?|
Formatdate-time
Example Request
curl -X GET 'https://restapi.nilinde.com/v1/verifications/cmhd2k7q80001s60h3x9f2a1b'
Example Response
{  "id": "cmhd2k7q80001s60h3x9f2a1b",  "api": "tax.kra-pin",  "status": "COMPLETED",  "environment": "LIVE",  "result": {    "found": true,    "idNumber": "12345678",    "taxpayer": {      "pin": "A000000000S",      "name": "JANE WANJIKU DOE"    }  },  "error": null,  "cost": "50",  "latencyMs": 412,  "createdAt": "2026-10-30T09:15:02.118Z",  "completedAt": "2026-10-30T09:15:02.530Z"}