API Dokumentation

Integriere SHIVA AI in deine eigenen Anwendungen mit unserer REST API.

Übersicht

Die SHIVA AI API ermöglicht dir, KI-gestützte Konversationen in deine Anwendungen zu integrieren. Die API basiert auf REST und verwendet JSON für Anfragen und Antworten.

Base URL https://shiva-ai-api.slither-mutiplayer.workers.dev/api

Authentifizierung

Für geschützte Endpoints wird ein Bearer Token benötigt, den du nach der Anmeldung erhältst.

Login

POST /auth/login
Request
{
  "email": "user@example.com",
  "password": "your-password"
}
Response
{
  "success": true,
  "token": "eyJhbGciOiJIUzI1...",
  "user": {
    "id": 1,
    "email": "user@example.com",
    "tier": "free"
  }
}

Registrierung

POST /auth/register
Request
{
  "email": "user@example.com",
  "password": "min-8-characters"
}

Chat Endpoint (Streaming)

Für Echtzeit-Streaming von AI-Antworten.

POST /chat
Request
{
  "messages": [
    { "role": "user", "content": "Hallo, wie geht es dir?" }
  ],
  "model": "default"
}

Tipp: Verwende "model": "pro" für Llama 70B (nur Pro-Tarif)

Die Antwort wird als Server-Sent Events (SSE) gestreamt:

Response (SSE)
data: {"response": "Hallo"}
data: {"response": "! Mir"}
data: {"response": " geht es"}
data: {"response": " gut."}
data: [DONE]

Simple Chat (Nicht-Streaming)

Für einfache Anfragen ohne Streaming.

POST /chat/simple
Request
{
  "message": "Was ist die Hauptstadt der Schweiz?",
  "chatId": 123
}

chatId ist optional - wenn angegeben, wird die Nachricht in der Chat-Historie gespeichert

Response
{
  "response": "Die Hauptstadt der Schweiz ist Bern...",
  "model": "mistral-7b"
}

Chat Historie

Verwalte gespeicherte Chats. Alle Endpoints erfordern Authentifizierung.

Chats auflisten

GET /chat/list

Chat erstellen

POST /chat/create

Chat laden

GET /chat/:id

Chat löschen

DELETE /chat/:id

Nachricht speichern

POST /chat/:id/message
Request
{
  "role": "user",
  "content": "Die Nachricht..."
}

role kann "user" oder "assistant" sein

Fehlerbehandlung

Die API verwendet Standard HTTP Status Codes:

Code Bedeutung
200Erfolg
201Erstellt
400Ungültige Anfrage
401Nicht authentifiziert
404Nicht gefunden
429Rate Limit erreicht
500Server Fehler
Error Response
{
  "error": "Beschreibung des Fehlers"
}

Rate Limits

Plan Limit
Free50 Nachrichten/Tag
ProUnbegrenzt
EnterpriseUnbegrenzt + Priorität

Bereit loszulegen?

Erstelle einen Account und hole dir deinen API-Schlüssel.

Kostenlos registrieren