APIWebhook events
project.updated
A project changed in Productlane or Linear.
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:project.updatedcreated_atstring<date-time>requireddataany ofrequired
Example payload
{
"id": "string",
"type": "project.updated",
"created_at": "2026-01-15T09:30:00Z",
"data": {
"id": "string",
"name": "string",
"description": "string",
"color": "string",
"icon": "string",
"state": "string",
"progress": 0,
"sort_order": 0,
"total_score": 0,
"is_visible": true,
"portal_instance_ids": [
"string"
],
"created_at": "string",
"updated_at": "string",
"linear_project_id": "string",
"linear_team_ids": [
"string"
],
"linear_team_names": [
"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.