Référence

Référence de l’API

Engendrée depuis la spécification que l’API sert, et vérifiée à chaque exécution de la suite de tests : ce que vous lisez ici est ce que le service répond.

Les descriptions ci-dessous viennent des annotations du code et n’ont qu’une version : les traduire créerait une seconde source qui finirait par diverger.

post

/v1/convert

Convertir un fichier vers le format demande

Le format source se lit dans les octets du fichier, jamais dans son nom ni dans son extension. La cible se demande par `to`. Les paires servies sont celles que `GET /v1/formats` enumere — les deux lisent la meme table. Un refus structurel (paire inconnue, image indecodable) rend `200` avec `status: refused` et un motif : il ne se decompte pas.

Paramètres

  • tostringrequisFormat cible de la conversion. Les valeurs servies sont celles que `GET /v1/formats` énumère — les deux lisent la même table. Les orthographes courtes (`jpg`, `tif`) désignent le même format que les longues.
  • page_sizestringTaille de la page, quand la cible est un PDF : `a4` (defaut), `letter`, ou `fit` pour une page aux dimensions exactes de l'image. Ignore pour toute autre cible.
  • orientationstringSens de la page : `portrait` (defaut), `landscape`, ou `auto` pour suivre la forme de l'image. Sans effet avec `page_size=fit`.
  • marginbooleanMarge d'un demi-pouce autour de l'image. Vrai par defaut ; toujours absente avec `page_size=fit`, dont l'objet est justement de coller a l'image.
  • Accept-LanguageLangue des messages lisibles de la réponse : `fr` ou `en`. Les codes, eux, ne sont jamais traduits — c'est sur eux qu'un client branche son test.
  • Idempotency-KeyRejoue sans redécompter. La clé est liée à l'empreinte du document : la même clé sur un autre document renvoie 409.

Réponses

  • 200OK
  • 400Requête malformée : champ absent, valeur invalide, document illisible ou format non reconnu.
  • 413Document au-delà de 10 Mo.
  • 415Type de contenu inattendu pour cet endpoint.
  • 429Trop de requêtes. La limite porte sur l'adresse IP pour les endpoints libres, sur la clé sinon.
  • 500Erreur interne. Le traitement n'est pas décompté et la réponse porte un identifiant d'incident à nous communiquer.
get

/v1/formats

Les paires de formats servies

La liste est calculee depuis la table des moteurs, jamais redigee : ce que cette reponse enumere est exactement ce que `POST /v1/convert` accepte.

Paramètres

  • Accept-LanguageLangue des messages lisibles de la réponse : `fr` ou `en`. Les codes, eux, ne sont jamais traduits — c'est sur eux qu'un client branche son test.

Réponses

  • 200OK
  • 400Requête malformée : champ absent, valeur invalide, document illisible ou format non reconnu.
  • 413Document au-delà de 10 Mo.
  • 415Type de contenu inattendu pour cet endpoint.
  • 429Trop de requêtes. La limite porte sur l'adresse IP pour les endpoints libres, sur la clé sinon.
  • 500Erreur interne. Le traitement n'est pas décompté et la réponse porte un identifiant d'incident à nous communiquer.
post

/v1/merge

Assembler plusieurs PDF en un seul

Plusieurs parties `file`, dans l'ordre voulu pour le document final : cet ordre est celui de la requete, jamais celui des noms de fichiers — ce service ne lit pas les noms. Il en faut au moins deux, et au plus cinquante. Un refus structurel rend `200` avec `status: refused` et un motif ; il ne se decompte pas.

Paramètres

  • Accept-LanguageLangue des messages lisibles de la réponse : `fr` ou `en`. Les codes, eux, ne sont jamais traduits — c'est sur eux qu'un client branche son test.

Réponses

  • 200OK
  • 400Requête malformée : champ absent, valeur invalide, document illisible ou format non reconnu.
  • 413Document au-delà de 10 Mo.
  • 415Type de contenu inattendu pour cet endpoint.
  • 429Trop de requêtes. La limite porte sur l'adresse IP pour les endpoints libres, sur la clé sinon.
  • 500Erreur interne. Le traitement n'est pas décompté et la réponse porte un identifiant d'incident à nous communiquer.
post

/v1/split

Decouper un PDF en un document par page

Le fichier doit etre un PDF : son format se lit dans ses octets, jamais dans son nom. La reponse porte un document par page, dans l'ordre, chacun encode en base64. Un refus structurel — PDF protege, illisible, ou trop de pages — rend `200` avec `status: refused` et un motif. Il ne se decompte pas.

Paramètres

  • Accept-LanguageLangue des messages lisibles de la réponse : `fr` ou `en`. Les codes, eux, ne sont jamais traduits — c'est sur eux qu'un client branche son test.

Réponses

  • 200OK
  • 400Requête malformée : champ absent, valeur invalide, document illisible ou format non reconnu.
  • 413Document au-delà de 10 Mo.
  • 415Type de contenu inattendu pour cet endpoint.
  • 429Trop de requêtes. La limite porte sur l'adresse IP pour les endpoints libres, sur la clé sinon.
  • 500Erreur interne. Le traitement n'est pas décompté et la réponse porte un identifiant d'incident à nous communiquer.