Commerce CensusContactRequest access

Receiving webhooks

Webhooks push change to you instead of you polling for it. Register an endpoint, choose event types, and handle at-least-once delivery.

HTTP
POST /v1/webhook_endpoints
{ "url": "https://you.example/hooks/commercecensus",
  "events": ["price.changed", "availability.changed"] }

→ 201  { "endpoint_id": "whe_2f81", "secret": "whsec_…" }

Delivery

At-least-once, never exactly-once. Deduplicate on the `webhook-id` header. Return a 2xx quickly — acknowledge first, process asynchronously. A handler that does real work inline will eventually time out and cause redelivery.

Retries

AttemptDelay
11 minute
25 minutes
330 minutes
42 hours
5+Dead-letter

Backfilling a gap

Dead-lettered events are not lost. The event log is replayable by cursor, so you can recover a gap yourself at 2am rather than filing a ticket.

HTTP
GET /v1/events?after=evt_01JQ8Z3M4K&type=price.changed