Skip to main content
CID222 Docs
GeliştirmeAPI başvurusu

API genel bakış

Her CID222 API yüzeyinde temel yollar, kimlik bilgileri, istek ve yanıt biçimleri, sayfalama ve hata kodları.

  • Sürüm: 0.4
  • Rol: admin_user, normal_user, viewer
  • Tür: başvuru

Her CID222 API yüzeyi, yanıt verdiği temel yol, kabul ettiği kimlik bilgisi ve döndürdüğü biçim.

Temel URL

Genel bir rota öneki yoktur. Her denetleyici kendi temel yolunu tanımlar ve yollar tekbiçimli değildir — /api/v1 altındaki tek yüzey tespittir.

https://<appliance-fqdn>

Ağ geçidi TCP 3000 üzerinde 0.0.0.0 adresine bağlı olarak dinler; bir cihaz bunu kendi TLS katmanının arkasında 443 üzerinden yayımlar. Üretimde https://<appliance-fqdn> kullanın; http://localhost:3000 yalnızca konteynere doğrudan çağrı yaparken geçerlidir.

YüzeyTemel yol
Sohbet/chat
Tespit/api/v1/guardrails
Oturumlar/sessions
Modeller/models
Kimlik doğrulama/auth
Görüntü analizi/image-analysis
Belge analizi/document-analysis
Yönetim/admin/…

Kimlik doğrulama

Kimlik doğrulamalı her istek bir bearer token taşır. CID222 iki kimlik bilgisi türünü cid_key_ önekinden ayırt eder.

# Ağ geçidi API anahtarı (sunucudan sunucuya)
Authorization: Bearer cid_key_0123456789abcdef…

# Kullanıcı JWT'si (POST /auth/login ile alınır)
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…

Warning

Ağ geçidi API anahtarı /chat/…, /models ve POST /api/v1/guardrails/detect yüzeylerine erişir. /sessions, /image-analysis, /document-analysis veya /admin/… yüzeylerine erişmez; bunlar yalnızca JWT doğrular. Kimlik doğrulama sayfasına bakın.

Sohbet uç noktaları

MetotYolKimlik bilgisiAçıklama
POST/chat/completionsAPI anahtarı veya JWTFiltrelenmiş tamamlama, Server-Sent Events (SSE) olarak döner
POST/chat/harden-promptAPI anahtarı veya JWTBir istemi güvenlik ve netlik için yeniden yazar; JSON döner
GET/chat/providersAPI anahtarı veya JWTKatalogda kayıtlı sağlayıcılar ve her birinin desteklenip desteklenmediği
GET/modelsAPI anahtarı veya JWTKiracınızın etkin kimlik bilgisine sahip olduğu modeller

Tespit ve dosya uç noktaları

MetotYolKimlik bilgisiAçıklama
POST/api/v1/guardrails/detectAPI anahtarı veya JWTMetni KKV, sır, toksisite ve jailbreak için tarar. 200 döner
POST/image-analysis/analyzeJWTOptik karakter tanıma (OCR) ile görüntü KKV'si, isteğe bağlı redaksiyonla
GET/image-analysis/ocr-enginesJWTKullanılabilir OCR motorları
POST/image-analysis/compare-ocrJWTBir görüntüyü birden çok OCR motorundan geçirir
POST/document-analysis/analyzeJWTBase64 JSON'dan belge KKV'si
POST/document-analysis/analyze-fileJWTMultipart yüklemeden belge KKV'si
POST/document-analysis/redact-jobsJWTAsenkron bir redaksiyon işi başlatır
GET/document-analysis/redact-jobs/:jobIdJWTBir redaksiyon işini sorgular
GET/document-analysis/supported-typesJWTKabul edilen belge türleri
GET/document-analysis/:id/downloadJWTRedakte edilmiş belgeyi indirir

Oturum uç noktaları

MetotYolKimlik bilgisiAçıklama
POST/sessionsJWTBoş bir konuşma oturumu oluşturur
GET/sessionsJWTKiracının sohbet oturumlarını, en son kullanılan önce olacak şekilde listeler
GET/sessions/:idJWTTam mesaj geçmişiyle birlikte tek bir oturum
PATCH/sessions/:idJWTBir oturumu yeniden adlandırır
POST/sessions/:id/messagesJWTOturumda mesaj gönderir; SSE döner
DELETE/sessions/:idJWTBir oturumu ve tespitlerini siler

Kimlik doğrulama uç noktaları

MetotYolKimlik bilgisiAçıklama
POST/auth/loginYokKullanıcı adı ve parolayı JWT ile değiştirir. 200 döner
POST/auth/forgot-passwordYokParola sıfırlama bağlantısı ister
POST/auth/reset-passwordYokParola sıfırlamayı tamamlar
POST/auth/change-passwordJWTOturum açmış kullanıcının parolasını değiştirir

İstek biçimi

İstekler Content-Type: application/json başlığıyla JSON'dur. "Hiçbir şey yapmayan" bir isteği ayıklamadan önce bilinmesi gereken iki davranış vardır:

  • Bilinmeyen alanlar reddedilmez, temizlenir. Doğrulama beyaz liste ile çalışır; uç noktanın tanımlamadığı bir gövde alanı sessizce kaldırılır ve istek devam eder. Yanlış yazılmış bir parametre, varsayılan davranışla başarılı bir çağrı üretir.
  • Gövde sınırı 50 MB'dir (JSON ve URL kodlu gövdeler için). Görüntü analizi, çözülmüş görüntüyü bu sınırdan bağımsız olarak 10 MB ile; belge analizi ise yüklemeyi 20 MB ile sınırlar.

Yanıt biçimi

Yüzeyİçerik türü
POST /chat/completionstext/event-stream
POST /sessions/:id/messagestext/event-stream
Diğer her şeyapplication/json

İki akış uç noktası ayrıca Cache-Control: no-cache, Connection: keep-alive ve X-Accel-Buffering: no başlıklarını gönderir.

Bir SSE yanıtı, her biri tek bir JSON nesnesi taşıyan data: satırlarından oluşur ve data: [DONE] ile sonlanır:

data: {"type":"token_usage","usage":{"prompt_tokens":20,"completion_tokens":10,"total_tokens":30}}

data: {"id":"filtered-response","content":"Hello. How can I help?","finish_reason":"stop","filtered":false,"entities_masked":0}

data: [DONE]

Warning

Akışsız bir sohbet modu yoktur. POST /chat/completions, stream alanına ne yazarsanız yazın text/event-stream döndürür ve modelin yanıtı token başına farklar hâlinde değil tek bir olayda gelir. Olay listesinin tamamı Sohbet API'si sayfasındadır.

Hız sınırları

Hız sınırlama yalnızca kimlik doğrulaması gerektirmeyen oturum açma yüzeylerinde vardır ve istemci IP adresine göre anahtarlanır.

Uç noktaSınır
POST /auth/loginDakikada 10 istek
POST /auth/forgot-passwordDakikada 5 istek
POST /auth/reset-passwordDakikada 5 istek

POST /chat/completions ve POST /api/v1/guardrails/detect dahil diğer her uç nokta sınırsızdır. CID222 hiçbir yanıtta X-RateLimit-Limit, X-RateLimit-Remaining veya X-RateLimit-Reset başlığı göndermez ve katman başına istek veya token kotası yoktur. Sağlayıcı harcamasını bir ağ geçidi kotasıyla değil, Token Maliyeti ve Tasarruf ile bütçeleyin.

Sayfalama

Sayfalama yalnızca yönetim liste uç noktaları için geçerlidir — GET /admin/api-keys, GET /admin/models ve benzerleri. GET /sessions ve sohbet yüzeyi eksiksiz sonuç döndürür.

Sorgu parametreleri page (varsayılan 1) ve limit'tir (varsayılan 10):

{
  "data": [],
  "meta": { "total": 42, "page": 1, "limit": 10, "totalPages": 5 }
}

Hatalar

Hata gövdesi tekbiçimli değildir. CID222 politika reddi makine tarafından okunabilir bir code taşır; çerçeve düzeyindeki bir reddetme taşımaz. Önce HTTP durum koduna bakın.

{
  "statusCode": 400,
  "message": "Invalid request body",
  "error": "Bad Request"
}
{
  "statusCode": 403,
  "code": "FEATURE_NOT_LICENSED",
  "message": "This feature is not included in the installed license tier.",
  "feature": "documents",
  "tier": "starter"
}
KodDurumAnlamı
SETUP_REQUIRED423İlk açılış kurulumu tamamlanmamıştır; küçük bir izin listesi dışındaki her şey kilitlidir
LICENSE_EXPIRED402Lisans geçersiz veya süresi dolmuş. Sohbeti, tespiti, denetlemeyi, görüntü ve belge analizini engeller
FEATURE_NOT_LICENSED403Rota, kurulu katmanın içermediği bir lisans özelliğiyle kısıtlanmıştır
ROLE_NOT_FOR_CHAT403auditor rolü bir sohbet veya oturum yazma uç noktasını çağırdı
READ_ONLY_ROLE403viewer rolü değişiklik yapan bir istek denedi

İçerik engellemeleri HTTP hatası değildir. /chat/completions üzerinde engellenmiş bir istem veya yanıt, 200 yanıtı içinde bir SSE olayı olarak gelir; yalnızca durum koduna bakan bir istemci başarı görür. Akışı okuyun.

Notlar

  • Yalnızca tespit /api/v1 altındadır. Önek yalnızca o denetleyiciye gömülüdür. Bunu genel bir sürüm öneki sanmak diğer her yerde 404 üretir.
  • POST /api/v1/guardrails/detect, POST olmasına rağmen 201 değil 200 döndürür.
  • Tespit hiçbir zaman ham KKV döndürmez. detectedEntities[].value bir yer tutucu veya [REDACTED]'tır ve normalization.originalText kasıtlı olarak boştur.
  • Geri döngü veya özel adresten gelen kimlik doğrulamasız bir tespit çağrısı kiracı bağlamı olmadan kabul edilir. Bu, küme içindeki kırmızı takım servisi içindir. Diğer her çağıranın bir kimlik bilgisine ihtiyacı vardır.

İlgili

Son güncelleme

Bu sayfada