SlashID Organization Webhooks API
The Organization Webhooks API from SlashID — 5 operation(s) for organization webhooks.
The Organization Webhooks API from SlashID — 5 operation(s) for organization webhooks.
openapi: 3.0.1
info:
title: SlashID Groups Organization Webhooks API
description: "This is the [OpenAPI](https://www.openapis.org/) specification for communicating with the [SlashID](https://www.slashid.dev/) service.\n\nThe latest version of the OpenAPI API spec can be fetched from [our CDN](https://cdn.slashid.com/slashid-openapi-latest.yaml).\n\nWe recommend you use an [OpenAPI SDK generator](https://openapi.tools/#sdk) to create a client library in your programming language,\nbut you can also use this documentation to make HTTP calls directly.\n\n> **Compatibility note**: We aim to keep wire compatibility whenever we update the API, but parts of the specification may occasionally be refactored.\n If you use an SDK generator, your code may require minor changes between versions.\n"
version: '1.1'
termsOfService: https://www.slashid.dev/terms-of-use/
contact:
name: API Support
email: contact@slashid.dev
servers:
- url: https://api.slashid.com
description: Production
- url: https://api.sandbox.slashid.com
description: Sandbox
security:
- ApiKeyAuth: []
tags:
- name: Organization Webhooks
paths:
/organizations/webhooks:
parameters:
- $ref: '#/components/parameters/OrgIDHeader'
post:
operationId: PostOrganizationsWebhooks
x-rbac-enabled: true
x-rbac-allowed-groups: admin
tags:
- Organization Webhooks
summary: Create a new webhook
description: 'Create a new webhook for your organization. Webhooks will be called in response to triggers, and you can use
the `/organizations/webhooks/{webhook_id}/triggers` endpoint to specify which trigger(s) should call each
webhook.
The request body must contain the target URL for the webhook, and this must be unique for your organization
(you cannot have two webhooks with the same target URL). The target URL must use the HTTPS protocol, and must
have a host. The host cannot be `localhost` or an IP address. The target URL may have a path element, but may
not contain query parameters or fragments.
Additionally, you can specify custom headers that will be sent in the HTTP header of each request to your
webhook''s target URL. These are encrypted when stored, so can be used for sensitive data.
You can also choose the webhook''s timeout value. This will determine how long your webhook server has to respond
to a request before it is considered failed. If you do not set a value, defaults will be used: for synchronous
webhook calls, this is 2 seconds; for asynchronous calls, 10 seconds. When choosing a timeout, you should
consider how long your webhook will typically need to process a request, and how this may affect user experience
(in the case of sychronous webhooks).
The value provided should be a string that can be parsed as a [Golang `time.Duration`](https://pkg.go.dev/time#Duration);
for example, "10s", "500ms". The timeout may not be more than 20 seconds, and cannot be negative.
If you do not set a timeout, when retrieving the webhook you will see a timeout set to 0s, indicating that the
defaults will be used when the webhook is called.
You may also specify a name and description for the webhook.
The response will contain a webhook ID, which uniquely identifies the newly created webhook. This ID can
be used to modify or delete the webhook, and to add triggers for it.
For more information on using webhooks with SlashID, see our [dedicated guide](/docs/access/guides/webhooks).
'
parameters:
- $ref: '#/components/parameters/RequiredConsistencyHeader'
- $ref: '#/components/parameters/RequiredConsistencyTimeoutHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookPostRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/APIResponseBase'
- type: object
properties:
result:
$ref: '#/components/schemas/WebhookPostResponse'
required:
- result
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
get:
operationId: GetOrganizationsWebhooks
x-rbac-enabled: true
x-rbac-allowed-groups: admin,member
x-manager-rbac-allowed-groups: admin,member
tags:
- Organization Webhooks
summary: List all webhooks
description: Retrieve a list of all webhooks for your organization.
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/APIResponseBase'
- type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/Webhook'
required:
- result
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
/organizations/webhooks/{webhook_id}:
parameters:
- $ref: '#/components/parameters/OrgIDHeader'
- $ref: '#/components/parameters/WebhookIDPathParam'
get:
operationId: GetOrganizationsWebhooksWebhookId
x-rbac-enabled: true
x-rbac-allowed-groups: admin,member
tags:
- Organization Webhooks
summary: Get a webhook
description: Retrieve information about a specific webhook, identified by its ID.
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/APIResponseBase'
- type: object
properties:
result:
$ref: '#/components/schemas/Webhook'
required:
- result
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: PatchOrganizationsWebhooksWebhookId
x-rbac-enabled: true
x-rbac-allowed-groups: admin
tags:
- Organization Webhooks
summary: Update a webhook
description: 'Update an existing webhook, identified by its ID.
This endpoint can be used to modify the target URL, custom headers, name, or description of the webhook. Note that the target URL cannot be changed to a URL already in use by another webhook for your organization. Modifying the custom headers will overwrite any existing custom headers for this webhook.
'
parameters:
- $ref: '#/components/parameters/RequiredConsistencyHeader'
- $ref: '#/components/parameters/RequiredConsistencyTimeoutHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookPatchRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/APIResponseBase'
- type: object
properties:
result:
$ref: '#/components/schemas/WebhookPatchResponse'
required:
- result
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: DeleteOrganizationsWebhooksWebhookId
x-rbac-enabled: true
x-rbac-allowed-groups: admin
tags:
- Organization Webhooks
summary: Delete a webhook
description: 'Delete the specified webhook. This will also delete all triggers associated with this webhook. This action cannot be undone.
'
parameters:
- $ref: '#/components/parameters/RequiredConsistencyHeader'
- $ref: '#/components/parameters/RequiredConsistencyTimeoutHeader'
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
/organizations/webhooks/{webhook_id}/triggers:
parameters:
- $ref: '#/components/parameters/OrgIDHeader'
- $ref: '#/components/parameters/WebhookIDPathParam'
get:
operationId: GetOrganizationsWebhooksWebhookIdTriggers
x-rbac-enabled: true
x-rbac-allowed-groups: admin,member
x-manager-rbac-allowed-groups: admin,member
tags:
- Organization Webhooks
summary: List webhook triggers
description: List all the triggers for a specific webhook.
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/APIResponseBase'
- type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/WebhookTrigger'
required:
- result
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: PostOrganizationsWebhooksWebhookIdTriggers
x-rbac-enabled: true
x-rbac-allowed-groups: admin
tags:
- Organization Webhooks
summary: Create a webhook trigger
description: 'Create a new trigger for an existing webhook. Each webhook can have multiple triggers, and will be called
on each of them.
The trigger type specifies what kind of trigger will cause the webhook to be called. The trigger name specifies
the exact trigger that will cause the webhook to be called, amongst all triggers of this type. For a full list
of trigger types and names, refer to our [webhooks guide](/docs/access/guides/webhooks).
'
parameters:
- $ref: '#/components/parameters/RequiredConsistencyHeader'
- $ref: '#/components/parameters/RequiredConsistencyTimeoutHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookTriggerPostRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponseBase'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: DeleteOrganizationsWebhooksWebhookIdTriggers
x-rbac-enabled: true
x-rbac-allowed-groups: admin
tags:
- Organization Webhooks
summary: Delete a webhook trigger
description: 'Delete a trigger for a specific webhook. The webhook will no longer be called on this trigger.
Note that for a short period after the delete request has successfully returned, triggers in flight may still cause the webhook to be called.
'
parameters:
- $ref: '#/components/parameters/RequiredConsistencyHeader'
- $ref: '#/components/parameters/RequiredConsistencyTimeoutHeader'
- $ref: '#/components/parameters/WebhookTriggerTypeQueryParam'
- $ref: '#/components/parameters/WebhookTriggerNameQueryParam'
responses:
'204':
$ref: '#/components/responses/NoContent'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
/organizations/webhooks/verification-jwks:
parameters:
- $ref: '#/components/parameters/OrgIDHeader'
get:
operationId: GetOrganizationsWebhooksVerificationJwks
x-rbac-enabled: true
x-rbac-allowed-groups: admin,member
tags:
- Organization Webhooks
summary: Retrieve verification JWKS for webhooks
description: 'Endpoint to retrieve a JSON Web Key Set (JWKS) for webhook body verification.
When SlashID calls your webhooks in response to a trigger, the body of the request is a signed and encoded JSON Web Token (JWT). The public part of the signing key can be retrieved from this endpoint and used to verify that the request body comes from SlashID, is intended for your webhook, and has not been modified.
SlashID uses the ES256 JSON Web Algorithm (JWA), which is the Elliptic Curve Digital Signature Algorithm (ECDSA) with the P-256 curve and SHA256.
Support for JWTs and JWKS is available for many languages - [jwt.io](https://jwt.io/libraries) maintains an extensive (but not exhaustive) list of libraries for popular languages.
Note that this endpoint is rate-limited to 30 requests per minute per organization, with bursts of 60. It is therefore recommended that you cache the keyset locally in your webhook handlers.
'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JWKS'
/test-events:
parameters:
- $ref: '#/components/parameters/OrgIDHeader'
post:
operationId: PostTestEvents
x-rbac-enabled: true
x-rbac-allowed-groups: admin
tags:
- Organization Webhooks
summary: Generate events for testing
description: 'Generate events for testing analytics flows, such as webhooks.
This endpoint can be used to create one or more SlashID events. The request body is a list of test event descriptions, including the type of event to generate, the number of events of that type to generate, and whether those events should be duplicates. The contents of the events will be randomly generated, and will have the `is_test_event` flag set to true, so they can be distinguished from real events.
Please refer to our [events guide](/docs/access/concepts/events) for a full list of SlashID events and their contents.
Note that this endpoint is rate-limited to 10 test events per minute, with a burst of 50. If your tests require a higher rate, please contact us.
'
requestBody:
description: The events to be generated
content:
application/json:
schema:
$ref: '#/components/schemas/TestEventsPostReq'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/APIResponseBase'
- type: object
properties:
result:
$ref: '#/components/schemas/TestEventsPostResponse'
required:
- result
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
TriggerType:
type: string
enum:
- event
- sync_hook
WebhookPostResponse:
$ref: '#/components/schemas/Webhook'
BaseTestSDKEvent:
type: object
properties:
window_location:
type: string
format: url
SyncHookName:
type: string
enum:
- token_minted
- identify_user
- threat_detection
- posture_detection
Test_PasswordChanged_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
JWKS:
type: object
additionalProperties: true
BaseTestEvent:
type: object
required:
- event_id
- event_name
- timestamp
- organization_id
properties:
event_id:
type: string
format: uuid
event_name:
$ref: '#/components/schemas/EventName'
timestamp:
type: string
organization_id:
$ref: '#/components/schemas/OrganizationID'
Test_GateRequestCredentialFound_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
Test_PersonDeleted_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- type: object
properties:
person_id:
$ref: '#/components/schemas/PersonID'
FactorMethod:
type: string
description: Allowed login factor
enum:
- webauthn
- email_link
- sms_link
- otp_via_sms
- otp_via_email
- totp
- oidc
- saml
- api
- direct_id
- password
- impersonate
- anonymous
APIResponseBase:
type: object
properties:
meta:
$ref: '#/components/schemas/APIMeta'
errors:
type: array
items:
$ref: '#/components/schemas/APIResponseError'
Test_GateRequestHandled_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
EventName:
type: string
enum:
- AuthenticationSucceeded_v1
- AuthenticationFailed_v1
- PersonCreated_v1
- AnonymousPersonCreated_v1
- PersonDeleted_v1
- VirtualPageLoaded_v1
- SlashIDSDKLoaded_v1
- PersonIdentified_v1
- PersonLoggedOut_v1
- TokenMinted_v1
- AnonymousTokenMinted_v1
- PasswordChanged_v1
- GdprConsentsChanged_v1
- GateServerStarted_v1
- GateRequestHandled_v1
- GateRequestCredentialFound_v1
- PermissionCreated_InRegion_v1
- PermissionCreated_v1
- PermissionDeleted_InRegion_v1
- PermissionDeleted_v1
- RoleCreated_InRegion_v1
- RoleCreated_v1
- RoleDeleted_InRegion_v1
- RoleDeleted_v1
- RoleUpdated_InRegion_v1
- RoleUpdated_v1
- RolesSetToPerson_InRegion_v1
- RolesSetToPerson_v1
- PermissionsSetToPerson_InRegion_v1
- PermissionsSetToPerson_v1
- MitmAttackDetected_v1
- PermissionUpdated_InRegion_v1
- PermissionUpdated_v1
- SuborganizationCreated_InRegion_v1
- SuborganizationCreated_v1
- OAuth2ClientCreated_InRegion_v1
- OAuth2ClientCreated_v1
- AWSIAMUserCreated_v1
- AWSIAMRoleCreated_v1
- AWSIAMRoleInlinePoliciesUpdated_v1
- AWSIAMRoleManagedPoliciesUpdated_v1
- AWSIAMRoleAssumeRolePolicyUpdated_v1
- AWSIAMRolePermissionsBoundaryUpdated_v1
- AWSIAMRoleDeleted_v1
- GCPServiceAccountCreated_v1
- GCPRoleCreated_v1
- GCPIAMPolicyBindingUpdated_v1
- GCPServiceAccountDeleted_v1
- ActiveDirectorySPNCreated_v1
- ActiveDirectorySPNRoleUpdated_v1
- ActiveDirectorySPNDeleted_v1
- ActiveDirectoryUserCreated_v1
APIPagination:
type: object
required:
- limit
- offset
- total_count
properties:
limit:
type: integer
offset:
type: integer
total_count:
type: integer
format: int64
WebhookTrigger:
oneOf:
- $ref: '#/components/schemas/EventTrigger'
- $ref: '#/components/schemas/SyncHookTrigger'
discriminator:
propertyName: trigger_type
mapping:
event: '#/components/schemas/EventTrigger'
sync_hook: '#/components/schemas/SyncHookTrigger'
WebhookPatchResponse:
$ref: '#/components/schemas/Webhook'
Test_PersonIdentified_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- $ref: '#/components/schemas/BaseTestSDKEvent'
WebhookPatchRequest:
type: object
properties:
name:
type: string
description: 'Human-readable name for this webhook. This does not need to be unique, but it is recommended that you choose a name that can be used to distinguish this webhook from others.
'
description:
type: string
description: 'A description of this webhook. This can be used to associate additional information with this webhook for future reference.
'
target_url:
type: string
description: 'The target URL for this webhook. This URL must include the protocol, and the protocol must be HTTPS. A target URL can be registered at most once per organization, but each target URL can have multiple triggers.
'
custom_headers:
type: object
additionalProperties:
type: array
items:
type: string
description: 'A set of custom HTTP headers that will be included in requests to this webhook, provided as key-value pairs. If set, will overwrite existing custom headers.
'
timeout:
type: string
description: The timeout that will be applied when calling this webhook.
Test_VirtualPageLoaded_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- $ref: '#/components/schemas/BaseTestSDKEvent'
Test_SlashIDSDKLoaded_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- $ref: '#/components/schemas/BaseTestSDKEvent'
APICursorPagination:
type: object
required:
- limit
- cursor
- total_count
properties:
limit:
type: integer
cursor:
type: string
total_count:
type: integer
format: int64
SyncHookTrigger:
type: object
properties:
trigger_type:
$ref: '#/components/schemas/TriggerType'
trigger_name:
$ref: '#/components/schemas/SyncHookName'
required:
- trigger_type
- trigger_name
OrganizationID:
type: string
WebhookTriggerPostRequest:
$ref: '#/components/schemas/WebhookTrigger'
WebhookPostRequest:
$ref: '#/components/schemas/WebhookConfiguration'
TestEventsSpecification:
type: object
required:
- event_name
properties:
event_name:
$ref: '#/components/schemas/EventName'
count:
type: integer
default: 1
duplicates:
type: boolean
default: false
analytics_correlation_id:
type: string
default: ''
Test_AuthenticationFailed_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- type: object
properties:
failed_authn_method:
$ref: '#/components/schemas/FactorMethod'
failure_reason:
type: string
Test_GdprConsentsChanged_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
EventTrigger:
type: object
properties:
trigger_type:
$ref: '#/components/schemas/TriggerType'
trigger_name:
$ref: '#/components/schemas/EventName'
required:
- trigger_type
- trigger_name
TestEventsPostResponse:
type: array
items:
$ref: '#/components/schemas/TestEvent'
TestEvent:
oneOf:
- $ref: '#/components/schemas/Test_AuthenticationSucceeded_v1'
- $ref: '#/components/schemas/Test_AuthenticationFailed_v1'
- $ref: '#/components/schemas/Test_PersonCreated_v1'
- $ref: '#/components/schemas/Test_AnonymousPersonCreated_v1'
- $ref: '#/components/schemas/Test_PersonDeleted_v1'
- $ref: '#/components/schemas/Test_VirtualPageLoaded_v1'
- $ref: '#/components/schemas/Test_SlashIDSDKLoaded_v1'
- $ref: '#/components/schemas/Test_PersonIdentified_v1'
- $ref: '#/components/schemas/Test_PersonLoggedOut_v1'
- $ref: '#/components/schemas/Test_TokenMinted_v1'
- $ref: '#/components/schemas/Test_AnonymousTokenMinted_v1'
- $ref: '#/components/schemas/Test_PasswordChanged_v1'
- $ref: '#/components/schemas/Test_GdprConsentsChanged_v1'
- $ref: '#/components/schemas/Test_GateServerStarted_v1'
- $ref: '#/components/schemas/Test_GateRequestCredentialFound_v1'
- $ref: '#/components/schemas/Test_GateRequestHandled_v1'
discriminator:
propertyName: event_name
mapping:
AuthenticationSucceeded_v1: '#/components/schemas/Test_AuthenticationSucceeded_v1'
AuthenticationFailed_v1: '#/components/schemas/Test_AuthenticationFailed_v1'
PersonCreated_v1: '#/components/schemas/Test_PersonCreated_v1'
AnonymousPersonCreated_v1: '#/components/schemas/Test_AnonymousPersonCreated_v1'
PersonDeleted_v1: '#/components/schemas/Test_PersonDeleted_v1'
VirtualPageLoaded_v1: '#/components/schemas/Test_VirtualPageLoaded_v1'
SlashIDSDKLoaded_v1: '#/components/schemas/Test_SlashIDSDKLoaded_v1'
PersonIdentified_v1: '#/components/schemas/Test_PersonIdentified_v1'
PersonLoggedOut_v1: '#/components/schemas/Test_PersonLoggedOut_v1'
TokenMinted_v1: '#/components/schemas/Test_TokenMinted_v1'
AnonymousTokenMinted_v1: '#/components/schemas/Test_AnonymousTokenMinted_v1'
PasswordChanged_v1: '#/components/schemas/Test_PasswordChanged_v1'
GdprConsentsChanged_v1: '#/components/schemas/Test_GdprConsentsChanged_v1'
GateServerStarted_v1: '#/components/schemas/Test_GateServerStarted_v1'
GateRequestHandled_v1: '#/components/schemas/Test_GateRequestHandled_v1'
GateRequestCredentialFound_v1: '#/components/schemas/Test_GateRequestCredentialFound_v1'
Test_PersonCreated_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- type: object
properties:
person_id:
$ref: '#/components/schemas/PersonID'
Test_AnonymousPersonCreated_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- type: object
properties:
person_id:
$ref: '#/components/schemas/PersonID'
APIResponseError:
type: object
properties:
httpcode:
type: integer
message:
type: string
Webhook:
type: object
allOf:
- type: object
properties:
id:
type: string
required:
- id
- $ref: '#/components/schemas/WebhookConfiguration'
Test_TokenMinted_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
APIMeta:
type: object
properties:
pagination:
$ref: '#/components/schemas/APIPagination'
cursor_pagination:
$ref: '#/components/schemas/APICursorPagination'
Test_AnonymousTokenMinted_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
WebhookConfiguration:
type: object
properties:
name:
type: string
description: 'Human-readable name for this webhook. This does not need to be unique, but it is recommended that you choose a name that can be used to distinguish this webhook from others.
'
description:
type: string
description: 'A description of this webhook. This can be used to associate additional information with this webhook for future reference.
'
target_url:
type: string
description: 'The target URL for this webhook. This URL must include the protocol, and the protocol must be HTTPS. A target URL can be registered at most once per organization, but each target URL can have multiple triggers.
'
custom_headers:
type: object
additionalProperties:
type: array
items:
type: string
description: 'A set of custom HTTP headers that will be included in requests to this webhook, provided as key-value pairs.
'
timeout:
type: string
description: The timeout that will be applied when calling this webhook.
required:
- name
- target_url
TestEventsPostReq:
type: array
items:
$ref: '#/components/schemas/TestEventsSpecification'
Test_GateServerStarted_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
Test_PersonLoggedOut_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- $ref: '#/components/schemas/BaseTestSDKEvent'
PersonID:
type: string
description: Person ID
example: 064b7b63-ea43-76e5-b208-1900795bc5b7
Test_AuthenticationSucceeded_v1:
allOf:
- $ref: '#/components/schemas/BaseTestEvent'
- type: object
properties:
person_id:
$ref: '#/components/schemas/PersonID'
authn_method:
$ref: '#/components/schemas/FactorMethod'
parameters:
RequiredConsistencyHeader:
name: SlashID-Required-Consistency
in: header
description: 'The consistency level required for this request. If the consistency level is not achieved within the timeout, the request will fail with a 408 Request Timeout error.
408 Request Timeout error indicates that request was not handled within the timeout, but it may still be handled after request timeout.
Allowed values: * `local_region`: Wait while the request executes in the local region. * `all_regions`: Wait while the request executes across all regions.
You can learn more about our replication model on our [Cross-region Replication Model](/docs/access/concepts/replication) page.
'
schema:
type: string
enum:
- local_region
- all_regions
default: local_region
WebhookTriggerNameQueryParam:
in: query
name: trigger_name
description: The webhook trigger name (for example, an event name)
schema:
type: string
required: true
OrgIDHeader:
name: SlashID-OrgID
in: header
schema:
type: string
required: true
description: The organization ID
example: af5fbd30-7ce7-4548-8b30-4cd59cb2aba1
RequiredConsistencyTimeoutHeader:
name: SlashID-Required-Consistency-Timeout
in: header
description: 'The maximum amount of seconds to wait for the requested consistency level to be achieved. If the consistency level is not achieved within this time, the request will fail with a 408 Request Timeout error.
408 Request Timeout error indicates that request was not handled within the timeout, but it may still be handled after request timeout.
You can learn more about our replication model on our [Cross-region Replication Model](/docs/access/concepts/replication) page.
'
schema:
type: integer
default: 30
maximum: 120
minimum: 1
WebhookIDPathParam:
in: path
required: true
name: webhook_id
schema:
type: string
WebhookTriggerTypeQueryParam:
in: query
name: trigger_type
description: The type of webhook trigger
example: event
schema:
$ref: '#/components/schemas/TriggerType'
required: true
responses:
NoContent:
description: No content
NotFound:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponseBase'
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/APIResponseBase'
securitySchemes:
ApiKeyAuth:
description: Authorizes the request with the organization's API Key.
x-svc-um-api: true
type: apiKey
in: header
name: SlashID-API-Key
OAuth2ClientIdSecret:
description: Authorizes the request with a client ID/client secret pair
type: http
scheme: basic
OAuth2AccessTokenBearer:
description: Authorizes the request with an Access Token for the current user.
type: http
scheme: bearer
bearerFormat: opaque