Product documentation
Hooks
Actions/Hooks — tenant-configured webhooks into the auth pipeline (register, list, update, delete; secret shown once on create).
Hooks
Actions/Hooks — tenant-configured webhooks into the auth pipeline (register, list, update, delete; secret shown once on create).
Base URL: https://api.stg.thoryn.org
Operations
| Method | Path | Summary | Scopes |
|---|---|---|---|
GET | /api/v1/hooks | Hooks List | tenant:hooks.read |
POST | /api/v1/hooks | Hooks Create | tenant:hooks.write |
GET | /api/v1/hooks/{id} | Hooks Get | tenant:hooks.read |
PATCH | /api/v1/hooks/{id} | Hooks Patch | tenant:hooks.write |
DELETE | /api/v1/hooks/{id} | Hooks Delete | tenant:hooks.write |
GET | /api/v1/hooks/{id}/deliveries | Hooks Deliveries | tenant:hooks.read |
GET | /api/v1/hooks/{id}/jwks | Hooks Jwks | bearer, no extra scope |
POST | /api/v1/hooks/{id}/signing/rotate | Hooks Rotate Signing | tenant:hooks.write |
GET | /api/v1/hooks/{id}/signing/state | Hooks Signing State | tenant:hooks.read |
POST | /api/v1/hooks/{id}/test | Hooks Test | tenant:hooks.write |
Operation details
GET /api/v1/hooks
Hooks List
- Operation ID:
hooksList - Required scopes:
tenant:hooks.read
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
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) |
POST /api/v1/hooks
Hooks Create
- Operation ID:
hooksCreate - Required scopes:
tenant:hooks.write
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
Idempotency-Key | header | no | string |
Request body (required): application/json → CreateHookRequest
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/hooks/{id}
Hooks Get
- Operation ID:
hooksGet - Required scopes:
tenant:hooks.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/hooks/{id}
Hooks Patch
- Operation ID:
hooksPatch - Required scopes:
tenant:hooks.write
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Request body (required): application/json → UpdateHookRequest
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/hooks/{id}
Hooks Delete
- Operation ID:
hooksDelete - Required scopes:
tenant:hooks.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/hooks/{id}/deliveries
Hooks Deliveries
- Operation ID:
hooksDeliveries - Required scopes:
tenant:hooks.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) |
GET /api/v1/hooks/{id}/jwks
Hooks Jwks
- Operation ID:
hooksJwks - Required scopes: bearer, no extra scope
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Responses:
| Status | Description | Body |
|---|---|---|
200 | OK | string |
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/hooks/{id}/signing/rotate
Hooks Rotate Signing
- Operation ID:
hooksRotateSigning - Required scopes:
tenant:hooks.write
Parameters:
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | yes | string |
Request body: application/json → RotateHookSigningRequest
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/hooks/{id}/signing/state
Hooks Signing State
- Operation ID:
hooksSigningState - Required scopes:
tenant:hooks.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) |
POST /api/v1/hooks/{id}/test
Hooks Test
- Operation ID:
hooksTest - Required scopes:
tenant:hooks.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) |