Events

Project published

Sent after a completed deployment becomes the project's published deployment.

Lovable sends a signed HTTPS POST to the configured destination. Any 2xx response acknowledges delivery; its body is ignored. Network errors, 408, 429, and 5xx are retried, with at most eight attempts within 24 hours and a five-second timeout per attempt. Other responses are terminal. Deliveries may be duplicated and are not ordered. Deduplicate by webhook-id, which stays constant across attempts. Verify Standard Webhooks HMAC-SHA256 signatures over webhook-id.webhook-timestamp.raw_body using the exact header values and unmodified body bytes. Signing secrets use whsec_ followed by base64; decode the suffix to obtain the signing key. webhook-signature contains space-separated v1,base64 signatures. Accept a matching signature using a trusted key and constant-time comparison. Validate webhook-timestamp freshness in Unix seconds before processing. The timestamp and signature are refreshed for each attempt. An optional destination bearer token is sent in the Authorization header in addition to these headers. Ignore unknown JSON properties to allow additive contract changes.

postWebhookproject.published.v1

Headers

webhook-idstring required

Stable delivery ID for deduplication across retry attempts.

webhook-timestampstring required

Integer Unix timestamp in seconds for this delivery attempt.

webhook-signaturestring required

Symmetric (v1) signatures as defined by Standard Webhooks.

Payload

idstring required

Opaque event identity. Deliveries to different subscriptions may share this ID.

occurred_atstring date-time required

Time the event was observed, in UTC.

project_idstring required

Project the event concerns.

type'project.published.v1' required
workspace_idstring required

Workspace receiving this event.

Response

Delivery acknowledged. Response body is ignored.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.