- Webhooks (recommended) — receive an HTTP POST when the job completes or fails.
- Polling — periodically check the job status endpoint.
Webhooks
Autype supports two compatible modes:- Reusable Engine endpoints are created once in Engine → Integrations and receive matching render, bulk-render, and file-tool events for the organization. They are signed and are the recommended default.
- Per-request webhooks travel with a single Developer API request and keep the existing custom-header or Basic Auth contract described below.
Reusable signed endpoints
Owners and admins can add an HTTPS destination in Engine. Autype validates the destination against its outbound URL policy before saving it: redirects, credentials in URLs, loopback/link-local addresses, private networks, and metadata hosts are rejected in production. The signing secret is shown exactly once when the endpoint is created. Reusable deliveries contain:timestamp.rawBody, calculate HMAC-SHA256 with the signing secret, and compare
the hexadecimal digest to v1 using a timing-safe comparison. Reject stale
timestamps according to your replay window (five minutes is a common default).
Endpoint URLs and event subscriptions can be inspected in Engine; the signing
secret is never returned by list endpoints. Deleting an endpoint stops future
deliveries without changing API keys, MCP connections, or jobs.
Per-request configuration
Add an optionalwebhook object to any job-creating request:
Use either custom header auth or Basic Auth — not both. If both are provided, the custom header takes precedence.
Webhook payload
Autype sends aPOST with Content-Type: application/json and User-Agent: Autype-Webhook/1.0. The payload structure depends on the job type:
Render job (completed):
downloadUrl is only present for tools jobs that produce an output file (e.g. merge, split). Jobs like pdf/metadata return results via the job status endpoint instead.
The URL contains a short-lived resource-scoped token and can be downloaded
directly without adding an API key.Delivery behavior
- Single attempt — if your server is unreachable or returns a non-2xx status, the webhook is not retried.
- Timeout — requests time out after 10 seconds.
- Non-blocking — webhook delivery never delays or fails the job itself.
Supported endpoints
Thewebhook field is accepted on all job-creating endpoints: POST /render, POST /render/markdown, POST /render/document/{documentId}, POST /bulk-render, POST /bulk-render/file, and all POST /tools/pdf/* endpoints.
Polling
Poll the job status endpoint until the job reachesCOMPLETED or FAILED.
Render job status response (completed):
