HTTPS endpoint URL where events will be delivered. HTTP URLs are rejected. URLs resolving to private or internal IP addresses (localhost, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, 169.254.x.x) are also rejected.
Use this endpoint after creating an account monitor with POST /monitors or a keyword monitor with POST /monitors/keywords. The webhook stores the HTTPS endpoint and event-type filter. Active monitors produce the events; webhook delivery is included with monitor billing.Store these fields immediately after creation:
Webhook ID
Store id for POST /webhooks/{id}/test, updates, deletes, and delivery
lookups.
Delivery URL
Store url to audit which queue, CRM, warehouse, or app endpoint receives
monitor events.
Event Filter
Store eventTypes; keep the webhook filter aligned with the account or
keyword monitor event types.
Signing Secret
Store secret once and use it to verify X-Xquik-Signature on the raw
request body.
Created At
Store createdAt for audit logs and configuration drift checks.
Delivery Payload
Expect HTTPS POST bodies with eventType, schemaVersion, deliveryId,
streamEventId, occurredAt, data, plus username for account monitor
events or query for keyword monitor events.
Every delivery includes X-Xquik-Signature, X-Xquik-Timestamp, and
X-Xquik-Nonce headers. Use deliveryId as the per-endpoint idempotency key
and streamEventId when one monitor event must be processed once across retries
or endpoints.Test the endpoint with POST /webhooks/{id}/test before routing production events. Return a 2xx response within 10 seconds, then process slow Slack, CRM, warehouse, or queue work asynchronously. Use Signature Verification to validate the raw request body before processing.