Skip to main content
PUT
cURL

Authorizations

Authorization
string
header
required

A short-lived partner token, obtained by exchanging your API key at POST /token. Send it as Authorization: Bearer <access_token>.

Tokens live for fifteen minutes by default and never for more than an hour. Mint one per batch of work, not one per request.

The token carries the workspace and the environment its key was issued for. You cannot change either by asking: the exchange ignores everything in the request body for exactly that reason.

Never send it as a cookie or in a query string, and never store it — store the API key, mint tokens from it.

Body

application/json
url
string<uri>
required

HTTPS only, a public DNS name only. Checked against the address it resolves to at the moment we connect, on every delivery.

Maximum string length: 2048
Pattern: ^https://
events
enum<string>[]
required

An empty array pauses delivery without discarding the endpoint.

Maximum array length: 16
Available options:
booking.confirmed,
booking.cancelled,
user.erased

Response

The endpoint is registered. Check status: active means the challenge was echoed and deliveries will flow; pending_verification means it was not, and nothing will be sent until you call again and echo it.

signing_secret is present only the FIRST time you register. Its absence on a later call is not an error — your existing secret still applies.

url
string<uri>
required
events
enum<string>[]
required
Available options:
booking.confirmed,
booking.cancelled,
user.erased
status
enum<string>
required
Available options:
pending_verification,
active,
suspended
signing_secret
string

Returned once, on the call that issues it, and never again. Store it somewhere you can read it back; we cannot.