webhooks

Disable a webhook endpoint

Changed on

Pause an endpoint. Its status becomes inactive and its URL responds with 404 until you enable it, so providers see failed deliveries and retry on their own schedule. Returns the updated endpoint.

post/api/v1/webhooks/endpoints/{endpointId}/disable

Request

Response

Successful request

idstring required

The endpoint's id.

declaredIdstring required

The id the endpoint is declared with in code (webhooks.endpoint.define({ id })).

sourcestring required

The provider source that verifies and types the endpoint's events.

status'active' | 'inactive' | 'deleting' required

active accepts deliveries. inactive was disabled, or is no longer in the current deployment, and its URL responds with 404.

secretProvisioning'provider' | 'integrator' | 'either' required

Who supplies the signing secret: provider issues it (store it with the set secret endpoint), integrator means you choose it (generate one), and either accepts both.

secretSetboolean required

Whether a signing secret or public key is set. Every delivery is rejected until it is.

tenantIdstring nullable required

Reserved for dynamic endpoints. null for a declared endpoint.

externalRefstring nullable required

Reserved for dynamic endpoints. null for a declared endpoint.

urlstring required

The webhook URL to register with the provider.

createdAtstring date-time required
updatedAtstring date-time required
setupPromptstring required

Instructions for an AI coding agent to register the endpoint with its provider and set up the signing secret.

Example response

{
  "id": "wh_cm1a2b3c4d5e6f",
  "declaredId": "stripe",
  "source": "stripe",
  "url": "https://api.trigger.dev/webhooks/v1/ingest/q3Xb7k2LmP9sT4vW1yZ0aQ",
  "subscribers": [
    {
      "id": "process-checkout",
      "taskId": "process-checkout",
      "filter": "event.type == 'checkout.session.completed'"
    }
  ]
}

Changes