aethexDocs

Référence API

Conversations

Consultez l'historique des conversations, les transcriptions, les enregistrements audio et les retours par conversation.

URL de base
https://api.aethexai.com/api/v1
Endpoints
8
Portées
conversations:read
GET/conversations

Parcourez toutes les conversations de votre compte.

Lister les conversations

Retourne une liste paginée de conversations, triées par ordre chronologique décroissant. Chaque élément inclut le statut, le nombre de tours, la durée totale et des liens vers la transcription et l'audio si disponibles.

Chemin & Requête

2
  • offsetintegeroptionnel

    Nombre de conversations à ignorer (par défaut : 0).

  • limitintegeroptionnel

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

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 conversations:read.

Émettez une nouvelle clé avec la portée conversations:read.

422Entité non traitable

offset ou limit 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.

GET/conversations/:conversation_id

Récupérez un enregistrement de conversation unique par ID.

Obtenir une conversation

Retourne l'enregistrement complet de la conversation, incluant le statut, le nombre de tours, la durée totale et la disponibilité de la transcription et de l'enregistrement.

Chemin & Requête

1
  • conversation_idstring (uuid)requis

    UUID de la conversation.

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 conversations:read.

Émettez une nouvelle clé avec la portée conversations:read.

404Introuvable

Aucune conversation avec cet ID n'existe.

Confirmez l'UUID depuis GET /conversations.

422Entité non traitable

conversation_id n'est pas un UUID valide.

Passez un UUID valide depuis GET /conversations.

GET/conversations/:conversation_id/transcript

Récupérez la transcription tour par tour complète d'une conversation.

Obtenir la transcription

Retourne un tableau ordonné de tours avec le rôle du locuteur (user, assistant ou human_agent, la personne jointe par un transfert en conférence), le texte, les métriques de latence et tous les appels d'outils effectués par l'agent. Les tours de l'appelant portent aussi text_raw, la sortie brute de la reconnaissance vocale, lorsque la correction post-appel a modifié le texte. Les tours de l'agent coupés par l'appelant portent interrupted_after_ms, la durée pendant laquelle l'agent a parlé avant d'être interrompu, et estimated_text_spoken, la partie de la phrase qui tient dans ce temps. Les trois valent null sinon. Chaque tour porte également start_ms, le décalage en millisecondes entre le premier échantillon de l'enregistrement de l'appel et le moment où ce tour est devenu audible. Transmettez-le à un lecteur avec l'audio de GET /conversations/{id}/audio et les mots du tour commencent là. Il est publié par tour : un tour isolé vaut null lorsque son début n'a pas été mesuré (une réponse jamais diffusée, un tour de l'appelant sans début détecté, ou une saisie au clavier) tandis que les tours voisins conservent le leur, et tous les tours de l'appelant valent null lorsqu'une partie de l'audio de l'appelant ne nous est jamais parvenue, tandis que ceux de l'agent conservent le leur. null sur tous les tours d'un appel signifie l'une de trois choses : les décalages se contredisaient ou contredisaient l'enregistrement, le média de l'appel s'est reconnecté en cours de route, ou l'appel est antérieur à ce champ.

Chemin & Requête

1
  • conversation_idstring (uuid)requis

    UUID de la conversation.

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 conversations:read.

Émettez une nouvelle clé avec la portée conversations:read.

404Introuvable

Aucune conversation avec cet ID n'existe.

Confirmez l'UUID depuis GET /conversations.

422Entité non traitable

conversation_id n'est pas un UUID valide.

Passez un UUID valide depuis GET /conversations.

GET/conversations/:conversation_id/audio

Obtenez une URL signée de courte durée pour l'enregistrement de la conversation.

Obtenir l'URL audio

Génère une URL signée (valide 60 minutes) pour télécharger l'enregistrement WAV. Utilisez cette URL avec un client HTTP standard ; elle ne requiert pas l'en-tête X-API-Key.

Chemin & Requête

1
  • conversation_idstring (uuid)requis

    UUID de la conversation.

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 conversations:read.

Émettez une nouvelle clé avec la portée conversations:read.

404Introuvable

Aucun enregistrement n'existe pour cette conversation, ou l'enregistrement est vide ou en cours de finalisation. L'endpoint renvoie 404 dans tous ces cas — il n'émet jamais d'URL pour un enregistrement vide.

Vérifiez has_recording: true sur la conversation avant de demander l'URL audio.

422Entité non traitable

conversation_id n'est pas un UUID valide.

Passez un UUID valide depuis GET /conversations.

GET/conversations/:conversation_id/audio.wav

Diffusez ou téléchargez l'enregistrement WAV directement.

Diffuser l'audio

Retourne le fichier WAV brut. Supporte les en-têtes Range pour les téléchargements partiels. Authentifiez-vous avec le paramètre de requête token (valeur depuis GET .../audio) ou l'en-tête X-API-Key.

Chemin & Requête

2
  • conversation_idstring (uuid)requis

    UUID de la conversation.

  • tokenstringoptionnel

    Jeton signé depuis GET /conversations/:conversation_id/audio ; si omis, la requête doit porter X-API-Key.

Erreurs

5
401Non autorisé

Aucune clé API valide ou jeton signé n'a été fourni.

Ajoutez X-API-Key: VOTRE_CLÉ ou un paramètre token valide.

403Interdit

Authentifié mais non autorisé à accéder à cet enregistrement.

Émettez une nouvelle clé avec la portée conversations:read.

404Introuvable

Aucun enregistrement n'existe pour cette conversation, ou l'enregistrement est vide ou en cours de finalisation. L'endpoint renvoie 404 dans tous ces cas — il ne diffuse jamais un fichier WAV de longueur nulle.

Vérifiez has_recording: true sur la conversation avant de diffuser l'audio.

416Plage non satisfaisable

La plage Range demandée dépasse la taille du fichier.

Vérifiez d'abord Content-Length ou omettez l'en-tête Range.

502Mauvaise passerelle

Le backend de stockage a retourné une erreur lors de la diffusion du fichier.

Réessayez après un court délai ; si l'erreur persiste, contactez le support.

POST/conversations/:conversation_id/audio/revoke

Invalidez une URL audio signée précédemment émise.

Révoquer le jeton audio

Révoque immédiatement un jeton signé afin que l'URL ne puisse plus être utilisée pour diffuser l'enregistrement. Utile lorsqu'une URL a été accidentellement exposée.

Chemin & Requête

1
  • conversation_idstring (uuid)requis

    UUID de la conversation.

Corps de la requête

1
  • tokenstringrequis

    Chaîne de jeton signé retournée par GET /conversations/:conversation_id/audio.

Erreurs

4
401Non autorisé

Clé API manquante ou invalide.

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

403Interdit

Authentifié mais non autorisé à accéder à cet enregistrement.

Émettez une nouvelle clé avec la portée conversations:read.

404Introuvable

Aucune conversation avec cet ID n'existe.

Confirmez l'UUID depuis GET /conversations.

422Entité non traitable

Le champ token est manquant ou vide.

Fournissez la chaîne token depuis GET .../audio dans le corps de la requête.

POST/conversations/:conversation_id/feedback

Enregistrez une note en étoiles et un commentaire facultatif pour une conversation.

Soumettre un retour

Attache une note de 1 à 5 étoiles et un commentaire en texte libre facultatif à une conversation. Le retour est stocké côté serveur et disponible dans votre tableau de bord analytique.

Chemin & Requête

1
  • conversation_idstring (uuid)requis

    UUID de la conversation.

Corps de la requête

2
  • ratingintegerrequis

    Note entière de 1 (moins bonne) à 5 (meilleure).

  • commentstringoptionnel

    Commentaire en texte libre facultatif (max 1000 caractères).

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 conversations:read.

Émettez une nouvelle clé avec la portée conversations:read.

404Introuvable

Aucune conversation avec cet ID n'existe.

Confirmez l'UUID depuis GET /conversations.

422Entité non traitable

rating est manquant, n'est pas un entier ou est en dehors de la plage 1–5.

Passez rating comme entier entre 1 et 5.