Skip to Content
API Reference

Webhooks

v1Updated 2026-03-07

Manage webhook endpoints

Scopeswebhooks:read / webhooks:write
GET/api/v1/public/:tenant_slug/webhooks
POST/api/v1/public/:tenant_slug/webhooks
PATCH/api/v1/public/:tenant_slug/webhooks/:id
POST/api/v1/public/:tenant_slug/webhooks/:id/rotate_secret
POST/api/v1/public/:tenant_slug/webhooks/:id/dispatch_test
POST/api/v1/public/:tenant_slug/webhooks/:id/replay
FieldTypeRequired
namestringyes
target_urlstringyes
event_typesarray<string>yes
statusstringno

Required scopes: webhooks:read and webhooks:write.

Request
curl -X POST \ -H "Authorization: Bearer <API_KEY>" \ -H "Content-Type: application/json" \ -d '{"name":"ats-events","target_url":"https://example.com/hook","event_types":["application.created"],"status":"active"}' \ "http://localhost:3333/api/v1/public/agado-ats/webhooks"
201 Response
{ "data": { "id": 18, "name": "ats-events", "status": "active", "target_url": "https://example.com/hook", "event_types": ["application.created"], "secret": "whsec_..." } }
400 Response
{ "error": { "code": "bad_request", "message": "Validation failed for request payload", "request_id": "req_123" } }
401 Response
{ "error": { "code": "unauthorized", "message": "Missing or invalid API key", "request_id": "req_401" } }
403 Response
{ "error": { "code": "forbidden", "message": "API key does not have required scope", "request_id": "req_403" } }
404 Response
{ "error": { "code": "not_found", "message": "Resource was not found", "request_id": "req_404" } }
500 Response
{ "error": { "code": "internal_error", "message": "Unexpected server error", "request_id": "req_500" } }