Webhooks API
Register HTTP webhooks to receive real-time notifications when events occur in Sequenceware.
All webhook endpoints require JWT Bearer Token authentication and admin role.
Register webhook
POST /v1/webhooks
Request body
{
"url": "https://your-service.com/sequenceware-webhook",
"events": ["approval.requested", "tool.blocked", "run.failed"]
}
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | HTTPS endpoint to receive webhook payloads |
events | string[] | Yes | List of event types to subscribe to |
Example
curl -X POST http://localhost:3000/v1/webhooks \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-service.com/webhook",
"events": ["approval.requested", "tool.blocked"]
}'
List webhooks
GET /v1/webhooks
curl http://localhost:3000/v1/webhooks \
-H "Authorization: Bearer $TOKEN"
Remove webhook
DELETE /v1/webhooks/:id
curl -X DELETE http://localhost:3000/v1/webhooks/{id} \
-H "Authorization: Bearer $TOKEN"
Webhook deliveries
GET /v1/webhooks/:id/deliveries
View delivery history for a specific webhook.
| Parameter | Type | Description |
|---|---|---|
limit | number | Max results |
curl "http://localhost:3000/v1/webhooks/{id}/deliveries?limit=20" \
-H "Authorization: Bearer $TOKEN"
Webhook payload
When an event fires, Sequenceware sends a POST request to your URL with:
{
"event": "approval.requested",
"timestamp": "2026-03-19T10:00:00.000Z",
"data": {
"approvalId": "appr_abc123",
"runId": "run_xyz789",
"toolCallId": "tc_def456",
"toolName": "deploy",
"policyName": "Approve production deploys",
"agentId": "my-agent"
}
}
Your endpoint should return a 2xx status code to acknowledge receipt. Failed deliveries are retried with exponential backoff.