Delete Webhook
Unsubscribe a webhook by ID. The deletion is permanent — the signing secret cannot be recovered, and the webhook ID is not reused.
Endpoint
DELETE /v1/webhooks/{id}
Weight: 5 Authentication: Required (signed) — see Authentication.
Path parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
id | string | YES | Webhook identifier, format wh_<6-8 hex>. |
Response
{
"deleted": true,
"id": "wh_2a4f10"
}
Response fields
| Field | Type | Description |
|---|---|---|
deleted | boolean | Always true on a successful response. |
id | string | The deleted webhook's identifier, echoed for confirmation. |
Behaviour notes
- In-flight deliveries finish. Any delivery already dispatched to your endpoint at the moment of the DELETE call will run to completion (success, failure, or timeout) and will not be cancelled mid-flight.
- Queued retries are dropped. Events that were waiting in the retry queue for this webhook are discarded; they will not be redelivered.
- No new events are queued. Events generated after the DELETE returns successfully are never matched against this webhook.
Errors
403 INSUFFICIENT_PERMISSION— the API key lacks thewebhooks:writescope.404 NOT_FOUND— no webhook with thisidexists on the account, or it was already deleted.
See Errors for the full list.
Example
curl -X DELETE "https://api.pipai.example/v1/webhooks/wh_2a4f10" \
-H "X-PipAI-API-Key: $API_KEY" \
-H "X-PipAI-Timestamp: $TS" \
-H "X-PipAI-Signature: $SIG"