Skip to content

Essence Webhook Management API ​

All OpenAPI documents

Version v1 · OpenAPI 3.0.1 · 11 operations · Download the JSON document

Unified webhook management platform for partner integrations

Generated from the WebhookManagement service's code at build time (api-specs/generated/WebhookManagement/Essence.Api.WebhookManagement.Api.json) and drift-checked in CI. It describes what the code registers, which is not the same as what any one deployment has routed.

Webhooks

GET/api/v1/webhooks

Gets all webhook subscriptions with pagination

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
pageNumberqueryinteger (int32)no—
pageSizequeryinteger (int32)no—

Request body

No request body.

Responses

POST/api/v1/webhooks

Creates a new webhook subscription

Authentication:Bearer (the document-wide requirement)

Parameters

Takes no parameters.

Request body

Not marked as required in the document.

Responses

400Bad Request — ProblemDetails
POST/api/v1/webhooks/events

Triggers webhook delivery for an event (internal API)

Authentication:Bearer (the document-wide requirement)

Parameters

Takes no parameters.

Request body

Not marked as required in the document.

Responses

202Accepted — integer (int32)
400Bad Request — ProblemDetails
GET/api/v1/webhooks/{id}

Gets a webhook subscription by ID

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—

Request body

No request body.

Responses

200Success — WebhookSubscriptionDto
404Not Found — ProblemDetails
PUT/api/v1/webhooks/{id}

Updates a webhook subscription

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—

Request body

Not marked as required in the document.

Responses

204No Content
404Not Found — ProblemDetails
DELETE/api/v1/webhooks/{id}

Deletes a webhook subscription

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—

Request body

No request body.

Responses

204No Content
404Not Found — ProblemDetails
GET/api/v1/webhooks/{id}/deliveries

Gets delivery logs for a webhook subscription

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—
pageNumberqueryinteger (int32)no—
pageSizequeryinteger (int32)no—

Request body

No request body.

Responses

404Not Found — ProblemDetails
POST/api/v1/webhooks/{id}/deliveries/redrive

Re-drives (replays) this subscription's dead-lettered deliveries — FR-08.058, debt-2026-08-20-044. Scoped to the caller's OWN subscription and idempotent per delivery id: calling twice does not double-deliver, because each dead letter records that it has been replayed.

The replays re-enter the normal signing + retry path as NEW delivery attempts; the original dead-lettered rows stay terminal so the record of the failure survives the recovery. Send no body (or an empty `deliveryIds`) to replay everything eligible.

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—

Request body

Not marked as required in the document.

Responses

400Bad Request — ProblemDetails
404Not Found — ProblemDetails
POST/api/v1/webhooks/{id}/rotate-secret

Rotates the webhook's signing secret (FR-08.045). Generates a fresh secret and keeps the previous one valid for an overlap window (default 24h, max 7 days) so receivers can redeploy without dropping deliveries. The new secret is returned ONCE in the response and is never retrievable again.

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—

Request body

Not marked as required in the document.

Responses

400Bad Request — ProblemDetails
404Not Found — ProblemDetails
GET/api/v1/webhooks/{id}/statistics

Gets delivery statistics for a webhook subscription

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—
fromDatequerystring (date-time)no—
toDatequerystring (date-time)no—

Request body

No request body.

Responses

200Success — DeliveryStatisticsDto
404Not Found — ProblemDetails
POST/api/v1/webhooks/{id}/test

Sends a test webhook (for testing purposes)

Authentication:Bearer (the document-wide requirement)

Parameters

NameInTypeRequiredDescription
idpathstring (uuid)yes—

Request body

No request body.

Responses

202Accepted
404Not Found — ProblemDetails

Schemas

CreateWebhookSubscriptionRequest

PropertyTypeRequiredDescription
descriptionstring | nullno—
eventTypesstring[] | nullno—
secretKeystring | nullno—
webhookUrlstring | nullno—

CreateWebhookSubscriptionResponse

PropertyTypeRequiredDescription
createdAtstring (date-time)no—
statusstring | nullno—
subscriptionIdstring (uuid)no—

DeliveryStatisticsDto

PropertyTypeRequiredDescription
averageDurationMsnumber (double)no—
failedDeliveriesinteger (int32)no—
pendingDeliveriesinteger (int32)no—
successRatenumber (double)no—
successfulDeliveriesinteger (int32)no—
totalDeliveriesinteger (int32)no—

ProblemDetails

PropertyTypeRequiredDescription
detailstring | nullno—
instancestring | nullno—
statusinteger (int32) | nullno—
titlestring | nullno—
typestring | nullno—

RedrivenDelivery

PropertyTypeRequiredDescription
eventTypestring | nullno—
originalDeliveryIdstring (uuid)no—
replacementDeliveryIdstring (uuid)no—

RedriveWebhookDeliveriesRequest

PropertyTypeRequiredDescription
deliveryIds(string (uuid))[] | nullno—
maxBatchSizeinteger (int32) | nullno—

RedriveWebhookDeliveriesResponse

PropertyTypeRequiredDescription
moreAvailablebooleanno—
redrivenRedrivenDelivery[] | nullno—
redrivenAtstring (date-time)no—
redrivenCountinteger (int32)no—
skippedSkippedDelivery[] | nullno—
subscriptionIdstring (uuid)no—

RotateWebhookSecretRequest

PropertyTypeRequiredDescription
overlapHoursinteger (int32) | nullno—

RotateWebhookSecretResponse

PropertyTypeRequiredDescription
newSecretstring | nullno—
previousSecretExpiresAtstring (date-time)no—
rotatedAtstring (date-time)no—
subscriptionIdstring (uuid)no—

SkippedDelivery

PropertyTypeRequiredDescription
deliveryIdstring (uuid)no—
reasonstring | nullno—

TriggerWebhookEventRequest

PropertyTypeRequiredDescription
eventTypestring | nullno—
payloadstring | nullno—
sourcestring | nullno—

UpdateWebhookSubscriptionRequest

PropertyTypeRequiredDescription
descriptionstring | nullno—
eventTypesstring[] | nullno—
secretKeystring | nullno—
webhookUrlstring | nullno—

WebhookDeliveryLogDto

PropertyTypeRequiredDescription
attemptNumberinteger (int32)no—
canRedrivebooleanno—
createdAtstring (date-time)no—
deliveredAtstring (date-time) | nullno—
durationMsinteger (int64) | nullno—
errorMessagestring | nullno—
eventTypestring | nullno—
idstring (uuid)no—
nextRetryAtstring (date-time) | nullno—
payloadstring | nullno—
redriveOfDeliveryIdstring (uuid) | nullno—
redrivenAtstring (date-time) | nullno—
responseBodystring | nullno—
statusstring | nullno—
statusCodeinteger (int32) | nullno—
subscriptionIdstring (uuid)no—
updatedAtstring (date-time)no—
webhookUrlstring | nullno—

WebhookSubscriptionDto

PropertyTypeRequiredDescription
createdAtstring (date-time)no—
descriptionstring | nullno—
eventTypesstring[] | nullno—
failureCountinteger (int32)no—
idstring (uuid)no—
lastFailureAtstring (date-time) | nullno—
lastSuccessAtstring (date-time) | nullno—
partnerIdstring (uuid)no—
statusstring | nullno—
updatedAtstring (date-time)no—
webhookUrlstring | nullno—

WebhookSubscriptionDtoPaginatedResponse

PropertyTypeRequiredDescription
hasNextPagebooleanno—
hasPreviousPagebooleanno—
itemsWebhookSubscriptionDto[] | nullno—
pageNumberinteger (int32)no—
pageSizeinteger (int32)no—
totalCountinteger (int32)no—
totalPagesinteger (int32)no—

Built with ❤️ for developers · Service status