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