Webhooks

Get told when something happens, instead of asking.

Webhooks send events to your server when something happens to a review, a response, a removal request, a review site connection, plan usage or billing. Use them instead of polling.

See the Webhook event catalogue for every event, when it's sent and what the payload looks like.

Immediate and batch subscriptions

You can have one subscription of each kind, each with its own URL and signing secret. Choose with delivery_kind when you create a webhook.

Immediate (delivery_kind: immediate)Batch (delivery_kind: batch)
What you receiveEach event as it happens, under its own nameOne cache_invalidation per location that had new or changed reviews in the window
How oftenAs it happensEvery batch_interval_hours: 1, 2, 4, 6 or 12 hours, from midnight UTC
Choose eventsOptional events filter (default: all immediate events)No filter
Payloadfull (default) or minimal (payload_mode)Always the cache_invalidation payload
Good forReacting to replies, removals, failed posts and disconnected sitesKnowing which locations' reviews to refresh

A common setup is a batch subscription to keep your copy of reviews fresh, plus an immediate subscription for the events you act on.

How to set one up

  1. Create a webhook with a label, your HTTPS webhook_url and a delivery_kind (plus batch_interval_hours for batch). The response shows the signing secret once: store it.
  2. Send a test event and check that your endpoint verifies the signature and replies with a 2xx.
  3. Watch recent deliveries to see what was sent and how your endpoint answered.

If you lose the secret, show it again or rotate it.

Receiving events

Each delivery is a POST with a JSON body. X-SAU-Signature is sha256= plus the HMAC-SHA256 of the raw body using your secret, and X-SAU-Delivery is the event's id. Reply with a 2xx within 10 seconds. Each event is tried up to 6 times (immediately, then 1 minute, 5 minutes, 30 minutes, 2 hours and 6 hours after each failure) with the same id. After 20 failed deliveries in a row, the subscription is switched off. The catalogue has the headers, a signature check and the retry details.

Who can use them

Webhooks are managed with a Partner token. Account tokens get 403. A subscription id that isn't yours returns 404.

Endpoints

Webhook event catalogue

Every event: when it's sent, how it's delivered, and a sample payload.

Open →

List the events you can subscribe to

GET — See every event type we can send, with a description of each.

Open →

Create a webhook

POST — Register a URL to receive events, choose immediate or batch delivery, and optionally filter which events you want.

Open →

Send a test event

POST — Send a test event to a subscription so you can check your endpoint receives it and your signature check passes.

Open →

List your webhooks

GET — See every active subscription for your partner.

Open →

Get one webhook

GET — Get a single subscription's details.

Open →

See recent deliveries

GET — See recent delivery attempts to a subscription: what was sent, when, the response your endpoint gave, and any retries.

Open →

Update a webhook

POST — Change a subscription's URL, label, event filter, or settings.

Open →

Rotate the signing secret

POST — Replace the signing secret with a new one.

Open →

Show the current secret

POST — Retrieve the current signing secret if you've lost it.

Open →

Delete a webhook

DELETE — Stop a subscription and free its slot.

Open →


Did this page help you?