{
"event": "CARDHOLDER_KYC_APPROVED",
"eventId": "evt_01HXY123456ABCDEF",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-05-22T10:00:05Z",
"data": {
"cardholderId": "chl_01HXYZ1234ABCDEF5678",
"kycStatus": "APPROVED",
"kycVerifiedAt": "2026-05-22T10:00:05Z"
}
}
{}
Cardholder Events
CARDHOLDER_KYC_APPROVED
Fired when a cardholder’s KYC verification is approved. Cards can now be issued to this cardholder.
WEBHOOK
CARDHOLDER_KYC_APPROVED
{
"event": "CARDHOLDER_KYC_APPROVED",
"eventId": "evt_01HXY123456ABCDEF",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-05-22T10:00:05Z",
"data": {
"cardholderId": "chl_01HXYZ1234ABCDEF5678",
"kycStatus": "APPROVED",
"kycVerifiedAt": "2026-05-22T10:00:05Z"
}
}
{}
Fires when a cardholder’s identity verification is approved. This is the signal to unlock card issuance in your platform. Cards cannot be issued until
For the full event group documentation see Cardholder Events.
kycStatus is APPROVED.
This is one of the most important events to subscribe to — use it instead of polling GET /cardholders/{id}.
Event Type
CARDHOLDER_KYC_APPROVED
Payload
{
"event": "CARDHOLDER_KYC_APPROVED",
"eventId": "evt_01HXY123456ABCDEF",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-05-22T10:00:05Z",
"data": {
"cardholderId": "chl_01HXYZ1234ABCDEF5678",
"kycStatus": "APPROVED",
"kycVerifiedAt": "2026-05-22T10:00:05Z"
}
}
Payload Fields
| Field | Type | Description |
|---|---|---|
cardholderId | string | The cardholder whose KYC was approved |
kycStatus | string | Always APPROVED |
kycVerifiedAt | string | ISO 8601 timestamp of approval |
What To Do When You Receive This Event
- Mark the cardholder as verified in your system
- Unlock card issuance for this cardholder in your UI
- Optionally notify the cardholder that they can now receive a card
Example Handler
Node.js
app.post('/webhooks/fyatu', async (req, res) => {
const payload = JSON.parse(req.body);
const eventType = payload.event;
if (eventType === 'CARDHOLDER_KYC_APPROVED') {
const { cardholderId } = payload.data;
// Unlock card issuance in your system
await db.cardholders.update(cardholderId, { kycApproved: true });
// Notify the cardholder
await sendEmail(cardholderId, 'Your identity has been verified — you can now get a card!');
}
res.json({ received: true });
});
{
"event": "CARDHOLDER_KYC_APPROVED",
"eventId": "evt_01HXY123456ABCDEF",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-05-22T10:00:05Z",
"data": {
"cardholderId": "chl_01HXYZ1234ABCDEF5678",
"kycStatus": "APPROVED",
"kycVerifiedAt": "2026-05-22T10:00:05Z"
}
}
{}
Authorizations
API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.
Body
application/json
Response
200
Acknowledge the event.

