Aller au contenu

Documents

Ce document décrit l’ingestion de documents dans le corpus d’un agent Documentaliste : upload, consultation du statut, listing et suppression. Ces endpoints sont réservés aux agents de type DOCUMENTALIST et scopés à votre organisation via votre token x-api-key (voir Récupération de votre Token d’Authentification).

Toutes les réponses utilisent une enveloppe commune :

{ "status": "success", "data": { } }
{ "status": "error", "code": "document_not_found", "error": "Document not found" }

Codes d’erreur : agent_not_found, invalid_agent_type, quota_exceeded, invalid_request, unsupported_file_type, file_too_large, document_already_exists, document_not_found, infected_file, antivirus_unavailable.

Certaines erreurs incluent un champ detail : supported (extensions acceptées) pour unsupported_file_type, limit/size pour file_too_large, document_reference pour document_already_exists, limit/current pour quota_exceeded.

  • Formats acceptés : pdf, docx, jpg, jpeg, png, heic (déterminés par l’extension du nom de fichier).
  • Taille maximale : 60 Mo par fichier (votre plan peut appliquer une limite inférieure — le cap effectif est alors renvoyé dans le detail du 413 file_too_large).
  • Le contenu est transmis encodé en base64 dans le corps de la requête.

POST /v2/agents/{reference}/documents

Fenêtre de terminal
curl --location 'https://api.dimarc.ai/v2/agents/01ABC.../documents' \
--header 'x-api-key: <your_api_key>' \
--header 'Content-Type: application/json' \
--data '{
"filename": "rapport-annuel.pdf",
"file": "<contenu_base64>",
"path": "finance/2026"
}'
  • filename (obligatoire) : nom du fichier, avec son extension.
  • file (obligatoire) : contenu du fichier encodé en base64.
  • path (optionnel) : chemin logique de classement au sein du corpus documentaire.

Réponse 202 :

{ "status": "success", "data": { "document_reference": "01ABC...", "status": "pending" } }

L’ingestion est asynchrone : le document est créé avec le statut pending, puis passe à ready ou error une fois traité. Configurez le webhook document.ingestion_completed pour être notifié de l’issue, ou obtenez le statut par polling via le listing ou la consultation de l’agent.

Erreurs possibles : 403 quota_exceeded (quota de documents de l’agent atteint), 404 agent_not_found, 409 document_already_exists (même fichier — nom et chemin — déjà présent ; voir Remplacer un document), 413 file_too_large, 422 invalid_agent_type (agent non Documentaliste), 422 invalid_request (base64 ou path invalide — slash en tête/queue, segment vide, longueur), 422 unsupported_file_type, 422 infected_file (fichier détecté comme infecté par l’antivirus), 503 antivirus_unavailable.

GET /v2/agents/{reference}/documents

Fenêtre de terminal
curl 'https://api.dimarc.ai/v2/agents/01ABC.../documents' \
--header 'x-api-key: <your_api_key>'

Réponse :

{
"status": "success",
"data": [
{
"reference": "01ABC...",
"name": "rapport-annuel.pdf",
"path": "finance/2026",
"status": "ready",
"size": 245678,
"mime": "application/pdf",
"created_at": "2026-07-18T09:30:00.000Z",
"updated_at": "2026-07-18T09:31:12.000Z"
}
]
}

status vaut pending, ready ou error. Utilisez ce endpoint pour suivre l’avancement d’une ingestion en cours (polling).

Erreurs possibles : 404 agent_not_found, 422 invalid_agent_type.

DELETE /v2/agents/{reference}/documents/{documentReference}

Fenêtre de terminal
curl --location --request DELETE 'https://api.dimarc.ai/v2/agents/01ABC.../documents/01XYZ...' \
--header 'x-api-key: <your_api_key>'

Réponse 200 :

{ "status": "success", "data": { "reference": "01XYZ..." } }

Supprime le fichier stocké et son index de recherche.

Erreurs possibles : 404 agent_not_found, 404 document_not_found, 422 invalid_agent_type.

Il n’y a pas de mise à jour en place : un document est identifié par son nom de fichier et son chemin. Pour remplacer un document existant, supprimez-le d’abord (DELETE) puis ré-uploadez-le (POST). Uploader un document avec le même nom et le même chemin qu’un document déjà présent renvoie 409 document_already_exists sans le modifier.

Un document passé au statut error n’est pas retenté automatiquement par le serveur. Pour relancer son traitement, supprimez-le puis ré-uploadez-le.

Pour toute question concernant l’API Documents, contactez notre équipe de support à l’adresse contact@dimarc.fr