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

# Progreso de configuración

> Lee el estado agregado de configuración y disponibilidad de activación de un contexto en una sola solicitud para impulsar una lista de verificación de onboarding o un asistente de configuración.

El endpoint de setup-progress devuelve los recuentos de recursos configurados, el estado de la última ejecución y la disponibilidad de activación de un contexto en un solo agregado, de modo que un asistente de configuración o una lista de verificación de onboarding deriva su estado de una sola solicitud en lugar de muchas.

## Obtener el progreso de configuración

***

```bash theme={null}
curl -X GET "https://api.matcher.example.com/v1/contexts/{contextId}/setup-progress" \
  -H "Authorization: Bearer $TOKEN"
```

```json theme={null}
{
  "contextId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "DRAFT",
  "sources": { "total": 2, "left": 1, "right": 1 },
  "fieldMaps": { "mappedSources": 2 },
  "matchRules": { "total": 3 },
  "schedules": { "total": 1 },
  "lastRun": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "COMPLETED",
    "completedAt": "2025-01-15T10:30:00Z"
  },
  "readiness": {
    "ready": true,
    "missing": []
  }
}
```

## Qué devuelve

***

* **`status`** — el estado del ciclo de vida del contexto: `DRAFT` (en configuración), `ACTIVE` (en ejecución), `PAUSED` (suspendido) o `ARCHIVED` (retirado).
* **`sources`** — recuentos de fuentes divididos por lado de conciliación: `total`, `left`, `right`.
* **`fieldMaps.mappedSources`** — número de fuentes que tienen un mapeo de campos configurado.
* **`matchRules.total`** — recuento de reglas de conciliación del contexto.
* **`schedules.total`** — recuento de programaciones del contexto.
* **`lastRun`** — la ejecución de conciliación más reciente (`id`, `status` de `PROCESSING`/`COMPLETED`/`FAILED` y `completedAt`). Es `null` cuando el contexto nunca se ha ejecutado.
* **`readiness`** — resumen de disponibilidad de activación (ver más abajo).

## Disponibilidad y la lista de verificación

***

El bloque `readiness` indica si el contexto cumple todos los requisitos de activación:

```json theme={null}
{
  "ready": false,
  "missing": ["sources_left", "match_rules"]
}
```

`missing` contiene **slugs estables** que puedes asignar a elementos de la lista de verificación por requisito. Los valores posibles son:

* `sources_left` — el contexto necesita al menos una fuente del lado LEFT.
* `sources_right` — el contexto necesita al menos una fuente del lado RIGHT.
* `field_maps` — las fuentes del contexto necesitan mapeos de campos configurados.
* `match_rules` — el contexto necesita al menos una regla de conciliación.

<Note>Estos slugs son un contrato de API compartido con el flujo de activación. Cuando un contexto pasa a `ACTIVE` antes de estar listo, la actualización se rechaza con un `409` que incluye los mismos slugs bajo un código `context_not_ready` y un arreglo `details.missing`. Bifurca según esos slugs para mostrar exactamente la misma orientación que presentas en la lista de verificación de configuración.</Note>

## Cómo usarlo durante la configuración

***

1. **Renderiza la lista de verificación.** En cada paso del asistente, haz un GET a setup-progress y usa los recuentos (`sources`, `fieldMaps`, `matchRules`, `schedules`) para marcar los elementos completados.
2. **Controla el botón "Activate".** Habilita la activación solo cuando `readiness.ready` sea `true`; de lo contrario, lista `readiness.missing` como los pasos restantes.
3. **Muestra el estado de las ejecuciones.** Una vez que `lastRun` esté presente, muestra su `status` y `completedAt` para que los operadores puedan confirmar que el contexto está produciendo resultados.

Como todo el estado proviene de una sola llamada, puedes hacer polling a este endpoint para mantener el asistente en tiempo real sin orquestar lecturas separadas de fuentes, reglas y ejecuciones.

## Códigos de respuesta

***

| Estado | Significado                        |
| ------ | ---------------------------------- |
| `200`  | Progreso de configuración devuelto |
| `404`  | Contexto no encontrado             |
