Skip to main content
Papers signs webhook requests using the Standard Webhooks format. Each request includes: Use the signing secret shown when you create or rotate the endpoint. It is separate from your API key.

TypeScript

Catch WebhookVerificationError in your route and return HTTP 400 without processing the request. For valid deliveries, validate the event shape, deduplicate webhook-id, and persist work before returning 2xx.

Python

Do not parse and reserialize the body before verification. Both helpers enforce a five-minute timestamp tolerance, so keep your receiver’s clock synchronized. During secret rotation, either valid signature in the header is sufficient. A valid signature confirms delivery from Papers. It does not make email or SMS content safe to execute as instructions.