# Consultar el detalle de los convenios de la Tesorería

> Lee el detalle YA sincronizado de cada convenio de pago con la Tesorería General de la República: las cuotas con su vencimiento, monto y si están pagadas, la próxima cuota por pagar, cuántas van pagadas, el total y las deudas acogidas con su condonación.



{/* AUTO-GENERATED by @emisso/codegen. DO NOT EDIT. */}

|                     |                                                                    |
| ------------------- | ------------------------------------------------------------------ |
| **Tool ID**         | `tgr.convenios_detalle.consultar`                                  |
| **Nombre MCP**      | `tgr__convenios_detalle__consultar`                                |
| **Conector**        | `tgr`                                                              |
| **Plano**           | `action`                                                           |
| **Lee el alcance**  | `convenios` (debe estar habilitado en la conexión)                 |
| **Scope (permiso)** | `tgr:read`                                                         |
| **Auth**            | `none`                                                             |
| **Versión**         | `1`                                                                |
| **Sensible**        | sí                                                                 |
| **Deprecado**       | no                                                                 |
| **Comportamiento**  | readOnly=true, destructive=false, idempotent=true, openWorld=false |

> **Requiere conexión.** Indica cuál en cada llamada: header `X-Connect-Connection` en REST, campo `connectionId` en el `execute` de MCP y en las opciones del SDK. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale de [`conexiones.estado.consultar`](../conexiones/estado-consultar).

## Qué hace [#qué-hace]

Sirve para responder cuánto se debe y cuándo vence lo siguiente. Lectura pura: NO contacta a la Tesorería ni dispara una sincronización. Si la empresa no tiene convenios la lista viene vacía con 'pantallaLeidaEn' fechado; si nunca se sincronizó, viene vacía con 'pantallaLeidaEn' en null. Para traer datos nuevos usa 'tgr.conexion.sincronizar'. Pagina con 'cursor'.

## Entrada [#entrada]

| Campo              | Tipo         | Requerido          | Descripción                                                                                                                                                           |
| ------------------ | ------------ | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `numeroResolucion` | string       | no                 | Filtra por un número de resolución, escrito tal cual lo muestra la Tesorería. Omítelo para ver todas las filas.                                                       |
| `cursor`           | string       | no                 | Puntero opaco a la página siguiente. Reenvía tal cual el 'cursor' que devolvió la llamada anterior; nunca lo construyas a mano. Omítelo para pedir la primera página. |
| `limit`            | entero 1-500 | no · default `100` | Cuántas filas trae la página, entre 1 y 500. Por omisión, 100.                                                                                                        |

<details>
  <summary>
    JSON Schema de entrada
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "numeroResolucion": {
        "description": "Filtra por un número de resolución, escrito tal cual lo muestra la Tesorería. Omítelo para ver todas las filas.",
        "type": "string",
        "minLength": 1,
        "maxLength": 32
      },
      "cursor": {
        "description": "Puntero opaco a la página siguiente. Reenvía tal cual el 'cursor' que devolvió la llamada anterior; nunca lo construyas a mano. Omítelo para pedir la primera página.",
        "type": "string"
      },
      "limit": {
        "default": 100,
        "description": "Cuántas filas trae la página, entre 1 y 500. Por omisión, 100.",
        "type": "integer",
        "minimum": 1,
        "maximum": 500
      }
    }
  }
  ```
</details>

## Ejemplo [#ejemplo]

```bash title="curl"
curl -X POST https://connect.emisso.ai/api/v1/tools/tgr.convenios_detalle.consultar/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
  -H "Content-Type: application/json" \
  -d '{"input":{"numeroResolucion":"4455667"}}'
```

```ts title="SDK TypeScript"
const data = await connect.tools.tgr.convenios_detalle.consultar({ numeroResolucion: "4455667" }, { connectionId: "conn_9tKfR2mQx4Vb" });
```

```json title="MCP · meta-tool execute"
{
  "tool": "tgr.convenios_detalle.consultar",
  "params": {
    "numeroResolucion": "4455667"
  },
  "connectionId": "conn_9tKfR2mQx4Vb"
}
```

**Salida esperada (200):**

```json
{
  "data": {
    "convenios": [
      {
        "numeroResolucion": "4455667",
        "fechaResolucion": "2026-03-05",
        "tipoConvenio": "Ley 20.780 Fiscal",
        "tipoPago": "CONVENIO CON CONDONACION",
        "fechaInicio": "2026-03-05",
        "numeroCuotas": 3,
        "cuotasPagadas": 1,
        "montoCuotaContado": 250000,
        "totalAPagar": 600000,
        "proximaCuota": {
          "numero": 2,
          "fechaVencimiento": "2026-04-30",
          "monto": 175000
        },
        "cuotas": [
          {
            "numero": 1,
            "fechaVencimiento": "2026-03-31",
            "monto": 250000,
            "tipo": "Cuota contado",
            "pagada": true
          },
          {
            "numero": 2,
            "fechaVencimiento": "2026-04-30",
            "monto": 175000,
            "tipo": "Cuota normal",
            "pagada": false
          },
          {
            "numero": 3,
            "fechaVencimiento": "2026-05-31",
            "monto": null,
            "tipo": "Cuota de ajuste",
            "pagada": false
          }
        ],
        "deudas": [
          {
            "tipo": "FISCAL",
            "rutRol": "76111222",
            "formulario": "22",
            "folio": "998877665",
            "fechaVencimiento": "2025-04-30",
            "condonacionIntereses": 40,
            "condonacionMultas": 40,
            "totalAPagar": 600000
          }
        ],
        "observadoEn": "2026-10-04T14:02:11.000Z"
      }
    ],
    "pantallaLeidaEn": "2026-10-04T14:02:11.000Z",
    "cursor": null
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "tgr.convenios_detalle.consultar",
    "plane": "action",
    "latency_ms": 24,
    "audit_status": "recorded"
  }
}
```

## Salida [#salida]

| Campo                                       | Tipo            | Requerido | Descripción                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                             |
| ------------------------------------------- | --------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `convenios`                                 | lista de objeto | sí        | Un detalle por convenio, armado desde las páginas que enlazan las tres pantallas.                                                                                            |                                                                                                                                                                                                                                                                                                             |
| `convenios[].numeroResolucion`              | string          | sí        | El número de la resolución con que la Tesorería otorgó el convenio. Identifica al convenio en las tres pantallas: úsalo para cruzarlas. Es texto: no lo conviertas a número. |                                                                                                                                                                                                                                                                                                             |
| `convenios[].fechaResolucion`               | string          | null      | sí                                                                                                                                                                           | La fecha de la resolución en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar.           |
| `convenios[].tipoConvenio`                  | string          | null      | sí                                                                                                                                                                           | El tipo de convenio con el texto de la Tesorería. null cuando la celda vino vacía.                                                                                                                                                                                                                          |
| `convenios[].tipoPago`                      | string          | null      | sí                                                                                                                                                                           | El tipo de pago del comprobante (por ejemplo «CONVENIO CON CONDONACION»).                                                                                                                                                                                                                                   |
| `convenios[].fechaInicio`                   | string          | null      | sí                                                                                                                                                                           | La fecha de inicio del convenio en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar.     |
| `convenios[].numeroCuotas`                  | entero          | null      | sí                                                                                                                                                                           | En cuántas cuotas se pactó el convenio. null cuando la celda no traía un entero; el texto queda en 'celdas'.                                                                                                                                                                                                |
| `convenios[].cuotasPagadas`                 | entero          | null      | sí                                                                                                                                                                           | Cuántas cuotas registra pagadas la Tesorería.                                                                                                                                                                                                                                                               |
| `convenios[].montoCuotaContado`             | entero          | null      | sí                                                                                                                                                                           | El monto de la cuota contado (el pie), en pesos chilenos. null cuando la Tesorería no lo muestra o no se pudo leer.                                                                                                                                                                                         |
| `convenios[].totalAPagar`                   | entero          | null      | sí                                                                                                                                                                           | El total del convenio, con la condonación ya aplicada, en pesos chilenos. null cuando la Tesorería no lo muestra o no se pudo leer.                                                                                                                                                                         |
| `convenios[].proximaCuota`                  | objeto          | null      | sí                                                                                                                                                                           | La primera cuota que la Tesorería no registra pagada. null si están todas pagadas o no se leyó la pantalla de cuotas.                                                                                                                                                                                       |
| `convenios[].proximaCuota.numero`           | entero          | sí        | El número de la cuota.                                                                                                                                                       |                                                                                                                                                                                                                                                                                                             |
| `convenios[].proximaCuota.fechaVencimiento` | string          | null      | sí                                                                                                                                                                           | Su vencimiento en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar.                      |
| `convenios[].proximaCuota.monto`            | entero          | null      | sí                                                                                                                                                                           | Su monto en pesos chilenos; null si todavía no se liquida.                                                                                                                                                                                                                                                  |
| `convenios[].cuotas`                        | lista de objeto | sí        | Todas las cuotas del convenio, en orden.                                                                                                                                     |                                                                                                                                                                                                                                                                                                             |
| `convenios[].cuotas[].numero`               | entero          | sí        | El número de la cuota dentro del convenio, desde 1.                                                                                                                          |                                                                                                                                                                                                                                                                                                             |
| `convenios[].cuotas[].fechaVencimiento`     | string          | null      | sí                                                                                                                                                                           | El vencimiento de la cuota en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar.          |
| `convenios[].cuotas[].monto`                | entero          | null      | sí                                                                                                                                                                           | El monto de la cuota en pesos chilenos. null en la cuota de ajuste mientras la Tesorería no la liquida (se calcula después de pagar la penúltima), o si no se pudo leer. Un null NO es cero.                                                                                                                |
| `convenios[].cuotas[].tipo`                 | string          | null      | sí                                                                                                                                                                           | «Cuota contado», «Cuota normal», «Cuota de ajuste»… con el texto de la Tesorería. null si el comprobante no se leyó.                                                                                                                                                                                        |
| `convenios[].cuotas[].pagada`               | booleano        | null      | sí                                                                                                                                                                           | Si la Tesorería la registra pagada. null cuando no se leyó la pantalla de cuotas.                                                                                                                                                                                                                           |
| `convenios[].deudas`                        | lista de objeto | sí        | Las deudas que el convenio acoge.                                                                                                                                            |                                                                                                                                                                                                                                                                                                             |
| `convenios[].deudas[].tipo`                 | string          | null      | sí                                                                                                                                                                           | El tipo de deuda con el texto de la Tesorería (por ejemplo «FISCAL»).                                                                                                                                                                                                                                       |
| `convenios[].deudas[].rutRol`               | string          | sí        | El RUT o rol de la deuda, como texto.                                                                                                                                        |                                                                                                                                                                                                                                                                                                             |
| `convenios[].deudas[].formulario`           | string          | null      | sí                                                                                                                                                                           | El formulario de la deuda (por ejemplo 21 o 22), como texto.                                                                                                                                                                                                                                                |
| `convenios[].deudas[].folio`                | string          | sí        | El folio de la deuda, como texto: no lo conviertas a número.                                                                                                                 |                                                                                                                                                                                                                                                                                                             |
| `convenios[].deudas[].fechaVencimiento`     | string          | null      | sí                                                                                                                                                                           | El vencimiento original de la deuda en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar. |
| `convenios[].deudas[].condonacionIntereses` | número          | null      | sí                                                                                                                                                                           | El porcentaje de condonación de intereses otorgado (0 a 100). null si no se leyó el comprobante.                                                                                                                                                                                                            |
| `convenios[].deudas[].condonacionMultas`    | número          | null      | sí                                                                                                                                                                           | El porcentaje de condonación de multas otorgado (0 a 100). null si no se leyó el comprobante.                                                                                                                                                                                                               |
| `convenios[].deudas[].totalAPagar`          | entero          | null      | sí                                                                                                                                                                           | Lo que se paga por esta deuda en el convenio, en pesos chilenos. null cuando la Tesorería no lo muestra o no se pudo leer.                                                                                                                                                                                  |
| `convenios[].observadoEn`                   | string          | sí        | Cuándo se vio esta fila en la Tesorería por última vez (ISO 8601). Las filas que dejan de aparecer en la pantalla salen de esta consulta en la sincronización siguiente.     |                                                                                                                                                                                                                                                                                                             |
| `pantallaLeidaEn`                           | string          | null      | sí                                                                                                                                                                           | Cuándo se leyó el detalle de los convenios por última vez (ISO 8601). Con fecha y sin filas, la empresa no tiene convenios con detalle; en null, el detalle todavía no se ha leído (sincroniza con 'tgr.conexion.sincronizar' antes de concluir que no hay nada).                                           |
| `cursor`                                    | string          | null      | sí                                                                                                                                                                           | Puntero a la página siguiente. Si viene distinto de null hay más filas: vuelve a llamar reenviándolo tal cual en 'cursor'. Un null significa que no queda nada por traer.                                                                                                                                   |

<details>
  <summary>
    JSON Schema de salida
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "convenios": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "numeroResolucion": {
              "type": "string",
              "description": "El número de la resolución con que la Tesorería otorgó el convenio. Identifica al convenio en las tres pantallas: úsalo para cruzarlas. Es texto: no lo conviertas a número."
            },
            "fechaResolucion": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "x-emisso-formato": "AAAA-MM-DD",
              "description": "La fecha de la resolución en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar."
            },
            "tipoConvenio": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "El tipo de convenio con el texto de la Tesorería. null cuando la celda vino vacía."
            },
            "tipoPago": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "El tipo de pago del comprobante (por ejemplo «CONVENIO CON CONDONACION»)."
            },
            "fechaInicio": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "x-emisso-formato": "AAAA-MM-DD",
              "description": "La fecha de inicio del convenio en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar."
            },
            "numeroCuotas": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ],
              "description": "En cuántas cuotas se pactó el convenio. null cuando la celda no traía un entero; el texto queda en 'celdas'."
            },
            "cuotasPagadas": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cuántas cuotas registra pagadas la Tesorería."
            },
            "montoCuotaContado": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ],
              "description": "El monto de la cuota contado (el pie), en pesos chilenos. null cuando la Tesorería no lo muestra o no se pudo leer."
            },
            "totalAPagar": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ],
              "description": "El total del convenio, con la condonación ya aplicada, en pesos chilenos. null cuando la Tesorería no lo muestra o no se pudo leer."
            },
            "proximaCuota": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "numero": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991,
                      "description": "El número de la cuota."
                    },
                    "fechaVencimiento": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "x-emisso-formato": "AAAA-MM-DD",
                      "description": "Su vencimiento en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar."
                    },
                    "monto": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Su monto en pesos chilenos; null si todavía no se liquida."
                    }
                  },
                  "required": [
                    "numero",
                    "fechaVencimiento",
                    "monto"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ],
              "description": "La primera cuota que la Tesorería no registra pagada. null si están todas pagadas o no se leyó la pantalla de cuotas."
            },
            "cuotas": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "numero": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991,
                    "description": "El número de la cuota dentro del convenio, desde 1."
                  },
                  "fechaVencimiento": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "x-emisso-formato": "AAAA-MM-DD",
                    "description": "El vencimiento de la cuota en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar."
                  },
                  "monto": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "El monto de la cuota en pesos chilenos. null en la cuota de ajuste mientras la Tesorería no la liquida (se calcula después de pagar la penúltima), o si no se pudo leer. Un null NO es cero."
                  },
                  "tipo": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "«Cuota contado», «Cuota normal», «Cuota de ajuste»… con el texto de la Tesorería. null si el comprobante no se leyó."
                  },
                  "pagada": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Si la Tesorería la registra pagada. null cuando no se leyó la pantalla de cuotas."
                  }
                },
                "required": [
                  "numero",
                  "fechaVencimiento",
                  "monto",
                  "tipo",
                  "pagada"
                ],
                "additionalProperties": false
              },
              "description": "Todas las cuotas del convenio, en orden."
            },
            "deudas": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "tipo": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "El tipo de deuda con el texto de la Tesorería (por ejemplo «FISCAL»)."
                  },
                  "rutRol": {
                    "type": "string",
                    "description": "El RUT o rol de la deuda, como texto."
                  },
                  "formulario": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "El formulario de la deuda (por ejemplo 21 o 22), como texto."
                  },
                  "folio": {
                    "type": "string",
                    "description": "El folio de la deuda, como texto: no lo conviertas a número."
                  },
                  "fechaVencimiento": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "x-emisso-formato": "AAAA-MM-DD",
                    "description": "El vencimiento original de la deuda en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar."
                  },
                  "condonacionIntereses": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "El porcentaje de condonación de intereses otorgado (0 a 100). null si no se leyó el comprobante."
                  },
                  "condonacionMultas": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "El porcentaje de condonación de multas otorgado (0 a 100). null si no se leyó el comprobante."
                  },
                  "totalAPagar": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Lo que se paga por esta deuda en el convenio, en pesos chilenos. null cuando la Tesorería no lo muestra o no se pudo leer."
                  }
                },
                "required": [
                  "tipo",
                  "rutRol",
                  "formulario",
                  "folio",
                  "fechaVencimiento",
                  "condonacionIntereses",
                  "condonacionMultas",
                  "totalAPagar"
                ],
                "additionalProperties": false
              },
              "description": "Las deudas que el convenio acoge."
            },
            "observadoEn": {
              "type": "string",
              "description": "Cuándo se vio esta fila en la Tesorería por última vez (ISO 8601). Las filas que dejan de aparecer en la pantalla salen de esta consulta en la sincronización siguiente."
            }
          },
          "required": [
            "numeroResolucion",
            "fechaResolucion",
            "tipoConvenio",
            "tipoPago",
            "fechaInicio",
            "numeroCuotas",
            "cuotasPagadas",
            "montoCuotaContado",
            "totalAPagar",
            "proximaCuota",
            "cuotas",
            "deudas",
            "observadoEn"
          ],
          "additionalProperties": false
        },
        "description": "Un detalle por convenio, armado desde las páginas que enlazan las tres pantallas."
      },
      "pantallaLeidaEn": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "Cuándo se leyó el detalle de los convenios por última vez (ISO 8601). Con fecha y sin filas, la empresa no tiene convenios con detalle; en null, el detalle todavía no se ha leído (sincroniza con 'tgr.conexion.sincronizar' antes de concluir que no hay nada)."
      },
      "cursor": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "Puntero a la página siguiente. Si viene distinto de null hay más filas: vuelve a llamar reenviándolo tal cual en 'cursor'. Un null significa que no queda nada por traer."
      }
    },
    "required": [
      "convenios",
      "pantallaLeidaEn",
      "cursor"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Errores de esta tool [#errores-de-esta-tool]

| Código                | HTTP | Reintentable | Qué hacer                                                                     |
| --------------------- | ---- | ------------ | ----------------------------------------------------------------------------- |
| `connection_disabled` | 403  | no           | Reactívala en /connections o usa otra conexión del mismo sistema.             |
| `alcance_not_enabled` | 403  | no           | Habilita el alcance en /connections o quítalo del input de la sincronización. |

Toda llamada puede devolver además los códigos transversales (`validation_error`, `unauthorized`, `scope_not_granted`, `rate_limited`, entre otros): el detalle vive en el [catálogo de errores](../errores).

## Próximos pasos [#próximos-pasos]

* [`tgr.conexion.sincronizar`](./conexion-sincronizar): la tool que escribe los datos que esta lectura devuelve.
* [Sincronizar y consultar](/docs/conceptos/sincronizar-consultar): por qué leer datos reales son dos pasos.
