aethexDocs

Référence API

Agents

Créez et gérez des agents vocaux IA — configurez leur voix, leur langue, les paramètres du LLM, les outils et la base de connaissances.

URL de base
https://api.aethexai.com/api/v1
Endpoints
17
Portées
agents:readagents:write
GET/agents

Parcourez tous les agents de votre compte.

Lister les agents

Retourne une liste paginée de tous les agents vocaux. Chaque élément inclut l'ID, le nom, la voix, la langue et le statut actuel de l'agent.

Chemin & Requête

2
  • limitintegeroptionnel

    Nombre maximum à retourner (par défaut : 50, max : 100).

  • offsetintegeroptionnel

    Nombre d'agents à ignorer (par défaut : 0).

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

422Entité non traitable

limit ou offset n'est pas un entier valide ou est hors de la plage autorisée.

Utilisez un entier non négatif pour offset et une valeur entre 1 et 100 pour limit.

POST/agents

Créez un nouvel agent vocal.

Créer un agent

Crée un nouvel agent avec la configuration spécifiée. L'agent est immédiatement disponible pour les appels sortants ou les sessions WebRTC.

Corps de la requête

58
  • namestringrequis

    Nom d'affichage de l'agent.

  • system_promptstringrequis

    Prompt système du LLM qui définit la persona et le comportement de l'agent.

  • voice_idstringrequis

    Voix à utiliser pour la synthèse vocale. Doit être un ID de voix valide depuis GET /voices.

  • first_messagestringoptionnel

    Message de bienvenue que l'agent dit lorsqu'un appel se connecte. Si omis, l'agent attend que l'utilisateur parle en premier.

  • languagestringoptionnel

    Langue pour la reconnaissance et la synthèse vocale (ex. english, french). Par défaut : english.

  • dialect_stylestringoptionnel

    Remplacement du style dialectal (ex. formal, local). Spécifique au fournisseur.

  • metadataobjectoptionnel

    Paires clé-valeur arbitraires stockées avec l'agent.

  • llm_modelstringoptionnel

    ID du modèle LLM — un nom public du catalogue GET /api/v1/models (par exemple claude-sonnet-4-6, gpt-4o ou aethex-default). Omettez-le ou envoyez une chaîne vide pour utiliser le modèle par défaut de la plateforme. Les réponses renvoient toujours le nom public du catalogue ; le routage interne du fournisseur n'est jamais exposé.

  • temperaturenumberoptionnel

    Température d'échantillonnage (0.0–2.0). Les valeurs basses produisent des réponses plus déterministes. Ignorée pour les modèles de raisonnement d'OpenAI (la série o et la famille gpt-5), qui n'acceptent pas de température.

  • max_tokensintegeroptionnel

    Nombre maximum de tokens par réponse LLM, un entier de 1 à 8192. Omettez ou envoyez null pour le défaut de la plateforme (configurable via AETHEX_LLM_MAX_COMPLETION_TOKENS, 512 sauf si le déploiement le remplace).

  • max_context_tokensintegeroptionnel

    Fenêtre de contexte LLM maximale pour cet agent (1024–262144 tokens). Null utilise le défaut de la plateforme.

  • frequency_penaltynumberoptionnel

    Pénalité de fréquence LLM entre -2.0 et 2.0. Omettre ou envoyer null revient à la valeur par défaut de la plateforme Aethex (0.4), et non à une valeur par défaut native du fournisseur.

  • presence_penaltynumberoptionnel

    Pénalité de présence LLM entre -2.0 et 2.0. Omettre ou envoyer null revient à la valeur par défaut de la plateforme Aethex (0.9), et non à une valeur par défaut native du fournisseur.

  • max_duration_secondsintegeroptionnel

    Durée maximale stricte de l'appel en secondes (30–3 600). L'appel se termine automatiquement quand cette limite est atteinte.

  • silence_timeout_secondsintegeroptionnel

    Termine l'appel si l'utilisateur reste silencieux pendant ce nombre de secondes. Null désactive.

  • max_turnsintegeroptionnel

    Raccroche quand l'appelant entame son Nième tour de parole, où N vaut cette valeur (1–1000) ; ce tour n'est pas traité. Null hérite du défaut de la plateforme (aucune limite).

  • history_truncation_enabledbooleanoptionnel

    Supprime les tours anciens quand la conversation s’allonge. Null hérite du défaut ; la plateforme ignore false sur les modèles qu’elle héberge elle-même.

  • history_max_turnsintegeroptionnel

    Nombre de tours qui déclenche la troncature (1–200) — pas le nombre de tours conservés. Null hérite du défaut de la plateforme.

  • sms_message_idsstring[]optionnel

    Les SMS que cet agent peut envoyer, par identifiant. Omis ou [] : tous les messages actifs. Au-delà d'environ 8 choix, l'agent distingue moins bien — un conseil, pas une limite.

  • sms_max_sends_per_messageintegeroptionnel

    Combien de fois un appel peut envoyer le même message (1–30). Null hérite du défaut, 2. Le plafond de l'appel borne toujours le total.

  • interruption_enabledbooleanoptionnel

    Permet à l'appelant d'interrompre l'agent en cours de réponse (par défaut : true).

  • barge_in_min_speech_secsnumberoptionnel

    Durée, en secondes, pendant laquelle l'appelant doit continuer à parler par-dessus l'agent avant que celui-ci s'arrête pour l'écouter, de 0 à 3. Un son plus court, comme une toux ou un bref « mm-hmm », n'interrompt plus l'agent, qui n'y répond pas. Quand l'agent se tait, toute parole ouvre aussitôt le tour de l'appelant. Null applique la valeur par défaut de la plateforme, 0,6 ; 0 arrête l'agent dès la première parole entendue. Une modification s'applique à partir du prochain appel de l'agent.

  • turn_eagernessstringoptionnel

    Avec quelle insistance l'agent prend la parole : patient, normal, ou eager. Null utilise le défaut de la plateforme.

  • end_call_enabledbooleanoptionnel

    Si l'agent peut terminer l'appel lui-même (par défaut : true).

  • end_call_phrasesstring[]optionnel

    Phrases que l'appelant peut dire pour mettre fin à l'appel. Lorsque l'agent en entend une, il dit un bref au revoir et raccroche.

  • end_call_behaviorstringoptionnel

    Quand terminer les appels : auto_detect (intention LLM + phrases) ou phrases_only (par défaut : auto_detect). phrases_only est indicatif — il oriente l'agent vers une fin sur vos end_call_phrases, mais le modèle peut tout de même terminer sur une conclusion claire de la conversation.

  • voicemail_detection_enabledbooleanoptionnel

    Détecte quand l'appel est tombé sur messagerie vocale (par défaut : false).

  • voicemail_messagestringoptionnel

    Message à laisser quand la messagerie vocale est détectée. Nécessite voicemail_detection_enabled=true.

  • voicemail_actionstringoptionnel

    Que faire sur messagerie : leave_message ou hangup (par défaut : leave_message).

  • inbound_lobby_enabledbooleanoptionnel

    Joue un message d'attente au début des appels entrants avant que l'agent ne prenne la ligne (par défaut : false).

  • inbound_lobby_messagestringoptionnel

    Texte d'accueil du lobby, jusqu'à 120 caractères.

  • inbound_lobby_audio_presetstringoptionnel

    Audio de fond du lobby : none, ambient, ou instrumental (par défaut : ambient).

  • inbound_lobby_max_wait_secondsintegeroptionnel

    Attente maximale du lobby en secondes (0–60, par défaut : 45).

  • recording_enabledbooleanoptionnel

    Si l'audio de l'appel doit être enregistré (par défaut : true).

  • transcription_enabledbooleanoptionnel

    Si la transcription de la conversation doit être stockée (par défaut : true).

  • public_accessbooleanoptionnel

    Lorsque cette option est active, n'importe qui peut démarrer un appel avec cet agent depuis un navigateur ou une application en utilisant uniquement son id, sans clé API ni proxy. Désactivé par défaut. Les appels publics vous sont facturés normalement, et des limites de la plateforme protègent contre les abus. Utilisez allowed_origins pour restreindre les sites web autorisés à l'intégrer.

  • allowed_originsstring[]optionnel

    Liste facultative de noms d'hôtes de sites web autorisés à intégrer un agent public dans un navigateur, par exemple example.com ou app.example.com. Laissez vide pour autoriser toute origine. S'applique uniquement aux navigateurs, car les applications natives et les serveurs n'envoient pas d'origine. Sans effet si public_access n'est pas activé.

  • focus_guardrail_enabledbooleanoptionnel

    Bloque les réponses hors sujet (par défaut : true).

  • content_guardrail_enabledbooleanoptionnel

    Bloque le contenu non sécuritaire (par défaut : false).

  • custom_guardrailsobject[]optionnel

    Règles personnalisées en langage naturel : liste d'objets { name, prompt, is_enabled }.

  • script_adherencestringoptionnel

    Avec quelle rigueur l'agent suit son prompt système : strict, medium, ou loose (par défaut : strict).

  • keypad_capture_enabledbooleanoptionnel

    Indique si l'agent accepte la saisie au clavier téléphonique (DTMF) pendant les appels, pour qu'un appelant puisse taper une référence ou un numéro de carte plutôt que de le dire. Activé par défaut. Sans effet sur les agents navigateur, qui n'ont pas de clavier.

  • idle_check_in_after_secsnumberoptionnel

    Secondes de silence utilisateur avant que l'agent ne relance la conversation (1.0–600.0). 15 secondes par défaut si non défini.

  • max_idle_attemptsintegeroptionnel

    Nombre maximal de relances avant que l'agent n'envoie un au revoir et raccroche (>= 0). Utilisez 0 pour des relances illimitées (l'agent ne raccroche jamais pour silence seul).

  • soft_timeout_secondsnumberoptionnel

    Secondes avant que l'agent ne joue une phrase d'attente pendant qu'il attend le LLM (1.0–300.0). Null désactive.

  • soft_timeout_messagestringoptionnel

    Texte d'attente prononcé quand le soft timeout se déclenche.

  • soft_timeout_use_llmbooleanoptionnel

    Si true, le message de soft timeout est généré par le LLM au lieu d'utiliser soft_timeout_message tel quel (par défaut : false).

  • response_min_sentencesintegeroptionnel

    Nombre minimal de phrases par réponse (>= 0). 2 par défaut si non défini.

  • response_max_sentencesintegeroptionnel

    Nombre maximal de phrases par réponse (>= 0). Doit être >= response_min_sentences. 3 par défaut si non défini.

  • rag_top_kintegeroptionnel

    Nombre de morceaux de base de connaissances à récupérer par tour (1–20). Null utilise le défaut de la plateforme : 6, choisi pour améliorer le rappel quand une politique est répartie sur des fragments adjacents tandis que le pipeline vocal limite toujours l'injection locale au contexte réellement servi.

  • rag_min_scorenumberoptionnel

    Score minimal de similarité vectorielle ou par mot-clé pour les morceaux récupérés (0.0–1.0). Null utilise le défaut de la plateforme : 0.1 ; utilisez 0.0 pour désactiver le seuil.

  • transfer_phone_numberstringoptionnel

    Numéro E.164 vers lequel transférer l'appel quand l'agent déclenche un transfert.

  • transfer_phone_numbersstring[]optionnel

    Jusqu'à cinq numéros au format E.164, appelés dans l'ordre : un transfert accompagné passe au suivant lorsqu'une ligne ne répond pas ou est indisponible. Lorsqu'il est renseigné, il prime sur transfer_phone_number ; envoyez [] pour revenir au comportement à un seul numéro.

  • transfer_modestringoptionnel

    Ce que fait l'agent une fois que la personne vers qui il transfère décroche. warm (par défaut) : il la briefe en privé, puis quitte l'appel. conference : il la briefe, puis reste en ligne sans parler — la suite de l'appel est enregistrée et transcrite, les propos de cette personne sous forme de tours human_agent, dans la limite de recording_enabled et transcription_enabled de l'agent. Le mode conférence exige que l'appel reste sur la passerelle SIP d'Aethex : appels SIP uniquement, avec un trunk sortant par lequel le transfert peut appeler. Sur les appels Twilio et Teams, l'agent transfère en mode warm.

  • outbound_trunk_idstring (uuid)optionnel

    Le trunk SIP par lequel cet agent émet ses appels. Il doit faire partie de vos trunks sortants actifs ; omettez-le pour utiliser celui de l'espace de travail par défaut, et envoyez "" pour effacer un choix existant. Un trunk lié au numéro concerné reste prioritaire sur ce réglage.

  • sms_sender_number_idstring (uuid)optionnel

    Le numéro depuis lequel partent les messages texte de cet agent, sous forme d'identifiant de numéro. Il doit être l'un de vos numéros actifs portant sms_sender : 404 s'il n'est pas le vôtre, 422 s'il n'envoie pas. Omis (ou envoyé à ""), l'agent utilise le numéro qui porte sms_sender_default, ce que font tous les agents tant que vous n'en désignez pas. Vérifié à chaque appel : un numéro rendu plus tard revient au numéro par défaut au lieu d'envoyer depuis une ligne que vous n'avez plus.

  • dynamic_variablesobjectoptionnel

    Valeurs par défaut pour les placeholders {{variable}} interpolés dans le prompt système au début de l'appel.

  • webhook_urlstringoptionnel

    URL HTTPS (port 443) qui reçoit un rapport call.ended signé à la fin de chaque appel, avec le statut de l'appel et la transcription. L'enregistrement est livré séparément via un événement recording.ready une fois que l'audio a fini d'être téléversé. Signé avec le secret webhook de votre tenant via l'en-tête X-Aethex-Signature.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

422Entité non traitable

Le corps de la requête contient des champs invalides ou inconnus.

Supprimez les champs inconnus et vérifiez le schéma du corps de la requête.

422Entité non traitable

voice_id ne correspond à aucune voix disponible pour votre tenant.

Utilisez un voice_id depuis GET /voices.

GET/agents/:id

Récupérez un agent unique par ID.

Obtenir un agent

Retourne l'enregistrement complet de l'agent incluant tous les champs de configuration.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

422Entité non traitable

id n'est pas un UUID valide.

Passez un UUID valide depuis GET /agents.

PATCH/agents/:id

Mettez à jour partiellement la configuration d'un agent.

Mettre à jour un agent

Accepte un corps partiel — seuls les champs que vous incluez sont modifiés ; les champs omis restent inchangés (les valeurs par défaut indiquées dans les descriptions de champs ne s'appliquent qu'à la création). Retourne l'enregistrement de l'agent mis à jour.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent à mettre à jour.

Corps de la requête

58
  • namestringoptionnel

    Nom d'affichage de l'agent.

  • system_promptstringoptionnel

    Remplace entièrement le prompt système. Pour l'enrichir, récupérez d'abord la valeur actuelle. Ne peut pas être défini à null — omettez le champ pour le laisser inchangé.

  • voice_idstringoptionnel

    Voix à utiliser pour la synthèse vocale. Doit être un ID de voix valide depuis GET /voices.

  • first_messagestringoptionnel

    Message de bienvenue que l'agent dit lorsqu'un appel se connecte. Si omis, l'agent attend que l'utilisateur parle en premier.

  • languagestringoptionnel

    Langue pour la reconnaissance et la synthèse vocale (ex. english, french). Par défaut : english.

  • dialect_stylestringoptionnel

    Remplacement du style dialectal (ex. formal, local). Spécifique au fournisseur.

  • metadataobjectoptionnel

    Paires clé-valeur arbitraires stockées avec l'agent.

  • llm_modelstringoptionnel

    ID du modèle LLM — un nom public du catalogue GET /api/v1/models (par exemple claude-sonnet-4-6, gpt-4o ou aethex-default). Omettez-le ou envoyez une chaîne vide pour utiliser le modèle par défaut de la plateforme. Les réponses renvoient toujours le nom public du catalogue ; le routage interne du fournisseur n'est jamais exposé.

  • temperaturenumberoptionnel

    Température d'échantillonnage (0.0–2.0). Les valeurs basses produisent des réponses plus déterministes. Ignorée pour les modèles de raisonnement d'OpenAI (la série o et la famille gpt-5), qui n'acceptent pas de température.

  • max_tokensintegeroptionnel

    Nombre maximum de tokens par réponse LLM, un entier de 1 à 8192. Omettez ou envoyez null pour le défaut de la plateforme (configurable via AETHEX_LLM_MAX_COMPLETION_TOKENS, 512 sauf si le déploiement le remplace).

  • max_context_tokensintegeroptionnel

    Fenêtre de contexte LLM maximale pour cet agent (1024–262144 tokens). Null utilise le défaut de la plateforme.

  • frequency_penaltynumberoptionnel

    Pénalité de fréquence LLM entre -2.0 et 2.0. Omettre ou envoyer null revient à la valeur par défaut de la plateforme Aethex (0.4), et non à une valeur par défaut native du fournisseur.

  • presence_penaltynumberoptionnel

    Pénalité de présence LLM entre -2.0 et 2.0. Omettre ou envoyer null revient à la valeur par défaut de la plateforme Aethex (0.9), et non à une valeur par défaut native du fournisseur.

  • max_duration_secondsintegeroptionnel

    Durée maximale stricte de l'appel en secondes (30–3 600). L'appel se termine automatiquement quand cette limite est atteinte.

  • silence_timeout_secondsintegeroptionnel

    Termine l'appel si l'utilisateur reste silencieux pendant ce nombre de secondes. Null désactive.

  • max_turnsintegeroptionnel

    Raccroche quand l'appelant entame son Nième tour de parole, où N vaut cette valeur (1–1000) ; ce tour n'est pas traité. Null hérite du défaut de la plateforme (aucune limite).

  • history_truncation_enabledbooleanoptionnel

    Supprime les tours anciens quand la conversation s’allonge. Null hérite du défaut ; la plateforme ignore false sur les modèles qu’elle héberge elle-même.

  • history_max_turnsintegeroptionnel

    Nombre de tours qui déclenche la troncature (1–200) — pas le nombre de tours conservés. Null hérite du défaut de la plateforme.

  • sms_message_idsstring[]optionnel

    Remplace les SMS que cet agent peut envoyer, par identifiant. Omis : la sélection actuelle est conservée ; [] ou null : l'agent revient à tous les messages actifs.

  • sms_max_sends_per_messageintegeroptionnel

    Combien de fois un appel peut envoyer le même message (1–30). Null hérite du défaut, 2. Le plafond de l'appel borne toujours le total.

  • interruption_enabledbooleanoptionnel

    Permet à l'appelant d'interrompre l'agent en cours de réponse (par défaut : true).

  • barge_in_min_speech_secsnumberoptionnel

    Durée, en secondes, pendant laquelle l'appelant doit continuer à parler par-dessus l'agent avant que celui-ci s'arrête pour l'écouter, de 0 à 3. Un son plus court, comme une toux ou un bref « mm-hmm », n'interrompt plus l'agent, qui n'y répond pas. Quand l'agent se tait, toute parole ouvre aussitôt le tour de l'appelant. Null applique la valeur par défaut de la plateforme, 0,6 ; 0 arrête l'agent dès la première parole entendue. Une modification s'applique à partir du prochain appel de l'agent.

  • turn_eagernessstringoptionnel

    Avec quelle insistance l'agent prend la parole : patient, normal, ou eager. Null utilise le défaut de la plateforme.

  • end_call_enabledbooleanoptionnel

    Si l'agent peut terminer l'appel lui-même (par défaut : true).

  • end_call_phrasesstring[]optionnel

    Phrases que l'appelant peut dire pour mettre fin à l'appel. Lorsque l'agent en entend une, il dit un bref au revoir et raccroche.

  • end_call_behaviorstringoptionnel

    Quand terminer les appels : auto_detect (intention LLM + phrases) ou phrases_only (par défaut : auto_detect). phrases_only est indicatif — il oriente l'agent vers une fin sur vos end_call_phrases, mais le modèle peut tout de même terminer sur une conclusion claire de la conversation.

  • voicemail_detection_enabledbooleanoptionnel

    Détecte quand l'appel est tombé sur messagerie vocale (par défaut : false).

  • voicemail_messagestringoptionnel

    Message à laisser lorsqu'une messagerie vocale est détectée. Accepté seul sans renvoyer voicemail_detection_enabled ; rejeté uniquement si vous définissez voicemail_detection_enabled=false dans la même requête.

  • voicemail_actionstringoptionnel

    Que faire sur messagerie : leave_message ou hangup (par défaut : leave_message).

  • inbound_lobby_enabledbooleanoptionnel

    Joue un message d'attente au début des appels entrants avant que l'agent ne prenne la ligne (par défaut : false).

  • inbound_lobby_messagestringoptionnel

    Texte d'accueil du lobby, jusqu'à 120 caractères.

  • inbound_lobby_audio_presetstringoptionnel

    Audio de fond du lobby : none, ambient, ou instrumental (par défaut : ambient).

  • inbound_lobby_max_wait_secondsintegeroptionnel

    Attente maximale du lobby en secondes (0–60, par défaut : 45).

  • recording_enabledbooleanoptionnel

    Si l'audio de l'appel doit être enregistré (par défaut : true).

  • transcription_enabledbooleanoptionnel

    Si la transcription de la conversation doit être stockée (par défaut : true).

  • public_accessbooleanoptionnel

    Lorsque cette option est active, n'importe qui peut démarrer un appel avec cet agent depuis un navigateur ou une application en utilisant uniquement son id, sans clé API ni proxy. Désactivé par défaut. Les appels publics vous sont facturés normalement, et des limites de la plateforme protègent contre les abus. Utilisez allowed_origins pour restreindre les sites web autorisés à l'intégrer.

  • allowed_originsstring[]optionnel

    Liste facultative de noms d'hôtes de sites web autorisés à intégrer un agent public dans un navigateur, par exemple example.com ou app.example.com. Laissez vide pour autoriser toute origine. S'applique uniquement aux navigateurs, car les applications natives et les serveurs n'envoient pas d'origine. Sans effet si public_access n'est pas activé.

  • focus_guardrail_enabledbooleanoptionnel

    Bloque les réponses hors sujet (par défaut : true).

  • content_guardrail_enabledbooleanoptionnel

    Bloque le contenu non sécuritaire (par défaut : false).

  • custom_guardrailsobject[]optionnel

    Règles personnalisées en langage naturel : liste d'objets { name, prompt, is_enabled }.

  • script_adherencestringoptionnel

    Avec quelle rigueur l'agent suit son prompt système : strict, medium, ou loose (par défaut : strict).

  • keypad_capture_enabledbooleanoptionnel

    Indique si l'agent accepte la saisie au clavier téléphonique (DTMF) pendant les appels, pour qu'un appelant puisse taper une référence ou un numéro de carte plutôt que de le dire. Activé par défaut. Sans effet sur les agents navigateur, qui n'ont pas de clavier.

  • idle_check_in_after_secsnumberoptionnel

    Secondes de silence utilisateur avant que l'agent ne relance la conversation (1.0–600.0). 15 secondes par défaut si non défini.

  • max_idle_attemptsintegeroptionnel

    Nombre maximal de relances avant que l'agent n'envoie un au revoir et raccroche (>= 0). Utilisez 0 pour des relances illimitées (l'agent ne raccroche jamais pour silence seul).

  • soft_timeout_secondsnumberoptionnel

    Secondes avant que l'agent ne joue une phrase d'attente pendant qu'il attend le LLM (1.0–300.0). Null désactive.

  • soft_timeout_messagestringoptionnel

    Texte d'attente prononcé quand le soft timeout se déclenche.

  • soft_timeout_use_llmbooleanoptionnel

    Si true, le message de soft timeout est généré par le LLM au lieu d'utiliser soft_timeout_message tel quel (par défaut : false).

  • response_min_sentencesintegeroptionnel

    Nombre minimal de phrases par réponse (>= 0). 2 par défaut si non défini.

  • response_max_sentencesintegeroptionnel

    Nombre maximal de phrases par réponse (>= 0). Doit être >= response_min_sentences. 3 par défaut si non défini.

  • rag_top_kintegeroptionnel

    Nombre de morceaux de base de connaissances à récupérer par tour (1–20). Null utilise le défaut de la plateforme : 6, choisi pour améliorer le rappel quand une politique est répartie sur des fragments adjacents tandis que le pipeline vocal limite toujours l'injection locale au contexte réellement servi.

  • rag_min_scorenumberoptionnel

    Score minimal de similarité vectorielle ou par mot-clé pour les morceaux récupérés (0.0–1.0). Null utilise le défaut de la plateforme : 0.1 ; utilisez 0.0 pour désactiver le seuil.

  • transfer_phone_numberstringoptionnel

    Numéro E.164 vers lequel transférer l'appel quand l'agent déclenche un transfert.

  • transfer_phone_numbersstring[]optionnel

    Jusqu'à cinq numéros au format E.164, appelés dans l'ordre : un transfert accompagné passe au suivant lorsqu'une ligne ne répond pas ou est indisponible. Lorsqu'il est renseigné, il prime sur transfer_phone_number ; envoyez [] pour revenir au comportement à un seul numéro.

  • transfer_modestringoptionnel

    Ce que fait l'agent une fois que la personne vers qui il transfère décroche. warm (par défaut) : il la briefe en privé, puis quitte l'appel. conference : il la briefe, puis reste en ligne sans parler — la suite de l'appel est enregistrée et transcrite, les propos de cette personne sous forme de tours human_agent, dans la limite de recording_enabled et transcription_enabled de l'agent. Le mode conférence exige que l'appel reste sur la passerelle SIP d'Aethex : appels SIP uniquement, avec un trunk sortant par lequel le transfert peut appeler. Sur les appels Twilio et Teams, l'agent transfère en mode warm.

  • outbound_trunk_idstring (uuid)optionnel

    Le trunk SIP par lequel cet agent émet ses appels. Il doit faire partie de vos trunks sortants actifs ; omettez-le pour utiliser celui de l'espace de travail par défaut, et envoyez "" pour effacer un choix existant. Un trunk lié au numéro concerné reste prioritaire sur ce réglage.

  • sms_sender_number_idstring (uuid)optionnel

    Le numéro depuis lequel partent les messages texte de cet agent, sous forme d'identifiant de numéro. Il doit être l'un de vos numéros actifs portant sms_sender : 404 s'il n'est pas le vôtre, 422 s'il n'envoie pas. Omis (ou envoyé à ""), l'agent utilise le numéro qui porte sms_sender_default, ce que font tous les agents tant que vous n'en désignez pas. Vérifié à chaque appel : un numéro rendu plus tard revient au numéro par défaut au lieu d'envoyer depuis une ligne que vous n'avez plus.

  • dynamic_variablesobjectoptionnel

    Valeurs par défaut pour les placeholders {{variable}} interpolés dans le prompt système au début de l'appel.

  • webhook_urlstringoptionnel

    URL HTTPS (port 443) qui reçoit un rapport call.ended signé à la fin de chaque appel, avec le statut de l'appel et la transcription. L'enregistrement est livré séparément via un événement recording.ready une fois que l'audio a fini d'être téléversé. Signé avec le secret webhook de votre tenant via l'en-tête X-Aethex-Signature.

Erreurs

5
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

422Entité non traitable

Le corps de la requête contient des champs qui ne peuvent pas être mis à jour via cet endpoint.

Supprimez les champs inconnus et vérifiez le schéma du corps de la requête.

422Entité non traitable

voice_id ne correspond à aucune voix disponible pour votre tenant.

Utilisez un voice_id depuis GET /voices.

DELETE/agents/:id

Supprimez définitivement un agent.

Supprimer un agent

Supprime l'agent ainsi que tous ses outils et documents de base de connaissances associés. Cette action est irréversible.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent à supprimer.

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

POST/agents/:id/duplicate

Créez une copie d'un agent existant.

Dupliquer un agent

Crée un nouvel agent avec la même configuration que l'agent source. Le nom de la copie est suffixé par "(copie)". Les outils sont également dupliqués ; les documents de base de connaissances ne le sont pas.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent à dupliquer.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

422Entité non traitable

voice_id ne correspond à aucune voix disponible pour votre tenant.

Utilisez un voice_id depuis GET /voices.

POST/agents/:id/tools

Attachez un nouvel outil HTTP à un agent.

Ajouter un outil

Ajoute un outil appelable via HTTP que le LLM de l'agent peut invoquer pendant une conversation. Définissez le schéma JSON pour les paramètres afin que le LLM sache comment l'appeler.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Corps de la requête

8
  • namestringrequis

    Nom de l'outil utilisé dans l'appel de fonction LLM (snake_case, sans espaces).

  • descriptionstringoptionnel

    Description lisible par l'humain de ce que fait l'outil. Le LLM l'utilise pour décider quand l'appeler.

  • tool_typestringoptionnel

    Type d'outil — function pour les callbacks HTTP. Par défaut : function.

  • parameters_schemaobjectoptionnel

    Objet JSON Schema décrivant les paramètres de l'outil.

  • parametersobjectoptionnel

    Alias pour parameters_schema.

  • endpoint_urlstringoptionnel

    URL HTTPS (port 443) que la plateforme appelle quand l'agent invoque cet outil. Doit être un nom d'hôte publiquement résolvable ou une adresse IP publique (pas de localhost, pas d'IP privée/interne, pas d'identifiants intégrés, pas de fragment d'URL) ; validé à la création — les requêtes vers des hôtes non résolvables, non publics ou hors port 443 sont rejetées.

  • headersobjectoptionnel

    En-têtes HTTP supplémentaires à envoyer avec la requête de l'outil (ex. {"Authorization": "Bearer token"}).

  • http_methodstringoptionnel

    Méthode HTTP utilisée pour dispatcher l'outil. POST (défaut) : les arguments LLM et les identifiants contextuels sont dans le corps JSON. GET : les arguments sont dans la chaîne de requête URL et les identifiants contextuels sont envoyés en en-têtes ; aucun corps n'est envoyé. Seuls POST et GET sont acceptés. Note sur les types (GET uniquement) : les scalaires sont convertis en chaîne directement — "true" (chaîne) et true (booléen) arrivent tous deux comme flag=true, impossibles à distinguer côté serveur. null arrive comme la chaîne littérale "null".

Erreurs

5
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

422Entité non traitable

name est manquant, le parameters_schema n'est pas un JSON Schema valide, ou endpoint_url n'est pas une URL HTTPS valide sur le port 443 (pas d'identifiants, pas de fragment, pas d'IP privée/interne).

Fournissez un name en snake_case, un JSON Schema valide dans parameters_schema et une URL https:// valide sur le port 443 avec un nom d'hôte publiquement résolvable.

503Service indisponible

Le nom d'hôte de endpoint_url n'a pas pu être résolu ou la résolution a expiré.

Assurez-vous que le nom d'hôte est publiquement résolvable avant de créer l'outil.

GET/agents/:id/tools

Listez tous les outils attachés à un agent.

Lister les outils

Retourne un tableau de tous les outils configurés sur l'agent.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

PATCH/agents/:id/tools/:tool_id

Mettez à jour la configuration d'un outil.

Mettre à jour un outil

Met à jour partiellement un outil. Seuls les champs que vous incluez sont modifiés.

Chemin & Requête

2
  • idstringrequis

    UUID de l'agent.

  • tool_idstringrequis

    UUID de l'outil à mettre à jour.

Corps de la requête

8
  • namestringoptionnel

    Nouveau nom de l'outil.

  • descriptionstringoptionnel

    Nouvelle description de l'outil.

  • tool_typestringoptionnel

    Type d'outil.

  • parameters_schemaobjectoptionnel

    JSON Schema de remplacement pour les paramètres.

  • parametersobjectoptionnel

    Alias pour parameters_schema.

  • endpoint_urlstringoptionnel

    Nouvelle URL d'endpoint HTTPS (port 443). Doit être un nom d'hôte publiquement résolvable ou une adresse IP publique (pas de localhost, pas d'IP privée/interne, pas d'identifiants intégrés, pas de fragment d'URL) ; validé lors de la mise à jour — les requêtes vers des hôtes non résolvables, non publics ou hors port 443 sont rejetées.

  • headersobjectoptionnel

    Nouvel objet d'en-têtes.

  • http_methodstringoptionnel

    Nouvelle méthode HTTP — POST ou GET. Voir la description de création d'outil pour les détails.

Erreurs

7
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

404Introuvable

Aucun outil avec cet ID n'existe sur l'agent.

Confirmez l'UUID de l'outil depuis GET /agents/:id/tools.

422Entité non traitable

Le corps de la requête est vide — aucun champ à mettre à jour.

Incluez au moins un champ à mettre à jour.

422Entité non traitable

Une valeur de champ est invalide (ex. parameters_schema n'est pas un JSON Schema valide, ou endpoint_url n'est pas HTTPS sur le port 443, contient des identifiants ou un fragment d'URL, ou est résolu vers une IP privée/interne).

Vérifiez les types et contraintes des champs.

503Service indisponible

Le nom d'hôte de endpoint_url n'a pas pu être résolu ou la résolution a expiré.

Assurez-vous que le nom d'hôte est publiquement résolvable avant de mettre à jour l'outil.

DELETE/agents/:id/tools/:tool_id

Retirez un outil d'un agent.

Supprimer un outil

Supprime définitivement l'outil de l'agent. Cette action est irréversible.

Chemin & Requête

2
  • idstringrequis

    UUID de l'agent.

  • tool_idstringrequis

    UUID de l'outil à retirer.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

404Introuvable

Aucun outil avec cet ID n'existe sur l'agent.

Confirmez l'UUID de l'outil depuis GET /agents/:id/tools.

POST/agents/:id/knowledge-base

Ajoutez un document à la base de connaissances d'un agent.

Télécharger un document de base de connaissances

Télécharge un fichier PDF, DOCX, TXT ou MD dans la base de connaissances RAG de l'agent. La plateforme le traite et l'indexe pour la récupération pendant les conversations.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Corps de la requête

3
  • filebinaryoptionnel

    Fichier de document à télécharger (PDF, DOCX, TXT, MD).

  • textstringoptionnel

    Contenu en texte brut à ajouter comme document virtuel à la place d'un fichier.

  • filenamestringoptionnel

    Nom de fichier à attribuer au document texte virtuel.

Erreurs

5
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

400Requête incorrecte

Les champs file et text sont tous deux manquants.

Fournissez soit un file (multipart) soit un champ text.

422Entité non traitable

Le champ file est présent mais vide, ou le type de fichier n'est pas pris en charge.

Téléchargez un fichier PDF, DOCX, TXT ou MD non vide.

POST/agents/:id/knowledge-base/by-upload

Ajoutez un document de base de connaissances depuis un téléchargement pré-stagé.

Télécharger un document de BdC par ID de téléchargement

Attache un document à la base de connaissances de l'agent en utilisant un fichier déjà stagé via POST /uploads/presign. Évite le re-téléchargement quand le fichier est déjà en stockage.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Corps de la requête

3
  • upload_idstringrequis

    Jeton de téléchargement signé retourné par POST /uploads/presign. Chaîne opaque, 8 à 8192 caractères.

  • languagestringoptionnel

    Indication de langue pour l'extraction de texte.

  • filenamestringoptionnel

    Remplacement du nom de fichier du document.

Erreurs

5
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

422Entité non traitable

upload_id est invalide ou fait référence à un fichier qui a déjà été consommé.

Demandez un nouveau jeton de téléchargement via POST /uploads/presign.

503Service indisponible

Le service de traitement de documents est temporairement indisponible.

Réessayez après quelques secondes.

GET/agents/:id/knowledge-base

Listez tous les documents de la base de connaissances d'un agent.

Lister les documents de la BdC

Retourne un tableau de tous les documents indexés pour l'agent, incluant le nom de fichier, la taille, le statut et le nombre de fragments.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

POST/agents/:id/knowledge-base/:doc_id/process

Réindexez un document de la base de connaissances.

Retraiter un document de la BdC

Redéclenche le pipeline de découpage et d'indexation pour un document. Utilisez ceci si l'indexation a précédemment échoué ou si vous souhaitez mettre à jour les fragments après modification des paramètres de découpage.

Chemin & Requête

2
  • idstringrequis

    UUID de l'agent.

  • doc_idstringrequis

    UUID du document à retraiter.

Erreurs

5
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

404Introuvable

Aucun document de base de connaissances avec cet ID n'existe sur l'agent.

Confirmez l'UUID du document depuis GET /agents/:id/knowledge-base.

422Entité non traitable

Le traitement du document a échoué — contenu de fichier non pris en charge ou erreur d'extraction.

Vérifiez le contenu du document ; remplacez-le par un type de fichier pris en charge si nécessaire.

POST/agents/:id/knowledge-base/query

Testez la récupération depuis la base de connaissances d'un agent.

Interroger la base de connaissances

Exécute une requête de récupération hybride (similarité pgvector + mots-clés pg_trgm, fusionnés via RRF), applique le seuil de pertinence et retourne les fragments les mieux correspondants. Les résultats sont ordonnés par rang RRF ; chaque score public est la valeur de pertinence utilisée par le seuil (similarité vectorielle ou mot-clé maximale), donc les scores ne sont pas forcément décroissants. Utile pour déboguer le comportement RAG avant de déployer l'agent.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Corps de la requête

3
  • querystringrequis

    Requête en texte libre à exécuter contre la base de connaissances.

  • top_kintegeroptionnel

    Nombre de fragments à retourner. Omettez-le pour utiliser le rag_top_k de l'agent ou le défaut de la plateforme : 6.

  • min_scorenumberoptionnel

    Score minimal de pertinence. Omettez-le pour utiliser le rag_min_score de l'agent ou le défaut de la plateforme : 0.1.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

422Entité non traitable

query est manquant ou vide.

Fournissez une chaîne query non vide.

GET/agents/:id/knowledge-base/texts

Récupérez le texte extrait complet de tous les documents de la base de connaissances.

Obtenir les textes de la BdC

Retourne le texte brut extrait de chaque document dans la base de connaissances de l'agent. Utile pour vérifier quel contenu l'agent peut accéder pendant les conversations.

Chemin & Requête

1
  • idstringrequis

    UUID de l'agent.

Erreurs

3
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

DELETE/agents/:id/knowledge-base/:doc_id

Retirez un document de la base de connaissances d'un agent.

Supprimer un document de la BdC

Supprime définitivement le document et ses fragments d'index de la base de connaissances de l'agent. Cette action est irréversible.

Chemin & Requête

2
  • idstringrequis

    UUID de l'agent.

  • doc_idstringrequis

    UUID du document à supprimer.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.

403Interdit

Votre clé API ne possède pas la portée requise (agents:read ou agents:write).

Émettez une nouvelle clé avec la portée agents:read ou agents:write.

404Introuvable

Aucun agent avec cet ID n'existe.

Confirmez l'UUID depuis GET /agents.

404Introuvable

Aucun document de base de connaissances avec cet ID n'existe sur l'agent.

Confirmez l'UUID du document depuis GET /agents/:id/knowledge-base.