Automette docs

Get a webhook subscription

GET
/api/v1/webhooks/{id}

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings → API Keys.

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/webhooks/string"
{  "id": "string",  "url": "http://example.com",  "events": [    "render.completed"  ],  "enabled": true,  "failure_count": 0,  "template_id": "string",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}

Create a webhook subscription POST

Subscribes to events for your team. When an event fires, Automette POSTs a JSON payload to your URL. The response includes a `secret` — use it to verify the `webhook-signature` header on incoming requests. **The secret is shown only once** — store it immediately. See [Webhook payloads](/docs/api/webhook-payloads) for signature verification. By default a subscription is **team-wide** and fires for every matching event in your team, regardless of source. Pass `template_id` to scope it to a single template — it then receives render events for that template only. Delivery is additive: a render notifies your team-wide subscriptions **and** any subscription scoped to that template. For a one-off callback tied to a single render, use the `webhook_url` field on `POST /api/v1/renders` instead. **Available events:** - `render.completed` — a single render finished successfully (API, form, on-demand, template set). Bulk/CSV rows do **not** fire this — see `job.completed`. - `render.failed` — a single render failed or errored - `form.submitted` — a submission landed on a hosted form - `job.completed` — a bulk/CSV job finished (one event per job, with row counts), instead of a delivery per row

Update a webhook subscription PATCH

Updates a subscription. All fields are optional — send only what you want to change. Set `enabled: false` to pause delivery without deleting. Set `enabled: true` to resume — this also resets `failure_count` to 0.