Authentifizierung

Erfahren Sie, wie Sie Ihre API-Anfragen mit API-Schlüsseln authentifizieren.

Überblick #

Die FireCustos API verwendet API-Schlüssel-Authentifizierung. Jede Anfrage muss einen gültigen API-Schlüssel im Authorization-Header enthalten.

API-Schlüssel erstellen #

API-Schlüssel werden im FireCustos Admin-Panel erstellt:

  1. Melden Sie sich bei FireCustos als Admin oder Kommandant an
  2. Gehen Sie zu Einstellungen → API-Schlüssel
  3. Klicken Sie auf "API-Schlüssel erstellen" und geben Sie einen beschreibenden Namen ein
  4. Kopieren Sie den Schlüssel sofort — er wird nur einmal angezeigt
Important

API keys are prefixed with fc_ and are 68 characters long. The full key is displayed only once at creation — store it securely immediately.

API-Schlüssel verwenden #

Fügen Sie den API-Schlüssel im Authorization-Header als Bearer-Token ein:

bash
curl -X GET https://app.firecustos.com/api/v1/firefighters \
  -H "Authorization: Bearer fc_your_api_key_here"

Sicherheit #

API-Schlüssel sind sensible Anmeldedaten. Befolgen Sie diese Best Practices:

  • Teilen Sie API-Schlüssel niemals in öffentlichen Repositories oder clientseitigem Code
  • Verwenden Sie Umgebungsvariablen zum Speichern von Schlüsseln
  • Rotieren Sie Schlüssel regelmäßig — widerrufen Sie alte und erstellen Sie neue
  • Jeder Schlüssel wird vor der Speicherung SHA-256 gehasht — FireCustos speichert niemals Ihren Klartext-Schlüssel
  • Setzen Sie wenn möglich Ablaufdaten für Schlüssel

Authentifizierungsfehler #

Wenn die Authentifizierung fehlschlägt, gibt die API eine 401 Unauthorized-Antwort zurück:

Kein API-Schlüssel angegeben

json
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Missing or invalid Authorization header."
}

API-Schlüssel ist ungültig

json
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Invalid API key."
}

API-Schlüssel wurde widerrufen

json
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "API key has been revoked."
}

API-Schlüssel ist abgelaufen

json
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "API key has expired."
}