
# Yapılandırma revizyonlarını listele

`GET /v1/config-revisions` · izin `config:read`

Her başarılı [plan uygulaması](../config-plans/apply.md) bir revizyon saklar: değiştirdiği kaynakların uygulamadan hemen önceki hâli. Bu işlem ortamın revizyonlarını en yeni önce listeler (`order=asc` sırayı çevirir). Bir ortam en yeni 50 revizyonunu, her birini en çok 90 gün saklar. Bir revizyona dönmek için [onu geri yükleyin](restore.md).

Öğeler yalnız üst bilgi taşır. Saklanan kaynak spec'leri dönmez ve revizyonlar hiçbir zaman gizli değer içermez (sırlar yalnız `secret_ref` yer tutucusu olarak bulunur).

## İstek

| Parametre | Yer | Açıklama |
|---|---|---|
| `limit` | sorgu | Sayfa boyutu, 1–100. |
| `after` | sorgu | Sonraki sayfanın imleci (`list_metadata.after`). |
| `before` | sorgu | Önceki sayfanın imleci (`list_metadata.before`). |
| `order` | sorgu | `desc` (varsayılan, en yeni önce) ya da `asc`. |

## Yanıt

`200 OK`, `Cache-Control: no-store` ile.

| Alan | Açıklama |
|---|---|
| `id` | Revizyon kimliği, `cfgr_…`. |
| `plan_id` | Uygulaması revizyonu saklayan plan; plan silinince (süresi dolduktan 7 gün sonra) `null`. |
| `created_by` | Planı uygulayan kimlik bilgisi. |
| `created_at` | Planın uygulandığı an. |
| `kinds` | Planın kapsadığı türler. |
| `summary` | Uygulamanın `create`, `update`, `delete` ve `no_op` sayıları. |

```json
{
  "data": [
    {
      "id": "cfgr_01m4qpqtywfs7930tb6kqn5rc5",
      "plan_id": "cfgp_01m4qpqtywfs7930tb6kqn5rc5",
      "created_by": "key_01m4qpqtywfs7930tb6kqn5rc5",
      "created_at": "2026-10-19T10:00:00Z",
      "kinds": ["connection"],
      "summary": {"create": 1, "update": 1, "delete": 0, "no_op": 1}
    }
  ],
  "list_metadata": {"before": null, "after": null}
}
```

## Hatalar

| HTTP | code | Ne zaman |
|---|---|---|
| 400 | `invalid_cursor` | İmleç bozuk ya da başka bir isteğe ait. |
| 401 | `unauthenticated` | Kimlik bilgisi eksik, geçersiz ya da iptal edilmiş. |
| 403 | `insufficient_permissions` | Kimlik bilgisinde `config:read` yok. |
| 422 | `validation_failed` | Bir sorgu parametresi geçersiz (örneğin `limit` 1–100 dışında). |
| 429 | `rate_limited` | Hız sınırı aşıldı; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

```bash
curl "https://api.eu.keenauth.com/v1/config-revisions?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

keenauth config revisions list --limit 20
```
