Documentation Index
Fetch the complete documentation index at: https://docs.fyatu.com/llms.txt
Use this file to discover all available pages before exploring further.
Cardholders
A cardholder is an end-user who will hold and spend on cards issued through your business. Cardholders belong to the Business, not to a specific program. A single cardholder can receive cards from any program your business has access to — if one program is paused, the same cardholder can be issued a card from another active program without any re-registration or re-KYC.The Cardholder Lifecycle
Account Status
| Status | Description | Can receive new cards | Existing cards |
|---|---|---|---|
ACTIVE | Normal operating state | Yes (if KYC approved) | Unaffected |
SUSPENDED | Manually suspended by your business | No | Continue working* |
TERMINATED | Permanently closed — irreversible | No | All terminated |
Suspending a cardholder does not automatically freeze their cards. If you need to immediately stop spending, freeze each active card individually via
POST /cards/{id}/freeze in addition to suspending the cardholder.Suspend / Reactivate
Suspension is the right tool when you suspect fraud or a policy violation but are not ready to permanently close the account:KYC (Identity Verification)
ThekycStatus field tracks where a cardholder stands in the verification flow. Both APPROVED and WAIVED allow card issuance.
| kycStatus | Can issue cards | Description |
|---|---|---|
PENDING | No | KYC initiated, awaiting result |
APPROVED | Yes | Identity fully verified |
WAIVED | Yes | KYC waived by program policy (MINIMAL programs only) — cardholder not identity-verified |
REJECTED | No | Verification failed — see kycRejectionReason, retry allowed |
KYC Mode
The KYC flow your cardholders go through depends on thekycMode configured on your program by the FYATU team:
| kycMode | kycStatus after create | Card issuance |
|---|---|---|
MANAGED | PENDING | After CARDHOLDER_KYC_APPROVED webhook |
SHARED | APPROVED | Immediately — your KYC documents are accepted on creation |
MINIMAL | WAIVED | Immediately — no identity verification required |
SHARED and MINIMAL require explicit authorization from FYATU and are negotiated as part of your program agreement.
KYC Paths
MANAGED (default) — cardholder completes verification themselves
MANAGED (default) — cardholder completes verification themselves
The default mode. After creating the cardholder (The user uploads their ID and completes a liveness check. FYATU fires
kycStatus: PENDING), initiate a KYC session to get a hosted verification link and redirect your user to it:CARDHOLDER_KYC_APPROVED or CARDHOLDER_KYC_REJECTED when done.Best for: consumer products where the end-user is present.SHARED — your business submits documents directly
SHARED — your business submits documents directly
MINIMAL — no KYC required
MINIMAL — no KYC required
On MINIMAL programs, cardholders are created with
kycStatus: WAIVED and can be issued a card immediately. No identity documents are collected or verified.The WAIVED status is permanent — it does not upgrade to APPROVED. It signals that the cardholder was onboarded under a reduced-KYC agreement.Requires: MINIMAL program authorization from FYATU — contact your account manager.Handling KYC Rejection
WhenkycStatus is REJECTED, the response includes kycRejectionReason with a human-readable explanation. Retry by generating a new KYC session or resubmitting documents with better-quality images.
Field Lock After KYC Approval
OncekycStatus reaches APPROVED, identity fields are locked and cannot be changed via PATCH /cardholders/{id}. Attempting to update a locked field returns 409 KYC_FIELD_LOCKED.
| Locked after KYC approval | Always editable |
|---|---|
firstName, lastName | phone |
dateOfBirth, nationality | externalId, metadata |
address.* | email |
Fields are not locked when
kycStatus is WAIVED. Since no identity document was verified, all profile fields remain editable throughout the cardholder’s lifetime.External ID
Always setexternalId to your internal user ID. It lets you look up cardholders without storing FYATU cardholder IDs in your own database:
externalId must be unique within your business and environment. Two cardholders cannot share the same externalId.
Cardholder Termination
Termination is permanent and irreversible. Before terminating, all of the cardholder’s cards must be terminated first — otherwise the API returns422 CARDHOLDER_HAS_ACTIVE_CARDS.
After termination, personal data is retained for the legally required period (7 years) and then anonymized in compliance with applicable data retention law.
Webhook Events
| Event | Fired when |
|---|---|
CARDHOLDER_CREATED | New cardholder created |
CARDHOLDER_UPDATED | Profile fields updated |
CARDHOLDER_SUSPENDED | Cardholder suspended |
CARDHOLDER_REACTIVATED | Cardholder reactivated from suspended |
CARDHOLDER_TERMINATED | Cardholder permanently closed |
CARDHOLDER_KYC_SUBMITTED | KYC documents submitted for review |
CARDHOLDER_KYC_SUBMISSION_FAILED | KYC document submission failed |
CARDHOLDER_KYC_REVIEW_PENDING | KYC is under manual review |
CARDHOLDER_KYC_APPROVED | KYC passed — cards can now be issued |
CARDHOLDER_KYC_REJECTED | KYC failed — see kycRejectionReason |
Integration Patterns
MANAGED — Full KYC Flow
MINIMAL — Instant Card Issuance
Endpoints
POST /cardholders— Create cardholderGET /cardholders— List cardholdersGET /cardholders/{id}— Get cardholderPATCH /cardholders/{id}— Update cardholderPOST /cardholders/{id}/suspend— Suspend cardholderPOST /cardholders/{id}/reactivate— Reactivate cardholderPOST /cardholders/{id}/kyc/session— Initiate KYC sessionPOST /cardholders/{id}/kyc— Submit KYC documents (Shared KYC)

