public.customers

Submit Tier 2 Verification

Submits tier 2 verification for an existing customer. Individual customers submit KYC fields. Business/entity customers submit business KYB fields with customer_type=business. Identity-document and supporting-document image fields must be sent as base64 data URLs such as data:image/png;base64,...

post/v1/customers/{id}/tier2-verification

Path parameters

idstring required

Customer ID (UUID format)

Request body

account_purpose'charitable_donations' | 'ecommerce_retail_payments' | 'investment_purposes' | 'operating_a_company' | 'other' | 'payments_to_friends_or_family_abroad' | 'personal_or_living_expenses' | 'protect_wealth' | 'purchase_goods_and_services' | 'receive_payment_for_freelancing' | 'receive_salary' required
acting_as_intermediaryboolean required

ActingAsIntermediary indicates whether the customer is acting as an intermediary for a third party.

birth_datestring required
customer_type'individual' | 'business'
employment_status'employed' | 'homemaker' | 'retired' | 'self_employed' | 'student' | 'unemployed' required

EmploymentStatus is the customer's current employment status. Required for high risk customers.

expected_monthly_payments_usd'0_4999' | '5000_9999' | '10000_49999' | '50000_plus' required
most_recent_occupation'BUSINESS_ADMIN' | 'STEM' | 'HEALTHCARE_SOCIAL' | 'EDUCATION_ARTS_MEDIA' | 'SERVICE_PUBLIC_SAFETY' | 'TRADES_LABOR' required

MostRecentOccupation is the customer's most recent occupation category.

nationalitystring required
source_of_funds'company_funds' | 'ecommerce_reseller' | 'gambling_proceeds' | 'gifts' | 'government_benefits' | 'inheritance' | 'investments_loans' | 'pension_retirement' | 'salary' | 'sale_of_assets_real_estate' | 'savings' | 'someone_elses_funds' required

Example request

{
  "account_purpose": "personal_or_living_expenses",
  "birth_date": "1990-05-15",
  "customer_type": "individual",
  "documents": [
    {
      "file": "data:image/png;base64,iVBORw0KGgo...",
      "purposes": [
        "proof_of_address"
      ]
    }
  ],
  "employment_status": "employed",
  "expected_monthly_payments_usd": "0_4999",
  "identifying_information": [
    {
      "expiration": "2030-01-01",
      "image_back": "data:image/png;base64,iVBORw0KGgo...",
      "image_front": "data:image/png;base64,iVBORw0KGgo...",
      "issuing_country": "NGA",
      "number": "A12345678",
      "type": "passport"
    }
  ],
  "most_recent_occupation": "BUSINESS_ADMIN",
  "nationality": "NGA",
  "residential_address": {
    "city": "Lagos",
    "country": "NGA",
    "postal_code": "100001",
    "street_line_1": "123 Main St",
    "subdivision": "LA"
  },
  "source_of_funds": "salary"
}

Response

OK

created_atstring
emailstring
first_namestring
idstring
is_verifiedboolean
last_namestring
rejection_reasonsstring[]

RejectionReasons contains the current blocking verification/capability issues. It is empty after approval.

tier_1_kyc_completeboolean
tier_2_kyc_completeboolean
updated_atstring

Example response

{
  "capabilities": [
    {
      "name": "base",
      "status": "approved"
    }
  ],
  "created_at": "2025-01-05T15:04:05Z",
  "email": "customer@example.com",
  "first_name": "John",
  "id": "650e8400-e29b-41d4-a716-446655440000",
  "last_name": "Doe",
  "paystack_funding_account_readiness": {
    "account_number_last4": "6789",
    "bank_code": "058",
    "status": "READY",
    "updated_at": "2026-08-10T12:00:00Z"
  },
  "updated_at": "2025-01-05T15:04:05Z"
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.