> ## Documentation Index
> Fetch the complete documentation index at: https://docs.matil.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployments

> Un punto de entrada estable para procesar documentos — vincula tus llamadas API a una versión concreta de structure.

Un **deployment** conecta una structure a un ID estable que usas en las llamadas a la API. En lugar de pasar configuración en cada petición, apuntas a un deployment y Matil sabe exactamente qué hacer.

## Por qué deployments?

Los deployments te dan una capa de indirección que hace tu integración más robusta:

* **Actualiza sin cambiar código.** Publica una nueva versión de la structure y asígnala al deployment. Tus llamadas API no cambian.
* **Separa entornos.** Usa deployments diferentes para desarrollo, staging y producción — cada uno apuntando a la versión correcta.
* **Historial de cambios.** Cada vez que cambias la versión de structure que usa un deployment, queda registrado.

## Qué contiene un deployment?

| Componente        | Descripción                                                     |
| ----------------- | --------------------------------------------------------------- |
| **Deployment ID** | Un UUID único que usas en las llamadas API.                     |
| **Structure**     | La structure (y versión) que este deployment usa para procesar. |
| **Nombre**        | Una etiqueta legible para tu referencia.                        |

<Note>
  Los deployments se crean y gestiónan en el [Dashboard de Matil](https://admin.matil.ai). La API se usa únicamente para procesar documentos a través de ellos.
</Note>

## Usar un deployment

Una vez tienes un deployment ID, procesar un documento es una sola llamada:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.matil.ai/v3/deployments/{deployment_id}" \
  -H "x-api-key: tu-api-key" \
  -H "Content-Type: application/json" \
  -d '{"documents": [{"type": "url", "url": "https://ejemplo.com/factura.pdf"}]}'
```

El deployment determina que structure y versión aplicar. También tienes variantes asíncrona y por lotes:

| Modo          | Endpoint                          | Descripción                                                                     |
| ------------- | --------------------------------- | ------------------------------------------------------------------------------- |
| **Síncrono**  | `POST /v3/deployments/{id}`       | Bloquea hasta que el procesamiento termina. Devuelve el resultado directamente. |
| **Asíncrono** | `POST /v3/deployments/{id}/async` | Devuelve inmediatamente. El resultado se entrega vía webhook.                   |
| **Por lotes** | `POST /v3/deployments/{id}/batch` | Envía hasta 100 elementos. Resultados entregados vía webhook.                   |

## Siguientes pasos

<CardGroup cols={2}>
  <Card title="Structures" href="/es/guides/structures">
    Aprende cómo definir los datos que quieres extraer.
  </Card>

  <Card title="Modos de procesamiento" href="/es/api-reference/processing">
    Detalles del procesamiento síncrono, asíncrono y por lotes.
  </Card>
</CardGroup>
