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",
  "verification_status": "VERIFIED",
  "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 onramps. 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.Example: https://example.com/selfie.jpg
For base64, include the data URI prefix: data:image/jpeg;base64,/9j/4AAQ...

Request Examples

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

Response

id
string
required
Unique customer identifier (UUID)
email
string
required
Customer email address
first_name
string
Customer first name
last_name
string
Customer last name
verification_status
string
required
Current verification statusPossible values: VERIFIED, PENDING, FAILED
created_at
string
required
When the customer was created (ISO 8601 timestamp)
updated_at
string
required
When the customer was last updated (ISO 8601 timestamp)

Success Response

{
  "id": "650e8400-e29b-41d4-a716-446655440000",
  "email": "customer@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "verification_status": "VERIFIED",
  "created_at": "2026-01-05T15:04:05Z",
  "updated_at": "2026-01-06T12:00:00Z"
}

Error Responses

{
  "error": {
    "code": "validation_failed",
    "message": "Validation failed",
    "details": "bvn must be exactly 11 digits"
  }
}

Next Steps

Create Onramp

Create a permanent onramp for the verified customer

Get Customer

Check the customer’s current verification status