> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Webhook

> Delete a webhook endpoint.

<span data-api-safety-label="destructive"><Badge color="red" size="sm" shape="pill">Destructive</Badge></span>
Deletes a webhook subscription so new events stop being delivered to the registered URL. The secret is not recoverable. If you create another subscription later, store its secret and update your verification configuration.

## When to use this

Webhook deletion is destructive. Reach for it only when you want to permanently retire a subscription, for example:

* A consumer service is being decommissioned.
* The URL was registered against a development environment that no longer exists.
* A previous integration leaked the signing secret and the cleanest mitigation is to delete the subscription, rotate any external dependencies on it, and re-register with a new secret.

If you only want to stop receiving events temporarily, use [Update Webhook](/docs/api-reference/v1/webhooks/update) and set `is_active` to `false`. Disabled webhooks keep their secret and event subscriptions, so you can re-enable delivery later without coordinating a redeploy.

## Verify deletion

List webhooks and confirm the deleted ID is no longer returned. If the delete request times out, check the list before repeating it. The public contract does not currently guarantee how already queued delivery attempts are handled, so keep the receiver safe to run during the transition.

## Path parameters

| Parameter | Description                                     |
| --------- | ----------------------------------------------- |
| `id`      | The webhook ID, for example `whk_c9v3nz8rq4pm`. |

## Errors

* `404 Not Found` is returned when the webhook does not exist or has already been deleted.
* `403 Forbidden` is returned when the caller's API key does not have webhook management permission.

## Related endpoints

* [Update Webhook](/docs/api-reference/v1/webhooks/update): pause delivery without deleting the subscription.
* [List Webhooks](/docs/api-reference/v1/webhooks/list): confirm the webhook is gone after deletion.
* [Webhook secrets](/docs/api-access/webhook-secrets): how secrets are generated and rotated.


## OpenAPI

````yaml DELETE /v1/user-webhooks/{id}
openapi: 3.0.0
info:
  title: DialNexa API
  description: Public `/v1` REST API for the DialNexa voice AI platform.
  version: 1.0.0
servers:
  - url: https://api.dialnexa.com
    description: DialNexa production API
security:
  - bearer: []
tags:
  - name: Agents
  - name: Batch Calls
  - name: Calls
  - name: Knowledge Base
  - name: Languages
  - name: LLMs
  - name: Phone Numbers
  - name: Transcribers
  - name: Webhooks
  - name: Voices
  - name: Workflows
  - name: Workflow Leads
paths:
  /v1/user-webhooks/{id}:
    delete:
      tags:
        - Webhooks
      summary: Delete Webhook
      description: Deletes a webhook so new events stop being delivered.
      operationId: deleteWebhook
      parameters:
        - name: id
          required: true
          in: path
          description: Webhook ID
          schema:
            type: string
            example: webhook_abc123
      responses:
        '200':
          description: Webhook deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Webhook deleted successfully
                  id:
                    type: string
                    example: webhook_abc123
              examples:
                success:
                  summary: Successful response
                  value:
                    success: true
                    message: Webhook deleted successfully
        '401':
          description: Unauthorized - missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                error:
                  summary: 401 Unauthorized
                  value:
                    statusCode: 401
                    message: API key is missing or invalid
                    error: Unauthorized
        '403':
          description: Forbidden - API key does not have access to this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                error:
                  summary: 403 Forbidden
                  value:
                    statusCode: 403
                    message: You do not have permission to access this resource
                    error: Forbidden
        '404':
          description: Webhook not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                error:
                  summary: 404 Not Found
                  value:
                    statusCode: 404
                    message: Webhook not found
                    error: Not Found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                error:
                  summary: 500 Internal Server Error
                  value:
                    statusCode: 500
                    message: Internal server error
                    error: Internal Server Error
      security:
        - bearer: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: integer
          example: 400
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: phone_number must be a valid E.164 phone number
        error:
          type: string
          example: Bad Request
      required:
        - statusCode
        - message
        - error
  securitySchemes:
    bearer:
      scheme: bearer
      type: http

````