Create a webhook
Register an HTTPS endpoint to receive signed event deliveries (available on every plan; up to 25 webhooks per account). Set fileUuid to scope delivery to one file; omit it for account-wide delivery. The signing secret (whsec_...) is returned exactly once, in this response, and is never retrievable again. Deliveries carry an X-Everypage-Signature header: t=<unix ts>,v1=<hex> where v1 is HMAC-SHA256 over <t>.<raw body> keyed with the FULL secret string (the whsec_ prefix is part of the key). Endpoints failing 20 consecutive deliveries are disabled automatically.
Payload note: when the viewer arrived through a link variant, the file.opened, file.viewed and file.downloaded data objects additionally carry variantUuid and variantLabel (the label is omitted for variants whose label was GDPR-redacted). Both keys are additive - canonical-link events carry neither. file.opened fires the moment a non-owner reading session starts, before any page is read, and shares its sessionId with the file.viewed event that follows at session end.
Plan note: gate.completed deliveries require the Pro plan at event time; other kinds deliver on every plan.
Request
- Base URL: https://everypage.co
- URL: https://everypage.co/api/v1/webhooks
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://everypage.co/oauth/authorize, token URL https://everypage.co/oauth/token, scopes: webhooks:manage)
Request body
Response
Created; secret is shown only here.
Example response
{
"webhook": {
"url": "https://example.com/hooks/everypage",
"events": [
"file.opened",
"file.viewed",
"gate.completed"
]
},
"secret": "whsec_9f2c..."
}Changes
No recorded changes to this operation across all 1 revision of this API.