Skip to content

Endpoint-Referenz

Diese Seite bietet detaillierte Dokumentation für die am häufigsten verwendeten API-Endpoint-Gruppen in TCM365. Für eine vollständige interaktive Referenz siehe die Swagger UI unter /api/docs.


Authentifizierung

POST /api/v1/auth/login

Authentifizierung mit E-Mail und Passwort um ein JWT Token zu erhalten.

Request:

{
  "email": "admin@tcm.local",
  "password": "Admin123!TCM"
}

Response (200):

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "email": "admin@tcm.local",
    "name": "Admin",
    "role": "SUPER_ADMIN"
  }
}

POST /api/v1/auth/refresh

Bestehendes JWT Token vor Ablauf erneuern.

POST /api/v1/auth/change-password

Passwort des authentifizierten Benutzers ändern.

GET /api/v1/auth/profile

Profilinformationen des authentifizierten Benutzers abrufen.


Tenants

Multi-Vendor Tenant-Verbindungen verwalten. TCM365 unterstützt Microsoft 365, Zscaler und Atlassian Cloud Tenants via VendorAdapter Pattern.

GET /api/v1/tenants

Alle Tenants auflisten, die der Organisation des authentifizierten Benutzers zugänglich sind.

POST /api/v1/tenants

Neue Vendor Tenant-Verbindung registrieren.

Request (Microsoft 365):

{
  "name": "Contoso M365",
  "vendor": "microsoft",
  "tenantId": "ihre-azure-tenant-id",
  "domain": "contoso.onmicrosoft.com",
  "clientId": "app-registration-client-id",
  "clientSecret": "app-registration-client-secret"
}

Request (Zscaler):

{
  "name": "Contoso Zscaler",
  "vendor": "zscaler",
  "ziaCloud": "zscaler.net",
  "ziaApiKey": "ihr-zia-api-key",
  "ziaAdminUsername": "admin@contoso.com",
  "ziaAdminPassword": "verschluesseltes-passwort"
}

Request (Atlassian Cloud):

{
  "name": "Contoso Atlassian",
  "vendor": "atlassian",
  "siteUrl": "https://contoso.atlassian.net",
  "oauthClientId": "ihr-oauth-client-id",
  "oauthClientSecret": "ihr-oauth-client-secret"
}

POST /api/v1/tenants/:id/test-connection

Konnektivität zur Vendor API testen.


Snapshots

Konfigurations-Snapshots erstellen, auflisten, vergleichen und verwalten.

GET /api/v1/snapshots

Alle Snapshots im aktuellen Tenant-Kontext auflisten.

Query-Parameter:

Parameter Typ Beschreibung
vendorTenantId string Nach Vendor Tenant filtern
status string Nach Status filtern (completed etc.)
page number Seitennummer
limit number Einträge pro Seite

POST /api/v1/snapshots

Neuen Konfigurations-Snapshot erstellen.

{
  "vendorTenantId": "uuid-of-vendor-tenant",
  "name": "Pre-Change Snapshot 2026-03-05",
  "resourceTypes": [
    "microsoft.entra.conditionalAccess",
    "microsoft.entra.users",
    "microsoft.teams.meetingPolicy"
  ]
}

Capture Lock

Pro Tenant kann nur eine Snapshot-Erfassung gleichzeitig laufen. Gleichzeitige Anfragen erhalten eine 409 Conflict-Antwort. Die Sperre verwendet Redis SET NX mit In-Memory-Fallback.

POST /api/v1/snapshots/bulk-delete

Mehrere Snapshots in einer Operation löschen.

{
  "ids": ["snapshot-uuid-1", "snapshot-uuid-2", "snapshot-uuid-3"]
}

GET /api/v1/snapshots/:id1/compare/:id2

Zwei Snapshots vergleichen und Konfigurationsunterschiede zurueckgeben.


Baselines

GET /api/v1/baselines/templates

Die 43 integrierten Baseline-Templates auflisten (CIS, SCUBA, NIST, BSI, Maester, EIDSCA, Zscaler etc.).

POST /api/v1/baselines/:id/evaluate

Tenant-Konfiguration gegen eine Baseline evaluieren.

Response (200):

{
  "baselineId": "baseline-uuid",
  "complianceScore": 87.5,
  "totalRules": 40,
  "passed": 35,
  "failed": 4,
  "notApplicable": 1,
  "results": [
    {
      "ruleId": "CIS-1.1.1",
      "name": "MFA für alle Benutzer sicherstellen",
      "status": "passed",
      "severity": "high",
      "mitreAttackId": "T1078"
    }
  ]
}

Configuration Drift

GET /api/v1/configuration-drift

Erkannte Drift-Records auflisten.

POST /api/v1/configuration-drift/monitors

Neuen Configuration Monitor erstellen.

{
  "name": "CA Policy Monitor",
  "vendorTenantId": "uuid-of-vendor-tenant",
  "baselineId": "baseline-uuid",
  "resourceTypes": ["microsoft.entra.conditionalAccess"],
  "schedule": "0 */6 * * *",
  "notificationChannels": ["email", "teams"]
}

Rollback

POST /api/v1/rollback/execute

Rollback-Operation ausführen um vorherigen Konfigurationszustand wiederherzustellen.

{
  "vendorTenantId": "uuid-of-vendor-tenant",
  "snapshotId": "target-snapshot-uuid",
  "resourceType": "microsoft.entra.conditionalAccess",
  "dryRun": false
}

Rollback-Berechtigungen

Rollback-Operationen erfordern snapshots:rollback Permission und mindestens TENANT_ADMIN Rolle. Ein Dry-Run-Modus ist für Pre-Flight-Validierung verfügbar.

GET /api/v1/rollback/capability-matrix

Rollback Capability Matrix abrufen, die zeigt welche Resource Types Rollback unterstützen.


Copilot Readiness

POST /api/v1/copilot-readiness/assess

Copilot Readiness Assessment gegen einen Vendor Tenant ausführen.

{
  "vendorTenantId": "uuid-of-m365-tenant"
}

CA What-If

POST /api/v1/ca-whatif/simulate

What-If Simulation gegen erfasste CA Policies ausführen.

{
  "snapshotId": "snapshot-uuid",
  "scenario": "external-user-mfa",
  "userContext": {
    "isExternal": true,
    "devicePlatform": "windows",
    "clientApp": "browser",
    "location": "untrusted"
  }
}

GET /api/v1/ca-whatif/scenarios

Die 10 Preset-Simulationsszenarien auflisten.


E-Mail-Sicherheit

POST /api/v1/email-security/check

SPF, DKIM und DMARC-Validierungspruefungen ausführen.

{
  "domain": "contoso.com"
}

Berichte

POST /api/v1/reports/generate

Bericht eines bestimmten Typs generieren.

{
  "type": "security-assessment",
  "vendorTenantId": "uuid-of-vendor-tenant",
  "snapshotId": "snapshot-uuid",
  "baselineId": "baseline-uuid"
}

Berichtstypen:

Typ Beschreibung
drift Konfigurationsdrift-Bericht
compliance Compliance-Evaluierungsbericht
tenant-overview Tenant-Konfigurationsuebersicht
dashboard Dashboard-Zusammenfassungsbericht
security-assessment Maester-Style Security Assessment mit MITRE-Mapping
zero_trust Zero Trust Maturity Assessment
configuration Detaillierte Konfigurationsdokumentation

Setup Wizard

GET /api/v1/setup/status

Aktuellen Setup-Status des Systems prüfen.

POST /api/v1/setup/m365/prerequisites

M365-Voraussetzungen prüfen (Permissions, UTCM Service Principal, Workload-Probing).

POST /api/v1/setup/zscaler/test-connection

Zscaler ZIA/ZPA-Konnektivität während Setup testen.

POST /api/v1/setup/atlassian/authorize

Atlassian OAuth 2LO-Autorisierung starten (v2.5.0).

GET /api/v1/setup/atlassian/callback

OAuth-Callback von Atlassian verarbeiten und Tokens speichern (v2.5.0).


Admin

GET /api/v1/admin/audit-logs

Unveränderliche Audit-Log-Einträge mit Filterung abrufen.

Query-Parameter:

Parameter Typ Beschreibung
action string Nach Aktionstyp filtern
userId string Nach Benutzer-ID filtern
from string Startdatum (ISO 8601)
to string Enddatum (ISO 8601)
page number Seitennummer
limit number Einträge pro Seite

Health Check

GET /health

Oeffentlicher Endpoint (keine Authentifizierung erforderlich) für Load Balancer und Monitoring Probes.

{
  "status": "ok",
  "database": {
    "connected": true,
    "latency": 2
  },
  "uptime": 86400
}