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

# Update Widget

> Update an embed widget's name, status, linked key, appearance, behavior, security, or intent config.

## Authentication

Requires a Bearer token (API key) or a dashboard session.

## Path Parameters

<ParamField path="id" type="string" required>
  The widget config UUID.
</ParamField>

## Request

All fields are optional — include only what you want to change.

<ParamField body="name" type="string">
  Display name for the widget.
</ParamField>

<ParamField body="status" type="string">
  `"active"` or `"disabled"`.
</ParamField>

<ParamField body="api_key_id" type="string">
  Re-link the widget to a different API key.
</ParamField>

<ParamField body="appearance" type="object">
  Visual customization (`primaryColor`, `position`, `borderRadius`, `fontFamily`, …).
</ParamField>

<ParamField body="behavior" type="object">
  Behavioral settings (`welcomeMessage`, `placeholder`, `maxPromptLength`, `enableFileUpload`, `enableVoice`, `strictAbuse`).
</ParamField>

<ParamField body="security" type="object">
  Security settings: the bot-protection toggle and the domain allowlist (`allowedOrigins`/`allowedDomains`).
</ParamField>

<ParamField body="intent" type="object">
  Human-escalation intent config (custom keyword triggers and actions).
</ParamField>

## Response

<ResponseField name="iframe" type="object">
  The updated widget config.
</ResponseField>

## Example

```bash curl theme={null}
curl -X PATCH https://www.hitheo.ai/api/v1/iframes/CONFIG_ID \
  -H "Authorization: Bearer $THEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "status": "disabled" }'
```
