# WebhookSubscription

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/webhooksubscription/
> Summary: OpenAPI request or response schema for WebhookSubscription, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

An external system's event subscription.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `id` | yes | `string (uuid)` | The subscription identifier. | — |
| `tenantId` | yes | `string` | The tenant the subscription belongs to. | — |
| `name` | yes | `string` | The name, unique within the tenant. | — |
| `url` | yes | `string` | The address events are sent to. | — |
| `events` | yes | array of `string` | The subscribed event names. See WebhookEvents. | — |
| `secretConfigurationKey` | no | `string` | The <strong>name</strong> of the configuration key the signing secret is read from. Not the secret itself. | — |
| `headers` | no | `object` | Extra headers added to every request. An HTTP response never returns a stored value: it carries every header name with the value `***`. | — |
| `headerConfigurationKeys` | no | `object` | Credential headers, as a map from the header name to the NAME of the configuration key its value is read from. The value is resolved through `IConfiguration` on every delivery and is never stored. | — |
| `enabled` | no | `boolean` | Whether the subscription is enabled. | — |
| `consecutiveFailures` | no | `integer (int32)` | The consecutive-failure count. Once the threshold is exceeded, the subscription disables itself and is written to the audit trail. | pattern `^-?(?:0\\|[1-9]\d*)$` |
| `createdAt` | yes | `string (date-time)` | The creation time (UTC). | — |
| `updatedAt` | yes | `string (date-time)` | The last-updated time (UTC). | — |
