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

# Generar PDF

> Usa una plantilla de campo pdf_template ya creada en el tablero para generar un documento.

Esta guía muestra el flujo completo para generar un archivo PDF desde una plantilla creada en la plataforma.

No necesitas enviar el diseño de la plantilla a la API. Solo necesitas identificar:

| Dato         | Qué representa                                                                                 | Cómo obtenerlo                                           |
| ------------ | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `databaseId` | El tablero que contiene los datos. En las rutas de la API, los tableros se llaman `databases`. | [Listar tableros](/tableros/listar-tableros)             |
| `recordId`   | La fila cuyos datos se usarán en el documento.                                                 | [Listar registros](/tableros/listar-registros)           |
| `fieldId`    | La columna de acción que contiene las plantillas PDF.                                          | [Listar plantillas PDF](/tableros/listar-plantillas-pdf) |
| `templateId` | La plantilla específica que quieres usar.                                                      | [Listar plantillas PDF](/tableros/listar-plantillas-pdf) |

## Antes de comenzar

Necesitas:

* Una [API key](/autenticacion).
* Un tablero con al menos un registro.
* Una plantilla PDF creada y guardada desde la plataforma.

Configura estas variables para copiar los ejemplos:

```bash theme={null}
export IB_API_KEY="<tu-api-key>"
export IB_API_URL="https://api.insuranceboosters.com/api/v1"
```

## Flujo completo

<Steps>
  <Step title="Encuentra el tablero">
    Lista los tableros disponibles:

    ```bash theme={null}
    curl "$IB_API_URL/databases" \
      -H "x-ib-api-key: $IB_API_KEY"
    ```

    Elige el tablero por `name` y guarda su `id` como `databaseId`.
  </Step>

  <Step title="Encuentra el registro">
    Sustituye `{databaseId}` por el ID del paso anterior:

    ```bash theme={null}
    curl "$IB_API_URL/databases/{databaseId}/records?limit=50" \
      -H "x-ib-api-key: $IB_API_KEY"
    ```

    Elige la fila que quieres usar y guarda su `id` como `recordId`.
  </Step>

  <Step title="Encuentra la plantilla">
    ```bash theme={null}
    curl "$IB_API_URL/databases/{databaseId}/pdf-templates" \
      -H "x-ib-api-key: $IB_API_KEY"
    ```

    Elige la plantilla por `name`. Guarda `fieldId` y `templateId`. Revisa también `runtimeFields`.
  </Step>

  <Step title="Genera y guarda el PDF">
    ```bash theme={null}
    curl -X POST "$IB_API_URL/databases/{databaseId}/records/{recordId}/pdf-template" \
      -H "Content-Type: application/json" \
      -H "x-ib-api-key: $IB_API_KEY" \
      -d '{
        "fieldId": "<field-id>",
        "templateId": "<template-id>",
        "values": {
          "observaciones": "Texto capturado al generar"
        }
      }' \
      --output documento.pdf
    ```

    La respuesta exitosa es el archivo PDF, no JSON.
  </Step>
</Steps>

## Datos del registro y datos de runtime

La API combina dos fuentes:

* **Datos del registro:** se leen automáticamente de la fila indicada por `recordId`. No tienes que copiarlos al body.
* **Datos de runtime:** aparecen en `runtimeFields` porque la plantilla los solicita, pero no existen como columnas del tablero. Envíalos dentro de `values`.

También puedes enviar la `key` de una columna del tablero dentro de `values` para sustituir su valor solo en ese documento:

```json theme={null}
{
  "fieldId": "<field-id>",
  "templateId": "<template-id>",
  "values": {
    "nombreCliente": "Nombre alternativo",
    "observaciones": "Valor que no existe en el tablero"
  }
}
```

Esto no modifica el registro. El cambio solo existe durante la generación del PDF.

<CardGroup cols={2}>
  <Card title="Listar plantillas PDF" icon="list" href="/tableros/listar-plantillas-pdf">
    Descubre plantillas y valores de runtime.
  </Card>

  <Card title="Referencia del endpoint" icon="download" href="/tableros/generar-pdf-registro">
    Consulta el body, la respuesta, los límites y los errores.
  </Card>
</CardGroup>
