Response
| Field | Type | Description |
|---|---|---|
knowledge_base_id | string | The knowledge base this key belongs to |
knowledge_base_name | string | Its name. The widget shows it in the header when data-product-name is not set |
captcha_required | bool | Whether this key must send a reCAPTCHA v3 token on chat, search, feedback and form-deflect. Always false for a secret pair |
recaptcha_site_key | string | The site key to mint reCAPTCHA v3 tokens with |
hide_branding_allowed | bool | true on the Enterprise plan. Without it, the “Powered by Kelu” line stays even if data-hide-branding is set |
mcp_available | bool | Whether readers can connect AI tools to this knowledge base through the MCP server. Turns on the widget’s “Connect to AI Tools” menu |
mcp_url | string | The MCP server address to show readers. Left out when there is none. Then use https://app.kelu.dev/mcp with the client key |
mcp_oauth | bool | true when mcp_url is a Public MCP server. Readers sign in themselves, so the install steps carry no key. Left out when false |
Using it in a custom UI
- Fetch widget-config on load.
- If
captcha_requiredistrue, load reCAPTCHA v3 withrecaptcha_site_key. Get a fresh token for each gated request. See CAPTCHA. - Show “Powered by Kelu” unless
hide_branding_allowedistrue. - If
mcp_availableistrue, offer the MCP install atmcp_url, or athttps://app.kelu.dev/mcpwhen it is missing.
Saved widget settings
If you saved a widget under Integrations → Website widget, its settings are here too:id, enabled and config (the saved settings). The widget must belong to the key’s knowledge base.
| Status | When |
|---|---|
403 WIDGET_DISABLED | The widget is turned off |
403 ORIGIN_NOT_ALLOWED | The page’s origin is not in the widget’s allowed domains |
404 | Unknown widget id, or a widget from another knowledge base |
widget_id. A refused widget cannot answer questions either.