
# Obtener un plan de configuración

`GET /v1/config-plans/{plan_id}` · permiso `config:read` y los permisos de lectura que el plan necesitó al crearse

Devuelve un plan guardado con la misma forma que [la respuesta que lo creó](create.md). Los planes no contienen valores secretos.

## Solicitud

| Parámetro | Descripción |
|---|---|
| `plan_id` | ID del plan, `cfgp_…`. |

## Respuesta

`200 OK` con `Cache-Control: no-store`. Un plan cuya hora ha pasado y que no se aplicó tiene `status: expired`. Los planes se eliminan 7 días después de caducar.

## Errores

| HTTP | code | Cuándo |
|---|---|---|
| 401 | `unauthenticated` | Las credenciales faltan, no son válidas o se revocaron. |
| 403 | `insufficient_permissions` | A las credenciales les falta un permiso que el plan necesita; `required_permissions` los enumera todos. |
| 404 | `not_found` | El plan no existe, pertenece a otro entorno o se eliminó. |
| 429 | `rate_limited` | Se superó el límite de frecuencia; vuelve a intentarlo tras el periodo `Retry-After`. |

## Ejemplo

```bash
curl "https://api.eu.keenauth.com/v1/config-plans/cfgp_01m4qpqtywfs7930tb6kqn5rc5" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

keenauth config plans get cfgp_01m4qpqtywfs7930tb6kqn5rc5
```
