v2

latestOpenAPI 3.1.0Proprietary2026-07-26127193620.1 KB
Endpoints

Create a webhook endpoint

Creates a new webhook endpoint. If a deactivated endpoint with the same URL and domain exists, it is reactivated instead. Subject to plan limits on the number of active endpoints.

Signing is account-scoped, not per-endpoint. This call does not return any signing material; every endpoint on the account uses the same webhook secret, fetched via GET /account/webhook-secret. See the API-level "Webhook signing" section for the full wire format (header name, signed string, hash algo, secret format, tolerance) and a language-agnostic verification recipe.

After creating the endpoint, fire a test delivery against it via POST /endpoints/{id}/test to confirm your verifier accepts the signature.

post/endpoints

Headers

Idempotency-Keystring

Optional client-supplied idempotency key. Retrying a request with the same key returns the original result instead of performing the action a second time; if omitted the server derives one from the canonical payload hash. Safe to retry network failures without duplicating side effects.

Request body

kind'http' | 'function'

http: deliver to a webhook URL (provide url). function: invoke a Primitive Function (provide function_id, omit url).

urlstring

The webhook URL to deliver events to. Required when kind is http; omit for function endpoints.

function_idstring uuid

The Function to invoke. Required when kind is function.

enabledboolean

Whether the endpoint is active

domain_idstring uuid nullable

Restrict to emails from a specific domain

rulesobject

Endpoint-specific filtering rules

is_route_targetboolean

Create this endpoint as a route-target: reachable only via an explicit recipient route, never a domain's default destination, and exempt from the one-endpoint-per-domain rule.

Response

Endpoint created (or reactivated)

successtrue required