Journal des modifications

Notre politique de versioning : sous le préfixe /api/v1/, les nouveaux champs et les nouveaux endpoints sont additifs et ne comptent jamais comme un changement cassant — supprimer ou modifier le sens d'un champ existant serait une v2. Autrement dit, tu peux considérer chaque entrée ci-dessous comme « voici ce qui est nouveau », pas « voici ce qui pourrait casser ton intégration ».

2026-09-26

  • format_requirement sur des fields ad hoc est désormais appliqué. Quand POST /batches/{batch_name}/process était appelé avec fields (sans template_id), le format_requirement de chaque champ était ignoré avant l'extraction, si bien que les valeurs revenaient telles qu'imprimées sur le document. Ces valeurs sont désormais transmises au modèle et priment sur tout modèle avec lequel les documents ont été téléversés. Les modèles enregistrés n'étaient pas affectés. Vois la référence Batches.
  • POST /documents rejette un batch_name de plus de 50 caractères avec 400 invalid_parameter. De tels noms échouaient auparavant avec une erreur 500, ou avec un « Échec du rendu du PDF. » trompeur lors des téléversements PDF.
  • PUT /templates/{id}/settings ajouté. Définit l'exigence de format global d'un modèle et la configuration de fusion multipage (si plusieurs pages téléversées appartenant au même enregistrement — un bail multipage, un lot de reçus agrafés — doivent se regrouper en une seule ligne de sortie). L'objet Template renvoyé par chaque endpoint de modèles inclut désormais aussi global_format_requirement et chaque champ merge_*. Voir la référence Templates & Fields.
  • GET /batches/{batch_name}/results prend désormais en charge ?merge=true. Applique la config de fusion multipage du modèle résolu du lot, si elle existe — les documents qui se regroupent dans un enregistrement fusionné portent un nouveau champ source_document_ids à côté du champ habituel document_id, et la réponse gagne un champ de niveau supérieur merge_active. La valeur par défaut reste false : cet endpoint est antérieur à la fusion multipage, donc les intégrations existantes continuent de voir une entrée par document téléversé, sauf si elles optent explicitement. Ne peut pas être combiné avec include=bbox. GET /batches/{batch_name}/export appliquait déjà la fusion sans condition avant ce changement et n'est pas affecté. Voir la référence Batches.
  • Le niveau de modèle est désormais correctement reflété dans la comptabilité des crédits pour POST /batches/{batch_name}/process. Un compte assigné Advanced ou Premium (coût de crédit Standard 3x/6x par document) voit désormais ce taux appliqué de manière cohérente à la fois à la déduction au moment du traitement et à tout remboursement ultérieur pour un document annulé ou échoué — auparavant, un document dont la ligne ImageUpload avait déjà été supprimée au moment où un remboursement s'exécutait pouvait être remboursé au taux Standard, sous-remboursant un compte non-Standard. Les entrées GET /account/usage pour une déduction/remboursement non-Standard portent désormais un action suffixé par le niveau (deduction_advanced, deduction_premium) au lieu du nom nu. Le niveau de modèle lui-même n'est pas nouveau, et il n'existe toujours aucun moyen au niveau de la requête de le sélectionner ou de le remplacer — cette entrée concerne le fait que la comptabilité est désormais correcte et visible, pas une nouvelle capacité. Voir le guide Account Settings & API Behavior et la référence Account.

2026-08-04

  • GET /events ajouté pour les intégrations par polling. Le flux d'événements renvoie les événements batch.completed, document.completed et document.failed du plus récent au plus ancien, avec des ID d'événements stables pour la déduplication de type Zapier. Voir la référence Webhooks.

2026-07-22

  • POST /templates impose désormais une limite de 30 modèles par compte. Une fois la limite atteinte, la création d'un autre modèle (de zéro ou à partir d'un preset) renvoie 400 template_limit_reached — supprimez d'abord un modèle existant. Cette limite n'était pas appliquée auparavant. Voir la référence Templates & Fields.

2026-07-21

  • POST /documents accepte désormais les fichiers Word (.docx) et texte brut (.txt), pas seulement les images et les PDF. Les deux sont convertis en PDF côté serveur puis suivent exactement le même découpage par page qu'un téléversement PDF natif — un .docx multipage produit un Document par page, comme avec le comportement PDF actuel. Le format binaire hérité .doc n'est pas pris en charge ; enregistrez d'abord au format .docx. Voir la référence Documents.
  • Limite de pages par téléversement relevée de 30 à 50 pages. S'applique aux téléversements PDF natifs et aux fichiers .docx/.txt convertis côté serveur. Voir la référence Documents.
  • GET /documents/{document_id}/image prend désormais en charge ?size=thumb pour une version plus petite et pré-générée de l'image de page — plus rapide à charger dans une vue liste/grille que la page en pleine résolution. Repli sur l'image complète si aucune miniature n'a été générée pour ce document (jamais une erreur). Voir la référence Documents.

2026-07-20

  • Les webhooks de lot se réarment désormais automatiquement lorsque vous retraitez un lot. Si vous ajoutez plus de documents dans un lot qui vous a déjà notifié une fois et que vous appelez process à nouveau, vous serez notifié à nouveau lorsque cette nouvelle vague se terminera — pas besoin de re-PUT le webhook. Consultez le guide Webhooks . Si votre intégration réenregistre actuellement le webhook avant chaque vague comme solution de contournement, vous pouvez arrêter — cet appel ne réarmait en réalité jamais rien.
  • Les tâches d'annotation bbox déclenchent désormais un événement webhook. Un événement document.bbox_completed se déclenche sur le webhook du lot du document lorsqu'une tâche bbox atteint un statut terminal — auparavant, les complétions bbox ne produisaient aucune notification, quelle que soit l'inscription. Consultez le guide Webhooks.
  • remaining_batch_capacity ajouté aux réponses POST /documents. Vous indique combien de documents supplémentaires ce lot peut accepter avant d'atteindre la taille maximale de lot de votre plan, sans appel séparé à GET /account.
  • Les livraisons document.bbox_completed sont désormais réclamées de manière atomique, comme batch.completed. Une tâche bbox dont les groupes de lignes se terminent à quelques instants d'intervalle sur différents threads déclenchait parfois deux livraisons séparées pour ce qui était logiquement une seule complétion — vous ne devriez plus voir cela. Si votre intégration dédupliquait ces événements par data.group_batch_id comme solution de contournement, vous pouvez continuer sans risque.

2026-07-16

  • API v1 lancée. Publication publique de /api/v1/, couvrant les ressources Documents, Batches, Templates & Fields, Webhooks et Account pour le mode de traitement table (extraction structurée de champs). Consultez Aperçu de l'API pour commencer.
📮 contact email: [email protected]