---
title: "Project published"
method: POST
path: "project.published.v1"
tags: ["Events"]
---

# Project published

`POST project.published.v1` (webhook)

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.

## Headers

- `webhook-id` string, required
- `webhook-timestamp` string, required
- `webhook-signature` string, required

## Payload

- ExternalProjectPublishedV1
  - `data` ExternalProjectPublishedV1Data, required
    - `published_at` string, date-time, required: Time the completed deployment was observed, in UTC.
  - `id` string, required: Opaque event identity. Deliveries to different subscriptions may share this ID.
  - `occurred_at` string, date-time, required: Time the event was observed, in UTC.
  - `project_id` string, required: Project the event concerns.
  - `type` 'project.published.v1', required
  - `workspace_id` string, required: Workspace receiving this event.

## Acknowledgement `2XX`

Delivery acknowledged. Response body is ignored.

---

[API](https://skmtc.dev/lovable/apis/lovable-api.md) - [All operations](https://skmtc.dev/lovable/apis/lovable-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lovable/apis/lovable-api/revisions/ed671816c468?raw)
