Cycle de vie
Créer un run
POST /v1/runs accepte prompt (requis), workspace_id, conversation_id et output. Tout autre champ est refusé.
- Sans
workspace_idniconversation_id, Retriever crée un workspace et une conversation. - Avec
conversation_id, le run continue une conversation existante. Un seul run peut être actif par conversation, sinon409 conversation_busy. - La réponse
202porteLocationetRetry-After: 5.
Idempotence
Envoyez un en-têteIdempotency-Key (non vide) pour pouvoir rejouer la création sans doublon :
- Même clé et même corps :
202avec le run d’origine. - Même clé et corps différent :
409 idempotency_conflict. - La clé est rattachée à l’utilisateur, pas à la clé API : deux clés API du même utilisateur partagent le même espace de noms.
Suivre un run
LisezGET /v1/runs/{id} jusqu’à completed, failed ou cancelled :
- Respectez
Retry-After(15 secondes tant que le run est actif). - Envoyez
If-None-Matchavec l’ETagreçu : l’API répond304sans corps si rien n’a changé.
Choisir la sortie
- Les schémas sont en JSON Schema draft 7, autonomes, validés sans coercition.
- Pour
tables, la liste et chaquerow_schemasont optionnels. Les clés doivent être uniques. - Déclarez
["string", "null"]pour tout champ qui peut manquer : un schéma trop strict empêche la publication et le run échoue.
GET /v1/runs/{id}/output renvoie :
- JSON :
typevautjsonetvaluecontient la valeur. - Tables :
typevauttablesettablesliste chaque table (key,source_table_id,columns,row_count,links).
GET /v1/runs/{id}/output/tables/{key}/rows. Elles contiennent id, source_row_id, values, cells et fit, et ne changent plus.
Artefacts
artifacts liste les tables créées (created) ou modifiées (updated) par le run :
- Les artefacts pointent vers des tables vivantes : leur contenu peut changer après le run.
- La liste peut contenir des tables intermédiaires, ou être vide.
- Pour identifier la table finale sans deviner, utilisez un contrat
outputde typetables.
Exporter
POST /v1/runs/{id}/exports avec table_key et format (csv ou json) génère l’export pendant la requête. La réponse 201 indique qu’il est prêt ; téléchargez-le avec GET /v1/runs/{id}/exports/{exportId}.
- L’export contient les valeurs métier, sans métadonnées de cellules.
- En CSV, les listes d’expériences et de formations sont aplaties en texte. Le JSON garde la structure.