Product documentation
WebhookEndpoint
**Preview.** The WebhookEndpoint push-subscription API is live in preview: register an endpoint, subscribe it to catalog event types, receive signed (`X-Thoryn-Signature`) deliveries, and read each endpoint's recent delivery attempts. Delivery is currently wired for the `user.created` event on a best-effort (at-most-once) basis; full event-catalog coverage and at-least-once delivery hardening (retries, dead-letter) are still in progress. Tracked under SSO-1885.
WebhookEndpoint
Preview. The WebhookEndpoint push-subscription API is live in preview: register an endpoint, subscribe it to catalog event types, receive signed (X-Thoryn-Signature) deliveries, and read each endpoint's recent delivery attempts. Delivery is currently wired for the user.created event on a best-effort (at-most-once) basis; full event-catalog coverage and at-least-once delivery hardening (retries, dead-letter) are still in progress. Tracked under SSO-1885.
Base URL: https://api.stg.thoryn.org
Operations
| Method | Path | Summary | Scopes |
|---|---|---|---|
GET | /api/v1/webhook-endpoints | Webhook Endpoint List | tenant:webhooks.read |
POST | /api/v1/webhook-endpoints | Webhook Endpoint Create | tenant:webhooks.write |
GET | /api/v1/webhook-endpoints/{id} | Webhook Endpoint Get | tenant:webhooks.read |
PATCH | /api/v1/webhook-endpoints/{id} | Webhook Endpoint Update | tenant:webhooks.write |
DELETE | /api/v1/webhook-endpoints/{id} | Webhook Endpoint Delete | tenant:webhooks.write |
GET | /api/v1/webhook-endpoints/{id}/deliveries | Webhook Endpoint Deliveries | tenant:webhooks.read |
Operation details
GET /api/v1/webhook-endpoints
Webhook Endpoint List
- Operation ID:
webhookEndpointList - Required scopes:
tenant:webhooks.read
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
limit | query | no | integer | |
cursor | query | no | string |
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | ListEnvelopeWebhookEndpointResponse |
401 | Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim. | Problem (problem+json) |
403 | Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path. | Problem (problem+json) |
POST /api/v1/webhook-endpoints
Webhook Endpoint Create
- Operation ID:
webhookEndpointCreate - Required scopes:
tenant:webhooks.write
Request body (required): application/json → CreateWebhookEndpointRequest
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | object |
401 | Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim. | Problem (problem+json) |
403 | Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path. | Problem (problem+json) |
GET /api/v1/webhook-endpoints/{id}
Webhook Endpoint Get
- Operation ID:
webhookEndpointGet - Required scopes:
tenant:webhooks.read
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | object |
401 | Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim. | Problem (problem+json) |
403 | Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path. | Problem (problem+json) |
PATCH /api/v1/webhook-endpoints/{id}
Webhook Endpoint Update
- Operation ID:
webhookEndpointUpdate - Required scopes:
tenant:webhooks.write
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Request body (required): application/json → UpdateWebhookEndpointRequest
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | object |
401 | Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim. | Problem (problem+json) |
403 | Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path. | Problem (problem+json) |
DELETE /api/v1/webhook-endpoints/{id}
Webhook Endpoint Delete
- Operation ID:
webhookEndpointDelete - Required scopes:
tenant:webhooks.write
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | object |
401 | Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim. | Problem (problem+json) |
403 | Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path. | Problem (problem+json) |
GET /api/v1/webhook-endpoints/{id}/deliveries
Webhook Endpoint Deliveries
- Operation ID:
webhookEndpointDeliveries - Required scopes:
tenant:webhooks.read
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string | |
limit | query | no | integer | |
cursor | query | no | string |
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | object |
401 | Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim. | Problem (problem+json) |
403 | Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path. | Problem (problem+json) |