Aller au contenu principal

resources/media.ts

Source : sdks/typescript/packages/sdk/src/resources/media.ts. Retour à l'index de la référence du SDK TypeScript.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Alias de type MediaOperation​

Opération pour laquelle un média est envoyé, par exemple stt, ocr, image_generation ou voice_live.

Définition : \| "stt" \| "tts" \| "ocr" \| "vision_understanding" \| "image_generation" \| "image_edit" \| "video_generation" \| "video_processing" \| "diarization" \| "document_extraction" \| "voice_live".

Interface MediaUpload​

Entrée de MediaResource.upload : le fichier et ses réglages d'envoi.

Champs :

NomTypeRequisDescription
fileBlobouiContenu à envoyer, transmis avec filename (file par défaut).
filenamestringnonNom du fichier téléversé, envoyé avec la partie multipart (file par défaut).
mime_typestringnonType de média du contenu, par exemple application/pdf ou image/png.
operationMediaOperationnonOpération à laquelle le média est destiné.
classification"public" | "internal" | "confidential" | "restricted" | "secret"nonClassification du média : public, internal, confidential, restricted ou secret.
dlp_mode"detect" | "mask" | "tokenize" | "block"nonMode DLP appliqué au média : detect, mask, tokenize ou block.
retention_daysnumbernonNombre de jours pendant lesquels une sauvegarde est conservée avant de pouvoir être supprimée, 1 ou plus.

Classe MediaResource​

Multimodal. Médias et traitement multimodal : stockage chiffré de médias et travaux de vision, génération et retouche d'images, traitement et génération de vidéos, transcription de la parole, diarisation, synthèse vocale et DLP multimodale.

Resource

MediaResource.delete​

delete(id: string, opts?: CallOptions)

Supprimer un média. Supprime le média et son contenu stocké. Permis pour son créateur, tenant_admin ou security_officer (403 forbidden). Un média sous conservation légale répond 409 legal_hold. Audité sous media.delete.

Route : /v1/media/{media_id} (DELETE).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du média.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MediaResource.get​

get(id: string, options: { includeContent?: boolean } & CallOptions = {})

Lire un média. Renvoie le document Multimodal Contract du média. Avec include_content=true, la réponse est {media, content_base64} avec le contenu déchiffré ; cela demande une habilitation au moins égale à la classification du média (403 policy_denied) et est audité sous media.read.

Route : /v1/media/{media_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du média.
options{ includeContent?: boolean } & CallOptions{}nonOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Erreurs levées : les erreurs typées du transport (Erreurs).

MediaResource.list​

list(params?: ListParams, opts?: CallOptions)

Lister les médias. Médias du tenant (documents Multimodal Contract), paginés par clé avec cursor, filtrés par media_type et classification (400 invalid_request pour une valeur inconnue).

Route : /v1/media (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MediaResource.upload​

upload(input: MediaUpload | FormData, opts?: CallOptions)

Téléverser un média. Enregistre un média (201) à partir de JSON {content_base64, mime_type, filename?, operation?, dlp_mode?, retention_days?, classification?} ou de multipart/form-data avec une partie file et les mêmes champs. Tout principal du tenant peut l'appeler. Étapes : 1. Taille contrôlée par rapport au maximum de la plateforme (50 Mio sauf configuration ; 413 media_too_large). 2. Analyse du fichier par ClamAV et YARA-X (422 file_blocked, 503 file_scan_unavailable). 3. Extraction du texte et DLP avec dlp_mode (detect par défaut ; block répond 422 dlp_blocked quand des données personnelles sont trouvées) ; la classification est relevée en conséquence. 4. Le contenu est chiffré avec une clé du tenant et enregistré. Renvoie le document Multimodal Contract.

Route : /v1/media (POST).

NomTypeDéfautRequisDescription
inputMediaUpload | FormDataouiUn FormData prêt, ou un MediaUpload converti en FormData.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe MultimodalResource​

Multimodal. Médias et traitement multimodal : stockage chiffré de médias et travaux de vision, génération et retouche d'images, traitement et génération de vidéos, transcription de la parole, diarisation, synthèse vocale et DLP multimodale.

Resource

Attributs :

NomTypeRequisDescription
body{ status: "running" | "succeeded" | "failed" | "cancelled"; output?: Doc; error?: string; units?: Doc },ouiRésultat du job envoyé par completeJob : statut, sortie, erreur et unités mesurées.
idstring,ouiIdentifiant du job terminé par completeJob.
optsCallOptions,nonOptions par appel de completeJob.

MultimodalResource.completeJob​

completeJob(id: string, body: { status: "running" | "succeeded" | "failed" | "cancelled"; output?: Doc; error?: string; units?: Doc }, opts?: CallOptions)

Signaler le résultat d'un travail en file. Appelé par les workers GPU (identités d'agent ou de service) pour signaler le résultat d'un travail en file : statut running, succeeded, failed ou cancelled (sinon 400 invalid_request), avec sortie, erreur et unités mesurées ; la réservation de quota est validée ou libérée. Un travail terminé répond 409 conflict. Demande agent ou tenant_admin. 404 not_found.

Route : /v1/multimodal/jobs/{job_id}/complete (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du travail.
body{ status: "running" | "succeeded" | "failed" | "cancelled"; output?: Doc; error?: string; units?: Doc }ouiStatut, sortie, erreur et unités mesurées du travail.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.diarize​

diarize(body: Doc, opts?: CallOptions)

Diariser un audio. Lance un travail de diarisation (qui a parlé quand) sur un média audio ou un audio fourni directement (201, le travail). Seuls min_speakers et max_speakers s'appliquent ici (word_timestamps répond 422 parameter_unsupported) ; min_speakers ne doit pas dépasser max_speakers (422 parameter_invalid) ; une option que le fournisseur configuré ne peut pas honorer répond 422 parameter_unsupported. Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/diarize (POST).

NomTypeDéfautRequisDescription
bodyDocouiEntrée audio et bornes du nombre de locuteurs.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.dlp​

dlp(body: Doc, opts?: CallOptions)

Exécuter la DLP sur un texte ou un média. Inspecte text, le texte extrait d'un média enregistré, ou un contenu fourni directement (analysé d'abord), avec les règles DLP du tenant. Renvoie source, extracted_text_chars, le text traité, findings, action et classification. Rien n'est enregistré. Tout principal du tenant peut l'appeler. Audité sous multimodal.dlp.

Route : /v1/multimodal/dlp (POST).

NomTypeDéfautRequisDescription
bodyDocouiTexte, média enregistré ou contenu direct, et mode DLP.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.editImage​

editImage(body: Doc, opts?: CallOptions)

Retoucher une image. Lance un travail de retouche d'image à partir d'un média image ou d'une image fournie directement et d'un prompt (201, le travail). L'entrée doit être une image (422 unsupported_media). Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/images/edit (POST).

NomTypeDéfautRequisDescription
bodyDocouiImage d'entrée, prompt, nombre d'images, taille et modèle.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.generateImage​

generateImage(body: Doc, opts?: CallOptions)

Générer des images. Lance un travail de génération d'images (201, le travail). Le prompt est d'abord inspecté par la DLP en mode blocage : des données personnelles répondent 422 dlp_blocked. L'usage est compté par image. Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/images/generate (POST).

NomTypeDéfautRequisDescription
bodyDocouiPrompt, nombre d'images, taille et modèle.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.generateVideo​

generateVideo(body: Doc, opts?: CallOptions)

Générer une vidéo. Lance un travail de génération vidéo et répond 202 avec le travail ; suivez-le avec GET /v1/multimodal/jobs/{job_id}. L'usage est compté en secondes de vidéo. Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/video/generate (POST).

NomTypeDéfautRequisDescription
bodyDocouiPrompt, durée, taille et modèle.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.getJob​

getJob(id: string, opts?: CallOptions)

Lire un travail multimodal. Renvoie le travail : opération, statut, paramètres d'entrée, sortie, erreur, adaptateur, unités et coût. 404 not_found.

Route : /v1/multimodal/jobs/{job_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) du travail.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.listJobs​

listJobs(params?: ListParams, opts?: CallOptions)

Lister les travaux multimodaux. Travaux du tenant, du plus récent au plus ancien, paginés avec cursor, filtrables par statut et opération.

Route : /v1/multimodal/jobs (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.processVideo​

processVideo(body: Doc, opts?: CallOptions)

Traiter une vidéo. Extrait des images et/ou la piste audio d'un média vidéo ou d'une vidéo fournie directement (201, le travail ; mis en file quand ffmpeg n'est pas disponible). operations n'accepte que frames et audio (400 invalid_request). Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/video/process (POST).

NomTypeDéfautRequisDescription
bodyDocouiVidéo d'entrée, opérations, fréquence d'images et fréquence d'échantillonnage audio.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.stt​

stt(body: Doc, opts?: CallOptions)

Transcrire la parole en texte. Lance un travail de transcription sur un média audio ou un audio fourni directement (201, le travail). La transcription passe par la DLP avec dlp_mode. Seul word_timestamps s'applique ici (les bornes de locuteurs répondent 422 parameter_unsupported). L'usage est compté en secondes d'audio (duration_seconds, ou lu dans un en-tête WAV). Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/stt (POST).

NomTypeDéfautRequisDescription
bodyDocouiEntrée audio, langue, modèle, mode DLP et options.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.tts​

tts(body: Doc, opts?: CallOptions)

Synthétiser la parole à partir d'un texte. Lance un travail de synthèse vocale (201, le travail). Le texte est inspecté par la DLP avec dlp_mode (block par défaut : des données personnelles répondent 422 dlp_blocked ; mask prononce le texte masqué). L'usage est compté en caractères. Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/tts (POST).

NomTypeDéfautRequisDescription
bodyDocouiTexte, voix, modèle et mode DLP.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

MultimodalResource.vision​

vision(body: Doc, opts?: CallOptions)

Analyser une image. Lance un travail d'analyse d'image sur un média image ou une image fournie directement avec un prompt (201, le travail). La réponse passe par la DLP avec dlp_mode. detail répond 422 parameter_unsupported quand le fournisseur configuré ne peut pas l'honorer ; une entrée qui n'est pas une image répond 422 unsupported_media. Demande tenant_admin, developer ou agent.

Route : /v1/multimodal/vision (POST).

NomTypeDéfautRequisDescription
bodyDocouiImage d'entrée, prompt, modèle, mode DLP et niveau de détail.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface RealtimeSessionView​

Vue d'une session temps réel renvoyée par GET /v1/realtime/sessions/{id} et POST .../end.

Doc

Champs :

NomTypeRequisDescription
idstringouiIdentifiant de la session.
roomstringouiNom de la salle LiveKit (1 à 128 lettres, chiffres, ., _, -). Par défaut : dérivé du tenant et de la session.
identitystringouiIdentité du participant dans la salle.
pipeline"echo" | "stt" | stringouiecho (par défaut) ou stt.
configDocouiConfiguration de la session.
statusstringouiÉtat de la session.
audio_secondsnumber | stringouiSecondes d'audio traitées.
input_tokensnumberouiJetons d'entrée consommés par la session.
output_tokensnumberouiJetons de sortie consommés par la session.
usageDoc | nullouiCompteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens.
created_bystringouiPrincipal qui a créé la session.
created_atstringouiDate de création de la session.
ended_atstring | nullouiDate de fin de la session, null tant qu'elle est ouverte.

Interface RealtimeSession​

Réponse de POST /v1/realtime/sessions : la vue et les éléments de connexion.

RealtimeSessionView

Champs :

NomTypeRequisDescription
session_idstringouiIdentifiant de la session.
ws_urlstringouiChemin relatif /v1/realtime/ws/{id}?token=<ws_token>.
ws_tokenstringouiJeton à usage unique du WebSocket ; createToken en fournit un nouveau avant une reconnexion.
livekit{ url: string; token: string; room: string; configured: boolean }ouiURL, jeton et salle LiveKit, et indication de la configuration de LiveKit.

Interface RealtimeConsent​

Corps de POST /v1/realtime/sessions/{id}/consents.

Champs :

NomTypeRequisDescription
purposestringouiUsage de la cible. backup par défaut.
retention_daysnumberouiNombre de jours pendant lesquels une sauvegarde est conservée avant de pouvoir être supprimée, 1 ou plus.
methodstringnonNom de la méthode, par exemple basic, token ou none.
participant_identitystringnonIdentité du participant (1 à 128 lettres, chiffres, ., _, :, @, -). Par défaut : le participant de la session.
recording_allowedbooleannonSi l'audio peut être enregistré. Faux par défaut.
transcription_allowedbooleannonSi la parole peut être transcrite et conservée. Faux par défaut.

Classe RealtimeResource​

Voix en temps réel. Sessions de voix en temps réel : un jeton de salle LiveKit et un protocole d'événements WebSocket pour diffuser de l'audio vers un agent, avec consentement des participants, tours de parole, transcriptions filtrées par la DLP, enregistrements facultatifs et comptage d'usage.

Resource

RealtimeResource.createSession​

createSession(body: { pipeline?: "echo" | "stt"; room?: string; ttl_seconds?: number; config?: Doc; agent_id?: string; on_behalf_of?: string } = {}, opts?: CallOptions)

Ouvrir une session temps réel. Ouvre une session (201) et la renvoie avec session_id, livekit (url, token, room, configured) et l'accès WebSocket (ws_url, ws_token, ws_token_expires_at). Demande tenant_admin, developer ou agent. Contrôles : pipeline vaut echo ou stt (400 invalid_request) ; config.vad et config.dlp_mode sont valides (422 parameter_invalid) ; un appelant agent agit pour on_behalf_of, un utilisateur ne peut ouvrir une session que pour lui-même (403 identity_mismatch) ; les identifiants LiveKit sont configurés ; la politique realtime.session.create est évaluée. La salle prend par défaut un nom dérivé du tenant et de la session. Audité sous realtime.session.create.

Route : /v1/realtime/sessions (POST).

NomTypeDéfautRequisDescription
body{ pipeline?: "echo" | "stt"; room?: string; ttl_seconds?: number; config?: Doc; agent_id?: string; on_behalf_of?: string }{}nonSalle, pipeline, durée de vie du jeton, configuration, agent et utilisateur représenté.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.createToken​

createToken(id: string, opts?: CallOptions)

Obtenir un nouveau jeton WebSocket. Nouveau jeton WebSocket à usage unique pour une session ouverte (reconnexion), lu sous RLS : ws_url, ws_token, ws_token_expires_at. 409 session_ended ; 404 not_found. Demande tenant_admin, developer ou agent. Audité sous realtime.session.token.

Route : /v1/realtime/sessions/{session_id}/token (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.endSession​

endSession(id: string, opts?: CallOptions)

Terminer une session temps réel. Termine la session et enregistre son événement d'usage (voice_live : secondes d'audio, jetons d'entrée et de sortie, coût mesuré). Terminer une session déjà terminée la renvoie sans changement. Demande tenant_admin, developer ou agent. Audité sous realtime.session.end.

Route : /v1/realtime/sessions/{session_id}/end (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.getSession​

getSession(id: string, opts?: CallOptions)

Lire une session temps réel. Renvoie la session : salle, identités, agent, pipeline, configuration, statut, secondes d'audio, jetons et usage. 404 not_found.

Route : /v1/realtime/sessions/{session_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.listConsents​

listConsents(id: string, opts?: CallOptions)

Lister les consentements d'une session. Consentements enregistrés pour la session, dans l'ordre de recueil, avec leur révocation le cas échéant. Une seule page.

Route : /v1/realtime/sessions/{session_id}/consents (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.recordConsent​

recordConsent(id: string, body: RealtimeConsent, opts?: CallOptions)

Enregistrer le consentement d'un participant. Consentement d'un participant (finalité, enregistrement, transcription, conservation, méthode), recueilli par l'appelant (201). Le participant est par défaut celui de la session. La méthode doit être verbal, click, written ou api (422 parameter_invalid) ; la session ne doit pas être terminée (409 session_ended) ; la politique realtime.consent.record est évaluée. Demande tenant_admin, developer ou agent. Audité sous realtime.consent.record.

Route : /v1/realtime/sessions/{session_id}/consents (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
bodyRealtimeConsentouiLe consentement du participant.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.revokeConsent​

revokeConsent(id: string, consentId: string, opts?: CallOptions)

Révoquer un consentement. La révocation prend effet au prochain événement audio : transcription et enregistrement sont de nouveau refusés. Un consentement déjà révoqué ou inconnu répond 404 not_found. Demande tenant_admin, developer ou agent. Audité sous realtime.consent.revoke.

Route : /v1/realtime/sessions/{session_id}/consents/{consent_id}/revoke (POST).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
consentIdstringouiIdentifiant (UUID) du consentement.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.transcripts​

transcripts(id: string, opts?: CallOptions)

Lister les transcriptions d'une session. Transcriptions conservées, déjà filtrées par la DLP (la transcription brute n'est jamais conservée), avec tour, consentement, participant, détections DLP et expiration. Demande tenant_admin, developer, auditor ou security_officer.

Route : /v1/realtime/sessions/{session_id}/transcripts (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RealtimeResource.turns​

turns(id: string, opts?: CallOptions)

Lister les tours d'une session. Tours avec le participant, l'utilisateur, l'agent, l'identifiant de trace, le statut (une interruption enregistre cancelled) et la latence mesurée, dans l'ordre. Une seule page.

Route : /v1/realtime/sessions/{session_id}/turns (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la session temps réel.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe EvaluationsResource​

Évaluation et red team. Qualité des systèmes d'IA du tenant : suites d'évaluation, exécutions, barrières de qualité avant promotion, comparaisons A/B avec une référence et campagnes de red team.

Resource

EvaluationsResource.checkGate​

checkGate(body: Doc, opts?: CallOptions)

Vérifier la barrière de qualité d'une cible. Vérifie que la dernière exécution terminée de chaque suite bloquante de la cible (pour target.version si elle est donnée, et limitée à suite_ids s'il est donné) a réussi. Avec run_missing: true, une suite sans exécution est exécutée maintenant ; sinon elle compte comme missing.

Route : /v1/evaluations/gates/check (POST).

NomTypeDéfautRequisDescription
bodyDocouiCible, suites facultatives et exécution ou non des suites manquantes.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.createComparison​

createComparison(body: Doc, opts?: CallOptions)

Comparer un candidat à une référence. Exécute une suite deux fois, sur la référence baseline et sur le candidate (chacun {type, ref, version}, type model par défaut, agent ou prompt), et enregistre les deux exécutions, les écarts par métrique et le verdict. Les écarts sont orientés par le comparateur de chaque métrique (gte : plus haut est mieux, lte : plus bas est mieux).

Route : /v1/evaluations/comparisons (POST).

NomTypeDéfautRequisDescription
bodyDocouiObjet JSON : suite_id, baseline, candidate, et en option tolerance (0 à 1, 0 par défaut) et outputs ({"baseline": [...], "candidate": [...]}, sorties précalculées par cas).
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.createRun​

createRun(body: Doc, opts?: CallOptions)

Exécuter une suite d'évaluation. Exécute une suite maintenant et renvoie l'exécution terminée (201). Exige tenant_admin, developer, security_officer ou ai_governance_officer ou agent.

Route : /v1/evaluations/runs (POST).

NomTypeDéfautRequisDescription
bodyDocouiSuite, cible facultative, sorties précalculées et déclencheur.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.createSuite​

createSuite(body: Doc, opts?: CallOptions)

Créer une suite d'évaluation. Crée une suite. Exige tenant_admin, developer, security_officer ou ai_governance_officer. Erreurs 400 invalid_request : type de cible hors de model, agent, prompt, rag_pipeline, skill ou tool, moteur ou type inconnu, comparateur autre que gte ou lte, ou, pour le moteur custom, une métrique autre que exact_match, contains, not_contains, json_valid, faithfulness, latency ou refusal. Un nom déjà utilisé répond 409 conflict. Le jeu de données reçoit sa taille size et une empreinte SHA-256 digest des cas. Écrit l'événement d'audit evaluation.suite.create.

Route : /v1/evaluations/suites (POST).

NomTypeDéfautRequisDescription
bodyDocouiNom, cible, moteur, type, jeu de données, cas, métriques et options de barrière.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.getComparison​

getComparison(id: string, opts?: CallOptions)

Lire une comparaison A/B. Renvoie une comparaison. Exige tenant_admin, developer, security_officer, auditor, viewer ou finops. Répond 404 comparison_not_found.

Route : /v1/evaluations/comparisons/{comparison_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la comparaison.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.getRun​

getRun(id: string, opts?: CallOptions)

Lire une exécution d'évaluation. Renvoie une exécution d'évaluation avec ses résultats par métrique et par cas. Ouvert à tout membre du tenant. Répond 404 not_found.

Route : /v1/evaluations/runs/{run_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'exécution d'évaluation.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.getSuite​

getSuite(id: string, opts?: CallOptions)

Lire une suite d'évaluation. Renvoie une suite avec la liste complète de ses cas et run_on_promotion. Ouvert à tout membre du tenant. Répond 404 not_found.

Route : /v1/evaluations/suites/{suite_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la suite.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.listComparisons​

listComparisons(query: { suite_id?: string } = {}, opts?: CallOptions)

Lister les comparaisons A/B. Liste les comparaisons du tenant, les plus récentes d'abord, 200 au plus, éventuellement pour une seule suite. Chacune donne la référence, le candidat, les identifiants des deux exécutions, les écarts par métrique, la tolérance et le verdict. Exige tenant_admin, developer, security_officer, auditor, viewer ou finops.

Route : /v1/evaluations/comparisons (GET).

NomTypeDéfautRequisDescription
query{ suite_id?: string }{}nonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.listRuns​

listRuns(params?: ListParams, opts?: CallOptions)

Lister les exécutions d'évaluation. Liste les exécutions d'évaluation du tenant, identifiant le plus récent d'abord, paginées, éventuellement filtrées par suite et statut. Chaque élément suit le contrat d'évaluation (cible, moteur, jeu de données, métriques, résultats, statut, coût) avec run_id, suite_id, trigger, case_results et error. Ouvert à tout membre du tenant.

Route : /v1/evaluations/runs (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

EvaluationsResource.listSuites​

listSuites(params?: ListParams, opts?: CallOptions)

Lister les suites d'évaluation. Liste les suites du tenant triées par nom, paginées, sous forme de documents du contrat d'évaluation ; cases donne le nombre de cas. Ouvert à tout membre du tenant.

Route : /v1/evaluations/suites (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe RedteamResource​

Évaluation et red team. Qualité des systèmes d'IA du tenant : suites d'évaluation, exécutions, barrières de qualité avant promotion, comparaisons A/B avec une référence et campagnes de red team.

Resource

RedteamResource.createRun​

createRun(body: Doc, opts?: CallOptions)

Lancer une campagne de red team. Envoie des sondes adverses à la cible et enregistre les constats. Exige tenant_admin, developer, security_officer ou ai_governance_officer.

Route : /v1/redteam/runs (POST).

NomTypeDéfautRequisDescription
bodyDocouiCible, moteur, sondes et taux de réussite des attaques accepté.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RedteamResource.getRun​

getRun(id: string, opts?: CallOptions)

Lire une campagne de red team. Renvoie une campagne de red team : cible, moteur, sondes, statut, synthèse (total, vulnérables, taux de réussite des attaques, seuil, par catégorie) et constats. Ouvert à tout membre du tenant. Répond 404 not_found.

Route : /v1/redteam/runs/{run_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de la campagne de red team.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

RedteamResource.listRuns​

listRuns(params?: ListParams, opts?: CallOptions)

Lister les campagnes de red team. Liste les campagnes de red team du tenant, identifiant le plus récent d'abord, paginées, ainsi que probes : les sondes intégrées (identifiant et catégorie), les familles de sondes garak et si garak est installé. Ouvert à tout membre du tenant.

Route : /v1/redteam/runs (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe AuditResource​

Événements d'audit (/v1/audit) : liste, événements applicatifs, vérifications de la chaîne de hachage, export WORM et corrélations.

Resource

AuditResource.correlations​

correlations(query?: Query, opts?: CallOptions)

Corréler les événements par trace, exécution ou session. Avec trace_id, run_id ou session_id (le premier donné l'emporte), renvoie tout ce qui partage cette clé : audit_events, usage_events des LLM, runs, spans de télémétrie, multimodal_jobs (jusqu'à 1000 de chaque, 200 pour les exécutions et les tâches), les trace_ids rencontrés et counts.

Route : /v1/audit/correlations (GET).

NomTypeDéfautRequisDescription
queryQuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.export​

export(body: Doc = {}, opts?: CallOptions)

Exporter le journal d'audit. Écrit les événements de la période (bornes incluses) dans un stockage à écriture unique, en NDJSON ou en CSV, avec un manifeste. Exige auditor, security_officer ou tenant_admin.

Route : /v1/audit/export (POST).

NomTypeDéfautRequisDescription
bodyDoc{}nonPériode, rétention et format de l'export. Un corps vide exporte tout en NDJSON conservé 365 jours.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.get​

get(id: string, opts?: CallOptions)

Lire un événement d'audit. Renvoie un événement d'audit avec sa séquence, ses empreintes, son acteur, sa ressource, sa décision et ses preuves. Exige auditor, security_officer ou tenant_admin. La lecture est inscrite dans le journal d'accès aux preuves. Répond 404 not_found.

Route : /v1/audit/events/{event_id} (GET).

NomTypeDéfautRequisDescription
idstringouiIdentifiant (UUID) de l'événement d'audit.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.iterate​

iterate(params?: ListParams, opts?: CallOptions)

Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).

Route : /v1/audit/events (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.list​

list(params?: ListParams, opts?: CallOptions)

Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).

Route : /v1/audit/events (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.query​

query(params?: ListParams, opts?: CallOptions)

Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).

Route : /v1/audit/events (GET).

NomTypeDéfautRequisDescription
paramsListParamsnonChamps supplémentaires fusionnés dans la requête.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.record​

async record(body: AuditRecord, opts?: CallOptions): Promise<AuditRecorded>

Enregistrer un événement d'audit applicatif. Ajoute un événement applicatif à la chaîne de hachage du tenant. L'acteur vient de l'authentification ; la séquence, les empreintes et occurred_at viennent du serveur ; les details du client sont conservés sous evidence.details.attributes, à côté de stream: sdk. L'événement est scellé et exporté vers la boîte d'envoi et le SIEM comme les événements de la plateforme.

Route : /v1/audit/events (POST).

NomTypeDéfautRequisDescription
bodyAuditRecordouiL'événement applicatif. Les champs hors du schéma sont refusés.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : Promise<AuditRecorded>. Réponse JSON décodée de l'opération « Enregistrer un événement d'audit applicatif ».

Erreurs levées : EaiError, les erreurs typées du transport (Erreurs).

AuditResource.verify​

verify(query?: Query, opts?: CallOptions)

Vérifier la chaîne d'audit. Recalcule la chaîne de hachage du tenant depuis le premier événement et renvoie tenant_id, valid, count, last_hash, broken_at, reason et verified_at. Quand la chaîne est rompue, broken_at est la séquence du premier événement fautif et reason en donne la cause : sequence gap, prev_hash mismatch ou hash mismatch. Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès aux preuves.

Route : /v1/audit/verify (GET).

NomTypeDéfautRequisDescription
queryQuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

AuditResource.verifyEvidence​

verifyEvidence(opts?: CallOptions)

Vérifier la chaîne et tous les sceaux. Vérifie toute la chaîne du tenant et tous ses sceaux et renvoie tenant_id, valid, chain (résultat de la chaîne de hachage), seals (nombre et échecs), clock (échecs d'horodatage) et events (nombre vérifié). Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès.

Route : /v1/evidence/verify (GET).

NomTypeDéfautRequisDescription
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

Interface AuditRecord​

Corps de POST /v1/audit/events : aucun autre champ n'est accepté (422).

Champs :

NomTypeRequisDescription
actionapp.${string}ouiAction applicative dans l'espace de noms app., par exemple app.invoice.validated.
resource{ type: string; id: string; name?: string }ouiRessource concernée par l'action : type, identifiant et nom facultatif.
outcome"success" | "failure" | "error"nonIssue de l'action : success, failure ou error.
detailsDocnonAttributs libres de l'événement, 16384 octets au plus une fois sérialisés.
classificationClassificationnonClassification des données de l'événement.
trace_idstringnonIdentifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace.
event_timestringnonMoment de l'action selon l'horloge du client (ISO 8601), au plus le décalage d'horloge autorisé en avance sur le serveur. Par défaut : l'heure du serveur.

Interface AuditRecorded​

Accusé de réception de POST /v1/audit/events.

Champs :

NomTypeRequisDescription
event_idstringouiIdentifiant de l'événement enregistré.
sequencenumberouiÉtapes ordonnées de la bascule, sous forme d'objets libres.
hashstringouiEmpreinte du contenu source, par exemple sha256:....
prev_hashstring | nullouiEmpreinte de l'événement précédent de la chaîne, null pour le premier.
occurred_atstringouiDate à laquelle la plateforme a enregistré l'événement, au format ISO 8601.
event_timestring | nullouiMoment de l'action selon l'horloge du client (ISO 8601), au plus le décalage d'horloge autorisé en avance sur le serveur. Par défaut : l'heure du serveur.
actionstringouiAction enregistrée.
stream"sdk"ouiFlux d'audit de l'événement, toujours sdk.
actorAuditEvent["actor"]ouiActeur issu de l'authentification de l'appel.
decisionAuditEvent["decision"]ouiapprove ou reject.

Interface Span​

Span construit localement par TelemetryResource.startSpan et envoyé par endSpan.

Champs :

NomTypeRequisDescription
namestringouiNom du span.
trace_idstringouiIdentifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace.
span_idstringouiIdentifiant aléatoire du span, 16 caractères hexadécimaux.
parent_span_idstring | nullouiIdentifiant du span parent issu du traceparent, ou null.
start_time_unix_nanonumberouiHeure de début en nanosecondes depuis l'epoch.
end_time_unix_nanonumberouiHeure de fin en nanosecondes depuis l'epoch, 0 tant que le span est ouvert.
attributesDocouiAttributs libres du composant, comme le fournisseur d'un modèle.
statusstringouiStatut du span, ok jusqu'à ce que endSpan le fixe.
eventsDoc[]ouiÉvénements horodatés ajoutés par recordEvent.

Classe TelemetryResource​

Télémétrie. Traces, journal des requêtes, flux en direct et objectifs de niveau de service (SLO) de la plateforme.

Resource

Attributs :

NomTypeRequisDescription
body{ availability: number; latency_seconds: number; latency_objective: number; reason?: string },ouiObjectifs envoyés par setSloTarget : disponibilité, latence, objectif de latence et motif.
optsCallOptions,nonOptions par appel de setSloTarget.
servicestring,ouiService de la plateforme dont setSloTarget fixe les objectifs.

TelemetryResource.endSpan​

endSpan(span: Span, status = "ok", opts?: CallOptions)

Ingérer des spans de télémétrie. Accepte jusqu'à 5000 spans et répond 202 avec le nombre accepté, le nombre enregistré (un span déjà connu pour les mêmes identifiants de trace et de span est ignoré) et le résultat de chaque exportateur (ok ou error). Demande un principal de tenant avec tenant_admin, developer ou agent (403 forbidden).

Route : /v1/telemetry/spans (POST).

NomTypeDéfautRequisDescription
spanSpanouiSpan ouvert à fermer ; un span déjà terminé lève span_ended.
status"ok"nonStatut final du span (ok par défaut).
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : EaiError, les erreurs typées du transport (Erreurs).

TelemetryResource.ingestSpans​

ingestSpans(body: { spans: Doc[] } & Doc, opts?: CallOptions)

Ingérer des spans de télémétrie. Accepte jusqu'à 5000 spans et répond 202 avec le nombre accepté, le nombre enregistré (un span déjà connu pour les mêmes identifiants de trace et de span est ignoré) et le résultat de chaque exportateur (ok ou error). Demande un principal de tenant avec tenant_admin, developer ou agent (403 forbidden).

Route : /v1/telemetry/spans (POST).

NomTypeDéfautRequisDescription
body{ spans: Doc[] } & DocouiRequête d'export OTLP JSON (resourceSpans) ou {spans: [...]} où chaque span porte trace_id, span_id, parent_span_id facultatif, name, service, start_time, end_time (ISO 8601 ou startTimeUnixNano / endTimeUnixNano), status, attributes, et facultativement cost {amount, currency}, run_id et session_id.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TelemetryResource.logs​

logs(query?: { level?: "error" | "info"; service?: string; trace_id?: string; q?: string; from?: string; to?: string; limit?: number } & Query, opts?: CallOptions)

Lister le journal des requêtes. Journal des requêtes du tenant tiré des résumés de spans, du plus récent au plus ancien : une ligne par span avec son heure, son niveau (error si le span a échoué, sinon info), son service, son nom, son message (type d'erreur, ou méthode, route et code de statut), sa durée, sa trace, son span, son exécution et ses attributs conservés. Jamais de prompt ni de sortie de modèle. Demande un principal de tenant avec platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un niveau inconnu ou un from postérieur à to répond 400 invalid_request.

Route : /v1/telemetry/logs (GET).

NomTypeDéfautRequisDescription
query{ level?: "error" | "info"; service?: string; trace_id?: string; q?: string; from?: string; to?: string; limit?: number } & QuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TelemetryResource.overview​

overview(query?: Query, opts?: CallOptions)

Lire la vue d'ensemble de la télémétrie. Tableau de bord du tenant sur les days derniers jours : nombre de requêtes (spans racines), erreurs, taux d'erreur, latences p50 et p95 en millisecondes, coût total, et par jour les requêtes, les erreurs et le coût (coût des spans plus le coût mesuré ou estimé des événements d'usage LLM). Indique aussi quels exportateurs (Opik, OpenTelemetry, ClickHouse) sont configurés. Le coût total est libellé en USD. Demande un principal de tenant (403 tenant_required).

Route : /v1/telemetry/overview (GET).

NomTypeDéfautRequisDescription
queryQuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TelemetryResource.recordEvent​

recordEvent(span: Span, name: string, attributes: Doc = {}): Span

Ajoute un événement horodaté à un span ouvert (aucune requête).

NomTypeDéfautRequisDescription
spanSpanouiSpan ouvert ; un span déjà terminé lève span_ended.
namestringouiNom de l'événement.
attributesDoc{}nonAttributs de l'événement.

Retour : Span. Le même span, avec l'événement ajouté.

Erreurs levées : EaiError.

TelemetryResource.setSloTarget​

setSloTarget(service: string, body: { availability: number; latency_seconds: number; latency_objective: number; reason?: string }, opts?: CallOptions)

Définir les objectifs d'un service. Objectifs d'un service de la plateforme, écrits en base de données où ils remplacent les valeurs par défaut EAI_SLO_* pour chaque réplique sous 30 secondes. Réservé à l'administrateur de la plateforme (403 forbidden). Un service inconnu répond 404 slo_service_unknown. La modification, avec les valeurs avant et après et la raison, est auditée (telemetry.slo.target.update) ; la réponse donne les objectifs enregistrés avec leur version.

Route : /v1/telemetry/slo/targets/{service} (PUT).

NomTypeDéfautRequisDescription
servicestringouiService dont les objectifs sont définis : control_plane_api, model_gateway, tool_gateway ou realtime.
body{ availability: number; latency_seconds: number; latency_objective: number; reason?: string }ouiNouveaux objectifs de disponibilité et de latence du service.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TelemetryResource.slo​

slo(query?: { window_minutes?: number; tenant_id?: string } & Query, opts?: CallOptions)

Lire les budgets d'erreur des SLO. Pour chaque service, sur les window_minutes dernières minutes : requêtes, erreurs (5xx), requêtes au-delà de la cible de latence, cible de latence et son origine (database ou settings), et pour la disponibilité et la latence la cible, le taux de mauvaises requêtes, le budget restant et le rythme de consommation. Les comptes sont ceux de la réplique qui répond. Demande platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un administrateur de la plateforme lit toute la plateforme ou un tenant ; les autres ne lisent que leur propre tenant (403 slo_scope_forbidden pour un autre). Une fenêtre hors de 1 à EAI_SLO_RETENTION_MINUTES répond 422 slo_window_invalid. Chaque lecture est auditée (telemetry.slo.read).

Route : /v1/telemetry/slo (GET).

NomTypeDéfautRequisDescription
query{ window_minutes?: number; tenant_id?: string } & QuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TelemetryResource.startSpan​

startSpan(name: string, attributes: Doc = {}, traceparent?: string): Span

Ouvre un span explicite (aucune requête), enfant d'un traceparent W3C s'il est fourni.

NomTypeDéfautRequisDescription
namestringouiNom du span.
attributesDoc{}nonAttributs du span, copiés.
traceparentstringnontraceparent W3C du parent ; une valeur mal formée lève validation_error.

Retour : Span. Le span ouvert, avec un nouvel identifiant de trace en l'absence de parent.

Erreurs levées : EaiError.

TelemetryResource.trace​

trace(traceId: string, opts?: CallOptions)

Lire une trace. Tous les spans de la trace dans l'ordre de début (avec leur coût s'il est connu), le nombre de spans, la durée totale en millisecondes, le nombre d'erreurs, les événements d'audit qui portent cet identifiant de trace, et un lien vers la trace dans Opik quand Opik est configuré. Demande un principal de tenant (403 tenant_required). Un identifiant mal formé répond 400 invalid_request ; une trace sans span ni événement d'audit répond 404 not_found.

Route : /v1/telemetry/traces/{trace_id} (GET).

NomTypeDéfautRequisDescription
traceIdstringouiIdentifiant de trace : 32 caractères hexadécimaux (W3C trace context), insensible à la casse.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).

TelemetryResource.traces​

traces(query?: { status?: "ok" | "error" | "unset"; service?: string; run_id?: string; from?: string; to?: string; limit?: number } & Query, opts?: CallOptions)

Lister les traces récentes. Traces récentes du tenant, de la plus récente à la plus ancienne : une ligne par span racine avec son nom, son service, son début, sa durée, son statut, son exécution, sa session et ses nombres de spans et d'erreurs. Demande un principal de tenant avec platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un statut inconnu ou un from postérieur à to répond 400 invalid_request.

Route : /v1/telemetry/traces (GET).

NomTypeDéfautRequisDescription
query{ status?: "ok" | "error" | "unset"; service?: string; run_id?: string; from?: string; to?: string; limit?: number } & QuerynonParamètres de la chaîne de requête de la route.
optsCallOptionsnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Erreurs levées : les erreurs typées du transport (Erreurs).