Templatedeleted
Fires when a template moves to the trash.
Headers
The event id. It stays the same across retries and replays, so deduplicate on it.
When sajn sent this attempt, in Unix seconds. Reject a timestamp older than your tolerance, such as five minutes.
One or more space-separated signatures, v1,<base64 HMAC-SHA256>, over <webhook-id>.<webhook-timestamp>.<raw request body>. The key is the base64 decoding of the secret after whsec_. Accept the request when any signature matches; for 24 hours after a secret rotation, there is one per secret. Any Standard Webhooks library verifies it. Webhooks created without a secret don't send this header.
The endpoint's API version, the same value as apiVersion in the body.
2026-10 Body
Event ID, also in webhook-id. It's the same on every retry, replay and endpoint that receives the event, so deduplicate on it. To read the event again, pass it to GET /api/v1/events/{id}.
template.deleted When the event happened. It doesn't change across retries and replays.
The endpoint's API version, which sets the shape of data.
2026-10 SANDBOX for an event in a sandbox organization.
PRODUCTION, SANDBOX Who caused the event. Null when sajn can't attribute it: a party's action, such as signing, and most changes made in the sajn app.
Response
Return any 2xx status code within 30 seconds to acknowledge the delivery. sajn retries any other status code, a redirect, a timeout and a network error with backoff for about three days, 12 attempts in all. A 410 Gone stops the retries and pauses the webhook.

