Skip to main content
Webhooks notify your server when a project’s status changes, eliminating the need to poll.

Setup

Set a webhook URL when creating a project or via settings:
Or add one to an existing project:
The URL must use HTTPS.

Events

Webhooks fire on these status transitions: Cancelled projects do not fire webhook events.

Payload

Each webhook delivers the full project state (the same data returned by GET /projects/:id) plus an event field indicating the status transition that triggered the webhook.

Signature verification

Webhook signing is optional. When a signing secret is configured for your account, every webhook includes signature headers for verification:

Verification

The signature is an HMAC-SHA256 of {timestamp}.{raw body} using your signing secret.

Delivery

  • Timeout: 10 seconds. Your endpoint must respond within this window.
  • Method: POST with Content-Type: application/json
  • Webhooks are delivered once. For reliability, confirm state with a GET /projects/:id call after receiving a webhook