Webhooks

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.

post/api/v1/webhooks

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

urlstring required

Plain HTTPS URL (no credentials, no private/local addresses).

eventsstring[] required

Event kinds to deliver (at least one). gate.completed deliveries require the Pro plan at event time; other kinds deliver on every plan.

format'json' | 'slack'
fileUuidstring

Optional: deliver only this file's events (UUID or short id; must be a file you own).

Response

Created; secret is shown only here.

secretstring

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.