# Vue d’ensemble des actions

Ce qu’est une action, le catalogue groupé par capacité et comment la sortie d’une action devient l’entrée de la suivante.

Une **action** est une transformation PDF unique et pure, exposée sous la forme
d’un seul endpoint. Vous envoyez un document, l’action lui fait exactement une
chose (fusionner, apposer un filigrane, chiffrer, faire pivoter, diviser) et vous
en récupérez le résultat. Les actions ne conservent aucun état et ne partagent
aucun contexte ; chaque appel se suffit à lui-même. C’est cette uniformité qui
permet de les emboîter en pipelines.

## Ce qu’est une action

Chaque action est un `POST` vers `/v1/<action>`, où `<action>` est le nom
technique donné dans les tableaux ci-dessous. Toutes suivent le même
[contrat de requête et de réponse](/docs/api/requests-and-responses) : un corps
`multipart/form-data` avec le PDF d’entrée dans un champ `file`, authentifié par
l’en-tête `X-API-Key`. La plupart renvoient un seul `application/pdf` ; la
famille des divisions renvoie plusieurs documents.

## Le catalogue

Dix-sept actions, groupées par capacité. Chacune renvoie à sa référence complète.

### Fusionner et diviser

| Action | Route | Ce qu’elle fait |
| --- | --- | --- |
| [Fusionner des documents PDF](/docs/api/merge-pdf-documents) | `/v1/merge_documents` | Combine un tableau ordonné de PDF en un seul document. |
| [Diviser un PDF par nombre de pages](/docs/api/split-pdf-by-page-count) | `/v1/split_by_page_count` | Découpe un PDF en parties consécutives d’un nombre de pages fixe. |
| [Diviser un PDF à une page](/docs/api/split-pdf-at-page) | `/v1/split_at_page` | Divise un PDF en deux parties à une limite de page. |
| [Diviser un PDF par taille de fichier](/docs/api/split-pdf-by-file-size) | `/v1/split_by_size` | Découpe un PDF en parties ne dépassant chacune pas une limite en octets. |
| [Diviser un PDF en groupes de pages](/docs/api/split-pdf-into-page-groups) | `/v1/split_by_groups` | Découpe un PDF en groupes de pages que vous définissez. |

Les quatre actions de division produisent chacune plusieurs documents ; vous
choisissez le conditionnement avec l’en-tête `Accept`, voir
[Formats de réponse et négociation de contenu](/docs/api/response-formats).

### Filigranes

| Action | Route | Ce qu’elle fait |
| --- | --- | --- |
| [Ajouter un filigrane texte à un PDF](/docs/api/add-text-watermark-to-pdf) | `/v1/add_text_watermark` | Appose jusqu’à trois lignes de texte stylé sur les pages. |
| [Ajouter un filigrane image à un PDF](/docs/api/add-image-watermark-to-pdf) | `/v1/add_image_watermark` | Appose une image PNG ou JPEG, un logo par exemple, sur les pages. |

### Mots de passe et sécurité

| Action | Route | Ce qu’elle fait |
| --- | --- | --- |
| [Ajouter un mot de passe à un PDF](/docs/api/add-password-to-pdf) | `/v1/add_password` | Chiffre un document avec un mot de passe d’ouverture et/ou d’autorisations. |
| [Supprimer le mot de passe d’un PDF](/docs/api/remove-password-from-pdf) | `/v1/remove_password` | Déchiffre un document dont vous connaissez le mot de passe. |
| [Ajouter des restrictions à un PDF](/docs/api/add-restrictions-to-pdf) | `/v1/add_restrictions` | Définit les indicateurs d’autorisation pour l’impression, la copie et la modification. |
| [Supprimer les restrictions d’un PDF](/docs/api/remove-restrictions-from-pdf) | `/v1/remove_restrictions` | Efface les indicateurs d’autorisation d’un document. |
| [Supprimer les signatures d’un PDF](/docs/api/remove-signatures-from-pdf) | `/v1/remove_signatures` | Supprime les signatures numériques pour que le document puisse être modifié. |

### Pages

| Action | Route | Ce qu’elle fait |
| --- | --- | --- |
| [Extraire des pages d’un PDF](/docs/api/extract-pages-from-pdf) | `/v1/extract_pages` | Conserve un ensemble de pages choisi et écarte le reste. |
| [Supprimer des pages d’un PDF](/docs/api/remove-pages-from-pdf) | `/v1/remove_pages` | Écarte un ensemble de pages choisi et conserve le reste. |
| [Faire pivoter des pages d’un PDF](/docs/api/rotate-pages-in-pdf) | `/v1/rotate_pages` | Fait pivoter les pages choisies d’un multiple de 90 degrés. |
| [Inverser les pages d’un PDF](/docs/api/reverse-pages-of-pdf) | `/v1/reverse_pages` | Inverse l’ordre des pages de bout en bout. |
| [Réorganiser les pages d’un PDF](/docs/api/reorder-pages-of-pdf) | `/v1/reorder_pages` | Réorganise les pages dans un ordre indiqué par l’appelant. |

## Comment les actions se composent

Comme chaque action prend un PDF et (pour les actions à sortie unique) renvoie un
PDF, la sortie d’une action est une entrée valide pour la suivante. Rien n’est
stocké entre les appels : vous composez donc en faisant circuler les octets,
c’est-à-dire en gardant la réponse d’une requête en mémoire et en la postant
comme `file` de la suivante.

Un pipeline typique se lit de gauche à droite :

```text
merge_documents  →  add_text_watermark  →  add_password
   (many PDFs)         (one watermarked)      (one encrypted)
```

Le guide [Enchaîner les actions](/docs/api/chaining-actions) le montre de bout en
bout, en code, sans toucher au disque.

## Sortie unique ou sorties multiples

La plupart des actions renvoient un seul document `application/pdf`. Les quatre
actions de division en renvoient plusieurs et vous laissent choisir leur
conditionnement, une archive ZIP, une enveloppe JSON ou un corps
`multipart/mixed`, par négociation de contenu. Ce mécanisme est décrit à un seul
endroit : [Formats de réponse et négociation de contenu](/docs/api/response-formats).
