Create an endpoint in the dashboard
- Open Webhooks in your API dashboard.
- Enter your public HTTPS Endpoint URL and select Create endpoint.
- Copy the signing secret into your receiver’s secret store, then select I stored the secret safely. The full secret is shown only once.
input.webhook_endpoint_id. Creating an endpoint does not attach it to every job.
Use Test on an active endpoint to send a test event, or Pause to stop notifications. Use Activate to enable it again. Check Recent delivery attempts and select Refresh to see delivery results.
Endpoint settings also lets you update the URL, rotate the signing secret, replace a compromised secret, or delete the endpoint. Updating the URL preserves existing event subscriptions and descriptions. Deleting an endpoint terminates pending deliveries.
Create or customize an endpoint through the API
Use the API when you need a description or a specific subset of events. New keys created on the API keys page are live keys and includewebhooks:manage automatically. Existing keys must have that permission. Test keys cannot create, bind, test, or deliver webhooks. Register an HTTPS receiver with POST /webhook-endpoints:
secret securely. Bind a scrape by supplying the endpoint ID as input.webhook_endpoint_id. Endpoint creation alone does not attach it to every job.
Event and signature contract
Launch event types arescrape.started, scrape.progress,
scrape.completed, scrape.failed, scrape.canceled, and export.ready.
The test route uses the reserved webhook.test event.
Each request carries:
X-GMS-Timestamp: Unix seconds used by the signature.X-GMS-Signature:v1=<lowercase hex HMAC-SHA-256>.X-GMS-Signature-Version:v1.X-GMS-Key-Version: numeric endpoint secret version.X-GMS-Event-Id: immutable event UUID.X-GMS-Sequence: monotonically increasing resource sequence.X-GMS-Delivery-Attempt:1through7.
2xx response acknowledges delivery.
Receivers must tolerate duplicates and out-of-order progress events.
Example body shape:
Rotate secrets
Normal rotation uses{"mode":"normal"}. Accept both versions for at least 25 hours. Compromise rotation uses {"mode":"compromise"} and revokes the old secret immediately. Honor retry guidance if a delivery is active.
Use the webhook endpoint reference for request and response schemas.