Skip to main content
POST
/
v1
/
customers
/
{id}
/
tier1-verification
Submit Tier 1 verification
curl --request POST \
  --url https://api.daya.co/v1/customers/{id}/tier1-verification \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <x-api-key>' \
  --data '
{
  "bvn": "<string>",
  "image_url": "<string>"
}
'
{
  "id": "650e8400-e29b-41d4-a716-446655440000",
  "email": "customer@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "is_verified": false,
  "tier_1_kyc_complete": true,
  "tier_2_kyc_complete": false,
  "capabilities": [
    { "name": "base", "status": "approved" }
  ],
  "rejection_reasons": [],
  "created_at": "2026-01-05T15:04:05Z",
  "updated_at": "2026-01-06T12:00:00Z"
}

Overview

Submit Tier 1 identity verification (BVN + selfie) for a customer. This is required before creating permanent NGN funding accounts. The verification process matches the customer’s selfie against their BVN record to confirm identity.

Authentication

X-Api-Key
string
required
Your merchant API key

Path Parameters

id
string
required
Customer ID (UUID)Example: 650e8400-e29b-41d4-a716-446655440000

Request Body

bvn
string
required
11-digit Bank Verification NumberExample: 22345678901
Must be exactly 11 digits. The BVN is validated against the national identity database.
image_url
string
required
Face image for identity matching. Accepts an HTTPS URL to a jpg/png image, or base64-encoded image data up to 1 MiB decoded.Example: https://example.com/selfie.jpg
For base64, include the data URI prefix: data:image/jpeg;base64,/9j/4AAQ.... The decoded payload must not exceed 1 MiB.

Request Examples

{
  "bvn": "22345678901",
  "image_url": "https://example.com/selfie.jpg"
}

Response

Returns the updated customer object. See Get customer for the full field list. On success, tier_1_kyc_complete flips to true.

Success Response

{
  "id": "650e8400-e29b-41d4-a716-446655440000",
  "email": "customer@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "is_verified": false,
  "tier_1_kyc_complete": true,
  "tier_2_kyc_complete": false,
  "capabilities": [
    { "name": "base", "status": "approved" }
  ],
  "rejection_reasons": [],
  "created_at": "2026-01-05T15:04:05Z",
  "updated_at": "2026-01-06T12:00:00Z"
}

Error Responses

{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Validation failed",
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "validation": "bvn must be exactly 11 digits"
  }
}

Next Steps

Create Funding Account

Create a permanent funding account for the verified customer

Get Customer

Check the customer’s current verification status