> 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.

# Obtenir la configuration du widget de l'agent

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

Récupère la configuration du widget d'un agent

Reference: https://elevenlabs.io/docs/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) — L’ID d’un agent. Il est renvoyé lors de la création de l’agent.

### Query parameters

- `conversation_signature` (string, optional, nullable) — Un jeton expirant qui permet de démarrer une conversation WebSocket. Ces jetons peuvent être générés pour un agent à l'aide du point de terminaison /v1/convai/conversation/get_signed_url

## Response

### 200

Réponse réussie

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

## Errors

### 422 Unprocessable Entity Error

Erreur de validation

- `detail` (list of ValidationError, optional)

## Types

### WidgetConfigResponseModel

- `language` (string, required)
- `variant` (enum, optional, default: full) — La variante du widget
  - Allowed values: `tiny`, `compact`, `full`, `expandable`
- `placement` (enum, optional, default: bottom-right) — Le positionnement du widget à l’écran
  - Allowed values: `top-left`, `top`, `top-right`, `bottom-left`, `bottom`, `bottom-right`
- `expandable` (enum, optional, default: never) — Indique si le widget peut être développé
  - Allowed values: `never`, `mobile`, `desktop`, `always`
- `avatar` (WidgetConfigResponseModelAvatar, optional) — Avatar du widget
- `feedback_mode` (enum, optional, default: none) — Le mode de retour du widget
  - Allowed values: `none`, `during`, `end`
- `end_feedback` (WidgetEndFeedbackConfig, optional, nullable) — Configuration des retours recueillis à la fin de la conversation
- `bg_color` (string, optional, default: #ffffff) — Couleur d’arrière-plan du widget
- `text_color` (string, optional, default: #000000) — La couleur du texte du widget.
- `btn_color` (string, optional, default: #000000) — Couleur du bouton du widget
- `btn_text_color` (string, optional, default: #ffffff) — Couleur du texte du bouton du widget
- `border_color` (string, optional, default: #e1e1e1) — Couleur de bordure du widget
- `focus_color` (string, optional, default: #000000) — La couleur de focus du widget
- `border_radius` (integer, optional, nullable) — Rayon de bordure du widget
- `btn_radius` (integer, optional, nullable) — Rayon du bouton du widget
- `action_text` (string, optional, nullable) — Texte d’action du widget
- `start_call_text` (string, optional, nullable) — Le texte de démarrage d'appel du widget
- `end_call_text` (string, optional, nullable) — Le texte de fin d’appel du widget
- `expand_text` (string, optional, nullable) — Le texte de développement du widget
- `listening_text` (string, optional, nullable) — Le texte à afficher lorsque l’agent écoute.
- `speaking_text` (string, optional, nullable) — Le texte à afficher lorsque l’agent parle.
- `shareable_page_text` (string, optional, nullable) — Le texte à afficher lors du partage.
- `shareable_page_show_terms` (boolean, optional, default: true) — Indique s'il faut afficher les conditions générales sur la page partageable.
- `terms_text` (string, optional, nullable) — Le texte à afficher pour les conditions générales.
- `terms_html` (string, optional, nullable) — Le HTML à afficher pour les conditions générales
- `terms_key` (string, optional, nullable) — La clé à afficher pour les conditions générales
- `show_avatar_when_collapsed` (boolean, optional, nullable, default: false) — Indique s'il faut afficher l'avatar lorsque le widget est réduit.
- `disable_banner` (boolean, optional, default: false) — Indique s'il faut désactiver la bannière.
- `override_link` (string, optional, nullable) — Le lien de remplacement du widget
- `markdown_link_allowed_hosts` (list of AllowlistItem, optional) — Liste des noms d'hôte autorisés pour les liens Markdown cliquables. Utilisez \{ hostname: '\*' } pour autoriser tous les domaines. Une liste vide signifie qu'aucun lien n'est autorisé.
- `markdown_link_include_www` (boolean, optional, default: true) — Indique s'il faut inclure automatiquement les variantes www. des hôtes autorisés.
- `markdown_link_allow_http` (boolean, optional, default: true) — Indique s’il faut autoriser http:// en plus de https:// pour les hôtes autorisés
- `mic_muting_enabled` (boolean, optional, default: true) — Indique s'il faut activer la mise en sourdine du microphone.
- `transcript_enabled` (boolean, optional, default: true) — Indique si le widget doit afficher la transcription de la conversation au fil de son déroulement
- `text_input_enabled` (boolean, optional, default: true) — Indique si l’utilisateur doit pouvoir envoyer des messages texte
- `conversation_mode_toggle_enabled` (boolean, optional, default: false) — Indique s'il faut activer le sélecteur de mode de conversation dans le widget.
- `default_expanded` (boolean, optional, default: false) — Indique si le widget doit être développé par défaut
- `always_expanded` (boolean, optional, default: false) — Indique si le widget doit toujours être développé
- `dismissible` (boolean, optional, default: false) — Indique si le widget peut être fermé par l’utilisateur
- `show_agent_status` (boolean, optional, default: false) — Indique s'il faut afficher l'état de l'agent, en cours/terminé/erreur, lors de l'utilisation d'un outil.
- `show_conversation_id` (boolean, optional, default: true) — Indique s'il faut afficher l'ID de la conversation après la déconnexion.
- `strip_audio_tags` (boolean, optional, default: true) — Indique s'il faut supprimer le balisage audio des messages.
- `syntax_highlight_theme` (enum, optional, nullable) — Thème de coloration syntaxique des blocs de code. Par défaut, le widget le détecte automatiquement lorsqu’il n’est pas défini.
  - Allowed values: `light`, `dark`
- `text_contents` (WidgetTextContents, optional) — Contenu textuel du widget
- `styles` (WidgetStyles, optional) — Styles du widget
- `show_resize_button` (boolean, optional, default: true) — Indique s'il faut afficher le bouton de redimensionnement.
- `end_confirmation_enabled` (boolean, optional, default: false) — Indique s’il faut demander à l’utilisateur de confirmer avant de mettre fin à un chat ou à un appel.
- `supported_language_overrides` (list of string, optional, nullable)
- `language_presets` (map from string to WidgetLanguagePresetResponse, optional) — Paramètres prédéfinis de langue pour le widget
- `text_only` (boolean, optional, default: false) — Indique si l’agent utilise le mode texte uniquement
- `supports_text_only` (boolean, optional, default: false) — Indique si l’agent peut être basculé en mode texte uniquement
- `first_message` (string, optional, nullable)
- `use_rtc` (boolean, optional, nullable) — Indique s'il faut utiliser WebRTC pour les connexions de conversation.
- `file_input_config` (FileInputConfig, optional) — Configuration du chargement de fichiers dans le widget

### ValidationError

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

### WidgetConfigResponseModelAvatar

Avatar du widget

- OrbAvatar: OrbAvatar
- URLAvatar: URLAvatar
- ImageAvatar: ImageAvatar

### WidgetEndFeedbackConfig

- `type` (enum, optional, default: rating) — Le type de retour à recueillir à la fin de la conversation.
  - Allowed values: `rating`

### AllowlistItem

- `hostname` (string, required) — Le nom d’hôte de l’origine autorisée

### WidgetTextContents

- `main_label` (string, optional, nullable) — Appel à l'action affiché dans les variantes compacte et complète.
- `start_call` (string, optional, nullable) — Texte et libellé ARIA du bouton de démarrage d’appel.
- `start_chat` (string, optional, nullable) — Texte et libellé ARIA du bouton de démarrage du chat (texte uniquement)
- `new_call` (string, optional, nullable) — Texte et libellé ARIA du bouton de nouvel appel. Affiché lorsque l’appelant a déjà terminé au moins un appel afin d’en commencer un autre.
- `end_call` (string, optional, nullable) — Texte et libellé ARIA du bouton de fin d’appel.
- `mute_microphone` (string, optional, nullable) — Libellé ARIA du bouton de désactivation du microphone.
- `change_language` (string, optional, nullable) — Libellé ARIA de la liste déroulante de changement de langue.
- `collapse` (string, optional, nullable) — Libellé ARIA du bouton de réduction.
- `expand` (string, optional, nullable) — Libellé ARIA du bouton de développement.
- `copied` (string, optional, nullable) — Texte affiché lorsque l’utilisateur copie une valeur à l’aide du bouton de copie.
- `accept_terms` (string, optional, nullable) — Texte et libellé ARIA du bouton d’acceptation des conditions.
- `dismiss_terms` (string, optional, nullable) — Texte et libellé ARIA du bouton d’annulation des conditions.
- `listening_status` (string, optional, nullable) — Statut affiché lorsque l’agent écoute.
- `speaking_status` (string, optional, nullable) — Statut affiché lorsque l’agent parle.
- `connecting_status` (string, optional, nullable) — Statut affiché lorsque l’agent se connecte.
- `chatting_status` (string, optional, nullable) — Statut affiché lorsque l’agent échange par chat, texte uniquement
- `queue_waiting_status` (string, optional, nullable) — Statut affiché pendant l’attente dans la file d’un agent disponible.
- `queue_waiting_status_short` (string, optional, nullable) — Statut court affiché en attendant qu’un agent soit disponible.
- `input_label` (string, optional, nullable) — Libellé ARIA du champ de saisie de message texte.
- `input_placeholder` (string, optional, nullable) — Texte indicatif du champ de saisie des messages texte.
- `input_placeholder_text_only` (string, optional, nullable) — Texte indicatif du champ de saisie des messages texte (texte uniquement)
- `input_placeholder_new_conversation` (string, optional, nullable) — Texte indicatif du champ de saisie des messages texte lors du démarrage d’une nouvelle conversation (texte uniquement)
- `user_ended_conversation` (string, optional, nullable) — Message d’information affiché lorsque l’utilisateur met fin à la conversation.
- `agent_ended_conversation` (string, optional, nullable) — Message d’information affiché lorsque l’agent met fin à la conversation.
- `conversation_id` (string, optional, nullable) — Libellé textuel utilisé à côté de l’ID de conversation.
- `error_occurred` (string, optional, nullable) — Libellé textuel utilisé lorsqu’une erreur survient.
- `queue_timed_out` (string, optional, nullable) — Message d'erreur affiché lorsque le délai d'attente dans la file expire.
- `copy_id` (string, optional, nullable) — Texte et libellé ARIA utilisés pour le bouton de copie de l’ID.
- `initiate_feedback` (string, optional, nullable) — Texte affiché pour inviter l’utilisateur à donner son avis.
- `request_follow_up_feedback` (string, optional, nullable) — Texte affiché pour demander des précisions supplémentaires sur l’avis.
- `thanks_for_feedback` (string, optional, nullable) — Texte affiché pour remercier l’utilisateur d’avoir donné son avis.
- `thanks_for_feedback_details` (string, optional, nullable) — Texte supplémentaire affiché pour expliquer l'intérêt des retours utilisateurs.
- `follow_up_feedback_placeholder` (string, optional, nullable) — Texte indicatif du champ de saisie des commentaires de suivi.
- `submit` (string, optional, nullable) — Texte et libellé ARIA du bouton d’envoi.
- `go_back` (string, optional, nullable) — Texte et libellé ARIA du bouton de retour.
- `send_message` (string, optional, nullable) — Texte et libellé ARIA du bouton d’envoi de message.
- `text_mode` (string, optional, nullable) — Texte et libellé ARIA du bouton de basculement vers le mode texte.
- `voice_mode` (string, optional, nullable) — Texte et libellé ARIA du bouton de basculement vers le mode vocal.
- `switched_to_text_mode` (string, optional, nullable) — Notification toast affichée lors du passage en mode texte.
- `switched_to_voice_mode` (string, optional, nullable) — Notification toast affichée lors du passage en mode vocal.
- `copy` (string, optional, nullable) — Texte et libellé ARIA du bouton de copie.
- `download` (string, optional, nullable) — Texte et libellé ARIA du bouton de téléchargement.
- `wrap` (string, optional, nullable) — Texte et libellé ARIA du bouton d’activation du retour à la ligne.
- `agent_working` (string, optional, nullable) — Texte d’état affiché lorsque l’agent traite un appel d’outil.
- `agent_done` (string, optional, nullable) — Texte d’état affiché lorsque l’agent termine le traitement d’un appel d’outil.
- `agent_error` (string, optional, nullable) — Texte d’état affiché lorsque l’agent rencontre une erreur lors d’un appel d’outil.
- `attach_file` (string, optional, nullable) — Texte et libellé ARIA du bouton de pièce jointe.
- `remove_file` (string, optional, nullable) — Libellé ARIA du bouton de suppression de fichier.
- `file_upload_error` (string, optional, nullable) — Message d'erreur affiché lorsqu'un fichier ne parvient pas à être importé.
- `file_type_unsupported` (string, optional, nullable) — Message d'erreur affiché lorsqu'un type de fichier non pris en charge est sélectionné. Suivi de la liste des types acceptés.
- `file_too_large` (string, optional, nullable) — Message d'erreur affiché lorsqu'un fichier dépasse la taille maximale autorisée.
- `file_limit_reached` (string, optional, nullable) — Message d'erreur affiché lorsque le nombre maximal de fichiers pour une conversation est atteint.
- `typing_indicator` (string, optional, nullable) — Texte d’état affiché pendant que l’agent écrit.
- `rich_content_unavailable` (string, optional, nullable) — Message de secours affiché lorsque le contenu enrichi ne peut pas être rendu.

### WidgetStyles

- `base` (string, optional, nullable) — Couleur d’arrière-plan de base.
- `base_hover` (string, optional, nullable) — Couleur de l’arrière-plan de base au survol.
- `base_active` (string, optional, nullable) — Couleur de l’arrière-plan de base lorsqu’il est actif, après clic.
- `base_border` (string, optional, nullable) — Couleur de la bordure sur l’arrière-plan de base.
- `base_subtle` (string, optional, nullable) — Couleur du texte secondaire sur l’arrière-plan de base.
- `base_primary` (string, optional, nullable) — Couleur du texte principal sur l’arrière-plan de base.
- `base_error` (string, optional, nullable) — Couleur du texte d’erreur sur l’arrière-plan de base.
- `accent` (string, optional, nullable) — Couleur d’arrière-plan d’accentuation.
- `accent_hover` (string, optional, nullable) — Couleur de l’arrière-plan d’accentuation au survol.
- `accent_active` (string, optional, nullable) — Couleur de l’arrière-plan d’accentuation lorsqu’il est actif, après clic.
- `accent_border` (string, optional, nullable) — Couleur de la bordure sur l’arrière-plan d’accentuation.
- `accent_subtle` (string, optional, nullable) — Couleur du texte secondaire sur l’arrière-plan d’accentuation.
- `accent_primary` (string, optional, nullable) — Couleur du texte principal sur l’arrière-plan d’accentuation.
- `overlay_padding` (double, optional, nullable) — La marge intérieure autour des bords de la zone d’affichage.
- `button_radius` (double, optional, nullable) — Le rayon des boutons.
- `input_radius` (double, optional, nullable) — Le rayon des champs de saisie.
- `bubble_radius` (double, optional, nullable) — Le rayon des bulles de discussion.
- `sheet_radius` (double, optional, nullable) — Le rayon par défaut des feuilles.
- `compact_sheet_radius` (double, optional, nullable) — Le rayon du panneau en mode compact.
- `dropdown_sheet_radius` (double, optional, nullable) — Le rayon du panneau déroulant.

### WidgetLanguagePresetResponse

- `first_message` (string, optional, nullable)
- `text_contents` (WidgetTextContents, optional, nullable) — Le contenu textuel pour la langue sélectionnée.
- `terms_text` (string, optional, nullable) — Le texte à afficher pour les conditions générales dans cette langue.
- `terms_html` (string, optional, nullable) — Le HTML à afficher pour les conditions générales dans cette langue
- `terms_key` (string, optional, nullable) — La clé à afficher pour les conditions générales dans cette langue

### FileInputConfig

- `enabled` (boolean, optional, default: true) — Lorsque cette option est activée, les utilisateurs peuvent joindre des images, des fichiers PDF ou des fichiers texte dans le chat si le LLM prend en charge les entrées multimodales.
- `max_files_in_memory` (integer, optional, default: 10) — Nombre de fichiers les plus récents conservés en mémoire au cours d’une conversation. Les fichiers plus anciens sont résumés et leur mémoire est libérée.
- `max_files_per_conversation` (integer, optional, default: 10) — Nombre total de fichiers qu’un utilisateur peut importer au cours d’une conversation. Les importations sont facturées par fichier. Utilisez -1 pour aucune limite, ou une valeur >= max_files_in_memory.

### ValidationErrorLocItems

- string
- integer

### OrbAvatar

- `type` ("orb", optional, default: orb) — Le type d’avatar.
- `color_1` (string, optional, default: #2792dc) — La première couleur de l’avatar
- `color_2` (string, optional, default: #9ce6e6) — La deuxième couleur de l'avatar

### URLAvatar

- `type` ("url", optional, default: url) — Le type d’avatar.
- `custom_url` (string, optional, default: ) — URL personnalisée de l’avatar

### ImageAvatar

- `type` ("image", optional, default: image) — Le type d’avatar.
- `url` (string, optional, default: ) — L’URL de l’avatar

## Examples

**Response**

```json
{
  "agent_id": "string",
  "widget_config": {
    "language": "en",
    "supported_language_overrides": [
      "es",
      "fr"
    ],
    "language_presets": {},
    "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"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget';
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"

	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")

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")
  .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');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/widget");
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")! 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()
```