Skip to main content

Webhooks

List, inspect and delete the Discord webhooks of any project, with an admin session.

Discord webhook creation and management, authenticated with a project API key

List a project's webhooks (admin session)

GET/api/admin/projects/{projectId}/webhooks

Returns the webhooks owned by any project, in the same shape as the project-facing list. Channel and server names are resolved from the bot cache and may be null. Tokens are never returned.

Authentication: Admin session token (Authorization: Bearer <token>)

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesProject ID
serverIdquerystringnoFilter by Discord server ID
limitquerynumbernoMax number of webhooks (1-100) Default: 50.
offsetquerynumbernoPagination offset Default: 0.

Responses

StatusDescriptionBody
200The project's webhooks.WebhookListResponseDto
400Invalid project ID or query parameters.
401Authentication required.
403System Admin access required.

Open in Swagger (opens in a new tab)

Get webhook details (admin session)

GET/api/admin/webhooks/{webhookId}

Returns a webhook owned by any project. The webhook URL and token are never returned.

Authentication: Admin session token (Authorization: Bearer <token>)

Parameters

NameInTypeRequiredDescription
webhookIdpathstringyesWebhook ID

Responses

StatusDescriptionBody
200Webhook details.WebhookDetailResponseDto
401Authentication required.
403System Admin access required.
404Webhook not found.

Open in Swagger (opens in a new tab)

Delete a webhook (admin session)

DELETE/api/admin/webhooks/{webhookId}

Deletes a webhook owned by any project, on Discord and then in storage. If Discord refuses, the stored webhook is kept.

Authentication: Admin session token (Authorization: Bearer <token>)

Parameters

NameInTypeRequiredDescription
webhookIdpathstringyesWebhook ID

Responses

StatusDescriptionBody
204Webhook deleted.
401Authentication required.
403System Admin access required.
404Webhook not found.
502Discord API error.

Open in Swagger (opens in a new tab)

Schemas

WebhookDetailResponseDto schema

FieldTypeRequiredDescription
avatarstring or nullyesDiscord avatar hash
channelIdstringyesDiscord channel ID
channelNamestring or nullyesChannel name from the bot cache
createdAtstringyesISO 8601 creation timestamp
idstringyesWebhook ID
lastUsedAtstring or nullyesISO 8601 timestamp of the last execution
namestringyesWebhook name
serverIdstringyesDiscord server ID
serverNamestring or nullyesServer name from the bot cache
usageCountnumberyesNumber of executions

WebhookListResponseDto schema

FieldTypeRequiredDescription
limitnumberyesApplied limit
offsetnumberyesApplied offset
totalnumberyesTotal webhooks matching the filter
webhooksarray of WebhookSummaryDtoyes

WebhookSummaryDto schema

FieldTypeRequiredDescription
channelIdstringyesDiscord channel ID
channelNamestring or nullyesChannel name from the bot cache
createdAtstringyesISO 8601 creation timestamp
idstringyesWebhook ID
lastUsedAtstring or nullyesISO 8601 timestamp of the last execution
namestringyesWebhook name
serverIdstringyesDiscord server ID
serverNamestring or nullyesServer name from the bot cache
usageCountnumberyesNumber of executions

Source: apps/api/openapi.json.