project.created
A creator registers a new project.
When this fires
A creator registers a new project. The event lands the moment the new project becomes available for further configuration.
The project description is not included in the snapshot. Fetch it with the project endpoint if you need it.
Caveats
- Use the
SB-Event-Idheader to dedupe deliveries; it carries the same ULID asid, without theevt_prefix. project.createdfires only for projects created through the REST API or MCP; projects created in the dashboard emit noproject.created, so it is not guaranteed to be the first event you see for aproject_id. Subsequent events on the same project may interleave.- Archived/restored states are a separate event pair: listen for
project.archivedandproject.restoredrather than relying ondata.project.activeflipping insideproject.updated.
Related events
project.updated: fires on subsequent mutable-field changes.project.archived: paired withproject.restoredfor soft-disable transitions.
Header Parameters
t=<unix seconds>,v1=<hex>: the HMAC-SHA256 of "<t>.<raw body>" under the endpoint's secret. Verify it before acting, and refuse a t more than 300 seconds from now. During a secret rotation a v0= signature under the previous secret may precede v1=.
The event's ULID, bare. The envelope's id is the same ULID prefixed evt_, so strip the prefix before comparing. Deduplicate on it: a retry carries the same id.
The event name, the same as the envelope's type.
Always application/json.
Always Subscriby-Webhooks/1.0.
Request Body
application/json
The signed JSON envelope posted to your endpoint.
TypeScript Definitions
Use the request body type in TypeScript.
The envelope every event is delivered in.
Response Body
Example Requests
/project.createdHow is this guide?