---
title: "Delete a webchat widget."
method: DELETE
path: "/webchat_widgets/{id}"
tags: ["Webchat"]
---

# Delete a webchat widget.

`DELETE /webchat_widgets/{id}`

Deletes an existing webchat widget by its ID. Cascades to revoke the associated direct hash.

## Path parameters

- `id` string, uuid, required

## Response `200`

Widget successfully deleted.

- WebchatManagerWidget — A customer's webchat widget configuration. Also issues a direct hash for anonymous visitor authentication.
  - `id` string, uuid, required — The unique identifier of the widget. Returned from the `POST /widgets` or `GET /widgets` response.
  - `customer_id` string, uuid, required — The unique identifier of the associated customer. Returned from the `GET /customers` response.
  - `name` string, required — Name of the widget.
  - `status` 'active' | 'inactive', required — The status of the widget.
  - `session_flow_id` string, uuid, required — Fires once per Session, at session creation/start (POST /webchat_sessions) -- bin-conversation-manager owns Create+Execute for this Flow's activeflow. Returned from the `POST /flows` or `GET /flows` response.
  - `message_flow_id` string, uuid — Optional. When set, fires an independent, stateless activeflow on EVERY inbound message (mirrors bin-conversation-manager's Account.MessageFlowID/Number.MessageFlowID pattern for LINE/WhatsApp/SMS). Returned from the `POST /flows` or `GET /flows` response.
  - `session_idle_timeout` integer, required — Session idle timeout in seconds before the session is automatically ended.
  - `theme_config` WebchatManagerWidgetThemeConfig — Cosmetic, customer-editable widget appearance settings. All fields are optional; omitted fields fall back to the platform default (blue bubble, no logo, bottom-right, light mode). An explicit color field always wins over the theme_mode-resolved default.
    - `primary_color` string — Hex color code for the widget's primary color.
    - `secondary_color` string — Hex color code for the widget's accent/text-contrast color.
    - `header_background_color` string — Hex color code for the widget header bar's background. Falls back to primary_color (light mode) or a dark surface color (dark mode) when unset.
    - `header_text_color` string — Hex color code for the widget header bar's text.
    - `logo_url` string, uri — HTTPS URL of the logo image displayed in the widget header.
    - `position` 'bottom_right' | 'bottom_left' — Where the floating bubble/panel renders on the customer's page.
    - `theme_mode` 'light' | 'dark' | 'auto' — Controls light/dark/auto rendering of the widget panel.
    - `header_title` string — Widget header text. Defaults to "Chat with us" when unset.
    - `header_subtitle` string — Widget header subtext, shown below header_title. No subtitle row rendered when unset.
  - `direct_hash` string — Hash used by the embed script (data-hash attribute) to authenticate anonymous visitors via POST /auth/boot. Returned on every response (GET, List, Create, Update, direct_hash_regenerate) -- this value is embedded directly in the customer's public website HTML by design, so it is not a traditional secret; hiding it from GET responses would only make it harder for the customer's own admins to retrieve it.
  - `tm_create` string, date-time — Timestamp when the widget was created.
  - `tm_update` string, date-time — Timestamp when the widget was last updated.
  - `tm_delete` string, date-time — Timestamp when the widget was deleted.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `403` — Insufficient permission (PERMISSION_DENIED).
- `404` — Resource not found (NOT_FOUND).
- `500` — Internal error (INTERNAL).

## Changes

- **2026-07-18** `d96fe6aff10c` — 6 info
  - added the optional property `theme_config/header_background_color` to the response with the `200` status
  - added the optional property `theme_config/header_subtitle` to the response with the `200` status
  - added the optional property `theme_config/header_text_color` to the response with the `200` status
  - added the optional property `theme_config/header_title` to the response with the `200` status
  - …2 more
- **2026-07-18** `d90e2d9717dc` — 1 breaking
  - removed the required property `welcome_message` from the response with the `200` status
- **2026-07-17** `37603aee58ea` — 1 breaking, 3 info
  - removed the required property `flow_id` from the response with the `200` status
  - added the optional property `direct_hash` to the response with the `200` status
  - added the optional property `message_flow_id` to the response with the `200` status
  - added the required property `session_flow_id` to the response with the `200` status
- **2026-07-16** `39e5a5e6214c` — 1 info
  - endpoint added
- **2026-05-30** `995c56ba9219` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/voipbin/apis/voipbin-api/changes/webchat_widgets/:id/delete.md)

---

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