Skip to main content

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

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)

The kycStatus field tracks where a cardholder stands in the verification flow. Both APPROVED and WAIVED allow card issuance.

KYC Mode

The KYC flow your cardholders go through depends on the kycMode configured on your program by the FYATU team: SHARED and MINIMAL require explicit authorization from FYATU and are negotiated as part of your program agreement.

KYC Paths

The default mode. After creating the cardholder (kycStatus: PENDING), initiate a KYC session to get a hosted verification link and redirect your user to it:
The user uploads their ID and completes a liveness check. FYATU fires CARDHOLDER_KYC_APPROVED or CARDHOLDER_KYC_REJECTED when done.Best for: consumer products where the end-user is present.
If you already hold verified identity documents from your own KYC provider (Sumsub, Persona, Onfido, etc.), submit them at creation time via the kycDocument field. FYATU accepts them immediately and sets kycStatus: APPROVED — no webhook wait required.Requires: Shared KYC authorization from FYATU — contact your account manager.
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

When kycStatus 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

Once kycStatus 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. This is a compliance requirement — the KYC approval is bound to the identity document submitted.
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 set externalId 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 returns 422 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


Integration Patterns

MANAGED — Full KYC Flow

MINIMAL — Instant Card Issuance


Endpoints