# Resumen de las acciones

Qué es una acción, el catálogo agrupado por capacidad y cómo la salida de una acción se convierte en la entrada de la siguiente.

Una **acción** es una transformación de PDF única y pura, expuesta como un
solo endpoint. Usted envía un documento, la acción le hace exactamente una
cosa (unir, estampar una marca de agua, cifrar, girar, dividir) y recibe el
resultado. Las acciones son *stateless* y no comparten contexto; cada llamada
es independiente. Esa uniformidad es lo que permite encadenarlas en
pipelines.

## Qué es una acción

Toda acción es un `POST` a `/v1/<action>`, donde `<action>` es el nombre en
el protocolo que aparece en las tablas siguientes. Todas siguen el mismo
[contrato de solicitud y respuesta](/docs/api/requests-and-responses): un
cuerpo `multipart/form-data` con el PDF de entrada en un campo `file`,
autenticado con la cabecera `X-API-Key`. La mayoría devuelve un único
`application/pdf`; la familia de división devuelve varios documentos.

## El catálogo

Diecisiete acciones, agrupadas por capacidad. Cada una enlaza a su referencia
completa.

### Unir y dividir

| Acción                                                               | Ruta                      | Qué hace                                                           |
| -------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------ |
| [Unir documentos](/docs/api/merge-pdf-documents)                     | `/v1/merge_documents`     | Combina una matriz ordenada de PDF en un solo documento.           |
| [Dividir por número de páginas](/docs/api/split-pdf-by-page-count)   | `/v1/split_by_page_count` | Parte un PDF en partes consecutivas con un número fijo de páginas. |
| [Dividir en una página](/docs/api/split-pdf-at-page)                 | `/v1/split_at_page`       | Divide un PDF en dos partes en el límite de una página.            |
| [Dividir por tamaño de archivo](/docs/api/split-pdf-by-file-size)    | `/v1/split_by_size`       | Parte un PDF en partes que no superen un límite de bytes.          |
| [Dividir en grupos de páginas](/docs/api/split-pdf-into-page-groups) | `/v1/split_by_groups`     | Parte un PDF en los grupos de páginas que usted defina.            |

Cada una de las cuatro acciones de división produce varios documentos; el
empaquetado se elige con la cabecera `Accept`: consulte [Formatos de
respuesta](/docs/api/response-formats).

### Marcas de agua

| Acción                                                                 | Ruta                      | Qué hace                                                                   |
| ---------------------------------------------------------------------- | ------------------------- | -------------------------------------------------------------------------- |
| [Añadir marca de agua de texto](/docs/api/add-text-watermark-to-pdf)   | `/v1/add_text_watermark`  | Estampa hasta tres líneas de texto con estilo sobre las páginas.           |
| [Añadir marca de agua de imagen](/docs/api/add-image-watermark-to-pdf) | `/v1/add_image_watermark` | Estampa una imagen PNG o JPEG, por ejemplo un logotipo, sobre las páginas. |

### Contraseñas y seguridad

| Acción                                                         | Ruta                      | Qué hace                                                            |
| -------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------- |
| [Añadir contraseña](/docs/api/add-password-to-pdf)             | `/v1/add_password`        | Cifra un documento con una contraseña de apertura y/o de permisos.  |
| [Quitar contraseña](/docs/api/remove-password-from-pdf)        | `/v1/remove_password`     | Descifra un documento cuando conoce su contraseña.                  |
| [Añadir restricciones](/docs/api/add-restrictions-to-pdf)      | `/v1/add_restrictions`    | Establece los indicadores de permiso de impresión, copia y edición. |
| [Quitar restricciones](/docs/api/remove-restrictions-from-pdf) | `/v1/remove_restrictions` | Borra los indicadores de permiso de un documento.                   |
| [Quitar firmas](/docs/api/remove-signatures-from-pdf)          | `/v1/remove_signatures`   | Quita las firmas digitales para que el documento se pueda editar.   |

### Páginas

| Acción                                              | Ruta                | Qué hace                                                     |
| --------------------------------------------------- | ------------------- | ------------------------------------------------------------ |
| [Extraer páginas](/docs/api/extract-pages-from-pdf) | `/v1/extract_pages` | Conserva un conjunto de páginas elegido y descarta el resto. |
| [Quitar páginas](/docs/api/remove-pages-from-pdf)   | `/v1/remove_pages`  | Descarta un conjunto de páginas elegido y conserva el resto. |
| [Girar páginas](/docs/api/rotate-pages-in-pdf)      | `/v1/rotate_pages`  | Gira las páginas elegidas un múltiplo de 90 grados.          |
| [Invertir páginas](/docs/api/reverse-pages-of-pdf)  | `/v1/reverse_pages` | Invierte el orden de las páginas de principio a fin.         |
| [Reordenar páginas](/docs/api/reorder-pages-of-pdf) | `/v1/reorder_pages` | Reorganiza las páginas en el orden que indique quien llama.  |

## Cómo se combinan las acciones

Como toda acción recibe un PDF y (en las acciones de salida única) devuelve
un PDF, la salida de una acción es una entrada válida para la siguiente.
Entre llamadas no se almacena nada, así que la composición se hace
canalizando bytes: mantenga en memoria la respuesta de una solicitud y
publíquela como el `file` de la siguiente.

Un pipeline típico se lee de izquierda a derecha:

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

La guía [Encadenar acciones](/docs/api/chaining-actions) lo muestra de
principio a fin, en código, sin tocar el disco.

## Salida única frente a salida múltiple

La mayoría de las acciones devuelve un documento `application/pdf`. Las
cuatro acciones de división devuelven varios y le permiten elegir cómo se
empaquetan, ya sea un archivo ZIP, un sobre JSON o un cuerpo
`multipart/mixed`, mediante negociación de contenido. Ese mecanismo tiene un
solo lugar: [Formatos de respuesta](/docs/api/response-formats).
