Skip to main content
POST
Issuer program required. This endpoint is only available to users with an approved Card Issuer Program. Each customer gets a dedicated yativo_card_id used for all subsequent onboarding steps.
Authorization
string
required
Bearer token: Bearer YOUR_ACCESS_TOKEN
email
string
required
The customer’s email address. Yativo sends a one-time verification code to this address. Must be unique per active customer card under your account — you cannot reuse your own issuer account email.
external_customer_id
string
Your own reference ID for this customer (e.g., a user ID from your platform). Stored as-is and returned on all customer records so you can correlate them on your side. No two active customer sessions may share the same external_customer_id under your account.

Response Fields

Idempotency

This endpoint is safe to retry. If you call it again with the same email or external_customer_id while a session is already active, the API returns the existing card rather than creating a duplicate.

Handling CUSTOMER_CARD_ALREADY_ACTIVE

When you receive this error code, treat it as a resume signal — not a failure. The customer’s card was already created and their OTP was already sent. Read next_step from data and continue the onboarding flow from there: If the customer has already completed onboarding (flow_status is active, safe_deployed, or kyc_approved), the API returns 409 CUSTOMER_ALREADY_ONBOARDED with next_step: "none" — no further action is needed for this customer.

Next Steps

After a 201 response, direct your customer to check their email and proceed:
  1. Verify OTPPOST /v1/yativo-card/customers/{yativoCardId}/verify-otp
  2. Get KYC linkGET /v1/yativo-card/customers/{yativoCardId}/kyc-link
  3. Poll KYC statusGET /v1/yativo-card/customers/{yativoCardId}/kyc-status
  4. Submit source of fundsPOST /v1/yativo-card/customers/{yativoCardId}/source-of-funds
  5. Create virtual cardPOST /v1/yativo-card/customers/{yativoCardId}/cards/virtual