
# Ottieni la policy delle chiavi di firma

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

Restituisce la policy delle chiavi di firma dell'ambiente: l'algoritmo delle nuove chiavi, l'intervallo di rotazione automatica e l'archiviazione delle chiavi. Se la policy non è mai stata scritta, vengono restituiti i valori predefiniti (`RS256`, 180 giorni, `wrapped`) con `ETag: "0"` e `updated_at: null`. L'header di risposta `ETag` contiene la versione da inviare come `If-Match` per [aggiornare la policy](/docs/api/management/signing-keys/update-policy).

## Richiesta

Questa operazione non accetta campi di percorso, query o body. L'ambiente deriva dalla credenziale.

## Risposta

`200 OK` con la policy e l'header `ETag`. `next_rotation_at` è la prossima rotazione automatica (attivazione della chiave attiva più l'intervallo); è `null` se non c'è una chiave attiva.

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

## Errori

| HTTP | code | Quando |
|---|---|---|
| 401 | `unauthenticated` | La credenziale è mancante, non valida o revocata. |
| 403 | `insufficient_permissions` | La credenziale non ha il permesso richiesto. |
| 429 | `rate_limited` | Il limite di velocità è stato superato; riprova dopo il periodo `Retry-After`. |
| 501 | `not_implemented` | L'operazione non è ancora disponibile in questo deployment; riprovare non cambia il risultato. |
| 503 | `service_unavailable` | Una dipendenza è temporaneamente non disponibile; riprova dopo il periodo `Retry-After`. |

## Esempio

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