---
title: "Toggle webhook subscription enabled state"
method: POST
path: "/api/webhookSubscriptions.toggle"
---

# Toggle webhook subscription enabled state

`POST /api/webhookSubscriptions.toggle`

Enables or disables a webhook subscription. Disabled subscriptions will not receive events.

## Request body

- ToggleWebhookSubscriptionRequest
  - `workspace_id` string, required — The ID of the workspace
  - `id` string, required — The ID of the subscription
  - `enabled` boolean, required — Whether to enable or disable the subscription

## Response `200`

Webhook subscription toggled successfully

- ToggleWebhookSubscriptionResponse
  - `subscription` WebhookSubscription — A webhook subscription that receives HTTP callbacks when events occur
    - `id` string — Unique identifier for the subscription
    - `name` string — Human-readable name for the subscription
    - `url` string, uri — The HTTPS URL to receive webhook events
    - `secret` string — Secret key for signing webhook payloads (Standard Webhooks spec)
    - `settings` WebhookSubscriptionSettings — Settings for webhook subscription
      - `event_types` string[] — List of event types this subscription is subscribed to
      - `custom_event_filters` CustomEventFilters, nullable — Optional filters for custom_event.* event types
        - `goal_types` string[], nullable — Filter by goal type (e.g., purchase, subscription, lead)
        - `event_names` string[], nullable — Filter by event name (e.g., orders/fulfilled, payment.succeeded)
    - `event_types` string[] — List of event types this subscription is subscribed to (flattened from settings for convenience)
    - `custom_event_filters` CustomEventFilters, nullable — Optional filters for custom_event.* event types
      - `goal_types` string[], nullable — Filter by goal type (e.g., purchase, subscription, lead)
      - `event_names` string[], nullable — Filter by event name (e.g., orders/fulfilled, payment.succeeded)
    - `enabled` boolean — Whether the subscription is currently active
    - `last_delivery_at` string, date-time, nullable — Timestamp of the last delivery attempt
    - `created_at` string, date-time — When the subscription was created
    - `updated_at` string, date-time — When the subscription was last updated

## Other responses

- `400` — Bad request - missing parameters
- `401` — Unauthorized - invalid or missing authentication token
- `500` — Internal server error

## Changes

- **2025-12-01** `bca4a43d9d46` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/pierre-b/apis/notifuse-api/changes/api/webhookSubscriptions.toggle/post.md)

---

[API](https://skmtc.dev/pierre-b/apis/notifuse-api.md) · [All operations](https://skmtc.dev/pierre-b/apis/notifuse-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pierre-b/notifuse-api/revisions/d26605f2fc47/schema)
