Create a webhook
Webhooks
Create Webhook
Register a new webhook endpoint to receive events from your business. POST /webhooks. Requires webhooks:write scope.
POST
Create a webhook
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.
Overview
Registers a new webhook endpoint for your business. The endpoint will receive HTTP POST requests from FYATU whenever the subscribed events occur. Your endpoint must respond with HTTP2xx within 30 seconds.
The response includes a secret field at the top level containing the raw webhook signing secret. This is shown exactly once — store it securely in an environment variable. It cannot be retrieved again; if lost, delete the webhook and create a new one.
Request Body
| Field | Type | Required | Constraint | Description |
|---|---|---|---|---|
url | string | Yes | https:// required for LIVE | Your endpoint URL |
events | array | Yes | 1–20 event types | List of event types to subscribe to |
description | string | No | Max 255 chars | Internal label for this endpoint |
Available Events
Subscribe to one or more events from this list: Card events:CARD_ISSUED, CARD_FROZEN, CARD_UNFROZEN, CARD_TERMINATED, CARD_FUNDED, CARD_UNLOADED, CARD_FUND_FAILED, CARD_UNLOAD_FAILED
Transaction events: TRANSACTION_AUTHORIZED, TRANSACTION_CLEARED, TRANSACTION_REVERSED, TRANSACTION_DECLINED, TRANSACTION_FEE
Cardholder events: CARDHOLDER_CREATED, CARDHOLDER_UPDATED, CARDHOLDER_SUSPENDED, CARDHOLDER_REACTIVATED, CARDHOLDER_TERMINATED, CARDHOLDER_KYC_SUBMITTED, CARDHOLDER_KYC_SUBMISSION_FAILED, CARDHOLDER_KYC_APPROVED, CARDHOLDER_KYC_REJECTED, CARDHOLDER_KYC_REVIEW_PENDING
Program events: PROGRAM_CREATED, PROGRAM_PAUSED, PROGRAM_RESUMED, PROGRAM_CLOSED, PROGRAM_BALANCE_LOW, PROGRAM_BALANCE_FUNDED, PROGRAM_WITHDRAWAL_INITIATED, PROGRAM_WITHDRAWAL_COMPLETED, PROGRAM_WITHDRAWAL_FAILED
Billing events: BILLING_INVOICE_CREATED, BILLING_INVOICE_PAID, BILLING_INVOICE_OVERDUE, BILLING_DEPOSIT_DETECTED, BILLING_DEPOSIT_CONFIRMED
Example
Success Response (201)
Error Codes
| Code | HTTP | Cause |
|---|---|---|
WEBHOOK_LIMIT_REACHED | 422 | Maximum of 10 webhook endpoints per environment |
WEBHOOK_HTTPS_REQUIRED | 422 | LIVE environment requires an https:// URL |
INVALID_EVENT_TYPE | 422 | One or more event types in events are not recognised |
VALIDATION_ERROR | 422 | Missing or invalid fields |
INSUFFICIENT_SCOPE | 403 | Key lacks webhooks:write scope |
Authorizations
API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.
Body
application/json
Example:
"https://yourapp.com/webhooks/fyatu"
Required array length:
1 - 20 elementsAvailable options:
CARD_ISSUED, CARD_FROZEN, CARD_UNFROZEN, CARD_TERMINATED, CARD_FUNDED, CARD_UNLOADED, CARD_FUND_FAILED, CARD_UNLOAD_FAILED, CARDHOLDER_CREATED, CARDHOLDER_UPDATED, CARDHOLDER_SUSPENDED, CARDHOLDER_REACTIVATED, CARDHOLDER_TERMINATED, CARDHOLDER_KYC_SUBMITTED, CARDHOLDER_KYC_SUBMISSION_FAILED, CARDHOLDER_KYC_APPROVED, CARDHOLDER_KYC_REJECTED, CARDHOLDER_KYC_REVIEW_PENDING, PROGRAM_CREATED, PROGRAM_PAUSED, PROGRAM_RESUMED, PROGRAM_CLOSED, PROGRAM_BALANCE_LOW, PROGRAM_BALANCE_FUNDED, PROGRAM_WITHDRAWAL_INITIATED, PROGRAM_WITHDRAWAL_COMPLETED, PROGRAM_WITHDRAWAL_FAILED, TRANSACTION_AUTHORIZED, TRANSACTION_CLEARED, TRANSACTION_REVERSED, TRANSACTION_DECLINED, TRANSACTION_FEE, BILLING_INVOICE_CREATED, BILLING_INVOICE_PAID, BILLING_INVOICE_OVERDUE, BILLING_DEPOSIT_DETECTED, BILLING_DEPOSIT_CONFIRMED Example:
[
"CARD_ISSUED",
"CARD_FUNDED",
"TRANSACTION_AUTHORIZED",
"TRANSACTION_DECLINED"
]Example:
"Production card events"
Response
Webhook created. The secret is at the top level alongside data — returned once only.
The secret field is a top-level sibling of data — not nested inside it. It is returned exactly once.

