Dpaverify Docs

Billing and usage

Live verifications are paid from your organization's **prepaid wallet**, in Kenyan shillings (KES). **Bundles and prices** Your organization is on a bundle. The bundle sets which verification APIs you can call, the price of each, and optionally a monthly call quota. You can see your bundle and prices in the dashboard under **Billing**. **How a call is charged** 1. When a live call starts, its price is reserved from your wallet. If the balance is too low, the call is rejected with `402 INSUFFICIENT_FUNDS` and no lookup is made. 2. If the source answers, whether "found" or "not found", the charge stands. The amount is in the verification's `cost` field. 3. If the source fails (`502`), **the charge is refunded automatically** before the response is sent. 4. A retry with the same `Idempotency-Key` is never charged twice. Test-key calls cost nothing (`cost: "0"`). **Topping up** Top up from the dashboard's billing page, using M-Pesa (STK push to your phone). The wallet is credited as soon as the payment is confirmed. Wallet statements, payment receipts and CSV exports are also in the dashboard. **Checking from code** An API key can read your balance and this month's usage with the two endpoints below. Use them to alert your team before the balance runs out.

Get wallet balance

GET
/v1/wallet

Your organization's prepaid balance. Top-ups are made in the dashboard.

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.

Response Body

The wallet.

application/json
  1. response
id?string
organizationId?string
balance?string

Available balance, as a decimal string.

currency?string
createdAt?string
Formatdate-time
updatedAt?string
Formatdate-time
Example Request
curl -X GET 'https://restapi.nilinde.com/v1/wallet'
Example Response
{  "id": "cmh8w1a2b0000s60hwallet01",  "organizationId": "cmh8w0z9y0000s60horg00001",  "balance": "12450",  "currency": "KES",  "createdAt": "2026-09-02T07:30:00.000Z",  "updatedAt": "2026-10-30T09:15:02.530Z"}

Get monthly usage

GET
/v1/usage/quota

Verifications made this calendar month against your bundle's monthly quota.

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.

Response Body

This month's usage.

application/json
  1. response
period?string

The calendar month, YYYY-MM.

calls?integer

Verifications made this month.

quota?|

Your bundle's monthly limit; null when unlimited.

Example Request
curl -X GET 'https://restapi.nilinde.com/v1/usage/quota'
Example Response
{  "period": "2026-10",  "calls": 128,  "quota": 1000}