Webhooks
Outbound webhook endpoints and delivery history.
AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
Webhook endpoints with computed delivery health.
application/json- response
webhook_endpoints*array<>curl -X GET 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints'{ "webhook_endpoints": [ { "created_at": "2019-08-24T14:15:22Z", "description": "string", "event_types": [ "job.completed" ], "id": "string", "is_active": true, "organization_id": "string", "updated_at": "2019-08-24T14:15:22Z", "url": "http://example.com", "health": "healthy" } ]}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
application/json- body
description?stringevent_types?array<>Event types to deliver (see x-webhook-events). Empty subscribes to all events.
url*stringHTTPS receiver URL.
uriWebhook endpoint created.
application/json- response
webhook_endpoint*plaintext_secret*stringThe endpoint's signing secret. Shown exactly once.
curl -X POST 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints' \ -H 'Content-Type: application/json' \ -d '{ "url": "http://example.com"}'{ "webhook_endpoint": { "created_at": "2019-08-24T14:15:22Z", "description": "string", "event_types": [ "job.completed" ], "id": "string", "is_active": true, "organization_id": "string", "updated_at": "2019-08-24T14:15:22Z", "url": "http://example.com" }, "plaintext_secret": "string"}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
endpointID*stringWebhook endpoint id.
application/json- body
description?string|nullevent_types?array<>|nullis_active?boolean|nullurl?|uriUpdated webhook endpoint.
application/json- response
webhook_endpoint*curl -X PATCH 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints/string' \ -H 'Content-Type: application/json' \ -d '{}'{ "webhook_endpoint": { "created_at": "2019-08-24T14:15:22Z", "description": "string", "event_types": [ "job.completed" ], "id": "string", "is_active": true, "organization_id": "string", "updated_at": "2019-08-24T14:15:22Z", "url": "http://example.com" }}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
endpointID*stringWebhook endpoint id.
Endpoint deleted.
application/json- response
deleted*booleancurl -X DELETE 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints/string'{ "deleted": true}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
endpointID*stringWebhook endpoint id.
Secret rotated.
application/json- response
webhook_endpoint*plaintext_secret*stringThe new signing secret. Shown exactly once.
curl -X POST 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints/string/rotate-secret'{ "webhook_endpoint": { "created_at": "2019-08-24T14:15:22Z", "description": "string", "event_types": [ "job.completed" ], "id": "string", "is_active": true, "organization_id": "string", "updated_at": "2019-08-24T14:15:22Z", "url": "http://example.com" }, "plaintext_secret": "string"}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
endpointID*stringWebhook endpoint id.
limit?integerMaximum number of deliveries to return (default 50).
0 <= value50Delivery history.
application/json- response
deliveries*array<>curl -X GET 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints/string/deliveries'{ "deliveries": [ { "attempts": 0, "created_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "endpoint_id": "string", "event_type": "string", "id": "string", "last_error": "string", "max_attempts": 0, "next_attempt_at": "2019-08-24T14:15:22Z", "organization_id": "string", "payload": null, "response_status": 0, "state": "pending", "updated_at": "2019-08-24T14:15:22Z" } ]}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
endpointID*stringWebhook endpoint id.
deliveryID*stringDelivery ID to redeliver.
Redelivery enqueued.
application/json- response
delivery*curl -X POST 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints/string/deliveries/string/redeliver'{ "delivery": { "attempts": 0, "created_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "endpoint_id": "string", "event_type": "string", "id": "string", "last_error": "string", "max_attempts": 0, "next_attempt_at": "2019-08-24T14:15:22Z", "organization_id": "string", "payload": null, "response_status": 0, "state": "pending", "updated_at": "2019-08-24T14:15:22Z" }}AuthorizationBearer <token>Org or project-scoped API key, format capy_live_...; Clerk session tokens also accepted.
orgID*stringOrganization id.
endpointID*stringWebhook endpoint id.
Test delivery enqueued.
application/json- response
delivery*curl -X POST 'https://capydb.dev/api/capydb/v1/organizations/string/webhook-endpoints/string/test'{ "delivery": { "attempts": 0, "created_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "endpoint_id": "string", "event_type": "string", "id": "string", "last_error": "string", "max_attempts": 0, "next_attempt_at": "2019-08-24T14:15:22Z", "organization_id": "string", "payload": null, "response_status": 0, "state": "pending", "updated_at": "2019-08-24T14:15:22Z" }}