Runs
Fichiers
Envoyer un fichier en entrée d'un run et récupérer les fichiers produits.
Un run peut lire un fichier que vous lui fournissez en entrée. L'envoi se fait en deux temps : téléverser le fichier une fois avec POST /v1/files, puis référencer son id dans autant de runs que vous voulez, tant qu'il n'a pas expiré.
Envoyer un fichier
curl https://leem-api.lcom-corp.com/v1/files -X POST \
-H "Authorization: Bearer $LEEM_API_KEY" \
-F "file=@rapport.pdf"
- Le corps est
multipart/form-dataavec un seul champ, nomméfile. Tout autre champ est refusé (unknown_parameter). - 20 Mo au plus (
413 file_too_largeau-delà). - Le type est lu dans les octets du fichier, jamais dans son nom ni dans l'en-tête envoyé par le client : PDF, image PNG/JPEG/WebP, classeur XLSX, document DOCX ou fichier CSV. Un autre type reçoit
415 unsupported_file_type. Un fichier vide reçoit400 empty_file; un classeur ou document dont le contenu compressé ressemble à une bombe zip est refusé (400 file_unsafe).
{
"data": {
"id": "file_01k6examplef00000000000",
"purpose": "input",
"name": "rapport.pdf",
"type": "application/pdf",
"size": 48213,
"created_at": "2026-09-21T10:13:20+00:00",
"expires_at": "2026-09-28T10:13:20+00:00"
}
}
L'utiliser dans un run
curl https://leem-api.lcom-corp.com/v1/runs -X POST \
-H "Authorization: Bearer $LEEM_API_KEY" -H "Content-Type: application/json" \
-d '{"agent": "agt_01k6examplea0000000000000", "input": "Résume ce document.", "files": ["file_01k6examplef00000000000"]}'
files accepte jusqu'à 10 ids de fichiers d'entrée (file_…, renvoyés par POST /v1/files), dans l'ordre donné. Référencer un id inexistant, expiré ou d'une autre organisation renvoie 404 resource_not_found, avec param nommant l'entrée en cause (files.0, files.1…).
Dès qu'un run a des fichiers en entrée, il porte automatiquement quatre outils supplémentaires, sans qu'il faille les lister dans tools de l'agent : inspect_file (structure du fichier), read_uploaded_file (lecture page par page, ou d'un PDF comme images), search_text (recherche exacte) et list_uploaded_files (liste des fichiers du run). Voir Agents et outils.
Lire et supprimer
GET /v1/files/{file} renvoie un fichier d'entrée ou un fichier produit par un run : un seul espace d'id (file_…), deux tables distinctes en interne (purpose: "input" ou "output") :
curl https://leem-api.lcom-corp.com/v1/files/file_01k6examplef00000000000 -H "Authorization: Bearer $LEEM_API_KEY"
DELETE /v1/files/{file} supprime un fichier avant son expiration naturelle, utile pour libérer votre quota sans attendre 7 jours.
Conservation et quotas
Un fichier d'entrée est gardé 7 jours après son envoi, puis supprimé automatiquement (sauf s'il est encore référencé par un run actif, auquel cas la purge suivante le prendra). Les fichiers produits par un run (voir Lancer un run) suivent la même règle de 7 jours, indépendamment de la conservation du run lui-même (30 jours).
Votre organisation garde au plus un nombre et un volume de fichiers d'entrée simultanés (par défaut 1000 fichiers, 2048 Mo) ; au-delà, POST /v1/files renvoie 400 storage_quota_exceeded : supprimez un fichier ou attendez son expiration.