> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Hämta widgetkonfiguration för agent

GET https://api.elevenlabs.io/v1/convai/agents/{agent_id}/widget

Hämta widgetkonfigurationen för en agent

Reference: https://elevenlabs.io/docs/eleven-agents/api-reference/widget/get

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `agent_id` (string, required) — ID:t för en agent. Det returneras när agenten skapas.

### Query parameters

- `conversation_signature` (string, optional) — En token med utgångstid som gör det möjligt att starta ett WebSocket-samtal. Den kan genereras för en agent med slutpunkten /v1/convai/conversation/get_signed_url

## Response

### 200

Lyckat svar

- `agent_id` (string, required)
- `widget_config` (WidgetConfigResponse, required)

## Errors

### 422 Widget Get Request Unprocessable Entity Error

Valideringsfel

- `detail` (list of ValidationError, optional)

## Types

### WidgetConfigResponse

- `language` (string, required)
- `variant` (enum, optional, default: full) — Widgetens variant
  - Allowed values: `tiny`, `compact`, `full`, `expandable`
- `placement` (enum, optional, default: bottom-right) — Widgetens placering på skärmen
  - Allowed values: `top-left`, `top`, `top-right`, `bottom-left`, `bottom`, `bottom-right`
- `expandable` (enum, optional, default: never) — Om widgeten kan expanderas
  - Allowed values: `never`, `mobile`, `desktop`, `always`
- `avatar` (WidgetConfigResponseAvatar, optional) — Widgetens avatar
- `feedback_mode` (enum, optional, default: none) — Widgetens återkopplingsläge
  - Allowed values: `none`, `during`, `end`
- `end_feedback` (WidgetEndFeedbackConfig, optional) — Konfiguration för feedback som samlas in i slutet av samtalet
- `bg_color` (string, optional, default: #ffffff) — Widgetens bakgrundsfärg
- `text_color` (string, optional, default: #000000) — Widgetens textfärg.
- `btn_color` (string, optional, default: #000000) — Widgetens knappfärg
- `btn_text_color` (string, optional, default: #ffffff) — Widgetens knapptextfärg
- `border_color` (string, optional, default: #e1e1e1) — Widgetens kantfärg
- `focus_color` (string, optional, default: #000000) — Widgetens fokusfärg
- `border_radius` (integer, optional) — Widgetens hörnradie
- `btn_radius` (integer, optional) — Widgetens knappradie
- `action_text` (string, optional) — Widgetens åtgärdstext
- `start_call_text` (string, optional) — Widgetens text för att starta samtal
- `end_call_text` (string, optional) — Widgetens text för att avsluta samtalet
- `expand_text` (string, optional) — Widgetens expanderingstext
- `listening_text` (string, optional) — Texten som ska visas när agenten lyssnar.
- `speaking_text` (string, optional) — Texten som ska visas när agenten talar.
- `shareable_page_text` (string, optional) — Texten som ska visas vid delning.
- `shareable_page_show_terms` (boolean, optional, default: true) — Om villkor ska visas på den delbara sidan
- `terms_text` (string, optional) — Texten som ska visas för villkor.
- `terms_html` (string, optional) — HTML som ska visas för villkor
- `terms_key` (string, optional) — Nyckeln som ska visas för villkor
- `show_avatar_when_collapsed` (boolean, optional) — Om avataren ska visas när widgeten är minimerad
- `disable_banner` (boolean, optional, default: false) — Om bannern ska inaktiveras
- `override_link` (string, optional) — Åsidosättningslänken för widgeten
- `markdown_link_allowed_hosts` (list of AllowlistItem, optional) — Lista över tillåtna värdnamn för klickbara Markdown-länkar. Använd \{ hostname: '\*' } för att tillåta alla domäner. Tomt innebär att inga länkar är tillåtna.
- `markdown_link_include_www` (boolean, optional, default: true) — Om www.-varianter av tillåtna värdar ska inkluderas automatiskt
- `markdown_link_allow_http` (boolean, optional, default: true) — Om http:// ska tillåtas utöver https:// för tillåtna värdar
- `mic_muting_enabled` (boolean, optional, default: true) — Om mikrofonavstängning ska aktiveras
- `transcript_enabled` (boolean, optional, default: true) — Om widgeten ska visa transkriptionen av samtalet medan det pågår
- `text_input_enabled` (boolean, optional, default: true) — Om användaren ska kunna skicka textmeddelanden
- `conversation_mode_toggle_enabled` (boolean, optional, default: false) — Om växlingen för samtalsläge ska aktiveras i widgeten
- `default_expanded` (boolean, optional, default: false) — Om widgeten ska vara expanderad som standard
- `always_expanded` (boolean, optional, default: false) — Om widgeten alltid ska vara expanderad
- `dismissible` (boolean, optional, default: false) — Om användaren kan stänga widgeten
- `show_agent_status` (boolean, optional, default: false) — Om agentens status för arbete/klar/fel ska visas när verktyg används
- `show_conversation_id` (boolean, optional, default: true) — Om konversations-ID:t ska visas efter frånkoppling.
- `strip_audio_tags` (boolean, optional, default: true) — Om ljudmarkering ska tas bort från meddelanden.
- `syntax_highlight_theme` (enum, optional) — Tema för syntaxmarkering i kodblock. Om det inte anges används widgetens automatiska identifiering.
  - Allowed values: `light`, `dark`
- `text_contents` (WidgetTextContents, optional) — Textinnehåll i widgeten
- `styles` (WidgetStyles, optional) — Stilar för widgeten
- `show_resize_button` (boolean, optional, default: true) — Om knappen för att ändra storlek ska visas
- `supported_language_overrides` (list of string, optional)
- `language_presets` (map from string to WidgetLanguagePresetResponse, optional) — Språkförinställningar för widgeten
- `text_only` (boolean, optional, default: false) — Om agenten använder läget med endast text
- `supports_text_only` (boolean, optional, default: false) — Om agenten kan växlas till läget med endast text
- `first_message` (string, optional)
- `use_rtc` (boolean, optional) — Om WebRTC ska användas för konversationsanslutningar
- `file_input_config` (FileInputConfig, optional) — Konfiguration för filuppladdning i widgeten

### ValidationError

- `loc` (list of ValidationErrorLocItem, required)
- `msg` (string, required)
- `type` (string, required)

### WidgetConfigResponseAvatar

Widgetens avatar

- `type`: `orb`
  - `color_1` (string, optional, default: #2792dc) — Avatarens första färg
  - `color_2` (string, optional, default: #9ce6e6) — Avatarens andra färg
- `type`: `url`
  - `custom_url` (string, optional, default: ) — Avatarens anpassade URL
- `type`: `image`
  - `url` (string, optional, default: ) — Webbadressen till avataren

### WidgetEndFeedbackConfig

- `type` ("rating", optional) — Typen av feedback som ska samlas in i slutet av samtalet

### AllowlistItem

- `hostname` (string, required) — Värdnamnet för det tillåtna ursprunget

### WidgetTextContents

- `main_label` (string, optional) — Uppmaning som visas i de kompakta och fullständiga varianterna.
- `start_call` (string, optional) — Text och ARIA-etikett för knappen för att starta samtal.
- `start_chat` (string, optional) — Text och ARIA-etikett för knappen för att starta chatt (endast text)
- `new_call` (string, optional) — Text och ARIA-etikett för knappen för ett nytt samtal. Visas när uppringaren redan har avslutat minst ett samtal för att starta nästa.
- `end_call` (string, optional) — Text och ARIA-etikett för knappen för att avsluta samtalet.
- `mute_microphone` (string, optional) — ARIA-etikett för knappen för att stänga av mikrofonen.
- `change_language` (string, optional) — ARIA-etikett för rullgardinsmenyn för språkbyte.
- `collapse` (string, optional) — ARIA-etikett för knappen för att fälla ihop.
- `expand` (string, optional) — ARIA-etikett för knappen för att expandera.
- `copied` (string, optional) — Text som visas när användaren kopierar ett värde med kopieringsknappen.
- `accept_terms` (string, optional) — Text och ARIA-etikett för knappen för att acceptera villkoren.
- `dismiss_terms` (string, optional) — Text och ARIA-etikett för knappen för att avbryta villkoren.
- `listening_status` (string, optional) — Status som visas när agenten lyssnar.
- `speaking_status` (string, optional) — Status som visas när agenten talar.
- `connecting_status` (string, optional) — Status som visas när agenten ansluter.
- `chatting_status` (string, optional) — Status som visas när agenten chattar (endast text)
- `queue_waiting_status` (string, optional) — Status som visas medan du väntar i kön på en tillgänglig agent.
- `queue_waiting_status_short` (string, optional) — Kort status som visas medan du väntar på en tillgänglig agent.
- `input_label` (string, optional) — ARIA-etikett för inmatningsfältet för textmeddelanden.
- `input_placeholder` (string, optional) — Platshållartext för inmatning av textmeddelanden.
- `input_placeholder_text_only` (string, optional) — Platshållartext för inmatning av textmeddelanden (endast text)
- `input_placeholder_new_conversation` (string, optional) — Platshållartext för inmatning av textmeddelanden när en ny konversation startas (endast text)
- `user_ended_conversation` (string, optional) — Informationsmeddelande som visas när användaren avslutar konversationen.
- `agent_ended_conversation` (string, optional) — Informationsmeddelande som visas när agenten avslutar konversationen.
- `conversation_id` (string, optional) — Textetikett som används bredvid konversations-ID:t.
- `error_occurred` (string, optional) — Textetikett som används när ett fel uppstår.
- `queue_timed_out` (string, optional) — Felmeddelande som visas när kötiden löper ut.
- `copy_id` (string, optional) — Text och ARIA-etikett för knappen för att kopiera ID.
- `initiate_feedback` (string, optional) — Text som visas för att be användaren om feedback.
- `request_follow_up_feedback` (string, optional) — Text som visas för att be om ytterligare feedback.
- `thanks_for_feedback` (string, optional) — Text som visas för att tacka användaren för feedback.
- `thanks_for_feedback_details` (string, optional) — Ytterligare text som visas och förklarar värdet av användarfeedback.
- `follow_up_feedback_placeholder` (string, optional) — Platshållartext för inmatningsfältet för uppföljande feedback.
- `submit` (string, optional) — Text och ARIA-etikett för skickaknappen.
- `go_back` (string, optional) — Text och ARIA-etikett för knappen för att gå tillbaka.
- `send_message` (string, optional) — Text och ARIA-etikett för knappen för att skicka meddelande.
- `text_mode` (string, optional) — Text och ARIA-etikett för knappen för att växla till textläge.
- `voice_mode` (string, optional) — Text och ARIA-etikett för knappen för att växla till röstläge.
- `switched_to_text_mode` (string, optional) — Toast-notis som visas när du växlar till textläge.
- `switched_to_voice_mode` (string, optional) — Toast-notis som visas när du växlar till röstläge.
- `copy` (string, optional) — Text och ARIA-etikett för kopieringsknappen.
- `download` (string, optional) — Text och ARIA-etikett för nedladdningsknappen.
- `wrap` (string, optional) — Text och ARIA-etikett för knappen för att växla radbrytning.
- `agent_working` (string, optional) — Statustext som visas medan agenten bearbetar ett verktygsanrop.
- `agent_done` (string, optional) — Statustext som visas när agenten har bearbetat klart ett verktygsanrop.
- `agent_error` (string, optional) — Statustext som visas när agenten stöter på ett fel under ett verktygsanrop.
- `attach_file` (string, optional) — Text och ARIA-etikett för knappen för att bifoga fil.
- `remove_file` (string, optional) — ARIA-etikett för knappen för att ta bort filen.
- `file_upload_error` (string, optional) — Felmeddelande som visas när en fil inte kan laddas upp.
- `file_type_unsupported` (string, optional) — Felmeddelande som visas när en filtyp som inte stöds väljs. Följs av listan över godkända typer.
- `file_too_large` (string, optional) — Felmeddelande som visas när en fil överskrider den maximala storleksgränsen.
- `file_limit_reached` (string, optional) — Felmeddelande som visas när det maximala antalet filer för ett samtal har nåtts.
- `typing_indicator` (string, optional) — Statustext som visas medan agenten skriver.
- `rich_content_unavailable` (string, optional) — Reservmeddelande som visas när rikt innehåll inte kan renderas.

### WidgetStyles

- `base` (string, optional) — Basbakgrundsfärgen.
- `base_hover` (string, optional) — Färgen på grundbakgrunden vid hovring.
- `base_active` (string, optional) — Färgen på grundbakgrunden när den är aktiv (klickad).
- `base_border` (string, optional) — Färgen på kanten mot grundbakgrunden.
- `base_subtle` (string, optional) — Färgen på diskret text mot grundbakgrunden.
- `base_primary` (string, optional) — Färgen på primär text mot basbakgrunden.
- `base_error` (string, optional) — Färgen på feltext mot basbakgrunden.
- `accent` (string, optional) — Accentbakgrundsfärgen.
- `accent_hover` (string, optional) — Färgen på accentbakgrunden vid hovring.
- `accent_active` (string, optional) — Färgen på accentbakgrunden när den är aktiv (klickad).
- `accent_border` (string, optional) — Färgen på kanten mot accentbakgrunden.
- `accent_subtle` (string, optional) — Färgen på diskret text mot accentbakgrunden.
- `accent_primary` (string, optional) — Färgen på primär text mot accentbakgrunden.
- `overlay_padding` (double, optional) — Utfyllnaden runt visningsområdets kanter.
- `button_radius` (double, optional) — Knapparnas radie.
- `input_radius` (double, optional) — Inmatningsfältens radie.
- `bubble_radius` (double, optional) — Chattbubblornas radie.
- `sheet_radius` (double, optional) — Standardradien för blad.
- `compact_sheet_radius` (double, optional) — Panelens radie i kompakt läge.
- `dropdown_sheet_radius` (double, optional) — Radien för rullgardinspanelet.

### WidgetLanguagePresetResponse

- `first_message` (string, optional)
- `text_contents` (WidgetTextContents, optional) — Textinnehållet för det valda språket.
- `terms_text` (string, optional) — Texten som ska visas för villkor på detta språk.
- `terms_html` (string, optional) — HTML som ska visas för villkor på detta språk
- `terms_key` (string, optional) — Nyckeln som ska visas för villkor på detta språk

### FileInputConfig

- `enabled` (boolean, optional, default: true) — När funktionen är aktiverad kan användare bifoga bilder eller PDF:er i chatten när LLM:et stöder multimodal indata.
- `max_files_in_memory` (integer, optional, default: 10) — Antal senast använda filer som behålls i minnet under en konversation. Äldre filer sammanfattas och deras byte frigörs.
- `max_files_per_conversation` (integer, optional, default: 10) — Totalt antal filer som en användare kan ladda upp i ett samtal. Uppladdningar debiteras per fil. Använd -1 för ingen gräns eller ett värde >= max_files_in_memory.

### ValidationErrorLocItem

## Examples

**Response**

```json
{
  "agent_id": "agent_id",
  "widget_config": {
    "language": "en",
    "variant": "tiny",
    "placement": "top-left",
    "expandable": "never",
    "avatar": {
      "type": "orb",
      "color_1": "#2792dc",
      "color_2": "#9ce6e6"
    },
    "feedback_mode": "none",
    "end_feedback": {
      "type": "rating"
    },
    "bg_color": "bg_color",
    "text_color": "text_color",
    "btn_color": "btn_color",
    "btn_text_color": "btn_text_color",
    "border_color": "border_color",
    "focus_color": "focus_color",
    "border_radius": 1,
    "btn_radius": 1,
    "action_text": "action_text",
    "start_call_text": "start_call_text",
    "end_call_text": "end_call_text",
    "expand_text": "expand_text",
    "listening_text": "listening_text",
    "speaking_text": "speaking_text",
    "shareable_page_text": "shareable_page_text",
    "shareable_page_show_terms": true,
    "terms_text": "terms_text",
    "terms_html": "terms_html",
    "terms_key": "terms_key",
    "show_avatar_when_collapsed": true,
    "disable_banner": true,
    "override_link": "override_link",
    "markdown_link_allowed_hosts": [
      {
        "hostname": "hostname"
      }
    ],
    "markdown_link_include_www": true,
    "markdown_link_allow_http": true,
    "mic_muting_enabled": true,
    "transcript_enabled": true,
    "text_input_enabled": true,
    "conversation_mode_toggle_enabled": true,
    "default_expanded": true,
    "always_expanded": true,
    "dismissible": true,
    "show_agent_status": true,
    "show_conversation_id": true,
    "strip_audio_tags": true,
    "syntax_highlight_theme": "light",
    "text_contents": {
      "main_label": "main_label",
      "start_call": "start_call",
      "start_chat": "start_chat",
      "new_call": "new_call",
      "end_call": "end_call",
      "mute_microphone": "mute_microphone",
      "change_language": "change_language",
      "collapse": "collapse",
      "expand": "expand",
      "copied": "copied",
      "accept_terms": "accept_terms",
      "dismiss_terms": "dismiss_terms",
      "listening_status": "listening_status",
      "speaking_status": "speaking_status",
      "connecting_status": "connecting_status",
      "chatting_status": "chatting_status",
      "queue_waiting_status": "queue_waiting_status",
      "queue_waiting_status_short": "queue_waiting_status_short",
      "input_label": "input_label",
      "input_placeholder": "input_placeholder",
      "input_placeholder_text_only": "input_placeholder_text_only",
      "input_placeholder_new_conversation": "input_placeholder_new_conversation",
      "user_ended_conversation": "user_ended_conversation",
      "agent_ended_conversation": "agent_ended_conversation",
      "conversation_id": "conversation_id",
      "error_occurred": "error_occurred",
      "queue_timed_out": "queue_timed_out",
      "copy_id": "copy_id",
      "initiate_feedback": "initiate_feedback",
      "request_follow_up_feedback": "request_follow_up_feedback",
      "thanks_for_feedback": "thanks_for_feedback",
      "thanks_for_feedback_details": "thanks_for_feedback_details",
      "follow_up_feedback_placeholder": "follow_up_feedback_placeholder",
      "submit": "submit",
      "go_back": "go_back",
      "send_message": "send_message",
      "text_mode": "text_mode",
      "voice_mode": "voice_mode",
      "switched_to_text_mode": "switched_to_text_mode",
      "switched_to_voice_mode": "switched_to_voice_mode",
      "copy": "copy",
      "download": "download",
      "wrap": "wrap",
      "agent_working": "agent_working",
      "agent_done": "agent_done",
      "agent_error": "agent_error",
      "attach_file": "attach_file",
      "remove_file": "remove_file",
      "file_upload_error": "file_upload_error",
      "file_type_unsupported": "file_type_unsupported",
      "file_too_large": "file_too_large",
      "file_limit_reached": "file_limit_reached",
      "typing_indicator": "typing_indicator",
      "rich_content_unavailable": "rich_content_unavailable"
    },
    "styles": {
      "base": "base",
      "base_hover": "base_hover",
      "base_active": "base_active",
      "base_border": "base_border",
      "base_subtle": "base_subtle",
      "base_primary": "base_primary",
      "base_error": "base_error",
      "accent": "accent",
      "accent_hover": "accent_hover",
      "accent_active": "accent_active",
      "accent_border": "accent_border",
      "accent_subtle": "accent_subtle",
      "accent_primary": "accent_primary",
      "overlay_padding": 1.1,
      "button_radius": 1.1,
      "input_radius": 1.1,
      "bubble_radius": 1.1,
      "sheet_radius": 1.1,
      "compact_sheet_radius": 1.1,
      "dropdown_sheet_radius": 1.1
    },
    "show_resize_button": true,
    "supported_language_overrides": [
      "es",
      "fr"
    ],
    "language_presets": {
      "key": {}
    },
    "text_only": false,
    "supports_text_only": true,
    "first_message": "Hello! How can I help you today?",
    "use_rtc": false,
    "file_input_config": {
      "enabled": false,
      "max_files_in_memory": 10,
      "max_files_per_conversation": 10
    }
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget"

querystring = {"conversation_signature":"conversation_signature"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget?conversation_signature=conversation_signature")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```