Felo API PlatformFelo API Platform

Erste Schritte

Authentifizierung

Authentifizieren Sie Anfragen mit API-Schlüsseln, beachten Sie Sicherheitspraktiken und behandeln Sie Authentifizierungsfehler.

Alle Anfragen an die APIs der Felo API Platform erfordern eine Authentifizierung mit einem API-Schlüssel. Diese Anleitung erklärt, wie Sie Ihre Anfragen authentifizieren und häufige Authentifizierungsprobleme behandeln.

Authentifizierung mit API-Schlüssel

Felo verwendet für alle v2-Endpoints die Authentifizierung per API-Schlüssel. Ihr API-Schlüssel identifiziert Ihre Anwendung und gewährt Zugriff auf die Funktionen der Plattform.

So funktioniert es

  1. Sie rufen einen API-Schlüssel auf der Seite „API-Schlüssel“ der Felo API Platform ab.
  2. Sie fügen den API-Schlüssel in den Authorization-Header jeder API-Anfrage ein.
  3. Die Plattform validiert Ihren API-Schlüssel und verarbeitet Ihre Anfrage.

Header-Format

Fügen Sie Ihren API-Schlüssel mit dem Bearer-Authentifizierungsschema in den Authorization-Header ein:

Authorization: Bearer YOUR_API_KEY

Beispielanfrage

curl -X POST https://openapi.felo.ai/v2/chat \
  -H "Authorization: Bearer sk_live_abc123xyz789" \
  -H "Content-Type: application/json" \
  -d '{"query": "What is machine learning?"}'

API-Schlüssel abrufen

So erhalten Sie Ihren API-Schlüssel:

  1. Öffnen Sie die Seite „API-Schlüssel“ der Felo API Platform.
  2. Melden Sie sich bei Aufforderung mit Ihrem Felo-Konto an.
  3. Geben Sie einen Schlüsselnamen ein und klicken Sie auf Create Key.
  4. Kopieren Sie den vollständigen Schlüssel, sobald er angezeigt wird. Er wird nur einmal angezeigt.
  5. Bewahren Sie den Schlüssel sicher auf und verwenden Sie ihn als FELO_API_KEY.

Bewährte Sicherheitsverfahren

1. API-Schlüssel sicher speichern

Tun Sie nicht Folgendes: API-Schlüssel im Quellcode fest kodieren:

# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"

Tun Sie stattdessen Folgendes: Umgebungsvariablen oder eine sichere Konfiguration verwenden:

# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')

2. Umgebungsvariablen verwenden

Speichern Sie Ihren API-Schlüssel in Umgebungsvariablen:

Linux/macOS:

export FELO_API_KEY="sk_live_abc123xyz789"

Windows (Eingabeaufforderung):

set FELO_API_KEY=sk_live_abc123xyz789

Windows (PowerShell):

$env:FELO_API_KEY="sk_live_abc123xyz789"

3. Schlüssel regelmäßig rotieren

Erzeugen Sie regelmäßig neue API-Schlüssel und widerrufen Sie alte, um Sicherheitsrisiken zu minimieren.

4. Unterschiedliche Schlüssel für unterschiedliche Umgebungen verwenden

Erstellen Sie separate API-Schlüssel für Entwicklungs-, Staging- und Produktionsumgebungen.

5. Schlüssel niemals in clientseitigem Code preisgeben

API-Schlüssel sollten ausschließlich in serverseitigem Code verwendet werden. Fügen Sie sie niemals in folgende Bereiche ein:

  • Frontend-JavaScript-Code
  • Quellcode mobiler Apps
  • Öffentliche Repositories
  • Clientseitige Konfigurationsdateien

Authentifizierungsfehler

Das vollständige Fehlerformat, die Rate-Limit-Header und die Wiederholungsrichtlinie finden Sie unter Fehler, Limits und Wiederholungen.

Häufige Fehlercodes

HTTPCodeBedeutung
401UNAUTHORIZEDSchlüssel fehlt, ist ungültig, abgelaufen oder widerrufen
429RATE_LIMITEDZu viele Anfragen; siehe Anleitung Fehler, Limits und Wiederholungen

Eine abgelehnte Anfrage gibt den Schlüsselstatus in message zurück:

{
  "status": 401,
  "code": "UNAUTHORIZED",
  "message": "API Key is required",
  "request_id": "..."
}

status ist der HTTP-Statuscode. Ein widerrufener Schlüssel meldet API Key has been revoked (keyPrefix=...). Werten Sie den HTTP-Status und code aus, nicht den genauen Wortlaut von message.

Fehlerbehebung

Wenn die Authentifizierung fehlschlägt:

  1. Prüfen Sie, ob der Header genau Authorization: Bearer YOUR_API_KEY lautet.
  2. Bestätigen Sie auf der Seite „API-Schlüssel“, dass der Schlüssel nicht widerrufen wurde.
  3. Bestätigen Sie, dass die Umgebung den erwarteten Schlüssel verwendet.
  4. Erzeugen Sie einen neuen Schlüssel, wenn der alte gelöscht oder rotiert wurde. Ein vollständiger Schlüssel wird nur einmal angezeigt, und zwar bei der Erstellung.

Eine symptomorientierte Checkliste für die Authentifizierung und den Rest der Plattform finden Sie unter Fehlerbehebung.

Beispiel: Authentifizierung debuggen

import requests

url = "https://openapi.felo.ai/v2/chat"
api_key = "YOUR_API_KEY"

# Correct format
headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers, json={"query": "test"})

if response.status_code == 401:
    error = response.json()
    print(f"Authentication failed: {error['code']}")
    print(f"Message: {error['message']}")
    print(f"Request ID: {error['request_id']}")
else:
    print("Authentication successful!")

Rate-Limits

Rate-Limits gelten pro Endpoint, nicht global pro API-Schlüssel. Derzeit erzwingt nur `/v2/chat` diese Limits; Benutzer mit einem wirksamen bezahlten Felo-Abonnement sind ausgenommen. Für andere /v2/**-Endpoints gelten keine erzwungenen Rate-Limits.

Eine 429-Antwort enthält X-RateLimit-*-Header und Retry-After. Lesen Sie die wirksamen Limits immer aus den Antwort-Headern, nicht aus der Dokumentation.

Die vollständigen Rate-Limit-Dimensionen, Header und die Wiederholungsrichtlinie finden Sie unter Fehler, Limits und Wiederholungen.

Sie brauchen Hilfe?

Wenn bei der Authentifizierung Probleme auftreten:

  1. Lesen Sie diese Anleitung sorgfältig.
  2. Prüfen Sie die Anleitung Erste Schritte.
  3. Verifizieren Sie Ihren API-Schlüssel auf der Seite „API-Schlüssel“.
  4. Kontaktieren Sie den Support unter [email protected] und geben Sie Ihre Request-ID an.

Nächste Schritte