---
title: "Estado + salida de un Run"
method: GET
path: "/runs/{id}"
tags: ["Runs"]
---

# Estado + salida de un Run

`GET /runs/{id}`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/runs/{id}`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

El estado y la salida de un run. Es lo que consultas después de lanzar uno sin streaming, o para releer el resultado de uno viejo.

## Path parameters

- `id` string, required

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` RunResponseDto, required
    - `completed_at` string, nullable, required: Cuándo llegó a un estado terminal. `null` si sigue en curso.
    - `conversation_id` number, nullable, required: Conversación en la que quedó el run, para darle continuidad al hilo.
    - `created_at` string, required
    - `energy` RunEnergyDto
      - `by_model` RunEnergyByModelDto[], required
        - `cost_usd` number, required: Energía consumida por este modelo, en USD.
        - `count` number, required: Cuántas ejecuciones de este modelo entraron en el run.
        - `model` string, required: Nombre de marca del modelo (`Ágil`, `Brillante`, `Genio`), no el id técnico.
      - `cost_usd` number, required: Total debitado por el run, en USD.
      - `executions` number, required: Cuántas ejecuciones de modelo hubo en total.
    - `error` string, nullable, required: Mensaje del fallo cuando `status` es `failed`; `null` en cualquier otro caso.
    - `events` RunEventDto[]: Los pasos del run. Vienen en el detalle (`GET /runs/{id}`) y al crearlo; **no** en el listado, que sería una respuesta enorme para nada.
      - `data` object, nullable, required: Contenido del paso. La forma depende del `type`, y el texto libre va topeado para no volcar payloads enteros en la respuesta.
      - `type` object, required: Qué pasó en este paso del run.
    - `id` string, required: ID del run, con prefijo `run_`.
    - `input` string, required: La instrucción que mandaste.
    - `livemode` boolean, required: `false` si el run lo disparó una key de test (`met_test_`): no debita Energía.
    - `met` string, nullable, required: Qué Met atendió el run. `null` si el orquestador no lo resolvió a uno concreto.
    - `metadata` object, required: Lo que mandaste en `metadata` al crear el run, tal cual.
    - `object` 'run', required: Siempre `run`. Sirve para distinguir el tipo de objeto en respuestas mezcladas.
    - `output` string, nullable, required: La salida del Met. `null` mientras el run no terminó, y si falló.
    - `status` 'queued' | 'running' | 'completed' | 'failed', required

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
