
# Obtener la política de claves de firma

`GET /v1/signing-keys/policy` · permiso `signing-keys:read`

Devuelve la política de claves de firma del entorno: el algoritmo de las claves nuevas, el intervalo de rotación automática y el almacenamiento de las claves. Si la política nunca se escribió, se devuelven los valores por defecto (`RS256`, 180 días, `wrapped`) con `ETag: "0"` y `updated_at: null`. El encabezado de respuesta `ETag` lleva la versión que debe enviarse como `If-Match` al [actualizar la política](/docs/api/management/signing-keys/update-policy).

## Solicitud

Esta operación no recibe campos de ruta, consulta ni cuerpo. El entorno proviene de la credencial.

## Respuesta

`200 OK` con la política y el encabezado `ETag`. `next_rotation_at` es la próxima rotación automática (activación de la clave activa más el intervalo); es `null` si no hay clave activa.

```json
{
  "algorithm": "RS256",
  "rotation_interval_days": 180,
  "storage": "wrapped",
  "next_rotation_at": "2027-03-04T09:30:00.123456Z",
  "updated_at": null
}
```

## Errores

| HTTP | código | Cuándo |
|---|---|---|
| 401 | `unauthenticated` | La credencial falta, es inválida o ha sido revocada. |
| 403 | `insufficient_permissions` | La credencial carece del permiso requerido. |
| 429 | `rate_limited` | Se superó el límite de velocidad; reintente después del período `Retry-After`. |
| 501 | `not_implemented` | La operación aún no está disponible en este despliegue; reintentar no cambia el resultado. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; reintente después del período `Retry-After`. |

## Ejemplo

```bash
curl -i https://api.eu.keenauth.com/v1/signing-keys/policy \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
