APIWebhook events
contact.created
A contact was created.
Headers
Productlane-EventstringrequiredThe event type.
Productlane-Event-IdstringrequiredUnique per event. Use it to drop duplicates.
Productlane-Delivery-IdstringrequiredUnique per delivery attempt.
Productlane-Webhook-IdstringrequiredThe webhook subscription that matched.
Productlane-SignaturestringrequiredHMAC-SHA256 of the raw body, as t=<timestamp>,v1=<signature>.
Body
application/json
idstringrequiredSame as the Productlane-Event-Id header.
typeenum<string>requiredOne of:contact.createdcreated_atstring<date-time>requireddataobjectrequired
Example payload
{
"id": "string",
"type": "contact.created",
"created_at": "2026-01-15T09:30:00Z",
"data": {
"id": "string",
"email": "string",
"name": "string",
"image_url": "string",
"company_id": "string",
"is_subscribed": true,
"external_ids": [
"string"
],
"integration_ids": {
"intercom": "string",
"front": "string",
"zendesk": "string",
"hubspot": "string",
"plain": "string",
"productboard": "string",
"slack_channel": "string"
},
"created_at": "string",
"updated_at": "string"
}
}Your response
200
Return any 2xx status to acknowledge the event. Anything else counts as a failure: we try 3 times in total, right away and then after 1 and 5 minutes.