API reference
Events
Every Events endpoint in the Catchook API.
Generated from Catchook API 0.1.0 · OpenAPI 3.1.0 ·openapi.json
get/events
List an org's received events
Query parameters
pageoptionalintegerdefault 1 · min 1
limitoptionalintegerdefault 50 · min 1 · max 100
endpoint_idoptionalstringprovideroptional"stripe" | "github" | "shopify" | "twilio" | "linear" | "custom"signature_validoptional"true" | "false"fromoptionalstring · date-timetooptionalstring · date-timeqoptionalstringFree-text match against the raw payload and headers
min length 1 · max length 256
fieldoptionalstringExact-match filter on a nested payload/headers field — always paired with `value`
max length 256
valueoptionalstringThe value `field` must exactly equal
max length 512
delivery_summaryoptional"true" | "false"Request
curl -X GET https://api.catchook.com/events \
-H "Authorization: Bearer $CATCHOOK_API_KEY"200List of events
datarequiredobject[]data[].idrequiredstringdata[].endpoint_idrequiredstringdata[].org_idrequiredstringdata[].providerrequired"stripe" | "github" | "shopify" | "twilio" | "linear" | "custom"data[].received_atrequiredstringdata[].signature_validrequiredbooleandata[].verification_errorrequiredstringWhy this event was not accepted, when it was not. Null on success. Actionable on purpose: "verification config is missing \"token\"", "IP 203.0.113.7 is not allowlisted", "endpoint is paused".
nullable
data[].payload_size_bytesrequirednumberdata[].delivery_summaryoptionalobjectnullable
data[].delivery_summary.deliveredrequirednumberdata[].delivery_summary.failedrequirednumberdata[].delivery_summary.pendingrequirednumberdata[].delivery_summary.totalrequirednumberpaginationrequiredobjectpagination.pagerequirednumberpagination.limitrequirednumberpagination.totalrequirednumberpagination.total_pagesrequirednumberpagination.has_nextrequiredbooleanpagination.has_prevrequiredbooleantimestamprequiredstringget/events/facets
Aggregate counts for the events/attempts facet panel
Query parameters
endpoint_idoptionalstringprovideroptional"stripe" | "github" | "shopify" | "twilio" | "linear" | "custom"signature_validoptional"true" | "false"fromoptionalstring · date-timetooptionalstring · date-timeqoptionalstringFree-text match against the raw payload and headers
min length 1 · max length 256
fieldoptionalstringExact-match filter on a nested payload/headers field — always paired with `value`
max length 256
valueoptionalstringThe value `field` must exactly equal
max length 512
Request
curl -X GET https://api.catchook.com/events/facets \
-H "Authorization: Bearer $CATCHOOK_API_KEY"200Facet counts
datarequiredobjectdata.total_eventsrequirednumberdata.by_providerrequiredobject[]data.by_provider[].valuerequiredstringdata.by_provider[].countrequirednumberdata.by_signature_validrequiredobject[]data.by_signature_valid[].valuerequiredbooleandata.by_signature_valid[].countrequirednumberdata.by_attempt_statusrequiredobject[]data.by_attempt_status[].valuerequired"delivered" | "failed" | "rate_limited" | "timeout" | "dead"data.by_attempt_status[].countrequirednumbertimestamprequiredstringget/events/{eventId}
Get an event, including its raw payload and every delivery attempt
Path parameters
eventIdrequiredstringmin length 1
Request
curl -X GET https://api.catchook.com/events/{eventId} \
-H "Authorization: Bearer $CATCHOOK_API_KEY"200The event
datarequiredobjecttimestamprequiredstring404Event not found
errorrequiredobjecterror.coderequiredstringerror.messagerequiredstringtimestamprequiredstringget/events/{eventId}/attempts
List every delivery attempt for an event, oldest first
Path parameters
eventIdrequiredstringmin length 1
Request
curl -X GET https://api.catchook.com/events/{eventId}/attempts \
-H "Authorization: Bearer $CATCHOOK_API_KEY"200Delivery attempts
datarequiredobject[]data[].idrequiredstringdata[].event_idrequiredstringdata[].destination_idrequiredstringdata[].endpoint_idrequiredstringdata[].org_idrequiredstringdata[].attempted_atrequiredstringdata[].attempt_numberrequirednumberdata[].receiver_urlrequiredstringdata[].http_statusrequirednumberdata[].response_bodyrequiredstringdata[].latency_msrequirednumberdata[].statusrequired"delivered" | "failed" | "rate_limited" | "timeout" | "dead"data[].next_retry_atrequiredstringnullable
timestamprequiredstring404Event not found
errorrequiredobjecterror.coderequiredstringerror.messagerequiredstringtimestamprequiredstringpost/events/{eventId}/replay
Re-enqueue an event's payload to every active destination on its endpoint
Path parameters
eventIdrequiredstringmin length 1
Request
curl -X POST https://api.catchook.com/events/{eventId}/replay \
-H "Authorization: Bearer $CATCHOOK_API_KEY"200Replay enqueued
datarequiredobjectdata.event_idrequiredstringdata.enqueuedrequiredobject[]data.enqueued[].destination_idrequiredstringtimestamprequiredstring404Event not found
errorrequiredobjecterror.coderequiredstringerror.messagerequiredstringtimestamprequiredstringpost/events/{eventId}/destinations/{destinationId}/replay
Re-enqueue an event's payload to a single destination
Path parameters
eventIdrequiredstringmin length 1
destinationIdrequiredstringmin length 1
Request
curl -X POST https://api.catchook.com/events/{eventId}/destinations/{destinationId}/replay \
-H "Authorization: Bearer $CATCHOOK_API_KEY"200Replay enqueued
datarequiredobjectdata.event_idrequiredstringdata.destination_idrequiredstringtimestamprequiredstring404Event or destination not found
errorrequiredobjecterror.coderequiredstringerror.messagerequiredstringtimestamprequiredstring