Skip to content
catchook

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

pageoptional
integer

default 1 · min 1

limitoptional
integer

default 50 · min 1 · max 100

endpoint_idoptional
string
provideroptional
"stripe" | "github" | "shopify" | "twilio" | "linear" | "custom"
signature_validoptional
"true" | "false"
fromoptional
string · date-time
tooptional
string · date-time
qoptional
string

Free-text match against the raw payload and headers

min length 1 · max length 256

fieldoptional
string

Exact-match filter on a nested payload/headers field — always paired with `value`

max length 256

valueoptional
string

The 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

datarequired
object[]
data[].idrequired
string
data[].endpoint_idrequired
string
data[].org_idrequired
string
data[].providerrequired
"stripe" | "github" | "shopify" | "twilio" | "linear" | "custom"
data[].received_atrequired
string
data[].signature_validrequired
boolean
data[].verification_errorrequired
string

Why 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_bytesrequired
number
data[].delivery_summaryoptional
object

nullable

data[].delivery_summary.deliveredrequired
number
data[].delivery_summary.failedrequired
number
data[].delivery_summary.pendingrequired
number
data[].delivery_summary.totalrequired
number
paginationrequired
object
pagination.pagerequired
number
pagination.limitrequired
number
pagination.totalrequired
number
pagination.total_pagesrequired
number
pagination.has_nextrequired
boolean
pagination.has_prevrequired
boolean
timestamprequired
string

get/events/facets

Aggregate counts for the events/attempts facet panel

Query parameters

endpoint_idoptional
string
provideroptional
"stripe" | "github" | "shopify" | "twilio" | "linear" | "custom"
signature_validoptional
"true" | "false"
fromoptional
string · date-time
tooptional
string · date-time
qoptional
string

Free-text match against the raw payload and headers

min length 1 · max length 256

fieldoptional
string

Exact-match filter on a nested payload/headers field — always paired with `value`

max length 256

valueoptional
string

The 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

datarequired
object
data.total_eventsrequired
number
data.by_providerrequired
object[]
data.by_provider[].valuerequired
string
data.by_provider[].countrequired
number
data.by_signature_validrequired
object[]
data.by_signature_valid[].valuerequired
boolean
data.by_signature_valid[].countrequired
number
data.by_attempt_statusrequired
object[]
data.by_attempt_status[].valuerequired
"delivered" | "failed" | "rate_limited" | "timeout" | "dead"
data.by_attempt_status[].countrequired
number
timestamprequired
string

get/events/{eventId}

Get an event, including its raw payload and every delivery attempt

Path parameters

eventIdrequired
string

min length 1

Request

curl -X GET https://api.catchook.com/events/{eventId} \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200The event

datarequired
object
timestamprequired
string

404Event not found

errorrequired
object
error.coderequired
string
error.messagerequired
string
timestamprequired
string

get/events/{eventId}/attempts

List every delivery attempt for an event, oldest first

Path parameters

eventIdrequired
string

min length 1

Request

curl -X GET https://api.catchook.com/events/{eventId}/attempts \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200Delivery attempts

datarequired
object[]
data[].idrequired
string
data[].event_idrequired
string
data[].destination_idrequired
string
data[].endpoint_idrequired
string
data[].org_idrequired
string
data[].attempted_atrequired
string
data[].attempt_numberrequired
number
data[].receiver_urlrequired
string
data[].http_statusrequired
number
data[].response_bodyrequired
string
data[].latency_msrequired
number
data[].statusrequired
"delivered" | "failed" | "rate_limited" | "timeout" | "dead"
data[].next_retry_atrequired
string

nullable

timestamprequired
string

404Event not found

errorrequired
object
error.coderequired
string
error.messagerequired
string
timestamprequired
string

post/events/{eventId}/replay

Re-enqueue an event's payload to every active destination on its endpoint

Path parameters

eventIdrequired
string

min length 1

Request

curl -X POST https://api.catchook.com/events/{eventId}/replay \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200Replay enqueued

datarequired
object
data.event_idrequired
string
data.enqueuedrequired
object[]
data.enqueued[].destination_idrequired
string
timestamprequired
string

404Event not found

errorrequired
object
error.coderequired
string
error.messagerequired
string
timestamprequired
string

post/events/{eventId}/destinations/{destinationId}/replay

Re-enqueue an event's payload to a single destination

Path parameters

eventIdrequired
string

min length 1

destinationIdrequired
string

min length 1

Request

curl -X POST https://api.catchook.com/events/{eventId}/destinations/{destinationId}/replay \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200Replay enqueued

datarequired
object
data.event_idrequired
string
data.destination_idrequired
string
timestamprequired
string

404Event or destination not found

errorrequired
object
error.coderequired
string
error.messagerequired
string
timestamprequired
string