Webhooks
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
| Field | Type | Required |
|---|---|---|
| name | string | yes |
| target_url | string | yes |
| event_types | array<string> | yes |
| status | string | no |
Required scopes:
webhooks:readandwebhooks: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"
}
}See Error code catalog.