Create a Webhook Registration
Use this endpoint to register a tenant-scoped webhook endpoint that receives transfer event notifications. The registration is scoped to the caller’s tenant, derived from the bearer JWT (tenantId claim), never from a request header.
The server generates the signingSecret and returns it exactly once in this response. Store it securely — it is never returned again. Use it to verify the signature on every delivered event. To obtain a new secret, call the rotate endpoint.
Use the X-Idempotency header for guaranteed deduplication. Repeated calls with the same key replay the cached response.
Authorizations
JWT Bearer token authentication. The tenantId is derived from the bearer token or authenticated request context and is not supplied through X-Organization-Id.
Headers
Required idempotency key for safe retries. Use a UUID v4 or unique business identifier. If the same key is sent again and the original request was already processed, the cached response is returned.
See Retries and idempotency for details.
255Body
A human-readable name for the registration.
"Operations webhook"
The endpoint that receives event deliveries. Must be an HTTPS URL.
^https://"https://hooks.example.com/transfer-events"
Whether the registration is active. Defaults to true when omitted.
true
The event types this endpoint subscribes to. When omitted, the registration receives every event type. Use the List Webhook Event Types endpoint for the accepted values.
64["transfer.completed", "transfer.rejected"]Response
Indicates that the webhook registration was created. The signingSecret is returned only in this response.
Repeated calls with the same X-Idempotency key replay the cached response.
See Retries and idempotency for more details.
The unique identifier of the webhook registration.
"550e8400-e29b-41d4-a716-446655440000"
The human-readable name of the registration.
"Operations webhook"
The HTTPS endpoint that receives event deliveries.
"https://hooks.example.com/transfer-events"
Whether the registration is active.
true
The timestamp when the registration was created.
"2026-02-01T15:30:00Z"
The timestamp of the last update.
"2026-02-01T15:30:00Z"
The server-generated signing secret, returned only in this response. Store it securely and use it to verify the signature on delivered events.
"whsec_example_not_a_real_secret"
The event types this endpoint subscribes to. Absent when the registration receives every event type.
["transfer.completed"]
