Skip to main content
WEBHOOK
v1
/
cards
{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
    "organization_id": "123e4567-e89b-12d3-a456-426614174000",
    "membership_id": "123e4567-e89b-12d3-a456-426614174000",
    "type": "v1/cards",
    "created_at": "2025-01-24T10:55:00Z",
    "data": {
        "event": "created",
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "nickname": "💳 for 🍗",
        "status": "pending",
        "masked_pan": "511768******7662",
        "exp_month": "3",
        "exp_year": "2024",
        "atm_option": true,
        "nfc_option": true,
        "online_option": true,
        "foreign_option": true,
        "atm_daily_limit": "1000.00",
        "atm_daily_limit_option": true,
        "atm_monthly_limit": "1000.00",
        "payment_monthly_limit": "1000.00",
        "payment_daily_limit": "1000.00",
        "payment_daily_limit_option": true,
        "payment_transaction_limit": "1000.00",
        "payment_transaction_limit_option": true,
        "payment_lifespan_limit": "42.00",
        "active_days": [1, 3, 5],
        "holder_id": "a2b0c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
        "bank_account_id": "b3c4d5e6-f7a8-9b0c-1d2e-3f4a5b6c7d8e",
        "updated_at": "2023-05-15T14:32:17Z",
        "created_at": "2023-05-15T14:30:00Z",
        "card_type": "debit",
        "card_level": "standard",
        "category_tags": ["transport", "restaurant_and_bar", "food_and_grocery"],
        "renewal": false,
        "upsell": false,
        "discarded_at": "2022-11-31"
    }
}
{
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
    "organization_id": "123e4567-e89b-12d3-a456-426614174000",
    "membership_id": "123e4567-e89b-12d3-a456-426614174000",
    "type": "v1/cards",
    "created_at": "2025-01-24T10:55:00Z",
    "data": {
        "event": "created",
        "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "nickname": "💳 for 🍗",
        "status": "pending",
        "masked_pan": "511768******7662",
        "exp_month": "3",
        "exp_year": "2024",
        "atm_option": true,
        "nfc_option": true,
        "online_option": true,
        "foreign_option": true,
        "atm_daily_limit": "1000.00",
        "atm_daily_limit_option": true,
        "atm_monthly_limit": "1000.00",
        "payment_monthly_limit": "1000.00",
        "payment_daily_limit": "1000.00",
        "payment_daily_limit_option": true,
        "payment_transaction_limit": "1000.00",
        "payment_transaction_limit_option": true,
        "payment_lifespan_limit": "42.00",
        "active_days": [1, 3, 5],
        "holder_id": "a2b0c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
        "bank_account_id": "b3c4d5e6-f7a8-9b0c-1d2e-3f4a5b6c7d8e",
        "updated_at": "2023-05-15T14:32:17Z",
        "created_at": "2023-05-15T14:30:00Z",
        "card_type": "debit",
        "card_level": "standard",
        "category_tags": ["transport", "restaurant_and_bar", "food_and_grocery"],
        "renewal": false,
        "upsell": false,
        "discarded_at": "2022-11-31"
    }
}

Authorizations

X-Qonto-Signature
string
header
required

The signature header follows the format t={timestamp},v1={signature}.

Verification steps:

  1. Extract the timestamp and signature from the signature header
  2. Reject the request if the timestamp is older than 5 minutes
  3. Recreate the signed payload: '{timestamp}.{raw_request_body}'
  4. Compute HMAC-SHA256 of the signed payload using your webhook secret as the key
  5. Compare the computed signature with the one in the header

Body

application/json
id
string<uuid>
required

Unique identifier for this webhook event

Example:

"123e4567-e89b-12d3-a456-426614174000"

subscription_id
string<uuid>
required

ID of the webhook subscription that received the event

Example:

"123e4567-e89b-12d3-a456-426614174000"

organization_id
string<uuid>
required

ID of the organization that owns the bank account

Example:

"123e4567-e89b-12d3-a456-426614174000"

membership_id
string<uuid>
required

ID of the membership associated with subscription

Example:

"123e4567-e89b-12d3-a456-426614174000"

type
enum<string>
required
Available options:
v1/transactions,
v1/accounts,
v1/organizations,
v1/memberships,
v1/consent-revocations,
v1/cards
Example:

"v1/transactions"

created_at
string<date-time>
required

Timestamp when the webhook event was created

Example:

"2025-01-24T10:55:00Z"

data
object
required

Response

200

Webhook received successfully