Skip to content
catchook

API reference

Destinations

Every Destinations endpoint in the Catchook API.

Generated from Catchook API 0.1.0 · OpenAPI 3.1.0 ·openapi.json

get/endpoints/{endpointId}/destinations

List an endpoint's destinations

Path parameters

endpointIdrequired
string

min length 1

Query parameters

pageoptional
integer

default 1 · min 1

limitoptional
integer

default 50 · min 1 · max 100

Request

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

200List of destinations

datarequired
object[]
data[].idrequired
string
data[].endpoint_idrequired
string
data[].org_idrequired
string
data[].namerequired
string
data[].receiver_urlrequired
string
data[].forward_original_signaturerequired
boolean
data[].statusrequired
"active" | "paused" | "disabled"
data[].retry_max_attemptsrequired
number
data[].retry_backoffrequired
"exponential" | "linear" | "fixed"
data[].rate_limit_maxrequired
number

nullable

data[].rate_limit_windowrequired
"second" | "minute" | "hour" | "day" | null

nullable

data[].created_atrequired
string
data[].updated_atrequired
string
data[].deleted_atrequired
string

nullable

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

404Endpoint not found

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

post/endpoints/{endpointId}/destinations

Create a destination

A new destination starts receiving within a minute: takes up to 60 seconds to affect deliveries: the delivery service caches destination configuration, and that cache expires rather than being purged.

Path parameters

endpointIdrequired
string

min length 1

Request body

namerequired
string

min length 1

receiver_urlrequired
string · uri

Must be https and public — private/link-local hosts are rejected

forward_original_signatureoptional
boolean
retry_max_attemptsoptional
integer

Default: 5, max: 10 (bounded by the delivery queue's own retry ceiling)

min 0 · max 10

retry_backoffoptional
"exponential" | "linear" | "fixed"
rate_limit_maxoptional
integer

Max deliveries per window, null = unlimited

min 1 · nullable

rate_limit_windowoptional
"second" | "minute" | "hour" | "day" | null

nullable

Request

curl -X POST https://api.catchook.com/endpoints/{endpointId}/destinations \
  -H "Authorization: Bearer $CATCHOOK_API_KEY" \
  -H "Content-Type: application/json" \ \
  -d '{ … }'

201The created destination

datarequired
object
timestamprequired
string

404Endpoint not found

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

get/destinations/{id}

Get a destination

Path parameters

idrequired
string

min length 1

Request

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

200The destination

datarequired
object
data.idrequired
string
data.endpoint_idrequired
string
data.org_idrequired
string
data.namerequired
string
data.receiver_urlrequired
string
data.forward_original_signaturerequired
boolean
data.statusrequired
"active" | "paused" | "disabled"
data.retry_max_attemptsrequired
number
data.retry_backoffrequired
"exponential" | "linear" | "fixed"
data.rate_limit_maxrequired
number

nullable

data.rate_limit_windowrequired
"second" | "minute" | "hour" | "day" | null

nullable

data.created_atrequired
string
data.updated_atrequired
string
data.deleted_atrequired
string

nullable

timestamprequired
string

404Destination not found

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

patch/destinations/{id}

Update a destination

Takes up to 60 seconds to affect deliveries: the delivery service caches destination configuration, and that cache expires rather than being purged.

Path parameters

idrequired
string

min length 1

Request body

nameoptional
string

min length 1

receiver_urloptional
string · uri

Must be https and public — private/link-local hosts are rejected

forward_original_signatureoptional
boolean
retry_max_attemptsoptional
integer

Default: 5, max: 10 (bounded by the delivery queue's own retry ceiling)

min 0 · max 10

retry_backoffoptional
"exponential" | "linear" | "fixed"
rate_limit_maxoptional
integer

Max deliveries per window, null = unlimited

min 1 · nullable

rate_limit_windowoptional
"second" | "minute" | "hour" | "day" | null

nullable

Request

curl -X PATCH https://api.catchook.com/destinations/{id} \
  -H "Authorization: Bearer $CATCHOOK_API_KEY" \
  -H "Content-Type: application/json" \ \
  -d '{ … }'

200The updated destination

datarequired
object
data.idrequired
string
data.endpoint_idrequired
string
data.org_idrequired
string
data.namerequired
string
data.receiver_urlrequired
string
data.forward_original_signaturerequired
boolean
data.statusrequired
"active" | "paused" | "disabled"
data.retry_max_attemptsrequired
number
data.retry_backoffrequired
"exponential" | "linear" | "fixed"
data.rate_limit_maxrequired
number

nullable

data.rate_limit_windowrequired
"second" | "minute" | "hour" | "day" | null

nullable

data.created_atrequired
string
data.updated_atrequired
string
data.deleted_atrequired
string

nullable

timestamprequired
string

404Destination not found

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

delete/destinations/{id}

Delete a destination (soft delete)

Path parameters

idrequired
string

min length 1

Request

curl -X DELETE https://api.catchook.com/destinations/{id} \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

204Destination deleted

404Destination not found

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

post/destinations/{id}/pause

Pause a destination

Takes up to 60 seconds to affect deliveries: the delivery service caches destination configuration, and that cache expires rather than being purged.

Path parameters

idrequired
string

min length 1

Request

curl -X POST https://api.catchook.com/destinations/{id}/pause \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200The paused destination

datarequired
object
data.idrequired
string
data.endpoint_idrequired
string
data.org_idrequired
string
data.namerequired
string
data.receiver_urlrequired
string
data.forward_original_signaturerequired
boolean
data.statusrequired
"active" | "paused" | "disabled"
data.retry_max_attemptsrequired
number
data.retry_backoffrequired
"exponential" | "linear" | "fixed"
data.rate_limit_maxrequired
number

nullable

data.rate_limit_windowrequired
"second" | "minute" | "hour" | "day" | null

nullable

data.created_atrequired
string
data.updated_atrequired
string
data.deleted_atrequired
string

nullable

timestamprequired
string

404Destination not found

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

post/destinations/{id}/resume

Resume a paused destination

Takes up to 60 seconds to affect deliveries: the delivery service caches destination configuration, and that cache expires rather than being purged.

Path parameters

idrequired
string

min length 1

Request

curl -X POST https://api.catchook.com/destinations/{id}/resume \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200The resumed destination

datarequired
object
data.idrequired
string
data.endpoint_idrequired
string
data.org_idrequired
string
data.namerequired
string
data.receiver_urlrequired
string
data.forward_original_signaturerequired
boolean
data.statusrequired
"active" | "paused" | "disabled"
data.retry_max_attemptsrequired
number
data.retry_backoffrequired
"exponential" | "linear" | "fixed"
data.rate_limit_maxrequired
number

nullable

data.rate_limit_windowrequired
"second" | "minute" | "hour" | "day" | null

nullable

data.created_atrequired
string
data.updated_atrequired
string
data.deleted_atrequired
string

nullable

timestamprequired
string

404Destination not found

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

post/destinations/{id}/rotate-secret

Regenerate the catchook_secret used to sign deliveries

Deliveries are signed with the old secret until this takes effect, so give a receiver both for a minute — or expect a window of rejected deliveries. Takes up to 60 seconds to affect deliveries: the delivery service caches destination configuration, and that cache expires rather than being purged.

Path parameters

idrequired
string

min length 1

Request

curl -X POST https://api.catchook.com/destinations/{id}/rotate-secret \
  -H "Authorization: Bearer $CATCHOOK_API_KEY"

200The new secret

datarequired
object
timestamprequired
string

404Destination not found

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