Webhooks
Get notified the moment a process run completes. No polling required.
Webhooks push real-time notifications to your server when events occur in your workspace. Instead of polling for status updates, your application receives a POST request the moment a process run finishes, a document indexes, or a review is completed.
🏗️ How It Works
You register a URL and pick which events to subscribe to. When an event fires, the system delivers a signed JSON payload to your endpoint.
┌──────────────────────────────┐
│ Axelered │
│ │
│ ┌──────────┐ ┌─────────┐ │
│ │ Process │──►│ Event │ │ POST (signed payload)
│ │ Run Done │ │ Router │──┼──────────────────────────────┐
│ └──────────┘ └─────────┘ │ │
└──────────────────────────────┘ ▼
┌──────────────────┐
│ Your Server │
│ │
│ Verify → Act │
└──────────────────┘Webhook subscriptions are managed at the workspace level. All events within that workspace are routed to your configured endpoints.
🛡️ Security
Every delivery is signed with HMAC-SHA256 using a signing secret you provide when creating the webhook. Verify the signature in the X-Axelered-Signature header before processing the payload. Axelered only delivers to https:// endpoints.
🛠️ Webhook Management
Webhook subscriptions are managed at the workspace level. For a detailed technical reference of every field and parameter, see the API Webhook Reference.
Create a Webhook
Register a target URL, pick the events to subscribe to, and provide a signing secret. The secret is used to sign every delivery so your server can verify authenticity.
curl -X POST "https://api.axelered.com/v1/w/{workspace_id}/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Notifications",
"url": "https://api.yourserver.com/webhooks/axelered",
"signingSecret": "whsec_...",
"events": ["process.completed"]
}'Read, List & Delete
- List Webhooks: Retrieve all active subscriptions in the workspace.
- Read Webhook: Fetch metadata and event list for a specific subscription.
- Update Webhook: Rotate secrets, change the URL, or update subscribed events.
- Delete Webhook: Immediately stop all deliveries to that endpoint.
📦 Supported Events
| Event | Description |
|---|---|
process.completed | A stateless processing run has reached a terminal state (done or failed). |
document.ready | (Coming soon) A document in a persistent collection has finished indexing. |
🔄 Reliability
If your server does not respond with a 2xx status within the timeout window, the system retries with exponential backoff. After repeated failures, the event is marked as failed and logged in your workspace for later review.