Skip to main content
POST
Registers a webhook endpoint to receive lifecycle events. The response includes the HMAC signing secret once — store it immediately; no later call returns it. If you lose it, delete the endpoint and create a new one. Delivery starts with events created after the endpoint is registered — there is no backfill of earlier events. Link projects and subscribe before contracts you care about begin. Requirements: webhooks:manage scope.

Request

string
required
Delivery URL. Must be HTTPS (http is allowed for localhost only). Redirects are not followed.
string[]
required
At least one of: contract.started, contract.ended, project_link.created, project_link.removed, install.revoked, milestone.funded, milestone.budget_low, milestone.budget_depleted.

Response

object
The created endpoint: {id, url, eventTypes, status, createdAt, consecutiveFailures, disabledAt, disabledReason} — same shape as GET /webhook-endpoints/{endpointId}.
string
HMAC-SHA256 signing secret for verifying deliveries. Shown only in this response.
string
Reminder that the secret will not be shown again.

Errors