status field is the single verdict.
Full KYC integration guide
Step-by-step flows for Apocor-hosted verification, bring-your-own identity (BYOK), and direct document upload.
Lifecycle
The
applicant.status_changed webhook fires on every transition of this field.
Create an applicant
cURL
firstName and lastName (Latin letters and spaces) — the issuer builds the cardholder from these and rejects empty or non-Latin names at card issuance. Also include a full residential address with state (or subdivision). The card program copies the verified KYC address onto the cardholder — state of birth alone is not sufficient for card issuance.
For US nationality or address, include data.ssn (9 digits) before issuing a card. Hosted Sumsub KYC can approve without storing SSN on the applicant — card create will fail without it. You can also set a missing SSN later with PATCH /v1/applicants/{id} (once-write).
Use the returned id as externalUserId when running your own identity provider (BYOK).
Update an applicant
cURL
- Contact fields (phone, occupation, …) can usually be updated.
ssnmay be set once when missing; cannot be changed after set or after cards exist.- Identity fields (name, DOB, nationality, address) lock after issuer KYC is complete or cards exist — create a new applicant to change them.
POST /v1/cardsreturns400 MISSING_SSNimmediately for US applicants without SSN (does not enqueue a pending issuance).
Verify identity
See the KYC integration guide for complete flows. Quick reference:
Once
status is APPROVED, create a cardholder and issue cards.