Skip to main content
Customer verification APIs are in preview as part of USD Virtual Accounts.
Verification belongs to the customer, not your merchant transfer profile. A customer must complete Tier 2 verification and have an approved usd_banking capability before you can create their USD virtual account.

Verification path

Each request creates an immutable verification submission. If a submission is rejected and the customer corrects their information, create a new submission. Previous attempts remain available in the submission history.

Submit individual Tier 1

The endpoint returns 202 Accepted. It does not echo the submitted verification fields.

Submit Tier 2

Tier 2 collects the customer information required for USD banking. The fields depend on the stored customer type:
  • Individuals submit their address, date of birth, account purpose, expected activity, employment, source of funds, nationality, and identifying document.
  • Businesses submit their legal information, registered address, expected activity, associated control persons and signers, tax identification, and supporting documents.
Yara derives the verification shape from the customer record. You cannot change the customer type inside a verification request. See the API reference for the complete request schema.

Submission states

Use these endpoints to inspect the latest state:
  • GET /v1/customers/{customer_id} for the customer’s normalized status and capabilities.
  • GET /v1/customers/{customer_id}/verification-submissions for submission history.
  • GET /v1/customers/{customer_id}/verification-submissions/{submission_id} for one attempt.
The read endpoints never return BVNs, government identification numbers, document contents, image data, or the original verification request.

Verification webhooks

React to submitted, approved, and rejected verification states.