Webhooks

Receive a webhook

Implement this POST handler on your own HTTPS server to receive signed change notifications from ProBB AI. This is your receiver, not a ProBB AI API URL.

Before you call

Configure an endpoint in Settings → Developer and store its signing secret. Read raw bytes and verify webhook-id, webhook-timestamp, and webhook-signature before parsing JSON.

What happens next

Durably record the event ID and processing intent, then respond promptly with any 2xx. Fetch the current resource with your API key when your background handler processes the event.

Recovery

Events may arrive more than once or out of order. Deduplicate by verified event ID; verify a five-minute timestamp tolerance. Retryable delivery failures receive up to seven HTTP attempts. See the recovery guide for replay and catch-up.

Follow the complete workflow · Errors and retries

postWebhookreportEvent

Headers

webhook-idstring required

Signed event UUID. Must match the envelope id after signature verification.

webhook-timestampstring required

Unix timestamp in seconds, refreshed for each delivery; enforce a five-minute tolerance.

webhook-signaturestring required

One or more v1 HMAC signatures. Verify against the raw request body with your receiver's signing secret.

Payload

OR
OR
OR
OR
OR
OR
OR

Response

Return any 2xx after durably recording the event; no response body is required.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.