Card Customer — Onboarding
Create Card Customer
Register a new card customer under your issuer program and trigger email OTP verification
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.Bearer token:
Bearer YOUR_ACCESS_TOKENThe 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.
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
| Field | Type | Description |
|---|---|---|
yativo_card_id | string | Unique customer card identifier. Save this — required for every subsequent onboarding call. |
customer_id | string | Internal Yativo database ID for this customer record. |
external_customer_id | string | null | Your reference ID, echoed back unchanged. |
email_masked | string | Partially masked version of the customer’s email for display purposes. |
next_step | string | Always "verify_otp" on creation. |
otp_expires_in_seconds | number | How long the emailed code is valid (600 = 10 minutes). |
Idempotency
If you call this endpoint again with the sameexternal_customer_id or the same email while an active session already exists, the API returns a 409 with the existing yativo_card_id instead of creating a duplicate. Use the returned ID to resume the onboarding flow.
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 a201 response, direct your customer to check their email and proceed:
- Verify OTP —
POST /v1/yativo-card/customers/{yativoCardId}/verify-otp - Get KYC link —
GET /v1/yativo-card/customers/{yativoCardId}/kyc-link - Poll KYC status —
GET /v1/yativo-card/customers/{yativoCardId}/kyc-status - Submit source of funds —
POST /v1/yativo-card/customers/{yativoCardId}/source-of-funds - Create virtual card —
POST /v1/yativo-card/customers/{yativoCardId}/cards/virtual

