Référence

Templates & Champs

Un Template est une liste sauvegardée et réutilisable de Champs à extraire d'un document — un champ par colonne de sortie. Passez l'id d'un Template à Lancer le traitement d'un lot au lieu de lister vos champs à chaque appel. Vous pouvez aussi créer un Template à partir d'un modèle prédéfini intégré, ou ignorer les Templates et passer des fields ad-hoc directement à process pour une exécution unique.

Lister les templates

Renvoie vos templates sauvegardés, chacun avec sa liste de champs complète et ordonnée.

GET /api/v1/templates

Paramètres

NomEmplacementTypeDescription
limitquery, optionnelentier1–100. Par défaut 50.
page_tokenquery, optionnelchaîneCurseur opaque provenant du next_page_token d'une réponse précédente. Voir Pagination.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • invalid_parameterlimit ou page_token incorrect.

Créer un modèle

Deux façons de créer un modèle en un seul point d'accès : de zéro (en clonant éventuellement les champs d'un autre modèle via base_template_id), ou à partir d'un préréglage intégré via preset_id.

POST /api/v1/templates

Paramètres

NomEmplacementTypeDescription
namecorps (JSON)chaîneRequis sauf si preset_id est fourni (dans ce cas, le nom du préréglage est utilisé, désambiguïsé par un suffixe horodaté si vous avez déjà un modèle portant ce nom).
preset_idcorps (JSON)chaîne, facultatifConstruire le modèle (et ses champs) à partir d'un préréglage intégré — voir Lister les préréglages pour les ID valides.
base_template_idcorps (JSON)entier, facultatifUtilisé uniquement quand preset_id n'est pas fourni — clone les champs de ce modèle existant dans le nouveau.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • missing_parameter (param: "name") — pas de name ni de preset_id.
  • invalid_parameter (param: "name") — un modèle avec ce nom existe déjà (uniquement pour la création sans préréglage).
  • invalid_parameter (param: "preset_id") — ID de préréglage inconnu.
  • internal_error

Supprimer un modèle

Supprime un modèle et tous ses champs (cascade — aucun appel de nettoyage séparé nécessaire). Cela n'affecte pas les documents qui ont déjà utilisé ce modèle lors d'un appel process antérieur ; leurs résultats déjà extraits restent inchangés.

DELETE /api/v1/templates/{id}

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle à supprimer.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • internal_error

Lister les préréglages

Listes de champs intégrées pour les types de documents courants (factures, reçus, relevés bancaires, etc.) — transmettez l'id d'un préréglage comme preset_id à Créer un modèle pour obtenir un modèle fonctionnel sans avoir à lister les champs manuellement. Les préréglages sont une configuration statique, pas des lignes de base de données — il n'est pas possible d'en créer, modifier ou supprimer via l'API.

GET /api/v1/presets

Paramètres

NomEmplacementTypeDescription
categoryrequête, optionnelchaîneFiltrer par catégorie (ex. "Finance & Comptabilité"). Omettre pour lister toutes les catégories.
limitrequête, optionnelentier1–100. Par défaut 50.
page_tokenrequête, optionnelchaîneCurseur opaque provenant du next_page_token d'une réponse précédente.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • invalid_parameterlimit ou page_token incorrect.

Lister et créer des champs

fields est le nom public v1 de ce que l'interface produit appelle « règles de correspondance » — un champ par colonne de sortie, dans l'ordre où l'extraction les émettra. GET renvoie tous les champs du modèle, déjà triés par sort_order. POST ajoute un nouveau champ à la fin.

GET POST /api/v1/templates/{id}/fields

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle auquel ces champs appartiennent.
namecorps (JSON), POST uniquementchaîneRequis. Doit être unique dans ce modèle — voir erreurs ci-dessous.
format_requirementcorps (JSON), POST uniquementchaîne, facultatifIndice en texte libre sur le format attendu (ex. "YYYY-MM-DD", "Nombre").

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • missing_parameter (param: "name") — POST uniquement.
  • duplicate_field_name — un champ avec ce name existe déjà sur ce modèle.
  • internal_error

Mettre à jour et supprimer un champ

PUT renomme un champ (et remplace son format_requirement) — il s'agit d'un remplacement complet, pas d'une mise à jour partielle, donc incluez les deux valeurs même si une seule a changé. DELETE le supprime.

PUT DELETE /api/v1/templates/{id}/fields/{field_id}

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle auquel appartient ce champ.
field_idcheminentierLe champ à mettre à jour ou supprimer.
namecorps (JSON), PUT uniquementchaîneRequis. Nouveau nom.
format_requirementcorps (JSON), PUT uniquementchaîne, facultatifNouvel indice de format — omettez-le et il sera effacé en chaîne vide, pas laissé inchangé.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found — le modèle n'existe pas / ne vous appartient pas, ou (avec un message le précisant) le field_id n'est pas sur ce modèle.
  • missing_parameter (param: "name") — PUT uniquement.
  • duplicate_field_name — PUT uniquement, renommage avec un nom déjà utilisé par un autre champ sur ce modèle.
  • internal_error

Réorganiser les champs

Définit explicitement l'ordre des champs, qui détermine l'ordre des colonnes en sortie dans line_items et dans les exportations Excel/Word. Les ID de la liste qui n'appartiennent pas à ce modèle sont ignorés silencieusement, sans rejeter la requête entière.

PATCH /api/v1/templates/{id}/fields/order

Paramètres

NomEmplacementTypeDescription
idcheminentierLe modèle à réorganiser.
field_idscorps (JSON)tableau d'entiersTous les ID de champ de ce modèle, dans l'ordre souhaité. Requis.

Erreurs possibles

  • missing_api_key / invalid_api_key / plan_required — voir Gestion des erreurs.
  • template_not_found
  • invalid_parameter (param: "field_ids") — ce n'est pas une liste d'entiers.
  • internal_error
📮 contact email: [email protected]