
# Silinmiş bir bağlantıyı geri yükle

`POST /v1/connections/{connection_id}:restore` · izin `connections:write`

Silinmiş bir bağlantıyı geri getirir. Silinmiş bir bağlantı 30 gün boyunca geri yüklenebilir; bu sürede listelenmez, okunamaz (`404`) ve oturum açmak için kullanılamaz. 30 gün sonra kalıcı olarak silinir.

Geri yüklenen bağlantı önceki ayarlarıyla ve `status` = `inactive` durumunda geri gelir. Asla otomatik etkinleştirilmez: hazır olduğunuzda `:activate` çağrısı yapın (kurumsal bağlantı için test gereksinimi ve plan kotası orada kontrol edilir). Bağlantı silindiğinde uygulama bağlantı listeleri ve bağlantının rol eşlemeleri kaldırılır ve geri getirilmez.

İstek gövdesi isteğe bağlıdır ve alan içermez. İşlem idempotenttir: bağlantı silinmemişse hiçbir şey yazılmaz ve mevcut bağlantı döndürülür.

## İstek

| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| `connection_id` | string | evet | Bağlantı tanımlayıcısı (`conn_…`). |
| `Idempotency-Key` | header | hayır | Yeniden denenen isteği güvenli hale getiren isteğe bağlı anahtar (16-64 karakter). |

Gövde isteğe bağlıdır; varsa `{}` olmalıdır.

## Yanıt

`200 OK` ile bağlantı ve `ETag` değeri döndürülür.

```json
{
  "id": "conn_0k3v8m1q2x9dz4h7s5t6w0y1ab",
  "key": "acme-saml",
  "type": "enterprise",
  "strategy": "saml",
  "name": "Acme SAML",
  "display_name": null,
  "status": "inactive",
  "org_id": "org_0k3v8m1q2x9dz4h7s5t6w0y1ac",
  "allowed_email_domains": ["acme.example"],
  "allow_external_domains": false,
  "jit_mode": "create",
  "email_trust": false,
  "default_role_ids": [],
  "trust_idp_mfa": false,
  "allow_idp_initiated": false,
  "idp_initiated_default_application_id": null,
  "idp_initiated_allowed_application_ids": [],
  "settings": {},
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-26T17:00:00.123456Z"
}
```

## Hatalar

| HTTP | kod | Ne zaman |
|---|---|---|
| 400 | `unknown_field` | Gövde bir alan içeriyor. |
| 404 | `not_found` | Bağlantı yok, başka bir ortama ait veya 30 günden daha önce silinmiş. |
| 409 | `conflict` | Başka bir bağlantı artık aynı `key` veya `name` değerini kullanıyor (ya da tek passkey veya sosyal sağlayıcı yuvasını) ya da bağlantının ait olduğu kuruluş silinmiş. |
| 403 | `quota_exceeded` | Ortam zaten izin verilen en fazla bağlantı sayısına ulaşmış. |
| 401 | `unauthenticated` | Kimlik bilgisi eksik, geçersiz veya iptal edilmiş. |
| 403 | `insufficient_permissions` | Kimlik bilgisi gerekli izne sahip değil. |
| 429 | `rate_limited` | Hız sınırı aşıldı; `Retry-After` süresinden sonra yeniden deneyin. |
| 503 | `service_unavailable` | Bir bağımlılık geçici olarak kullanılamıyor; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

```bash
curl -X POST https://api.eu.keenauth.com/v1/connections/conn_0k3v8m1q2x9dz4h7s5t6w0y1ab:restore \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth connections restore conn_0k3v8m1q2x9dz4h7s5t6w0y1ab`
