> ## Documentation Index
> Fetch the complete documentation index at: https://docs.steerai.autos/llms.txt
> Use this file to discover all available pages before exploring further.

# API-Authentifizierung

> Sichere Authentifizierung für Steer AI REST APIs

## Authentifizierungsübersicht

Steer AI verwendet API-Key-basierte Authentifizierung mit Bearer-Tokens. Alle API-Anfragen müssen einen gültigen API-Key im Authorization-Header enthalten.

## API-Keys erhalten

### Entwicklungs-Keys

1. Kostenloses Konto unter [dashboard.steerai.autos](https://dashboard.steerai.autos) erstellen
2. Zu **Settings** → **API Keys** navigieren
3. **Generate Development Key** anklicken
4. Key kopieren und sicher speichern

### Produktiv-Keys

1. Auf einen bezahlten Plan upgraden
2. Zu **Settings** → **API Keys** navigieren
3. **Generate Production Key** anklicken
4. Key kopieren und sicher speichern

## Authentifizierungsmethoden

### Bearer-Token (empfohlen)

```bash theme={null}
curl -X GET "https://api.steerai.autos/v1/inspections" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

### Query-Parameter (nicht empfohlen)

```bash theme={null}
curl -X GET "https://api.steerai.autos/v1/inspections?api_key=YOUR_API_KEY"
```

<Warning>
  **Sicherheitswarnung:** Authentifizierung per Query-Parameter legt Ihren API-Key in Server-Logs und im Browser-Verlauf offen. Verwenden Sie in Produktion den Header.
</Warning>

## SDK-Authentifizierung

### Python

```python theme={null}
from steer_ai import SteerAI
import os

# Umgebungsvariable verwenden (empfohlen)
client = SteerAI(api_key=os.getenv("STEER_AI_API_KEY"))

# Direkte Zuweisung (nicht empfohlen für Produktion)
client = SteerAI(api_key="your_api_key_here")
```

### JavaScript/Node.js

```javascript theme={null}
import { SteerAI } from '@steerai/sdk';

// Umgebungsvariable verwenden
const client = new SteerAI({
  apiKey: process.env.STEER_AI_API_KEY
});

// Konfigurationsobjekt verwenden
const client = new SteerAI({
  apiKey: 'your_api_key_here',
  environment: 'production' // oder 'sandbox'
});
```

## Umgebungs-Konfiguration

### Umgebungsvariablen

```bash theme={null}
# .env file
STEER_AI_API_KEY=your_api_key_here
STEER_AI_BASE_URL=https://api.steerai.autos/v1
STEER_AI_ENVIRONMENT=production
```

### Mehrere Umgebungen

```bash theme={null}
# Entwicklung
STEER_AI_DEV_API_KEY=dev_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
STEER_AI_DEV_BASE_URL=https://api-sandbox.steerai.autos/v1

# Produktion
STEER_AI_PROD_API_KEY=prod_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
STEER_AI_PROD_BASE_URL=https://api.steerai.autos/v1
```

## Authentifizierung testen

### Schnelltest-Endpoint

```bash theme={null}
curl -X GET "https://api.steerai.autos/v1/auth/test" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Erfolgreiche Antwort:**

```json theme={null}
{
  "status": "success",
  "data": {
    "authenticated": true,
    "account_id": "acc_1234567890",
    "plan": "professional",
    "permissions": ["inspections:read", "inspections:write"]
  }
}
```

### Kontoinformationen

```bash theme={null}
curl -X GET "https://api.steerai.autos/v1/account" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Sicherheits-Best-Practices

<AccordionGroup>
  <Accordion icon="key" title="API-Key-Management">
    • Keys in Umgebungsvariablen speichern, nie im Code
    • Unterschiedliche Keys für Entwicklung und Produktion nutzen
    • Keys alle 90 Tage rotieren
    • Kompromittierte Keys sofort widerrufen
    • Key-Prefixe für Umgebungen nutzen (dev\_, prod\_)
  </Accordion>

  <Accordion icon="shield" title="Netzwerksicherheit">
    • HTTPS für API-Requests verwenden
    • SSL-Zertifikate validieren
    • IP-Whitelisting nutzen, wenn möglich
    • VPN oder private Netzwerke für sensible Vorgänge nutzen
  </Accordion>

  <Accordion icon="eye" title="Zugriffskontrolle">
    • API-Key-Rechte auf das Minimum begrenzen
    • Separate Keys für unterschiedliche Anwendungen nutzen
    • API-Nutzung auf ungewöhnliche Muster überwachen
    • Logging und Alerting korrekt implementieren
  </Accordion>
</AccordionGroup>

## Fehlerantworten

### Ungültiger API-Key

```json theme={null}
{
  "status": "error",
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid or has been revoked",
    "type": "authentication_error"
  }
}
```

### Fehlender API-Key

```json theme={null}
{
  "status": "error",
  "error": {
    "code": "MISSING_API_KEY",
    "message": "API key is required for this endpoint",
    "type": "authentication_error"
  }
}
```

### Unzureichende Berechtigungen

```json theme={null}
{
  "status": "error",
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "Your API key does not have permission to access this resource",
    "type": "authorization_error"
  }
}
```

## Fehlerbehebung

### Häufige Probleme

<AccordionGroup>
  <Accordion icon="exclamation-triangle" title="401 Nicht autorisiert">
    **Ursachen:**
    • Ungültiger oder abgelaufener API-Key
    • Fehlender Authorization-Header
    • Falsches Header-Format

    **Lösungen:**
    • API-Key prüfen
    • Header-Format prüfen: `Authorization: Bearer YOUR_KEY`
    • API-Key bei Bedarf neu erstellen
  </Accordion>

  <Accordion icon="ban" title="403 Verboten">
    **Ursachen:**
    • API-Key hat nicht die erforderlichen Berechtigungen
    • Einschränkungen durch den Plan
    • Konto gesperrt

    **Lösungen:**
    • Berechtigungen prüfen
    • Plan bei Bedarf upgraden
    • Support kontaktieren
  </Accordion>

  <Accordion icon="clock" title="Verbindungsprobleme">
    **Ursachen:**
    • Netzwerkprobleme
    • Firewall blockiert Requests
    • SSL-Zertifikatsprobleme

    **Lösungen:**
    • Netzwerkverbindung testen
    • Firewall-Einstellungen prüfen
    • SSL-Zertifikatsprüfung verifizieren
  </Accordion>
</AccordionGroup>

## Ratenbegrenzung

Authentifizierte Requests unterliegen je nach Plan Ratenbegrenzungen:

| Plan         | Anfragen/Stunde | Parallel    |
| ------------ | --------------- | ----------- |
| Free         | 1.000           | 5           |
| Starter      | 10.000          | 20          |
| Professional | 100.000         | 100         |
| Enterprise   | Unbegrenzt      | Individuell |

## Brauchen Sie Hilfe?

Wenn Sie Probleme mit der Authentifizierung haben:

* Lesen Sie unseren [Fehlerbehebungsleitfaden](/de/support/troubleshooting)
* Kontaktieren Sie den Support unter [support@steerai.autos](mailto:support@steerai.autos)
* Geben Sie Ihre Konto-ID an (teilen Sie niemals Ihren API-Key)

<Note>
  **Sicherheitshinweis:** Teilen Sie Ihre API-Keys niemals in Support-Anfragen, Code-Repositories oder öffentlichen Foren. Unser Support-Team wird niemals nach Ihren API-Keys fragen.
</Note>
