Skip to main content

Event: card.status.changed

Sent when a card is activated, frozen, unfrozen, or cancelled.

Payload

{
  "cardId": "card_xyz789",
  "cardholderId": "ch_abc123",
  "previousStatus": "active",
  "newStatus": "frozen"
}
FieldTypeDescription
cardIdstringCard whose status changed
cardholderIdstringCardholder who owns the card
previousStatusstringStatus before the change. One of inactive, active, frozen, cancelled
newStatusstringStatus after the change. One of active, frozen, cancelled

Response

Your endpoint must return a 2xx status code within 30 seconds to acknowledge receipt. Any non-2xx response or timeout triggers the retry policy.
Status codeMeaning
200Event received and processed
202Event received, will process asynchronously
Any non-2xxDelivery failed — will retry

Example handler

app.post("/webhooks/contro", (req, res) => {
  const eventType = req.headers["x-contro-event"];

  if (eventType === "card.status.changed") {
    const { cardId, newStatus } = req.body;
    // Update card status in your system
  }

  res.status(200).send("OK");
});