Skip to main content
POST
Submit tier 2 verification

Overview

Submits tier 2 verification for an existing customer. Use the individual KYC payload for people, or pass customer_type: "business" with business KYB fields for an entity customer. Tier 2 verification is required before the customer can use Bridge-backed banking features.
Business KYB can also be submitted through the compatibility route POST /v1/customers/{id}/business-verification. New integrations should prefer this tier 2 endpoint with customer_type: "business".
Tier 2 verification is required for:
  • Creating USD virtual accounts
  • Creating US_BANK_ACCOUNT or SWIFT_BANK_ACCOUNT recipients
  • Sending USD transfers to ACH, wire, or SWIFT recipients
Idempotency behavior:
  • If tier 2 status is already PENDING, resubmission is blocked.
  • If tier 2 status is already VERIFIED, resubmission is blocked.

Authentication

X-Api-Key
string
required
Your merchant API key

Path Parameters

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

Request Body

customer_type
string
Verification subject type. Omit this field or use individual for individual KYC. Use business for business/entity KYB.Allowed values: individual | business

Individual KYC fields

Use these fields when customer_type is omitted or set to individual.
residential_address
object
required
Customer’s residential address.
nationality
string
required
ISO 3166-1 alpha-3 country code for the customer’s nationality.Example: NGA
birth_date
string
required
Date of birth in YYYY-MM-DD format.Example: 1990-05-15
identifying_information
array
required
Array of identity documents and tax IDs. Non-US customers should include at least one government photo ID (passport, drivers_license, or national_id) with image_front. Add tin when Daya or the verification provider asks for a tax identification number.
Tax ID is not required for every customer. Some higher-risk customers or provider follow-up reviews may require it. For non-US customers, tin is additional information and should be sent alongside a government photo ID. Send type: "tin" in Daya’s API; Daya maps it to the provider’s country-specific tax identifier type before submission.
source_of_funds
string
required
Source of the customer’s funds.Allowed values: company_funds | ecommerce_reseller | gambling_proceeds | gifts | government_benefits | inheritance | investments_loans | pension_retirement | salary | sale_of_assets_real_estate | savings | someone_elses_funds
account_purpose
string
required
Purpose of the account.Allowed values: 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
expected_monthly_payments_usd
string
required
Expected monthly payment volume bracket.Allowed values: 0_4999 | 5000_9999 | 10000_49999 | 50000_plus
acting_as_intermediary
boolean
required
Whether the customer is acting as an intermediary for a third party.Example: false
employment_status
string
required
Customer’s current employment status.Allowed values: employed | homemaker | retired | self_employed | student | unemployed
most_recent_occupation
string
required
Customer’s most recent occupation category.Allowed values: BUSINESS_ADMIN | STEM | HEALTHCARE_SOCIAL | EDUCATION_ARTS_MEDIA | SERVICE_PUBLIC_SAFETY | TRADES_LABOR
documents
array
Supporting documents. Optional at the schema level, but conditionally required when expected_monthly_payments_usd is above the 0_4999 bucket. For 5000_9999, 10000_49999, and 50000_plus buckets, supporting documents should be provided.

Business KYB fields

Use these fields when customer_type is business. Daya will submit the customer to the business verification provider flow and update the same customer object.
Legal name of the business or entity. Daya also uses this as the trade name when submitting to the verification provider.Example: Ada Labs Ltd
business_description
string
required
Short description of what the business does.
business_type
string
required
Provider-supported business type, such as corporation, llc, or another type approved for your use case.
registered_address
object
required
Registered business address using the same address shape as residential_address.
physical_address
object
Physical operating address using the same address shape as residential_address. If omitted, Daya uses registered_address as the physical address.
is_dao
boolean
required
Whether the entity is a DAO.
associated_persons
array
required
Directors, signers, controllers, and beneficial owners associated with the business. At least one associated person is required. At least one associated person must have has_control: true, and at least one must have is_signer: true.
estimated_annual_revenue_usd
string
required
Estimated annual revenue bracket.Example: 1000000_4999999
expected_monthly_payments_usd
string
required
Expected monthly payment volume bracket.Allowed values: 0_4999 | 5000_9999 | 10000_49999 | 50000_plus
operates_in_prohibited_countries
boolean
required
Whether the business operates in prohibited countries.
account_purpose
string
required
Purpose of the account.Example: operating_a_company
source_of_funds
string
required
Source of business funds.Example: company_funds
conducts_money_services
boolean
required
Whether the business conducts money services.
identifying_information
array
required
Business identifying information. Include the business tax ID as an item with type: "tin" and number.
documents
array
required
Business supporting documents. Include at least one proof_of_address document and one proof_of_source_of_funds document.
For business KYB, associated persons carry the required government ID documents. A non-US business tax ID does not require the business itself to submit a passport.

Request Example

Individual KYC example

Business KYB example

Add a tax ID when requested

If Daya or the verification provider asks for the customer’s tax identification number, add a tin item to identifying_information and resubmit Tier 2 verification:

Response

Returns the updated customer object with verification status.
id
string
required
Customer ID (UUID)
email
string
required
Customer email address
first_name
string
Customer first name
last_name
string
Customer last name
is_verified
boolean
required
Whether the customer has passed verification
tier_1_kyc_complete
boolean
required
Whether tier 1 KYC has been completed.
tier_2_kyc_complete
boolean
required
Whether tier 2 KYC has been completed. true once Bridge approves the submitted data.
capabilities
array
required
Customer capabilities and their current status.
rejection_reasons
array
required
Current blocking verification/capability issues. Empty array when the customer is approved for the relevant capability.
created_at
string
required
When the customer was created (ISO 8601)
updated_at
string
required
When the customer was last updated (ISO 8601)