BuildPlatform API v1

Signed webhooks

Receive terminal Project, Source, Generation, and Content Loop events without polling every resource.

Verify before parsing

Read the exact raw request bytes. Verify HMAC-SHA256 over <unix timestamp>.<raw body>, require x-autocontent-event-id to match body.id, reject timestamps outside ±300 seconds, then deduplicate by event ID.

TypeScript SDK
ts
const event = AutoContent.webhooks.constructEvent({
  rawBody,
  signature: request.headers['x-autocontent-signature'],
  eventId: request.headers['x-autocontent-event-id'],
  secret: process.env.AUTOCONTENT_WEBHOOK_SECRET,
})

Event families

  • Project: project.needs_review, project.ready.
  • Source: source.ready, source.failed.
  • Generation: succeeded, partially succeeded, failed, and cancelled.
  • Content Loop: configuration warnings, pauses, and six terminal Run outcomes.

Handler behavior

Return a 2xx quickly after durable receipt. Process idempotently outside the request path. Treat event data as a signal to fetch the current account-owned resource when the complete object is needed.