Kaynaklar · Chat API

Chat API Belgeleri

/chat/completions için istek şeması, akış (streaming) olayları, çalışma zamanı davranışı ve hata semantiklerini kapsayan kurumsal düzeyde referans.

Uç Noktalar

GET /api/v1/chat/health
POST /api/v1/chat/completions

Gerekli Başlıklar

Authorization: Bearer [token] veya API anahtarı ile kimlik doğrulamaContent-Type: application/jsonX-Scope-Type: personal | workspaceX-Workspace-ID: sadece scope workspace olduğunda gereklidir

İstek Gövdesi

json
{
  "message": "Summarize the last meeting in bullet points",
  "session_id": "sess_123",
  "stream": true,
  "attachments": [],
  "metadata": {
    "locale": "en",
    "channel": "web"
  }
}

Yanıt Gövdesi

json
{
  "success": true,
  "session_id": "sess_123",
  "content": "• Discussed roadmap\n• Confirmed release scope\n• Assigned owners",
  "provider": "pulse",
  "usage": {
    "input_tokens": 324,
    "output_tokens": 118
  },
  "metadata": {
    "latency_ms": 612
  }
}

Akış Olayları

  • response.started — chat yürütmesi başladı
  • response.delta — kademeli metin tokenleri
  • response.tool_call — araç çağrısı olayı (varsa)
  • response.usage — kullanım/token güncellemesi
  • response.completed — nihai oluşturulmuş yanıt

Çalışma Zamanı Davranışları

  • Aşırı yük durumunda 503 döndüren geri basınç kontrolü.
  • Dağıtık kilitleme, eşzamanlı tekrarlı işlemleri önler.
  • Tekrarlanan (stream olmayan) istekleri dedup önbelleği karşılar.
  • Oturum sürekliliği, kullanıcı ve asistan dönüşlerini saklar.
  • Doğrulama; istek gövdesini, ekleri ve erişim bağlamını denetler.

Hata Modelleri

400

Geçersiz istek verisi veya gerekli alanlar eksik.

401

Kimlik doğrulama eksik veya geçersiz.

403

Yetki/kapsam kısıtlaması.

409

Kilitleme çakışması: istek zaten işleniyor.

422

Başlık/gövde/bağlam doğrulama hatası.

429

Hız sınırı aşıldı.

503

Sistem aşırı yüklü veya üst hizmet kullanılamıyor.

Örnekler

bash
curl -X POST "/api/v1/chat/completions" \
  -H "Authorization: Bearer [token]" \
  -H "Content-Type: application/json" \
  -H "X-Scope-Type: personal" \
  -d '{
    "message":"Write a short product update",
    "session_id":"sess_123",
    "stream":false
  }'