customer.created
Fired when a customer is created. The payload mirrors the customer resource from GET /customers.
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The Commet customer ID (cus_...).
Your own identifier for this customer, if you provided one.
The customer's full name.
The customer's email.
The customer's tax identification number, if provided.
The local tax document type label inferred from the customer's country (e.g. CUIT, RFC, RUT), or null when no tax document was provided.
The customer's timezone.
Custom key-value metadata you attached to the customer.
ISO 8601 datetime when the customer was created.
ISO 8601 datetime of the last update.
{
"event": "customer.created",
"timestamp": "2026-06-23T14:30:00.000Z",
"organizationId": "8f14e45f-ceea-4e7a-9c3d-1c2b3a4d5e6f",
"mode": "live",
"apiVersion": "2026-06-23",
"data": {
"id": "cus_1a2b3c4d",
"externalId": "user_123",
"fullName": "Ada Lovelace",
"email": "ada@acme.com",
"taxDocument": "20-12345678-9",
"documentType": "CUIT",
"timezone": "UTC",
"metadata": {
"plan_intent": "pro"
},
"createdAt": "2026-03-25T14:29:00.000Z",
"updatedAt": "2026-03-25T14:29:00.000Z"
}
}Resource shape and version pinning
The payload is the customer resource exactly as the REST API returns it for your pinned API version. If your endpoint is pinned to a version before 2026-06-07, the email field arrives as billingEmail — the same downgrade applied to GET /customers responses.
The event fires for every creation path: POST /customers, batch create, the SDKs, and the dashboard. Creating a customer with an externalId that already exists returns the existing customer and does NOT fire this event again.
How is this guide?