# Tu primera llamada

> El valor de la UF de hoy por REST, SDK o MCP, en cerca de 2 minutos. No requiere conectar ningún sistema.



`indicadores` es un conector público y gratuito, así que sirve para probar el gateway completo
(autenticación, catálogo, bitácora) antes de tocar una credencial real. Esta página te lleva de una
API key recién creada a una respuesta con la UF de hoy y su fila de auditoría.

## Antes de empezar [#antes-de-empezar]

* Una cuenta en [connect.emisso.ai](https://connect.emisso.ai) con tu organización creada.
* Una API key: créala en [connect.emisso.ai/api-keys](https://connect.emisso.ai/api-keys) y copia el
  secreto `connect_sk_…`. &#x2A;*Se muestra una sola vez.**

<Callout type="info" title="¿Todavía sin cuenta?">
  La UF también se sirve por el canal público, sin API key: `curl https://connect.emisso.ai/public/v1/indicadores/UF`.
  Es la misma data, sin fila de bitácora. El detalle está en [Indicadores](/docs/sistemas/indicadores).
</Callout>

## 1. Pide la UF de hoy [#1-pide-la-uf-de-hoy]

Elige tu canal. Los tres llegan a la misma tool y dejan la misma auditoría.

### curl [#curl]

```bash
curl -X POST https://connect.emisso.ai/api/v1/tools/indicadores.valor.actual/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "Content-Type: application/json" \
  -d '{"input": {"codigo": "UF"}}'
```

Salida esperada (`200`):

```json
{
  "data": {
    "codigo": "UF",
    "fecha": "2026-08-08",
    "valor": 39487.23,
    "unidad": "CLP",
    "antiguedadDias": -1
  },
  "meta": {
    "request_id": "req_8fk2mQpw31Zx",
    "tool_id": "indicadores.valor.actual",
    "plane": "action",
    "latency_ms": 38,
    "audit_status": "recorded"
  }
}
```

### SDK TypeScript [#sdk-typescript]

```ts
import { createClient } from "@emisso/connect";

const connect = createClient({ apiKey: process.env.CONNECT_API_KEY! });

const uf = await connect.tools.indicadores.valor.actual({ codigo: "UF" });
console.log(uf.valor); // 39487.23, tipado como number
```

El accessor devuelve la `data` ya desenvuelta y tipada. Si necesitas el `meta` (por ejemplo el
`request_id`), usa `.withResponse()`. El detalle vive en la [guía del SDK](/docs/sdk).

### MCP [#mcp]

Con el servidor ya instalado ([cómo](/docs/agentes/mcp)), pídele a tu agente
«consulta el valor de la UF con Connect». Va a descubrir la tool con `search_docs` y a ejecutar:

```json
{ "tool": "indicadores.valor.actual", "params": { "codigo": "UF" } }
```

## 2. Lee la respuesta como corresponde [#2-lee-la-respuesta-como-corresponde]

`fecha` puede ser futura, porque la UF y la UTM se publican por adelantado. `antiguedadDias` lo
resuelve de una vez: `0` significa que el valor es de hoy, negativo que está fechado en el futuro
(normal en UF y UTM), positivo que la fuente está atrasada esa cantidad de días. Compáralo con tu
tolerancia antes de calcular plata con este número.

Guarda también el patrón del envelope. Todo éxito llega como `{ data, meta }`, y `meta.request_id` es
tu correlativo para la bitácora y para soporte.

## 3. Comprueba la bitácora [#3-comprueba-la-bitácora]

Abre [connect.emisso.ai/bitacora](https://connect.emisso.ai/bitacora). Deberías ver una fila nueva:
`indicadores.valor.actual`, resultado `ok`, tu API key como actor y la latencia registrada. Cada
llamada que hagas desde hoy, tuya o de tu agente, deja exactamente una fila como esta.

Con eso recorriste todo el gateway (autenticación, catálogo, ejecución y auditoría), el mismo camino
que sigue cada tool del SII y de los bancos; lo único que cambia es que esas exigen una conexión.

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

* [Conecta tu primera empresa](/docs/empezar/conectar): el enlace hosted con el que tu cliente entrega su clave del SII.
* [Sincronizar y consultar](/docs/conceptos/sincronizar-consultar): por qué leer datos reales son dos pasos.
* [Autenticación](/docs/empezar/autenticacion): scopes de las API keys y OAuth para MCP.
