API v1.0 Stable

Sirius Interview API

AI destekli video görüşme platformu. Dakikalar içinde entegre edin.

5 dk
Entegrasyon
99.9%
Uptime
7/24
Erişim
AI
Analiz

Nasıl Çalışır?

1

Görüşme Oluştur

API ile görüşme başlatın

2

Adaya Gönder

Link'i e-posta ile iletin

3

AI Görüşme

Aday avatar ile görüşür

4

Sonuç Al

Webhook ile sonuç alın

Base URL

https://api.siriusaitech.com/v1

Sistem Mimarisi

Platform yapısını ve entegrasyon sürecini anlayın

Hiyerarşik Yapı

Provider (Şirket)

SiriusAITech tarafından oluşturulur

Production App
Staging App
Development App
🔑 API Key 1
🔑 API Key 2
🔑 API Key 3

Provider

Şirketinizi temsil eder. SiriusAITech tarafından oluşturulur ve size ilk API Key verilir.

Application

Farklı ortamlar (prod, staging, dev) için ayrı uygulamalar. Her birinin kendi ayarları vardır.

API Key

Kimlik doğrulama için kullanılır. Scope'lar ile yetkilendirme sağlanır.

Developer Onboarding Pipeline

1

Provider Hesabı Alın

Sirius AI Tech ile iletişime geçin. Provider hesabınız oluşturulacak ve ilk API Key'iniz size iletilecek.

developer@siriusaitech.com
2

Application Oluşturun

Aldığınız API Key ile yeni uygulamalar oluşturabilirsiniz. Her ortam için ayrı uygulama önerilir.

POST /api/applications
{
  "name": "Production App",
  "environment": "production",
  "allowedOrigins": ["https://yourapp.com"],
  "rateLimits": { "requestsPerMinute": 100 }
}
3

AI Providers'ı Keşfedin

Mevcut LLM, TTS ve STT servislerini listeleyin ve görüşmeleriniz için uygun olanları seçin.

GET /api/providers
// Response: OpenAI, Anthropic, Google, ElevenLabs, Deepgram...
4

Avatar Seçin veya Oluşturun

Sistem avatarlarını kullanın veya kendi özel avatarınızı oluşturun.

GET /api/avatars
// Sistem + özel avatarlarınızı listeler
5

İlk Görüşmeyi Başlatın

Tüm yapılandırmalarla ilk AI görüşmenizi oluşturun ve adaylara gönderin.

POST /api/interview/start
// Detaylı örnek için "Hızlı Başlangıç" bölümüne bakın

API Key Yetkileri (Scopes)

API Key'iniz belirli işlemler için yetkilendirilmiştir:

applications:read applications:write avatars:read avatars:write interviews:read interviews:write providers:read usage:read

Hızlı Başlangıç

3 adımda ilk görüşmenizi oluşturun

1

API Key Alın

Dashboard'dan API key'inizi oluşturun ve güvenli bir yerde saklayın.

Environment Variable
SIRIUS_API_KEY=lnt_live_sk_xxxxxxxxxxxxxxxxxxxxxxxx
2

Görüşme Oluşturun

Aday bilgileri ve sorularla bir görüşme oluşturun.

POST /interviews
{
  "candidate": {
    "name": "Ahmet Yılmaz",
    "email": "ahmet@example.com"
  },
  "position": {
    "title": "Frontend Developer"
  },
  "questions": [
    "Kendinizi tanıtır mısınız?",
    "React deneyiminiz nedir?"
  ]
}
3

Adaya Link Gönderin

Response'tan gelen candidateUrl'i adaya iletin.

Response
{
  "id": "int_abc123",
  "candidateUrl": "https://interview.siriusaitech.com/abc123",
  "status": "pending"
}
Terminal'de deneyin
curl
curl -X POST https://api.siriusaitech.com/v1/interviews \
  -H "Authorization: Bearer $SIRIUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"candidate":{"name":"Test","email":"test@example.com"},"position":{"title":"Developer"},"questions":["Merhaba?"]}'

RESTful API

Standart HTTP metodları ile kolay entegrasyon. JSON formatında request/response.

Güvenli & Şifreli

TLS 1.3 şifreleme, Bearer token auth. KVKK ve GDPR uyumlu altyapı.

Gerçek Zamanlı

Webhook bildirimleri ile anlık event takibi. Sisteminizi güncel tutun.

Kimlik Doğrulama

Bearer token ile güvenli API erişimi

Tüm API istekleri Authorization header'ı gerektirir. API anahtarınızı Sirius AI Tech ekibinden talep edebilirsiniz. Test ve production ortamları için ayrı anahtarlar sağlanır.

HTTP Header
Authorization: Bearer lnt_live_sk_xxxxxxxxxxxxxxxxxxxxxxxx

Güvenlik

API anahtarınızı asla client-side kodda kullanmayın. Yalnızca sunucu tarafında saklayın.

Rate Limiting

Dakikada 100 istek limiti uygulanır. Limit aşımında 429 hatası döner.

POST

Görüşme Oluştur

Yeni bir AI video görüşmesi başlatır. Şirket, pozisyon ve aday bilgileri ile birlikte kişiselleştirilmiş bir görüşme deneyimi oluşturulur.

Endpoint

POST /api/interview/start

Request Body

Parametre Tip Açıklama
companyInfo zorunlu object Şirket adı, logo URL'i ve marka bilgileri
position zorunlu object Pozisyon başlığı, departman ve gereksinimler
candidate zorunlu object Aday adı, e-posta ve telefon bilgileri
avatar zorunlu object AI avatar ID ve özelleştirme (customName, customTitle)
aiConfig zorunlu object LLM, TTS ve STT provider konfigürasyonu
prompts zorunlu object System prompt ve karşılama mesajı
questions zorunlu array Soru metinleri ve her soru için süre limiti
settings zorunlu object Max süre, link geçerlilik süresi, retry izni
callback zorunlu object Webhook URL ve dinlenecek event listesi
metadata opsiyonel object Kendi sisteminizdeki referans ID'leri

Örnek Request

JSON
{
  "companyInfo": {
    "name": "Acme Teknoloji",
    "logo": "https://acme.com/logo.png"
  },
  "position": {
    "title": "Senior Frontend Developer",
    "department": "Engineering"
  },
  "candidate": {
    "name": "Ahmet Yılmaz",
    "email": "ahmet@example.com"
  },
  "avatar": {
    "id": "avatar_ayse_01",
    "customName": "Ayşe Demir",
    "customTitle": "İK Uzmanı"
  },
  "aiConfig": {
    "llm": { "provider": "openai", "model": "gpt-4o" },
    "tts": { "provider": "elevenlabs" },
    "stt": { "provider": "deepgram", "language": "tr" }
  },
  "questions": [
    { "text": "Kendinizi tanıtır mısınız?", "duration": 120 }
  ],
  "settings": { "expiresInDays": 7 },
  "callback": {
    "url": "https://your-api.com/webhook"
  }
}

Response

201 Created
JSON
{
  "interviewId": "int_7kX9mP2vL4nQ",
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "interviewUrl": "https://interview.linteractive.ai/setup/...",
  "shortUrl": "https://lntr.ai/x7k9m",
  "status": "pending",
  "expiresAt": "2024-12-14T10:00:00.000Z"
}
GET

Görüşme Sorgula

Görüşme durumunu, zaman çizelgesini ve tamamlandıysa AI analiz sonuçlarını getirir.

GET /api/interview/:interviewId
Response
{
  "interviewId": "int_7kX9mP2vL4nQ",
  "status": "completed",
  "candidate": { "name": "Ahmet Yılmaz" },
  "timeline": {
    "createdAt": "2024-12-06T10:00:00Z",
    "startedAt": "2024-12-06T14:30:00Z",
    "completedAt": "2024-12-06T14:52:00Z"
  },
  "result": {
    "overallScore": 85,
    "recommendation": "recommended"
  }
}
GET

Görüşmeleri Listele

Tüm görüşmeleri sayfalanmış olarak listeler.

GET /api/interviews?page=1&limit=20
DELETE

Görüşme İptal

Henüz başlamamış bir görüşmeyi iptal eder.

DELETE /api/interview/:interviewId
GET

Görüşme Önizleme

KVKK onayından önce adaya gösterilecek minimal bilgileri döner. Yalnızca şirket adı, logo ve pozisyon bilgisi içerir.

KVKK Uyumlu: Bu endpoint hassas veri içermez. Aday henüz KVKK metnini onaylamamış olsa bile güvenle çağrılabilir.

GET /api/interviews/preview/:token
Response 200 OK
{
  "companyName": "Acme Teknoloji",
  "companyLogo": "https://acme.com/logo.png",
  "position": "Senior Frontend Developer"
}
POST

Token Doğrulama

KVKK onayından sonra çağrılır. Aday bilgileri, avatar, ayarlar ve soru sayısı dahil tüm görüşme detaylarını döner.

POST /api/interviews/verify/:token
Response 200 OK
{
  "interviewId": "int_7kX9mP2vL4nQ",
  "status": "pending",
  "candidate": {
    "name": "Ahmet Yılmaz"
  },
  "company": {
    "name": "Acme Teknoloji",
    "logo": "https://acme.com/logo.png",
    "primaryColor": "#3b6cf7"
  },
  "position": {
    "title": "Senior Frontend Developer",
    "department": "Engineering"
  },
  "avatar": {
    "name": "Ayşe Demir",
    "title": "İK Uzmanı",
    "photo": "https://..."
  },
  "settings": {
    "language": "tr",
    "maxDuration": 1800,
    "requireCamera": true
  },
  "questionsCount": 5,
  "expiresAt": "2024-12-14T10:00:00.000Z"
}
POST

Görüşmeye Katıl

Adayın görüşmeye katılmasını sağlar. Görüşme durumunu "in_progress" olarak günceller ve LiveKit bağlantı bilgilerini döner.

Video Bağlantısı: Bu endpoint, LiveKit token ve room bilgilerini döner. Aday bu bilgilerle video görüşmesine bağlanır.

POST /api/interview/:interviewId/join

Request Body

JSON
{
  "userAgent": "Mozilla/5.0...",
  "screenResolution": "1920x1080",
  "timezone": "Europe/Istanbul"
}
Response 200 OK
{
  "interviewId": "int_7kX9mP2vL4nQ",
  "status": "in_progress",
  "startedAt": "2024-12-06T14:30:00.000Z",
  "livekit": {
    "token": "eyJhbGciOiJIUzI1NiIs...",
    "serverUrl": "wss://livekit.linteractive.ai",
    "roomName": "interview_int_7kX9mP2vL4nQ"
  },
  "questions": [
    { "text": "Kendinizi tanıtır mısınız?", "duration": 120 }
  ]
}
POST

Görüşme Tamamla

Görüşmeyi tamamlandı olarak işaretler. Cevaplar ve analiz verileri AI Agent tarafından ayrıca işlenir.

Not: Bu endpoint sadece görüşme durumunu günceller. Cevaplar, transkript ve analiz verileri Python AI Agent tarafından ayrıca kaydedilir.

POST /api/interviews/:interviewId/complete

Request Body

JSON
{
  "sessionId": "sess_abc123xyz"  // opsiyonel
}
Response 200 OK
{
  "interviewId": "int_7kX9mP2vL4nQ",
  "sessionId": "sess_abc123xyz",
  "status": "processing",
  "completedAt": "2024-12-06T14:52:00.000Z",
  "message": "Interview completed successfully"
}

Applications

Uygulamalarınızı yönetin ve özelleştirin

Endpoint'ler

Method Endpoint Açıklama
GET /api/applications Uygulama listesi
GET /api/applications/:applicationId Uygulama detayı
POST /api/applications Yeni uygulama oluştur
PUT /api/applications/:applicationId Uygulama güncelle
DELETE /api/applications/:applicationId Uygulama sil

Marka Özelleştirme (Branding)

Yeni: Uygulamalarınıza marka özelleştirmeleri ekleyerek aday görüşme arayüzünü kişiselleştirebilirsiniz.

Alan Tip Açıklama
branding.logo string (URL) Şirket logosu URL'i
branding.primaryColor string (hex) Ana renk (örn: #3B82F6)
branding.backgroundColor string (hex) Arka plan rengi (örn: #F8FAFC)
branding.backgroundImage string (URL) Arka plan görseli URL'i
branding.companyName string Görüntülenecek şirket adı
POST /api/applications
{
  "name": "Production App",
  "environment": "production",
  "allowedOrigins": ["https://yourapp.com"],
  "branding": {
    "logo": "https://example.com/logo.png",
    "primaryColor": "#3B82F6",
    "backgroundColor": "#F8FAFC",
    "backgroundImage": "https://example.com/bg.jpg",
    "companyName": "Şirketiniz"
  }
}

API Keys

Kendi API Key'lerinizi oluşturun ve yönetin

Önemli: API Key'ler Application bazında oluşturulur. Her API Key belirli scope'lara sahiptir ve oluşturulduğunda secret key sadece bir kez gösterilir.

Endpoint'ler

Method Endpoint Açıklama
GET /api/api-keys?applicationId=xxx Uygulamaya ait API Key listesi
GET /api/api-keys/:apiKeyId API Key detayı
POST /api/api-keys Yeni API Key oluştur
POST /api/api-keys/:apiKeyId/revoke API Key iptal et
DELETE /api/api-keys/:apiKeyId API Key sil
GET /api/api-keys/scopes Kullanılabilir scope listesi
POST /api/api-keys
{
  "applicationId": "app_xxx",
  "name": "Production API Key",
  "scopes": [
    "applications:read",
    "interviews:read",
    "interviews:write",
    "avatars:read",
    "providers:read"
  ],
  "expiresAt": "2025-12-31T23:59:59Z"
}

Kullanılabilir Scope'lar

Scope Açıklama
applications:read Uygulama bilgilerini okuma
applications:write Uygulama oluşturma/güncelleme/silme
api-keys:read API Key listesini görüntüleme
api-keys:write API Key oluşturma/iptal etme/silme
avatars:read Avatar bilgilerini okuma
avatars:write Özel avatar oluşturma/güncelleme/silme
interviews:read Görüşme bilgilerini okuma
interviews:write Görüşme oluşturma/yönetme
providers:read AI Provider listesini görüntüleme
usage:read Kullanım istatistiklerini görüntüleme

Avatarlar

Görüşmelerde kullanabileceğiniz AI avatarlar

GET /api/avatars
Response
{
  "avatars": [
    {
      "id": "avatar_ayse_01",
      "name": "Ayşe",
      "gender": "female",
      "language": "tr",
      "style": "professional"
    }
  ]
}

AI Providerları

LLM, TTS ve STT servisleri ve varsayılan değerler

GET /api/providers

Varsayılan Değerler: Görüşme oluştururken aiConfig içinde belirtilmeyen parametreler otomatik olarak varsayılan değerlerle doldurulur. Avatar'ın varsayılan sesi varsa TTS voice olarak o kullanılır.

Response
{
  "tts": {
    "providers": [...],
    "defaults": {
      "provider": "openai",
      "model": "tts-1",
      "voice": "nova"
    }
  },
  "stt": {
    "providers": [...],
    "defaults": {
      "provider": "deepgram",
      "model": "nova-3",
      "language": "tr"
    }
  },
  "llm": {
    "providers": [...],
    "defaults": {
      "provider": "openai",
      "model": "gpt-4o",
      "temperature": 0.4
    }
  }
}

aiConfig Parametreleri

Parametre Varsayılan Açıklama
llm.provider openai LLM provider (openai, anthropic)
llm.model gpt-4o Kullanılacak LLM modeli
llm.temperature 0.4 Model sıcaklık değeri (0-1)
tts.provider openai TTS provider (openai, elevenlabs)
tts.model tts-1 TTS model (tts-1, tts-1-hd)
tts.voice nova (veya avatar varsayılanı) Kullanılacak ses (nova, alloy, echo, fable, onyx, shimmer)
stt.provider deepgram STT provider (deepgram, openai)
stt.model nova-3 STT modeli
stt.language tr Tanınacak dil (tr, en, de, fr, vb.)

Webhooks

Gerçek zamanlı event bildirimleri

interview.started

Aday görüşmeye başladığında

interview.completed

Görüşme tamamlandığında

interview.analyzed

AI analizi hazır olduğunda

interview.expired

Link süresi dolduğunda

Hata Kodları

Standart HTTP durum kodları

Kod Durum Açıklama
200OKBaşarılı istek
201CreatedKaynak oluşturuldu
400Bad RequestGeçersiz parametreler
401UnauthorizedGeçersiz API anahtarı
404Not FoundKaynak bulunamadı
429Too Many RequestsRate limit aşıldı

Görüşme Durumları

pending
in_progress
processing
completed

API Playground

API'yi interaktif olarak test edin, örnek istekler gönderin

🔐 API Key güvenli ⚡ Gerçek zamanlı 📋 Örnek şablonlar