API-Dokumentation

Vollständige REST API-Referenz mit curl-Beispielen

REST API v1
Zugriff auf alle Ressourcen über HTTP
Base URL: /api/v1
Authentifizierung
Session-basiert mit httpOnly Cookies
Nach Login automatisch gesetzt
Tenant-Isolation
Automatische Datentrennung pro Tenant
Keine zusätzlichen Header erforderlich
Authentifizierung
Login, Logout und Session-Management
POST/api/v1/auth/login

Benutzer anmelden

Request Body:

{
  "email": "user@example.com",
  "password": "passwort123"
}

Response:

{
  "message": "Login erfolgreich",
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "firstName": "Max",
    "lastName": "Mustermann",
    "role": "admin"
  }
}

curl-Beispiel:

curl -X POST "https://your-domain.com/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "user@example.com",
  "password": "passwort123"
}'
POST/api/v1/auth/register

Neuen Benutzer registrieren

Request Body:

{
  "email": "neu@example.com",
  "password": "sicheres-passwort",
  "firstName": "Max",
  "lastName": "Mustermann"
}

Response:

{
  "message": "Registrierung erfolgreich",
  "user": {
    "id": "uuid",
    "email": "neu@example.com"
  }
}

curl-Beispiel:

curl -X POST "https://your-domain.com/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "neu@example.com",
  "password": "sicheres-passwort",
  "firstName": "Max",
  "lastName": "Mustermann"
}'
GET/api/v1/auth/me

Aktuelle Session-Informationen abrufen

Response:

{
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "tenantId": "uuid",
    "role": "admin"
  }
}

curl-Beispiel:

curl -X GET "https://your-domain.com/api/v1/auth/me"
GET/api/v1/auth/permissions

Berechtigungen des aktuellen Benutzers

Response:

{
  "permissions": {
    "companies": {
      "canCreate": true,
      "canRead": true,
      "canUpdate": true,
      "canDelete": false
    },
    "leads": {
      "canCreate": true,
      "canRead": true,
      "canUpdate": true,
      "canDelete": true
    }
  }
}

curl-Beispiel:

curl -X GET "https://your-domain.com/api/v1/auth/permissions"
POST/api/v1/auth/logout

Benutzer abmelden

Response:

{
  "message": "Logout erfolgreich"
}

curl-Beispiel:

curl -X POST "https://your-domain.com/api/v1/auth/logout"