İçeriğe geç

Yönetim API'si

Yönetim API’si, opencodex’in kontrol düzlemidir. http://localhost:10100 adresindeki kontrol paneli onun bir istemcisidir; başsız ocx sağlayıcı, model, kombo, hesap, ayarlar, tanılama ve yaşam döngüsü komutları da istemcilerdir. API yalnızca proxy çalışırken kullanılabilir.

Etkileşimli bir istemci için Web Kontrol Panelini veya otomasyon oluştururken bu referansı kullanın. Kalıcı değerler nihai olarak Yapılandırma bölümünü takip eder.

Yönetim API’sinin, veri düzlemi API anahtarlarından bağımsız kendi yönetici kimlik bilgisi vardır. Başlangıçta opencodex bunu şu sırayla çözer:

  1. Ayarlandığında OPENCODEX_ADMIN_AUTH_TOKEN.
  2. Güçlendirilmiş bir gizli dosyada oluşturulan bir ocx_admin_* belirteci.

Dosya destekli belirteç, yalnızca dizini ve dosya izinleri veya ACL’leri güçlendirildikten sonra kabul edilir. Bu garanti edilemezse, yönetim kimlik doğrulaması kapalı olarak başarısız olur ve bir ortam belirteci sağlanana veya dosya durumu onarılana kadar API 503 döndürür.

Yönetici belirtecini şu iki biçimden biriyle gönderin:

X-OpenCodex-API-Key: <yonetici-belirteci>
Authorization: Bearer <yonetici-belirteci>

Bir geri döngü bağlantısında, kontrol paneli önyüklemesi kısa ömürlü bir ocx_session_* kimlik bilgisi alabilir. Her oturum beş dakika sürer ve tam kontrol paneli kaynağına bağlanır. Güvenli istekler bu kaynakla eşleşmelidir. Güvenli olmayan yöntemler ayrıca tarayıcı Origin’ini ve oturumun CSRF belirtecini gerektirir.

Uzak bağlantıları da içeren veri düzlemi kimlik doğrulaması gerektiğinde oturum verilmesi devre dışı bırakılır. Uzak bir operatör ham yönetici belirteci ile kimlik doğrulaması yapmalıdır; geri döngü tarzı bir GUI oturumu basılmaz.

Aşağıdaki tüm uç nokta satırları bu sınır hatalarını devralır. “Dikkate değer hatalar” sütunu bu tabloyu tekrarlamak yerine rotaya özgü ek sonuçları listeler.

Durum Tip veya kod Anlamı
401 opencodex admin token required Yönetici belirteci veya GUI oturumu eksik, geçersiz, süresi dolmuş, kaynak uyumsuz veya CSRF kanıtı eksik
403 cross-origin request blocked İstek kaynağı yönetim izin listesinin dışında
404 not_found Hiçbir yönetim rotası yöntem ve yol ile eşleşmedi
413 request body too large Bir POST, PUT veya PATCH gövdesi 2 MiB yönetim sınırını aşıyor
503 management API unavailable Yönetici kimlik bilgisi başlatma veya güçlendirme kullanılamıyor
503 oauth_mutation_busy Başka bir OAuth kimlik bilgisi mutasyonu yazıcıyı tutuyor; yanıt Retry-After: 1 içerir
503 catalog_busy Katalog toplama işlemi zaten kapasitede; yanıt Retry-After: 1 içerir
Yöntem ve yol Amaç Dikkate değer hatalar
GET, PUT /api/v2 Yerel çoklu ajan v2 modunu ve iş parçacığı ayarlarını okuyun veya değiştirin 400 geçersiz ayarlar; 502 geçiş veya kalıcılık arızası
GET, PUT /api/injection-model Enjekte edilen alt ajan modelini, çabayı, istemi ve rehberlik ayarlarını okuyun veya ayarlayın 400 geçersiz model, çaba veya gövde
GET, PUT /api/effort-caps Küresel ve alt ajan akıl yürütme çabası tavanlarını okuyun veya ayarlayın 400 geçersiz merdiven değeri
GET, PUT /api/subagent-models Alt ajanlara sunulan modelleri okuyun veya sıralayın 400 geçersiz liste veya beşten fazla model
GET, PUT /api/subagent-model-fallback Sıralı geri dönüş zincirini ve yoklama aralığını okuyun veya ayarlayın 400 geçersiz liste veya yoklama aralığı
GET /api/grok Grok yönetilen yapılandırma durumunu ve aday modelleri okuyun 400 durum okuma hatası
PUT /api/grok/selection Hariç tutulan Grok modellerini kalıcı hale getirin 400 geçersiz veya aşırı büyük seçim
POST /api/grok/apply Kalıcı hale getirilen Grok yapılandırmasını yönetilen senkronizasyon aracılığıyla uygulayın 409 grok_apply_busy; 400/500 uygulama hatası
GET /api/grok/reset-coupons?accountId=... Aktif veya belirtilen xAI hesabı için kalan Grok faturalandırma sıfırlama jetonlarını ve geçerlilik pencerelerini okuyun 400 eksik hesap; 401 kimlik doğrulaması yok; 502 yukarı akış gRPC-Web hatası
POST /api/grok/reset-coupons/consume Uygun bir sıfırlama kuponunu kullanın. Gövde { accountId?, tokenId?, operationId? }. İsteğe bağlı operationId (UUIDv4) kullanımı idempotent yapar: aynı kimliği yinelemek, çift kullanım olmadan kalıcı sonucu yeniden oynatır. 400 geçersiz JSON/UUID; 401 kimlik doğrulaması yok; 409 identity_mismatch; 502 yukarı akış hatası; 503 kayıt defteri kapasitesi
GET /api/anthropic/reset-grants?accountId=... Bir Anthropic OAuth hesabının Claude kullanım limiti sıfırlama haklarını okuyun: uygunluk durumu, her hakkın kalan sıfırlama sayısı, geçerlilik aralığı ve sıfırladığı pencereler ile hâlâ yeniden denenebilen doğrulanmamış girişimler 400 eşleşen hesap yok; 401 yeniden kimlik doğrulaması gerekli; 502 yukarı akış kullanılamıyor
POST /api/anthropic/reset-grants/consume Bir sıfırlama hakkı kullanın. Gövde { accountId, grantId, operationId }; operationId, istek kimliği olarak yukarı akışa gönderilen bir UUIDv4’tür; aynı kimliği yinelemek aynı talebi yeniden dener. Kontrol paneli oturumu gerektirir. 400 geçersiz gövde; 401 yeniden kimlik doğrulaması gerekli; 403 session_required; 409 grant_not_usable, in_flight, unresolved_prior_operation, unknown_outcome_expired, operation_identity_mismatch; 500 journal_write_failed; 502 unknown_outcome; 503 günlük meşgul, kullanılamıyor veya dolu
GET, PUT /api/claude-desktop Claude Desktop yönlendirilen/yerel profilini okuyun veya kalıcı hale getirin 400 geçersiz veya kullanılamaz atama
POST /api/claude-desktop/apply Kaydedilen profili Claude Desktop’ın yönetilen yapılandırmasına yazın 400/500 yazma hatası
GET /api/claude-desktop/status Kaydedilen ve uygulanan profili ve Desktop sağlığını inceleyin 400 durum okuma hatası
GET, PUT /api/claude-code Claude Code ağ geçidi, kimlik doğrulama modu, model haritası, bağlam, ajan ve sidecar ayarlarını okuyun veya güncelleyin 400 geçersiz alan veya şekil

Kontrol paneli her iki kupon yolunu da Providers > xAI Grok > Accounts üzerinden yürütür: oturum açmış her hesap satırı, kalan kupon sayısını gösteren bir bilet rozeti taşır ve rozet, geçerlilik pencerelerini listeleyen ve süresi dolmaya en yakın kuponu kullanan bir iletişim kutusu açar. İletişim kutusu istemci tarafından üretilen bir operationId gönderir ve yeniden denemek yerine zaman aşımından sonra göndermeyi durdurur; çünkü günlük kaydı hâlâ açık olan bir kullanım yeniden yürütülür. ocx account grok-reset-coupons uçbirim eşdeğeri olarak kalır.

Claude kullanım sıfırlamaları Providers > Anthropic > Accounts üzerinden aynı şekilde çalışır. Oturum açmış her hesap satırında kalan sıfırlamaları gösteren bir bilet rozeti bulunur; iletişim kutusu ikinci bir onaydan sonra bir sıfırlama kullanır. Sıfırlama, haftalık sıfırlama gününü değiştirmeden 5 saatlik ve haftalık limitleri yeniler. Bir talep zamanında yanıt vermezse iletişim kutusu operationId değerini korur ve on dakika boyunca aynı kimlikle yeniden deneme olanağı sunar; Claude Code istemcisi de bu şekilde toparlanır. Bu süre içinde aynı sıfırlama hakkı için yeni bir işlem reddedilir. Sıfırlama yalnızca kontrol panelinden kullanılabilir: tek başına yönetici belirteci 403 session_required yanıtını alır.

Model kadrosunun ve şifrelenmiş çalışan görevi davranışının arkasındaki kavramlar için Alt Ajan Arayüzü sayfasına bakın.

Yöntem ve yol Amaç Önemli hatalar
GET /api/client-integrations/journal?client=... Geri alma işlemlerini, isteğe bağlı olarak tek bir istemci için listeler. Her satır sunucunun hesapladığı deletable alanını içerir. 400 geçersiz istemci
DELETE /api/client-integrations/journal?opId=... Eski bir geri alma işlemini kullanımdan kaldırır ve mümkünse anlık görüntüsünü siler. Başarılı yanıtta snapshotRemoved: false, temizliğin bakım yeniden denemesi için saklandığını belirtir. 400 eksik opId; 404 bulunmayan veya zaten kaldırılmış işlem; 409 istemcinin en yeni işlemi

Önizleme, bir değişikliğin ne yapacağını yapmadan gösterir. Bu yollar hiçbir şey yazmaz: anlık görüntü, sahiplik kaydı, günlük satırı, kilit, bakım ve kurtarma yoktur.

Yöntem ve yol Amaç Önemli hatalar
POST /api/client-integrations/preview Tek bir istemci için apply, overwrite veya disable planlar; gövde { "clientId": "...", "operation": "..." } 400 geçersiz istemci veya işlem; 400 invalid_aside_profile_path; 409 integration_preview_unavailable
POST /api/client-integrations/restore/preview Bir geri almayı planlar; gövde { "opId": "...", "confirmDrift": false } 404 işlem bulunamadı; 400 invalid_aside_profile_path; 409 integration_preview_unavailable
POST /api/client-integrations/aside/profiles/{profileId}/preview Tek bir Aside profilinin değişikliğini planlar; restore için opId gerekir 400 geçersiz gövde veya profil belirtilmemiş; 404 profil veya işlem bulunamadı; 409 integration_preview_unavailable

Plan; version, clientId, operation, state, foreignEdit, kind ve path çiftlerinden oluşan bir changes listesi, opak bir fingerprint, canApply ve willChange içerir; refusalReason ile profileId isteğe bağlıdır. Yollar ya yönetilen şema yollarıdır ya da sabit $snapshot, $ownership ve $journal işaretleridir; çalışma sırasında belirlenen bir konum * olarak görünür. Hiçbir yapılandırma değeri, dosya konumu veya seçilen öğenin adı döndürülmez.

canApply doğru ve willChange yanlışsa işlem başarılı olur ama yönetilen istemci belgesinde hiçbir şey değişmez; örneğin zaten uygulanmış olanı yeniden uygulamak.

Aside profil değişikliği bu durumda yine de bir şey kaydeder: onay, herhangi bir istemci belgesine dokunulmadan önce o profilin eşitleme tercihini yazar. Bu yüzden yönetilen bloğu zaten bulunmayan bir profili kapatmak yalnızca tercihi saklar, belgeyi ve geçmişini olduğu gibi bırakır.

integration_preview_unavailable, şu anda kullanılabilir bir model listesi tutulmadığını belirtir: yeni başlamış bir vekil bunun bir hâlidir, yapılandırma ya da sağlayıcı önbelleği değiştiği için bırakılmış bir liste de öyle. GET /api/client-integrations okunduğunda keşif başarılı olur ve yapılandırma belirlenebilirse liste oluşur; bu her zamanki çözümdür, bir güvence değildir.

Değişiklik yolları, olağan gövdenin yanında operation ve planFingerprint kabul eder. İkisini birlikte gönderin ya da hiçbirini: yalnızca birini taşıyan bir istek reddedilir, operation değeri istenen değişiklikle çelişen bir istek de öyle. Aside bağlaması tek bir profile içindir; çünkü bir parmak izi birbirinden bağımsız değişen birden çok dosyayı anlatamaz.

Sunucu yazmadan önce yeniden planlar ve onay artık olacak olanı anlatmıyorsa yeniden hesaplanmış bir plan ile 409 integration_preview_stale döndürür. Yeni plana bakarak yeniden karar verin; istek kendiliğinden yinelenmez.

Parmak izi iyimser bir denetimdir, yetkilendirme değildir. Bir değişikliğin yapılıp yapılamayacağına yönetim API kimlik doğrulaması ve sahiplik kuralları karar verir.

Silme, günlüğü yeniden yazmak yerine bir silme kaydı ekler. Geçerli geri alma noktasını korumak için her istemcinin en yeni işlemi sunucu tarafında korunur.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/combos Normalleştirilmiş komboları ve genel model kimliklerini listeleyin Katalog çalışması catalog_busy döndürebilir
PUT /api/combos Bir komboyu oluşturun, değiştirin veya yeniden adlandırın 400 geçersiz kimlik, hedef, yapılandırma, yeniden adlandırma veya sıradan çakışma; 409 Codex hesabı ad alanı çakışması
DELETE /api/combos?id=... Bir komboyu silin ve seçim/soğuma durumunu temizleyin 400 eksik kimlik; 404 bilinmeyen kombo

Hedef stratejileri, soğuma süreleri, takma adlar ve yönlendirme hataları için Kombolar sayfasına bakın.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/codex-prompt İstem katmanı anlık görüntüsünü okuyun: katmanlar, temel varyantlar, seçim ve drift durumu —
GET /api/codex-prompt/text codex debug prompt-input üzerinden modele görünen istem metnini yoklayın Fail-soft: kullanılamayan yoklama HTTP hatası yerine gövdede bir duruma düşer
PUT /api/codex-prompt/toggle Değiştirilebilir bir katmanı etkinleştirin veya devre dışı bırakın 400 geçersiz gövde veya bilinmeyen katman; 409 stale_revision, layer_not_toggleable
PUT /api/codex-prompt/custom Özel katman kümesini değiştirin 400 geçersiz gövde, invalid_characters, normalleştirilmiş UTF-8 katmanı 65.536 baytı aşarsa body_too_large, 131.072 baytı aşarsa composed_too_large; 409 stale_revision
PUT /api/codex-prompt/base/select Varsayılan temel istemi veya kayıtlı bir varyantı seçin 400 geçersiz gövde, kayıtlı varyantla eşleşmeyen bir id için unknown_layer; 409 stale_revision, mevcut temel istem harici olduğunda developer_instructions_not_owned
PUT /api/codex-prompt/base Bir temel varyantı oluşturun (id atlandı veya id: null), düzenleyin veya silin (delete: true). Sağlanan id yalnızca düzenleme içindir ve kayıtlı bir varyanta başvurmalıdır. body ölçülmeden veya saklanmadan önce normalleştirilir (sekmeler genişletilir, CR/CRLF LF’e katlanır) 400 geçersiz gövde, default id veya kayıtlı varyantla eşleşmeyen bir id için unknown_layer, normalleştirilmiş UTF-8 gövdesi 65.536 baytı aşarsa body_too_large; 409 stale_revision
POST /api/codex-prompt/adopt config.toml içindeki developer_instructions değerini özel katman olarak içe aktarın 400 geçersiz gövde, invalid_characters, body_too_large, composed_too_large; 409 config_unreadable, nothing_to_adopt, adopt_unsupported_form, stale_revision
POST /api/codex-prompt/repair config.toml ile sahip olunan projeksiyon arasındaki drift’i onarın 400 geçersiz gövde; 409 config_unreadable, nothing_to_repair, repair_unsupported, stale_revision

Katman modeli ve her katmanın yazdığı anahtarlar için Codex İstem Katmanları sayfasına bakın.

Yapılandırma, başlangıç, senkronizasyon ve güncellemeler

Bölüm başlığı “Yapılandırma, başlangıç, senkronizasyon ve güncellemeler”
Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/config Maskelenmiş, yönetim açısından güvenli yapılandırma DTO’sunu döndürün —
PUT /api/config Devre dışı bırakılmış tam yapılandırma değiştirme koruması 405; bunun yerine odaklanmış uç noktaları kullanın
GET, PUT /api/settings Çalışma zamanı/başlangıç ayarlarını okuyun veya otomatik başlatmayı, akış modunu, uygulamaya ait bellek bütçesini ve codexAccountPickerEnabled’ı güncelleyin 400 geçersiz, nesne olmayan veya boş güncelleme
GET /api/startup-health Önbelleğe alınmış servis/dolgu başlangıç sağlığını okuyun —
POST /api/startup-action Servisi veya Codex dolgusunu kurun veya onarın 400 geçersiz eylem; 500 eylem hatası
GET, POST /api/windows-tray Windows tepsisi durumunu okuyun veya kurun/başlatın/durdurun/kaldırın 400 desteklenmeyen platform/eylem; 500 işlem hatası
GET /api/diagnostics/project-config Önbelleğe alınmış proje yapılandırma uyarılarını okuyun —
POST /api/sync Geçerli model kataloğunu Codex ile senkronize edin 500 başarısız senkronizasyon
GET /api/update/check latest veya preview paket kanalını eşzamansız denetleyip başarılı olursa önbelleği yenile 400 geçersiz etiket
POST /api/update/run Yeni paket sürümünü eşzamansız denetle, ardından isteğe bağlı yeniden başlatmayla güncelleme işini başlat 400 geçersiz gövde; işe özgü çakışma/hata durumu
GET /api/update/status Bir güncelleme işini kimliğe göre yoklayın 404 bilinmeyen iş
GET, PUT /api/sidecar-settings Web arama ve vizyon sidecar model/arka uç ayarlarını okuyun veya güncelleyin 400 geçersiz şekil, arka uç veya sınır
GET, PUT /api/shadow-call-settings Gölge çağrı müdahale ayarlarını okuyun veya güncelleyin 400 geçersiz şekil veya değer

İstek günlükleri, üst servis yanıt veren modeli bildirdiğinde servedModel alanını saklar. Üst servise gönderilen model istemciye gösterilen modelden farklı olduğunda wireModel alanını da saklar. Bu modeller farklıysa kontrol paneli wire → served gösterir; bilgi balonunda her iki değer de korunur. Üst servisten yanıt veren modele ilişkin bilgi gelmezse bu alan boş kalır; istenen modelden çıkarım yapılmaz.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/logs Filtrelenmiş bellek içi istek günlüklerini sorgulayın —
GET, PUT /api/debug Hata ayıklama bayraklarını okuyun; yakalama kategorilerini ayarlayın, temizleyin veya sıfırlayın 400 geçersiz veya boş güncelleme
GET /api/debug/logs Sınırlı sağlayıcı/hata ayıklama günlüğü girdilerini okuyun —
GET /api/debug/usage-logs Sınırlı kullanım hata ayıklama girdilerini okuyun —
GET /api/debug/injection-logs Sınırlı rehberlik enjeksiyonu hata ayıklama girdilerini okuyun —
GET /api/claude/inbound-debug Claude gelen hata ayıklama durumunu ve girdilerini okuyun —
GET /api/usage Kullanımı aralığa ve istemci yüzeyine göre özetleyin; Codex yanıtları ayrıca kararlı PII olmayan günlük etiketlerine göre anahtarlanan bir accounts dökümü içerir Depolama okunamıyorsa 500 { "error": "read_failed" } döndürür
GET /api/metrics Mantıksal istekler, fiziksel gönderimler, kurtarma türleri, süre ve TTFT için süreç yerel Prometheus metin metriklerini döndürür. İstek metriklerinin etiketleri kapalı kümelerdir; Kiro göstergeleri yalnızca sınırlı opak hesap etiketleri ekler; istek veya kimlik bilgisi tanımlayıcıları dışa aktarılmaz. Dört opencodex_kiro_quota_{used_credits,limit_credits,used_percent,seconds_to_reset} göstergesi yalnızca önbelleği okur ve en fazla 32 opak hesap etiketi kullanır. Toplama sırasında ağ sorgusu yapılmaz. Başlangıçta metricsExport.enabled true değilse 404; olağan yönetim kimlik doğrulaması gerekir ve veri düzlemi kimlik bilgileri erişim sağlamaz
GET /api/storage Sepete göre Codex depolama kullanımını tarayın Tarama hatasında bir error: "scan_failed" yükü döndürür
POST /api/storage/cleanup/preview Arşivlenmiş oturum temizliğini önizleyin ve bağlayıcı bir özet döndürün 400 invalid_json veya invalid_percent
POST /api/storage/cleanup Önizlenen arşivlenmiş kümeyi karantinaya alın veya kalıcı olarak kaldırın 400 geçersiz girdi; 409 eski/meşgul/başvurulan durum; 500 dosya sistemi/veritabanı hatası
GET /api/storage/trash Karantinaya alınan temizleme girdilerini listeleyin 500 trash_list_failed
POST /api/storage/trash/restore Karantinaya alınan bir girdiyi geri yükleyin 400 geçersiz kimlik; 404 eksik çöp; 409 meşgul/hedef çakışması; 500 geri yükleme hatası
GET /api/storage/trash/restore/test-stream Yalnızca test amaçlı geri yükleme akış kancası Test kancaları kapalıyken 404 not_available
GET, PUT /api/storage/cleanup-policy Zamanlanmış temizleme politikasını ve iş durumunu okuyun veya güncelleyin 400 geçersiz politika
POST /api/storage/cleanup-policy/run Manuel bir temizleme politikası çalıştırması başlatın 409 already_running; 500 cleanup_failed
GET /api/storage/cleanup-policy/test-stream Yalnızca test amaçlı politika akış kancası Kullanılamadığında 404 not_found

Bir satır mevcut ayrıştırıcı boyut sınırını aşarsa GET /api/usage ve GET /api/keys okunabilir satır toplamlarını korur ve yanıt düzeyinde usageIncomplete: true ile usageIncompleteReason: "oversized_rows" ekler. Bu tanı, boş veya eşleşmeyen sonuçlar dahil önbellekte ve artımlı eklemelerde korunur; yeniden oluşturma sırasında tekrar hesaplanır. Sağlayıcı, model ve API anahtarı kimlikleri kısaltılmaz. Bayrağın bulunmaması tüm kayıtların geçerli olduğunu kanıtlamaz. Bu bilgi historyTruncated, entriesTruncated ve token ölçüm kapsamından ayrıdır.

GET /api/usage?range=30d&surface=codex için accounts, gözlemlenen her Codex havuz etiketi için bir satır içerir. Her satır accountLogLabel, belirteç toplamları, usageCoverageRatio ve geçerli olarak yapılandırılmış görüntüleme fiyatlandırmasına dayalı isteğe bağlı bir estimatedCostUsd bildirir. Aktif kullanıcı modelCosts katmanları paketlenmiş doğrulanmış katalog ve fiyat geri dönüşlerine göre önceliklidir ve geçmiş kullanım özet okunduğunda aktif olan fiyatlandırmadan yeniden tahmin edilir. Bu bir API eşdeğeri tahmindir, bir abonelik ücreti değildir. Yeni ana havuz istekleri ayrılmış main etiketini kullanır; eski yalın openai satırları geçerli yapılandırmadan yeniden atanmak yerine belirsiz bir sepette kalır.

models, providers ve days[].models içindeki satırlar da cacheHitRate taşır: sağlayıcının istem önbelleğinden sunulan girdi belirteçlerinin [0, 1] aralığıyla sınırlandırılmış payı. Sağlayıcı hiç önbellek telemetrisi bildirmediğinde veya satırda hiç girdi belirteci olmadığında bu değer 0 değil, null olur; çünkü “önbellek verisi yok” ile “gerçekten %0 isabet oranı” farklı olgulardır ve bunları aynı şekilde gösteren bir grafik yanıltıcıdır.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/catalog Kurulu Codex katalog belgesini döndürün 404 katalog bulunamadı
GET /api/models Kontrol paneli/CLI model satırlarını döndürün Toplama doyduğunda catalog_busy
GET /api/client-config?client=... Desteklenen herhangi bir dosya entegrasyonu için salt okunur bir istemci yapılandırması oluşturun 400 desteklenmeyen istemci; 503 katalog kullanılamıyor
PUT /api/disabled-models Paylaşılan devre dışı model listesini değiştirin 400 geçersiz JSON
PUT /api/model-visibility Sağlayıcı veya model düzeyindeki görünürlüğü atomik olarak değiştirin 400 geçersiz sağlayıcı, kapsam, hedef veya gövde; 409 initial_model_selection_pending (Model listesini yenileyip tekrar deneyin.)
GET, POST /api/custom-models Özel modelleri listeleyin veya bir tane ekleyin 400 geçersiz alanlar; 404 sağlayıcı eksik; 409 yinelenen model
PUT, DELETE /api/custom-models/{id} Bir özel modeli düzenleyin veya silin 400 geçersiz kimlik/alanlar; 404 bulunamadı; 409 yinelenen model
GET, PUT /api/selected-models Sağlayıcı izin listelerini ve kullanılabilirliğini okuyun veya bir izin listesini değiştirin 400 eksik sağlayıcı/gövde; 404 bilinmeyen sağlayıcı; PUT 409 initial_model_selection_pending
GET, PUT /api/model-presets Ön ayarları okuyun veya preset/all/custom modunu seçin 400 geçersiz mod veya desteklenmeyen ön ayar; 404 bilinmeyen sağlayıcı; PUT 409 initial_model_selection_pending

Manuel model, Models panosunda aynı sağlayıcı ve model kimliğine sahip satırın yerini alır. OpenAI manuel satırı openai/<model> kimliğini ve görünürlük kontrollerini korur. Silindiğinde hesap niteleyicisi olmayan yerel satır geri gelir. Hesapla nitelenen yerel satırlar ayrı kalır. Yerel rotalar ve hesap yetkileri değişmez. Yerel olmayan OpenAI görünürlük hedefi, yapılandırılmış bir manuel modelle eşleşmelidir.

Güvenilir ilk model listesi hazır olana kadar /api/selected-models ve /api/model-presets için geçerli PUT istekleri de HTTP 409 ve initial_model_selection_pending kodunu döndürür. Model keşfini örneğin GET /api/models ile yenileyin ve başarılı olduktan sonra yeniden deneyin.

OAuth hesapları, sağlayıcı anahtarları ve veri düzlemi anahtarları

Bölüm başlığı “OAuth hesapları, sağlayıcı anahtarları ve veri düzlemi anahtarları”
Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/oauth/providers Genel OAuth giriş akışlarına sahip sağlayıcıları listeleyin —
GET /api/key-providers API anahtarı girişi aracılığıyla yapılandırılan sağlayıcıları listeleyin —
POST /api/oauth/login Bir OAuth girişi veya hesap ekleme akışı başlatın 400 bilinmeyen/geçersiz sağlayıcı; oauth_mutation_busy
POST /api/oauth/login/code Manuel bir geri arama URL’si veya yetkilendirme kodu gönderin 400 geçersiz sağlayıcı/kod; oauth_mutation_busy
POST /api/oauth/login/cancel Devam eden bir genel OAuth akışını iptal edin 400 bilinmeyen sağlayıcı
GET /api/oauth/status Bir sağlayıcının OAuth akışını yoklayın 400 bilinmeyen sağlayıcı
POST /api/oauth/logout Seçilen sağlayıcı kimlik bilgisini kaldırın 400 bilinmeyen sağlayıcı; oauth_mutation_busy
GET, DELETE /api/oauth/accounts Maskelenmiş hesapları listeleyin veya bir hesabı kaldırın Kiro satırları otomatik seçimden dışlandığında autoSelectable ve kapalı bir skipReason taşır; tek etkin hesap yine istek gönderebilir. Kota isteğe bağlıdır. 400 geçersiz sağlayıcı/kimlik; 404 hesap eksik; oauth_mutation_busy
PUT /api/oauth/accounts/active Aktif OAuth hesabını seçin 400 geçersiz sağlayıcı/hesap; oauth_mutation_busy
GET, PUT, PATCH /api/oauth/accounts/pool Anthropic OAuth havuz politikasını okuyun veya güncelleyin 400 Anthropic olmayan sağlayıcı veya geçersiz politika
POST /api/oauth/accounts/clear-cooldown Bir OAuth hesabının çalışma zamanı soğuma süresini temizleyin 400 geçersiz sağlayıcı/hesap
PUT /api/oauth/accounts/alias Bir OAuth hesap takma adını ayarlayın veya temizleyin 400 geçersiz sağlayıcı/hesap/takma ad
PUT /api/oauth/accounts/pause Anthropic veya genel OAuth hesabını duraklatın/sürdürün. Body { provider, accountId, paused }; etkin hesap duraklatıldığında varsa kullanılabilir başka hesaba geçilir. 400 desteklenmeyen sağlayıcı veya geçersiz body; 404 hesap yok; oauth_mutation_busy
GET, POST, DELETE /api/providers/keys Maskelenmiş sağlayıcı anahtarlarını listeleyin, bir tane ekleyin/etkinleştirin veya kaldırın 400 geçersiz girdi; 404 sağlayıcı/anahtar eksik
PUT /api/providers/keys/active Bir sağlayıcının etkin anahtarını seçin 400 geçersiz girdi; 404 sağlayıcı/anahtar eksik
PUT /api/providers/keys/alias Bir sağlayıcı anahtarı takma adını ayarlayın veya temizleyin 400 geçersiz girdi; 404 sağlayıcı/anahtar eksik
GET, POST, PATCH, DELETE /api/keys Veri düzlemi kabul anahtarlarını listeleyin, oluşturun, düzenleyin veya silin 400 geçersiz gövde/kimlik; 404 anahtar eksik

Kimlik bilgisi listesi yanıtları kasıtlı olarak maskelenir. OAuth erişim belirteçleri ve eksiksiz sağlayıcı API anahtarları kontrol paneli istemcilerine döndürülmez.

CLI komutu Anthropic OAuth hesabını id veya benzersiz takma ad ile duraklatır ya da sürdürür. Önce tam eşleşme, ardından büyük/küçük harf duyarsız eşleşme aranır. CLI ve kontrol paneli aynı PUT /api/oauth/accounts/pause uç noktasına { provider: "anthropic", accountId, paused } gönderir. paused hesapta saklanır ve GET /api/oauth/accounts yanıtında gösterilir. Proaktif havuz kapalı olsa bile duraklatılan hesap seçimden, oturum bağlarından ve 429 sonrası adaylardan çıkarılır. Tüm hesaplar duraklatılmışsa biri sürdürülene kadar istekler 403 döndürür. Önceden gönderilmiş istekler devam eder; kimlik bilgileri ve sağlık durumu korunur. Duraklatma yeniden başlatma ve yeniden girişten sonra da sürer, hesap silinince kaldırılır. Hesaba özel eşikler bu işleme dahil değildir.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/providers Maskelenmiş sağlayıcı yapılandırmasını ve keşif durumunu listeleyin —
POST /api/providers Doğrulanmış bir sağlayıcı ekleyin veya değiştirin ve isteğe bağlı olarak onu varsayılan yapın 400 geçersiz/tehlikeli hedef veya yapılandırma; 409 ad alanı çakışması
PATCH /api/providers?name=... İzin verilen sağlayıcı alanlarını (birleştirilmiş bir headers bloğu dahil), etkin/varsayılan durumunu veya OpenAI hesap modunu güncelleyin 400 geçersiz alan veya geçiş; 404 bilinmeyen sağlayıcı
DELETE /api/providers?name=... Mümkün olduğunda varsayılanı yeniden atayarak bir sağlayıcıyı silin 404 bilinmeyen sağlayıcı; 409 last_provider; 409 provider_has_dependent_combos
POST /api/providers/test?name=... Sınırlı bir canlı sağlayıcı bağlantı/model keşif probu gerçekleştirin 404 bilinmeyen sağlayıcı; arızalar normalde ok: false kanıtı olarak döndürülür
GET /api/provider-quotas Sağlayıcı kota raporlarını okuyun; refresh=1 yenilemeye zorlar —
GET, PUT /api/provider-context-caps Küresel, tüm sağlayıcılar veya tek sağlayıcı bağlam sınırlarını okuyun veya güncelleyin 400 geçersiz istek; 404 bilinmeyen sağlayıcı
GET /api/provider-presets Çalışma zamanı kayıt defterinden türetilen GUI sağlayıcı önayarlarını döndürün —

Bağlam sınırı yanıtı caps (etkin sınırlar) ve values (devre dışıyken de saklanan son seçimler) alanlarını içerir. Sağlayıcının sınırını value olmadan etkinleştirmek seçimini geri yükler; ilk etkinleştirmede genel contextCapValue kullanılır. Bu kural OpenAI için de geçerlidir: anahtar özel bir 922k modu seçmez. Etkin sınır tüm yerel pencereleri sınırlar; uzun bağlamı destekleyen modeller yalnızca kendi desteklenen üst sınırlarına kadar genişletilebilir. { "value": 600000, "setAll": true }, genel değeri ve yalnızca etkin sınırları günceller. Sınırı kapalı olan sağlayıcılar, daha sonra yeniden etkinleştirildiğinde kullanılacak seçimlerini korur. value olmadan { "setAll": true }, yapılandırılmış tüm sağlayıcıların sınırlarını geçerli genel değerle etkinleştirir ve saklanan seçimlerini değiştirir. Devre dışı bırakmak seçimi silmez; yeniden yüklemeden sonra da saklar, ancak bir sınır olarak uygulamaz.

provider_has_dependent_combos bir güvenlik engelidir: sağlayıcılarını silmeden önce bağımlı komboları kaldırın veya düzenleyin.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/github/star Kullanıcının gh oturumu aracılığıyla depo yıldız durumunu okuyun Duruma özgü sabit sonuç kodları
POST /api/github/star Depoyu yalnızca kimliği doğrulanmış bir insan eyleminden yıldızlayın Kontrol paneli oturumu kanıtı olmayan ajan odaklı arayanlar için 403 agent_consent_required
GET /api/update/badge Kayıt sorgusu yapmadan önbellekteki paket rozetini oku; önbellek yoksa, kanal farklıysa veya 40 saatten eskiyse unknown: true döndür. surface=desktop&session=<id> yalnızca belirtilen masaüstü uygulaması oturumunu okur. 400 geçersiz surface; eksik veya süresi dolmuş masaüstü oturumu unknown: true döndürür
POST /api/update/desktop-snapshot Masaüstü kabuğu, Tauri güncelleyicisinin görüntü durumunu bağlı proxy istemcisi üzerinden yayımlar Origin üstbilgisi varsa veya ham admin-token principal yoksa 403; geçersiz alanlarda 400; 1 KiB üzerinde 413

Masaüstü snapshot geçici görüntü durumudur, kurulum isteği değildir. Proxy bellekte en fazla 32 oturum tutar ve bir oturumu son heartbeat sonrasında 180 saniyede sona erdirir. surface=desktop olmayan normal tarayıcı paket rozetini okumaya devam eder.

Proxy, uygun paket kurulumunda başlangıçtan sonra önbellek eksikse veya 20 saatten eskiyse denetim yapar; ardından tazeliği saat başı kontrol eder. OCX_DISABLE_UPDATE_CHECK=1 yalnızca otomatik denetimleri kapatır. Açıkça yapılan denetim ve çalıştırma istekleri kullanılabilir.

Yöntem ve yol Amaç Dikkate değer hatalar
GET /api/system/memory Skaler süreç, yığın (heap), akış, yanıt durumu, denetleyici ve aktif tur metriklerini döndürün —
POST /api/system/restart İstemci enjeksiyonunu kaldırmadan boşaltma duyarlı bir süreç yeniden başlatması başlatın 202 döndürür; tekrarlanan çağrılar mevcut boşaltmayı bildirir
POST /api/stop Servisi durdurun, yerel Codex’i geri yükleyin, yönetilen Grok enjeksiyonunu kaldırın ve proxy’yi boşaltın 409 servis sahipliği çakışması; çağıran ocx stop değilken bir Windows Görev Zamanlayıcı sarmalayıcısı proxy’yi yeniden başlatabiliyorsa 409 respawnable_service (hiçbir şey değiştirilmez); kurulu yönetici durmayı reddederse 409; Görev Zamanlayıcı durumu okunamıyorsa 409 service_state_unknown (hiçbir şey değiştirilmez; sorguyu onarıp yeniden deneyin)

GET /api/settings, geçerli codexAccountPickerEnabled boolean değerini bildirir. Bu katı boolean’ı içeren bir PUT, boş bir haritayı etkinleştirirken gizlilik açısından güvenli hesap seçicilerini başlatır, devre dışı bırakırken veya yeniden etkinleştirirken mevcut seçici etiketlerini korur, önce kalıcı hale getirir ve ardından yalnızca geçerli seçici görünürlüğü değiştiğinde sınırlı bir katalog yakınsaması talep eder. Başarılı yanıt catalogRefreshPending içerir: false, katalog işleminin tamamlandığı (veya yenilemeye gerek olmadığı) anlamına gelir; true, ayarın kaydedildiği ancak katalog yenilemesini yeniden denemek için POST /api/sync kullanılması gerektiği anlamına gelir. Kalıcılık veya seçici tahsis arızası bellek içi ayarları geri alır ve yakınsamayı çalıştırmaz.

Kök yönetim dağıtıcısı her /api/codex-auth/* isteğini Codex hesap yöneticisine devreder. Rotaları şunlardır:

Yöntem ve yol Amaç Dikkate değer hatalar
GET, POST, DELETE /api/codex-auth/accounts Codex hesaplarını listeleyin/yenileyin veya silin. POST devre dışı bırakılmış bir uyumluluk uç noktası olarak tutulur; başarılı DELETE yanıtları catalogRefreshPending içerir. POST her zaman 403 manual_import_disabled döndürür; 400 geçersiz DELETE girdisi
PUT /api/codex-auth/accounts/alias Bir hesap takma adını ayarlayın veya temizleyin 400 geçersiz hesap/takma ad
PUT /api/codex-auth/accounts/pause Bir hesabı duraklatın veya devam ettirin 400 geçersiz hesap/durum; 404 eksik hesap
PUT /api/codex-auth/accounts/pause-exhausted Kotası tükenen hesapları duraklatın Mutasyon kilidi arızaları 503 olur
POST /api/codex-auth/accounts/clear-cooldown Bir hesap veya tüm hesaplar için çalışma zamanı soğuma süresini temizleyin 400 geçersiz kimlik
GET, PUT /api/codex-auth/active Aktif hesabı okuyun veya seçin 400 geçersiz veya eksik hesap; 409 duraklatılmış/eski satır çakışması
PUT /api/codex-auth/auto-switch id olmadan { threshold } ile genel eşiği, { id, threshold } ile hesaba özel eşiği ayarlayın; id: '__main__' Codex Desktop hesabını seçer. id belirtilmişken threshold: null hesaba özel değeri kaldırır ve genel eşikten kalıtımı geri yükler 400 geçersiz kimlik/eşik; 404 eksik hesap
PUT, PATCH /api/codex-auth/pool-strategy Codex hesap havuzu seçim stratejisini güncelleyin 400 geçersiz strateji/yapılandırma
PUT /api/codex-auth/failover Hesap yük devretme eşiğini ayarlayın 400 geçersiz eşik
GET /api/codex-auth/quota Hesaba göre önbelleğe alınmış kota durumunu okuyun —
GET /api/codex-auth/reset-credits Bir hesap için sıfırlama kredisi uygunluğunu inceleyin 400 eksik hesap kimliği; yukarı akış durum doğrudan geçişi; 500 arama hatası
POST /api/codex-auth/reset-credits/consume Uygun bir sıfırlama kredisini tüketin. İsteğe bağlı operationId (UUIDv4) kullanımı işlemi idempotent yapar: aynı kimlik ikinci bir kredi harcamak yerine tek bir kalıcı sonucu yeniden oynatır. 400 eksik hesap kimliği veya geçersiz operationId; kimlik başka bir hesaba aitse 409 identity_mismatch; yukarı akış durum doğrudan geçişi; 503 server_busy, capacity veya unavailable; 500 tüketme hatası
POST /api/codex-auth/login Codex girişini veya yeniden kimlik doğrulamasını başlatın 400 geçersiz istek; çakışma/meşgul giriş durumları
POST /api/codex-auth/login/code Bir Codex giriş akışı için manuel bir kod gönderin 400 geçersiz akış/kod
POST /api/codex-auth/login/cancel Yalnızca { "flowId": "..." } ile belirtilen bekleyen Codex girişini iptal edin 400 akış kimliği eksik, bilinmiyor veya beklemede değil
GET /api/codex-auth/login-status Bir akışı veya hesap giriş durumunu yoklayın. Tamamlanan yeni hesap akışı yalnızca kurtarma gerektiğinde catalogRefreshPending: true içerir. Bilinmeyen akışlar expired bildirir; aktif olmayan akış idle bildirir

Yeni bir hesap yapılandırma satırı kaydedilirse ancak kimlik bilgisi kurulumu tamamlanamazsa, OAuth login-status, code: "codex_credential_persistence_failed", accountId, needsReauth: true ve isteğe bağlı catalogRefreshPending: true ile status: "error" bildirir; depolama hatası ayrıntıları açığa çıkarılmaz. Hesap satırı kaydedilmiş olarak kalır: hesap oluşturmayı yeniden denemeden önce yeniden kimlik doğrulaması yapın veya silin.

Bu yetkilendirilmiş aile altındaki yapılandırma yazıcısı veya kimlik bilgisi yenileme kilidi zaman aşımları CONFIG_MUTATION_LOCK_UNAVAILABLE koduyla HTTP 503 döndürür. İstemciler bu yanıtı kalıcı bir hesap hatası olarak değerlendirmek yerine kısa süre sonra yeniden denemelidir.

Hesap oluşturma ve silme, katalog yakınsamasından önce kimlik bilgilerini/yapılandırmayı işler. Başarısız veya ertelenmiş bir katalog denemesi kalıcı hesap mutasyonunu asla geri almaz ve dahili sağlayıcı, hesap, yol veya kimlik bilgisi ayrıntılarını asla yansıtmaz; istemciler yalnızca tamamlama boolean’ını alır. Bir hesabı silmek seçici bağlamasını korur, böylece hesap yokken tam rotalar kapalı olarak başarısız olur ve bu hesap kimliği tekrar eklenirse aynı seçici geri yüklenir.

Sıradan yönetim için Web Kontrol Paneli en güvenli rehberli iş akışını sağlar. Başsız ana bilgisayarlar ve otomasyon için ilgili ocx komutlarını kullanın: aynı canlı API’yi çağırırlar ve proxy erişilemez olduğunda veya işlem başarısız olduğunda sıfır olmayan bir sonuç döndürürler. Doğrudan HTTP, yukarıdaki tam uç nokta sözleşmelerine ihtiyaç duyan entegrasyonlar için en yararlıdır.

POST /api/keys/rotate {id} on dakikalık geçişi başlatır ve yeni sırrı yalnızca bir kez döndürür. POST /api/keys/rotate/commit {id,rotationId} onaylar, DELETE /api/keys/rotate {id,rotationId} iptal eder. Yönetim kimlik doğrulaması gerekir; veri anahtarı bunları çağıramaz. POST /api/session/logout mevcut gui-session, eşleşen Origin ve CSRF ister. Admin token 403 alır ve onay oturumu oluşturamaz.

PUT /api/oauth/accounts/auto-switch

Yalnızca Anthropic OAuth. { provider: "anthropic", accountId, threshold }: 0–100 tam sayı veya devralmak için null; eksik alan hatadır. Yeniden başlatmada korunur, hesapla birlikte silinir.

DTO: autoSwitchThresholdOverride (tam sayı/null), autoSwitchThreshold (havuz varsayılanı), effectiveAutoSwitchThreshold. 0 yalnızca kullanıma dayalı geçişi kapatır; duraklatma ve 429 kurtarması sürer.

HTTP: 400 invalid/unsupported; 404 missing account; oauth_mutation_busy on lock contention.