Skip to main content
POST
Create Cardholder

Overview

Create a new cardholder for your card issuing program. The cardholder will be created with ACTIVE status. You can issue cards to the cardholder immediately after creation.

Required Fields

Address Fields

Optional Fields

KYC Object (Shared KYC — Enabled Businesses Only)

Cardholder KYC behaviour depends on your business’s KYC mode:
  • Managed (default) — the new cardholder starts at UNSUBMITTED; verify them afterwards (self-service session or document submission).
  • Shared — you may include a kyc object here to submit the documents you already hold. The cardholder is set to PENDING and FYATU runs a background verification on them; a cardholder.kyc_approved webhook fires once verified.
  • Minimal (No-KYC) — the cardholder is created as WAIVED and can be issued a card immediately; no kyc object is needed (if sent, it is accepted but not required).
If your business does not have Shared KYC enabled, the kyc object is silently ignored regardless of what is sent.
For standard identity verification (cardholder completes verification themselves), use Initiate KYC Verification after creating the cardholder.

Metadata Object (Optional)

The metadata field accepts any flat JSON object. Use it to store your own data alongside the cardholder — for example, department, employee ID, or tier level.
Metadata is returned in all cardholder responses and displayed in the business panel.

Example Usage

Example Response

Next Steps

After creating a cardholder, you can:
  1. Verify identity — Use Initiate KYC Verification to let the cardholder verify themselves, or Submit KYC Documents to submit documents on their behalf. Required under Managed and Shared; not needed under Minimal.
  2. Issue a card — Use Create Card. Immediate under Minimal (WAIVED); under Managed / Shared the cardholder must first reach ACCEPTED.
Whether KYC is required before issuance depends on your KYC mode: under Managed and Shared a cardholder must reach ACCEPTED before a card can be issued; under Minimal (No-KYC) cardholders are created WAIVED and can be issued a card immediately.

Error Responses

Duplicate Email (409)

Duplicate External ID (409)

Underage Cardholder (400)

Validation Error (400)

Email addresses and external IDs must be unique within your business. If you try to create a cardholder with an email or externalId that already exists, you’ll receive a 409 Conflict error.
Use the externalId field to store your platform’s cardholder/user ID. This makes it easy to link FYATU cardholders to users in your own system.

Authorizations

Authorization
string
header
required

JWT access token obtained from /auth/token

Body

application/json
firstName
string
required

Cardholder's first name

Required string length: 1 - 100
lastName
string
required

Cardholder's last name

Required string length: 1 - 100
email
string<email>
required

Cardholder's email address (unique per app)

Maximum string length: 255
phone
string
required

Phone number with country code

Required string length: 6 - 20
dateOfBirth
string<date>
required

Date of birth (YYYY-MM-DD)

country
string
required

ISO 3166-1 alpha-2 country code

Required string length: 2
externalId
string

Your platform's cardholder ID (unique per app)

Maximum string length: 100
gender
enum<string>

Gender (optional)

Available options:
MALE,
FEMALE,
OTHER
address
string

Street address

Maximum string length: 255
city
string

City

Maximum string length: 100
state
string

State or province

Maximum string length: 100
zipCode
string

Postal/ZIP code

Maximum string length: 20
kyc
object

Optional KYC documents. When any KYC data is provided, kycStatus will be set to SUBMITTED. All fields are optional - use the Submit KYC endpoint for mandatory document submission.

Response

Cardholder created successfully

Response for create and update cardholder operations

success
boolean
Example:

true

status
integer
Example:

201

message
string
data
object
meta
object