Skip to main content

Event: card.issued

Sent when a new card has been successfully issued for a cardholder.

Payload

{
  "cardId": "card_xyz789",
  "cardholderId": "ch_abc123",
  "programId": "prog_def456",
  "userId": "usr_ghi789"
}
FieldTypeDescription
cardIdstringNewly issued card ID
cardholderIdstringCardholder the card was issued to
programIdstringCard program used for issuance
userIdstringInternal user ID linked to the cardholder

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.issued") {
    const { cardId, cardholderId, programId } = req.body;
    // Notify your user that their card is ready
  }

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