# Hatalar, sayfalama & idempotency

> Durum kodları, hata biçimi, imleç tabanlı sayfalama ve yazma istekleri için güvenli yeniden deneme.

Source: https://docs.avenlith.com/tr/errors-and-pagination  
Category: API & otomasyon  
Last updated: 2026-09-22

## Durum kodları

| Kod | Anlamı |
| --- | --- |
| 200, 201 | Başarılı |
| 202 | Kabul edildi — işlem arka planda çalışır |
| 400 | Geçersiz istek gövdesi veya parametre |
| 401 | Anahtar eksik veya geçersiz |
| 403 | Anahtarın yetkisi yok |
| 404 | Kaynak bulunamadı |
| 409 | Çakışma, örneğin ad zaten kullanımda |
| 429 | Hız limiti aşıldı — `Retry-After` başlığına bakın |
| 5xx | Sunucu hatası — beklemeli yeniden deneme güvenlidir |

## Hata biçimi

```json
{
  "error": {
    "code": "invalid_region",
    "message": "Region 'ist2' does not exist.",
    "request_id": "req_7Hn2kQ"
  }
}
```

Destekle iletişime geçerken `request_id` değerini ekleyin.

## Sayfalama

Listeleme uç noktaları sayfa başına 50 öğeye kadar döner (en fazla 200). Sonraki sayfa için `meta` içindeki `next_cursor` değerini kullanın:

```bash
curl "https://api.avenlith.com/v1/servers?per_page=50&cursor=eyJpZCI6InNydl84ZjJrMSJ9" \
  -H "Authorization: Bearer $AVENLITH_TOKEN"
```

## Idempotency

POST isteklerinde `Idempotency-Key` başlığı gönderin. Aynı anahtarla 24 saat içinde yapılan tekrar, yeni bir sunucu oluşturmak yerine ilk yanıtı döner.

```bash
curl -X POST https://api.avenlith.com/v1/servers \
  -H "Authorization: Bearer $AVENLITH_TOKEN" \
  -H "Idempotency-Key: 5c1f7e8a-8a0b-4e8e-9d1b-1f0f7a2b9c11" \
  -d '{"name": "web-01", "plan": "vps-pro", "region": "ist1"}'
```
