Uygulamayı askıya al

POST /v1/applications/{application_id}:suspend · izin applications:write

Uygulamanın status alanını suspended yapar. Bundan sonra uygulama yeni token alamaz: yetkilendirme, PAR, cihaz yetkilendirmesi, token ucu (refresh ve client_credentials dahil), introspection ve iptal ucu onu istemci olarak reddeder. Askı, uygulamanın elindekini de sonlandırır: KeenAuth askıdan önce açılmış aktif refresh token ailelerini iptal eder (neden client_revoked) ve client_id'sini işaretler; introspection ve userinfo o ana dek verilmiş access token'ları reddeder. Yalnız JWT imzasını doğrulayan bir kaynak sunucusu böyle bir access token'ı süresi dolana dek kabul etmeye devam eder. Uygulamanın istemci kimlik bilgileri silinmez; yeniden etkinleştirmek yeni sır gerektirmez. İsteğin gövdesi yoktur (boş ya da {}). Zaten askıdaki uygulamada bir şey değişmez; güncel uygulama aynı sürümle döner. Değişiklik yönetim audit'ine application.updated olarak yazılır ve application_changed ile application_status_changed olayları yayımlanır.

İstek

Başlıklar: If-Match: "<sürüm>" (isteğe bağlı). If-Match verilirse değişiklik yalnız o sürüme uygulanır (değilse 412); verilmezse en güncel sürüm kullanılır ve aynı anda başka bir yazar uygulamayı değiştirirse istek yeniden denenir. 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.

Yanıt

200 OK; uygulama ("status": "suspended") ve ETag.

Hatalar

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

HTTP code Ne zaman
400 malformed_request, unknown_field Geçerli JSON olmayan ya da alan taşıyan bir gövde gönderildi.
401 unauthenticated API anahtarı yok, geçersiz ya da iptal edilmiş.
403 insufficient_permissions Anahtarda applications:write izni yok.
404 not_found Uygulama bu ortamda yok (ya da kimlik bozuk).
412 precondition_failed If-Match'teki sürüm eski.
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

curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg:suspend \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI: keenauth applications suspend app_6f8d0cjgbmf0gtn2rg6pscp3cg --yes