IDkPlusClient.Webhook covers all six DK Plus v1 webhook operations: list, get, create, update, delete, and test delivery.
IReadOnlyList<WebhookSubscription> webhooks =
await client.Webhook.GetAllAsync(cancellationToken);
WebhookSubscription? webhook =
await client.Webhook.GetAsync(webhookId, cancellationToken);
The public WebhookSubscription and WebhookOptions DTOs use explicit JSON property declarations and retain unknown top-level response properties.
The CLI redacts AuthorizationValue from both table and JSON output:
devop-dk webhook list
devop-dk webhook list --json
devop-dk webhook get <uuid>
JSON output contains hasAuthorizationValue instead of the secret.
Generate an example containing every required shape:
devop-dk webhook template > webhook.json
Edit the destination, event flags, authorization, and failure address. Treat the completed file as a secret when it contains AuthorizationValue; do not commit it or attach it to support requests.
Webhook URLs must be absolute HTTP or HTTPS URLs. Embedded URL credentials are rejected; use AuthorizationScheme and AuthorizationValue instead.
devop-dk webhook create --file webhook.json --yes
devop-dk webhook update <uuid> --file webhook.json --yes
devop-dk webhook delete <uuid> --yes
Update expects a complete webhook document rather than a partial patch.
Equivalent client operations are:
WebhookSubscription? created =
await client.Webhook.CreateAsync(webhook, cancellationToken);
await client.Webhook.UpdateAsync(webhookId, webhook, cancellationToken);
await client.Webhook.DeleteAsync(webhookId, cancellationToken);
Testing asks DK Plus to send an externally visible HTTP request to the supplied endpoint:
devop-dk webhook test --file webhook.json --yes
await client.Webhook.TestAsync(webhook, cancellationToken);
Create, update, delete, and test operations are never retried automatically. The CLI requires --yes for each operation.