SecureAuth (incl. Cloudentity) Webhooks API
The webhooks API from SecureAuth (incl. Cloudentity) — 3 operation(s) for webhooks.
The webhooks API from SecureAuth (incl. Cloudentity) — 3 operation(s) for webhooks.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/secureauth:secureauth-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: 'SecureAuth Admin API
The POST APIs support idempotency for safely retrying requests without accidentally performing the same operation twice.
To use idempotent requests:
1. Generate a unique idempotency key (32-255 characters long).
2. Include the key in the X-Idempotency-Key header of your POST request.
3. Retry failed requests with the same key within 1 minute.
Responses for replayed requests will include the X-Idempotent-Replayed: true header.'
title: SecureAuth Webhooks API
version: latest
servers:
- url: https://localhost:8443/api/admin/default
tags:
- name: Webhooks
paths:
/servers/{wid}/webhooks:
get:
description: Returns list of webhooks for server
operationId: listServerWebhooks
parameters:
- description: A server will only return requested resources if the resource matches one of the listed ETag value
in: header
name: if-match
schema:
type: string
format: etag
- description: Unique identifier included in audit events for request tracking
in: header
name: x-correlation-id
schema:
type: string
- description: Key used to safely retry failed requests without duplicate processing
in: header
name: x-idempotency-key
schema:
type: string
- description: Authorization server id
in: path
name: wid
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/WebhooksResponse'
'401':
$ref: '#/components/responses/unauthorizedHTTPError'
'403':
$ref: '#/components/responses/forbiddenHTTPError'
'429':
$ref: '#/components/responses/tooManyRequestsHTTPError'
security:
- admin: []
summary: List webhooks
tags:
- Webhooks
post:
description: Creates a webhook
operationId: createWebhook
parameters:
- description: A server will only return requested resources if the resource matches one of the listed ETag value
in: header
name: if-match
schema:
type: string
format: etag
- description: Unique identifier included in audit events for request tracking
in: header
name: x-correlation-id
schema:
type: string
- description: Key used to safely retry failed requests without duplicate processing
in: header
name: x-idempotency-key
schema:
type: string
- description: Authorization server id
in: path
name: wid
required: true
schema:
type: string
responses:
'201':
$ref: '#/components/responses/WebhookOnCreateResponse'
'400':
$ref: '#/components/responses/badRequestHTTPError'
'401':
$ref: '#/components/responses/unauthorizedHTTPError'
'403':
$ref: '#/components/responses/forbiddenHTTPError'
'404':
$ref: '#/components/responses/notFoundHTTPError'
'422':
$ref: '#/components/responses/unprocessableEntityHTTPError'
'429':
$ref: '#/components/responses/tooManyRequestsHTTPError'
security:
- admin: []
summary: Create a Webhook
tags:
- Webhooks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
/servers/{wid}/webhooks/{webhookID}:
delete:
description: Deletes the Webhook.
operationId: deleteWebhook
parameters:
- description: A server will only return requested resources if the resource matches one of the listed ETag value
in: header
name: if-match
schema:
type: string
format: etag
- description: Unique identifier included in audit events for request tracking
in: header
name: x-correlation-id
schema:
type: string
- description: Key used to safely retry failed requests without duplicate processing
in: header
name: x-idempotency-key
schema:
type: string
- description: Authorization server id
in: path
name: wid
required: true
schema:
type: string
- description: Webhook ID
in: path
name: webhookID
required: true
schema:
type: string
responses:
'204':
description: ' Webhook has been deleted'
'401':
$ref: '#/components/responses/unauthorizedHTTPError'
'403':
$ref: '#/components/responses/forbiddenHTTPError'
'404':
$ref: '#/components/responses/notFoundHTTPError'
'429':
$ref: '#/components/responses/tooManyRequestsHTTPError'
security:
- admin: []
summary: Delete Webhook
tags:
- Webhooks
get:
description: Returns a Webhook and its content.
operationId: getWebhook
parameters:
- description: A server will only return requested resources if the resource matches one of the listed ETag value
in: header
name: if-match
schema:
type: string
format: etag
- description: Unique identifier included in audit events for request tracking
in: header
name: x-correlation-id
schema:
type: string
- description: Key used to safely retry failed requests without duplicate processing
in: header
name: x-idempotency-key
schema:
type: string
- description: Authorization server id
in: path
name: wid
required: true
schema:
type: string
- description: Webhook ID
in: path
name: webhookID
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/WebhookResponse'
'401':
$ref: '#/components/responses/unauthorizedHTTPError'
'403':
$ref: '#/components/responses/forbiddenHTTPError'
'404':
$ref: '#/components/responses/notFoundHTTPError'
'429':
$ref: '#/components/responses/tooManyRequestsHTTPError'
security:
- admin: []
summary: Get Webhook
tags:
- Webhooks
put:
description: Updates an existing Webhook
operationId: updateWebhook
parameters:
- description: A server will only return requested resources if the resource matches one of the listed ETag value
in: header
name: if-match
schema:
type: string
format: etag
- description: Unique identifier included in audit events for request tracking
in: header
name: x-correlation-id
schema:
type: string
- description: Key used to safely retry failed requests without duplicate processing
in: header
name: x-idempotency-key
schema:
type: string
- description: Authorization server id
in: path
name: wid
required: true
schema:
type: string
- description: Webhook ID
in: path
name: webhookID
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/WebhookResponse'
'400':
$ref: '#/components/responses/badRequestHTTPError'
'401':
$ref: '#/components/responses/unauthorizedHTTPError'
'403':
$ref: '#/components/responses/forbiddenHTTPError'
'404':
$ref: '#/components/responses/notFoundHTTPError'
'422':
$ref: '#/components/responses/unprocessableEntityHTTPError'
'429':
$ref: '#/components/responses/tooManyRequestsHTTPError'
security:
- admin: []
summary: Update a Webhook
tags:
- Webhooks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
/webhooks/events/{wid}:
get:
description: Returns list of events that can be used with webhooks
operationId: listWebhookEvents
parameters:
- description: A server will only return requested resources if the resource matches one of the listed ETag value
in: header
name: if-match
schema:
type: string
format: etag
- description: Unique identifier included in audit events for request tracking
in: header
name: x-correlation-id
schema:
type: string
- description: Key used to safely retry failed requests without duplicate processing
in: header
name: x-idempotency-key
schema:
type: string
- description: Authorization server id
in: path
name: wid
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/AvailableEventsResponse'
'401':
$ref: '#/components/responses/unauthorizedHTTPError'
'403':
$ref: '#/components/responses/forbiddenHTTPError'
'429':
$ref: '#/components/responses/tooManyRequestsHTTPError'
security:
- admin: []
summary: List available events for a webhook
tags:
- Webhooks
components:
schemas:
WebhooksResponse:
description: Webhooks
properties:
webhooks:
description: 'list of Webhooks
in:body'
items:
$ref: '#/components/schemas/WebhookResponse'
type: array
type: object
Event:
properties:
description:
type: string
name:
type: string
type: object
Error:
description: HTTP error response
properties:
details:
type: object
error:
type: string
error_code:
type: string
status_code:
format: int64
type: integer
type: object
Webhook:
description: Custom Branding Webhook
properties:
active:
description: Active
type: boolean
api_key:
description: API Key
type: string
events:
additionalProperties:
items:
type: string
type: array
description: events
type: object
include_child_events:
description: IncludeChildEvents indicates whether to receive events from child organizations
type: boolean
insecure:
description: Insecure
type: boolean
server_id:
description: ID of the server
format: serverID
type: string
tenant_id:
description: ID of the tenant
example: default
format: tenantID
type: string
url:
description: url of the Webhook
type: string
webhook_id:
description: ID to the Webhook
format: webhookID
type: string
required:
- webhook_id
- tenant_id
- server_id
type: object
EventSubject:
properties:
description:
type: string
events:
items:
$ref: '#/components/schemas/Event'
type: array
name:
type: string
type: object
AvailableEvents:
description: AvailableEvents
properties:
etag:
description: 'The ETag HTTP header is an identifier for a specific version of a resource
in:header'
format: etag
type: string
subjects:
description: 'List of the events
in:body'
items:
$ref: '#/components/schemas/EventSubject'
type: array
x-external-error:
description: 'Indicates that a 5xx error was caused by tenant-provided code
in:header'
type: string
x-trace-id:
description: 'OpenTelemetry trace identifier
in:header'
type: string
type: object
WebhookResponse:
description: Webhook object on list or get
properties:
active:
description: Active
type: boolean
events:
additionalProperties:
items:
type: string
type: array
description: events
type: object
include_child_events:
description: IncludeChildEvents indicates whether to receive events from child organizations
type: boolean
insecure:
description: Insecure
type: boolean
url:
description: url of the Webhook
type: string
webhook_id:
description: ID to the Webhook
format: webhookID
type: string
type: object
WebhookOnCreateResponse:
description: Wevhook object on create
properties:
active:
description: Active
type: boolean
api_key:
description: API Key
type: string
events:
additionalProperties:
items:
type: string
type: array
description: events
type: object
include_child_events:
description: IncludeChildEvents indicates whether to receive events from child organizations
type: boolean
insecure:
description: Insecure
type: boolean
url:
description: url of the Webhook
type: string
webhook_id:
description: ID to the Webhook
format: webhookID
type: string
type: object
responses:
unprocessableEntityHTTPError:
description: Unprocessable entity
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
AvailableEventsResponse:
description: AvailableEventsResponse
headers:
etag:
description: 'The ETag HTTP header is an identifier for a specific version of a resource
in:header'
schema:
type: string
format: etag
x-external-error:
description: 'Indicates that a 5xx error was caused by tenant-provided code
in:header'
schema:
type: string
x-trace-id:
description: 'OpenTelemetry trace identifier
in:header'
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableEvents'
notFoundHTTPError:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
forbiddenHTTPError:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
WebhookResponse:
description: Webhook response
headers:
etag:
description: 'The ETag HTTP header is an identifier for a specific version of a resource
in:header'
schema:
type: string
format: etag
x-external-error:
description: 'Indicates that a 5xx error was caused by tenant-provided code
in:header'
schema:
type: string
x-trace-id:
description: 'OpenTelemetry trace identifier
in:header'
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookResponse'
WebhooksResponse:
description: Webhooks response
headers:
etag:
description: 'The ETag HTTP header is an identifier for a specific version of a resource
in:header'
schema:
type: string
format: etag
x-external-error:
description: 'Indicates that a 5xx error was caused by tenant-provided code
in:header'
schema:
type: string
x-trace-id:
description: 'OpenTelemetry trace identifier
in:header'
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/WebhooksResponse'
unauthorizedHTTPError:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tooManyRequestsHTTPError:
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
WebhookOnCreateResponse:
description: Webhook on create response
headers:
etag:
description: 'The ETag HTTP header is an identifier for a specific version of a resource
in:header'
schema:
type: string
format: etag
x-external-error:
description: 'Indicates that a 5xx error was caused by tenant-provided code
in:header'
schema:
type: string
x-trace-id:
description: 'OpenTelemetry trace identifier
in:header'
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookOnCreateResponse'
badRequestHTTPError:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
admin:
type: oauth2
flows:
authorizationCode:
scopes: {}
authorizationUrl: /default/admin/oauth2/authorize
tokenUrl: /default/admin/oauth2/token