Create a webhook endpoint

Creates an enabled endpoint with the existing webhook validation and workspace API-access authority. Returns its identity and signing secret once; Location identifies the ordinary endpoint GET, which never discloses the secret. The original response is excluded from API log bodies and Redis replay results, has Cache-Control: no-store and no ETag. A repeated Idempotency-Key returns 409 idempotency_outcome_unknown without creating another endpoint while the reservation is retained. After a lost response, discover the endpoint and deliberately rotate its secret; do not blindly recreate it. Redis expiry/eviction provides no durable exactly-once guarantee. Requires workspace-level API access management permission.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Request body to create a webhook endpoint. Omitted or null scope fields select the workspace; stack and project scopes are mutually exclusive.

string
required
length between 0 and 2048

Public HTTPS delivery URL, validated by the existing webhook URL policy.

string | null

Optional endpoint description.

event_types
array of strings
required
length ≥ 1

Public event names, or ["*"] for all current and future subscribable events.

event_types*
string | null
^stack_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

Public id that is created from the type prefix of the corresponding resource and its UUID. I.e : For a stack, a valid value would be : stack_0197c8f2-5a6b-7cde-8f12-3456789abcde

string | null
^pr_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

Public id that is created from the type prefix of the corresponding resource and its UUID. I.e : For a project, a valid value would be : pr_0197c8f2-5a6b-7cde-8f12-3456789abcde

Headers
string
length between 1 and 255

Optional unique key for best-effort duplicate suppression of this one-time response. The original successful response is returned to the caller but never retained in API log bodies or Redis replay results. Only an unresolved reservation is retained for 24 hours by default; a matching retry returns 409 idempotency_outcome_unknown without repeating the operation or revealing its secret. A concurrent request returns 409 idempotency_key_in_use; a changed request returns 422 idempotency_key_mismatch. An unavailable reservation store returns 503 before execution. A 4xx rejection releases its reservation; interruption after execution or loss of the success response requires inspection and a deliberate new operation. Redis expiry/eviction or explicit server-side disabling removes protection; this is not durable exactly-once execution. Use the target GET to inspect current metadata and obtain its validator, then a new key only when intentionally rotating again.

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json