API referenceEndpoints
Register a disabled endpoint
Registration does not perform a network request. Reuse matching endpoints before creating one; creation is not idempotent.
POST
Registration does not perform a network request. Reuse matching endpoints before creating one; creation is not idempotent.
projectAPIKeyheader
AuthorizationBearer <ch_dev_ or ch_live_ project API key>Read CASCADEHOOK_API_KEY from the local environment. Never print keys or headers. Scope is the project selected when the key was created.
application/json- body
url*stringHTTPS, no credentials/fragment. Maximum 2048 UTF-8 bytes. Public destination required at verification/delivery; redirects are rejected.
Match
^[Hh][Tt][Tt][Pp][Ss]://Format
uriLength
length <= 2048event_types*array<>Items
1 <= items <= 100New disabled, unverified endpoint.
application/json- response
id*stringFormat
uuidproject_id*stringFormat
uuidurl*stringHTTPS, no credentials/fragment. Maximum 2048 UTF-8 bytes. Public destination required at verification/delivery; redirects are rejected.
Match
^[Hh][Tt][Tt][Pp][Ss]://Format
uriLength
length <= 2048enabled*booleanverified_at*|Format
date-timehas_signing_secret*booleanevent_types*array<>Items
1 <= items <= 100created_at*stringFormat
date-timeupdated_at*stringFormat
date-timecurl -X POST 'https://api.cascadehook.com/v1/endpoints' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://receiver.example.com/webhooks", "event_types": [ "invoice.paid" ]}'Example Response
{ "id": "01900000-0000-7000-8000-000000000001", "project_id": "01900000-0000-7000-8000-000000000003", "url": "https://receiver.example.com/webhooks", "enabled": false, "verified_at": null, "has_signing_secret": false, "event_types": [ "invoice.paid" ], "created_at": "2026-01-01T00:00:00Z", "updated_at": "2026-01-01T00:00:00Z"}