> ## 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.

# Authentifizierung & API-Keys

> Sichere Authentifizierung für Steer AI APIs und Services

## Übersicht

Steer AI nutzt API-Key-basierte Authentifizierung, um den Zugriff zu sichern. Alle API-Anfragen müssen einen gültigen API-Key in den Request-Headern enthalten.

## API-Keys erhalten

### 1. Zugriff auf Ihr Dashboard

1. Melden Sie sich im [Steer AI Dashboard](https://dashboard.steerai.autos) an
2. Navigieren Sie zu **Settings** → **API Keys**
3. Klicken Sie auf **Generate New API Key**

### 2. API-Key-Typen

<CardGroup cols={2}>
  <Card title="Development-Keys" icon="code">
    • Für Tests und Entwicklung
    • Begrenzte Rate Limits
    • Zugriff auf Sandbox-Umgebung
    • Kostenloser Plan verfügbar
  </Card>

  <Card title="Production-Keys" icon="shield-check">
    • Für Live-Anwendungen
    • Volle Rate Limits
    • Zugriff auf Produktionsumgebung
    • Erfordert bezahlten Plan
  </Card>
</CardGroup>

## Authentifizierungsmethoden

### Authentifizierung per HTTP-Header

Fügen Sie Ihren API-Key in den `Authorization`-Header ein:

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

### Authentifizierung per Query-Parameter

Alternativ können Sie den API-Key als Query-Parameter übergeben:

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

<Warning>
  **Sicherheitshinweis:** Header-Authentifizierung wird empfohlen, damit API-Keys nicht in Server-Logs erscheinen.
</Warning>

## Umgebungs-Konfiguration

### Entwicklungsumgebung

```bash theme={null}
# .env file
STEER_AI_API_KEY=dev_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
STEER_AI_BASE_URL=https://api-sandbox.steerai.autos/v1
```

### Produktionsumgebung

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

## SDK-Authentifizierung

### Python SDK

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

# Initialize client
client = SteerAI(api_key="YOUR_API_KEY")

# Or using environment variable
import os
client = SteerAI(api_key=os.getenv("STEER_AI_API_KEY"))
```

### JavaScript SDK

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

// Initialize client
const client = new SteerAI({
  apiKey: 'YOUR_API_KEY'
});

// Or using environment variable
const client = new SteerAI({
  apiKey: process.env.STEER_AI_API_KEY
});
```

## Authentifizierung testen

### Schnelltest

Verwenden Sie diesen Endpoint, um die Authentifizierung zu prüfen:

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

**Erwartete Antwort:**

```json theme={null}
{
  "status": "success",
  "message": "Authentication successful",
  "account": {
    "id": "acc_1234567890",
    "name": "Your Company Name",
    "plan": "professional"
  }
}
```

## Sicherheits-Best-Practices

<AccordionGroup>
  <Accordion icon="lock" title="API-Key-Management">
    • API-Keys in Umgebungsvariablen speichern, nie im Code
    • Getrennte Keys für Entwicklung und Produktion
    • Keys regelmäßig rotieren (empfohlen: alle 90 Tage)
    • Kompromittierte Keys sofort widerrufen
  </Accordion>

  <Accordion icon="shield" title="Netzwerksicherheit">
    • HTTPS für API-Requests verwenden
    • SSL-Zertifikate korrekt validieren
    • IP-Whitelisting nutzen, wenn möglich
    • API-Nutzung auf ungewöhnliche Muster prüfen
  </Accordion>

  <Accordion icon="eye" title="Zugriffskontrolle">
    • Berechtigungen auf das notwendige Minimum beschränken
    • Separate Keys für unterschiedliche Services
    • Fehlerbehandlung korrekt implementieren
    • Authentifizierungsfehler protokollieren
  </Accordion>
</AccordionGroup>

## Rate Limiting

API-Keys haben je nach Plan unterschiedliche Limits:

| Plan             | Anfragen/Stunde | Gleichzeitige Anfragen |
| ---------------- | --------------- | ---------------------- |
| **Free**         | 1,000           | 5                      |
| **Starter**      | 10,000          | 20                     |
| **Professional** | 100,000         | 100                    |
| **Enterprise**   | Unbegrenzt      | Individuell            |

## Fehlerbehandlung

### Häufige Authentifizierungsfehler

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

```json theme={null}
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again in 60 seconds",
    "type": "rate_limit_error",
    "retry_after": 60
  }
}
```

### Umgang mit Authentifizierungsfehlern

```python theme={null}
try:
    response = client.inspections.create(data)
except SteerAIAuthenticationError as e:
    # Handle authentication error
    print(f"Authentication failed: {e.message}")
except SteerAIRateLimitError as e:
    # Handle rate limit
    print(f"Rate limit exceeded. Retry after {e.retry_after} seconds")
```

## Fehlerbehebung

### API-Key funktioniert nicht

1. **Key-Format prüfen:** Sollte mit `dev_` oder `prod_` beginnen
2. **Umgebung prüfen:** Stellen Sie die korrekte Base-URL sicher
3. **Planstatus prüfen:** Konto muss aktiv sein
4. **Mit curl testen:** Test-Endpoint oben verwenden

### Zugriff verweigert

1. **Berechtigungen prüfen:** Key benötigt die richtigen Scopes
2. **Planlimits prüfen:** Nutzungsgrenzen nicht überschritten
3. **IP-Restriktionen prüfen:** IP-Whitelisting konfigurieren

<Note>
  Brauchen Sie Hilfe bei der Authentifizierung? Kontaktieren Sie unser Support-Team unter [support@steerai.autos](mailto:support@steerai.autos) mit Ihrer Account-ID (geben Sie niemals Ihre API-Keys weiter).
</Note>
