
# Uygulamanın bağlantılarını değiştir

`PUT /v1/applications/{application_id}/connections` · izinler `applications:write` ve `connections:write`

Uygulamada etkin bağlantı listesini tek adımda bütünüyle değiştirir. `connection_ids` sırası barındırılan giriş sayfasındaki düğme sırasıdır; boş liste bütün bağlantıları kapatır. Her bağlantı aynı ortamda olmalıdır: başka ortamın bağlantısı var olmayan bağlantı gibi işlenir (`/connection_ids`'de `422`) ve hiçbir şey yazılmaz. Uygulamanın zaten sahip olduğu liste gönderilirse bir şey değişmez ve sürüm aynı kalır. Değişiklik yönetim audit'ine `application.updated` olarak yazılır ve `application_changed` olayı yayımlanır; bir bağlantının çıkarılması sonraki girişte etkili olur.

## İstek

**Başlıklar**: `If-Match: "<sürüm>"` (isteğe bağlı). `If-Match` verilirse liste yalnız uygulama hâlâ o sürümdeyse yazılır (değilse `412`); verilmezse sürümden bağımsız yazılır. Yeniden denemeleri güvenli kılmak için `Idempotency-Key` başlığı gönderin.

| Parametre | Yer | Zorunlu | Açıklama |
|---|---|---|---|
| `application_id` | path | evet | `app_` önekli uygulama kimliği. |

**Gövde**

| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| `connection_ids` | string dizisi | evet | Bağlantı kimlikleri (`conn_…`), tekrarsız, en çok 100, düğme sırasıyla. |

## Yanıt

`200 OK`; uygulama ve yeni `ETag`.

## Hatalar

Her hata kararlı bir `code` taşıyan `application/problem+json` gövdesidir.

| HTTP | `code` | Ne zaman |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | Gövde geçerli JSON değil ya da bilinmeyen bir alan taşıyor. |
| 401 | `unauthenticated` | API anahtarı yok, geçersiz ya da iptal edilmiş. |
| 403 | `insufficient_permissions` | Anahtarda `applications:write` ya da `connections:write` yok. |
| 404 | `not_found` | Uygulama bu ortamda yok (ya da kimlik bozuk). |
| 412 | `precondition_failed` | `If-Match`'teki sürüm eski. |
| 422 | `validation_failed` | `connection_ids` yok, 100'den fazla öğe, bozuk ya da tekrarlanan kimlik ya da bu ortamda olmayan bir bağlantı taşıyor. |
| 429 | `rate_limited` | Hız sınırı aşıldı; `Retry-After`'a uyun. |
| 503 | `service_unavailable` | Bir bağımlılık geçici olarak erişilemez; sonra yeniden deneyin. |

## Örnek

```bash
curl -X PUT https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/connections \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_ids":["conn_01h455vb4pex5vsknk084sn02q"]}'
```

CLI: `keenauth applications put-connections app_6f8d0cjgbmf0gtn2rg6pscp3cg --connection-ids conn_01h455vb4pex5vsknk084sn02q` (bütün bağlantıları kapatmak için `{"connection_ids":[]}` gövdesini `--data -` ile gönderin)
