Skip to main content

Event: cardholder.created

Sent when a new cardholder record is created in the system.

Payload

{
  "cardholderId": "ch_abc123",
  "externalUserId": "your-user-id-123"
}
FieldTypeDescription
cardholderIdstringNewly created cardholder ID
externalUserIdstringYour external user ID that was provided during creation

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 === "cardholder.created") {
    const { cardholderId, externalUserId } = req.body;
    // Link the Contro cardholder ID to your user record
  }

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