Kampagnen-Endpunkte
Die Kampagnen-API bietet Endpunkte für die Verwaltung von Zugriffsüberprüfungskampagnen, einschließlich Erstellung, Lebenszyklusverwaltung und Genehmigungsworkflows.
Basis-URL
Alle Endpunkte sind relativ zu /api/v1/campaigns.
Kampagnen auflisten
Eine paginierte Liste von Kampagnen abrufen.
GET /api/v1/campaignsAbfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
status | string | Nach Status filtern (draft, active, completed) |
type | string | Nach Kampagnentyp filtern |
limit | number | Anzahl der zurückzugebenden Elemente |
after | string | Cursor für Paginierung |
Antwort
{
"campaigns": [
{
"id": "camp-123",
"name": "Q1 Zugriffsüberprüfung",
"status": "active",
"type": "periodic",
"start_date": "2024-01-01T00:00:00Z",
"end_date": "2024-01-31T23:59:59Z",
"created_at": "2023-12-15T10:30:00Z"
}
],
"pageInfo": {
"hasNextPage": true,
"endCursor": "cursor-token"
}
}Kampagne abrufen
Details für eine bestimmte Kampagne abrufen.
GET /api/v1/campaigns/{id}Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Antwort
Gibt das vollständige Kampagnenobjekt mit Konfiguration und Status zurück.
Kampagne erstellen
Eine neue Zugriffsüberprüfungskampagne erstellen.
POST /api/v1/campaigns::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Request-Body
{
"name": "Q2 Zugriffsüberprüfung",
"description": "Vierteljährliche Zugriffszertifizierung",
"type": "periodic",
"start_date": "2024-04-01T00:00:00Z",
"end_date": "2024-04-30T23:59:59Z",
"scope": {
"applications": ["app-123", "app-456"],
"account_types": ["user", "service"]
}
}Antwort
Gibt das erstellte Kampagnenobjekt zurück.
Kampagne aktualisieren
Eine bestehende Kampagne aktualisieren.
PUT /api/v1/campaigns/{id}::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Request-Body
Nur die zu aktualisierenden Felder einbeziehen.
Antwort
Gibt das aktualisierte Kampagnenobjekt zurück.
Kampagne löschen
Eine Kampagne löschen.
DELETE /api/v1/campaigns/{id}::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Antwort
Gibt bei Erfolg 204 No Content zurück.
Kampagne aus Vorlage erstellen
Eine neue Kampagne basierend auf einer bestehenden Vorlage erstellen.
POST /api/v1/campaigns/from-template/{templateId}::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
templateId | string | Vorlagenkampagnen-ID |
Request-Body
{
"name": "Neue Kampagne aus Vorlage",
"start_date": "2024-04-01T00:00:00Z",
"end_date": "2024-04-30T23:59:59Z"
}Antwort
Gibt das erstellte Kampagnenobjekt zurück.
Kampagne starten
Eine Entwurfskampagne starten, um den Überprüfungsprozess zu beginnen.
POST /api/v1/campaigns/{id}/start::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Antwort
{
"status": "queued",
"message": "Kampagnenstart eingeleitet"
}Kampagne abschließen
Eine Kampagne als abgeschlossen markieren.
POST /api/v1/campaigns/{id}/complete::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Antwort
Gibt das abgeschlossene Kampagnenobjekt zurück.
Kampagnengenehmigungen abrufen
Genehmigungselemente für eine Kampagne abrufen.
GET /api/v1/campaigns/{id}/approvalsPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Abfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
status | string | Nach Status filtern (pending, approved, rejected) |
Antwort
{
"approvals": [
{
"account_id": "acc-123",
"account_name": "john.doe",
"status": "pending",
"reviewer": "manager@company.com"
}
]
}Genehmigungsanzahlen abrufen
Genehmigungsanzahlen gruppiert nach Status abrufen.
GET /api/v1/campaigns/{id}/approvals/countsPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Antwort
{
"pending": 50,
"approved": 120,
"rejected": 15,
"flagged": 5
}Konto genehmigen/ablehnen
Eine Genehmigungsentscheidung für ein Konto einreichen.
POST /api/v1/campaigns/{id}/approvals/{accountId}Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
accountId | string | Konto-ID |
Request-Body
{
"decision": "approved",
"comment": "Zugriff überprüft und angemessen"
}Antwort
Gibt das aktualisierte Genehmigungsobjekt zurück.
Massengenehmigung
Genehmigungsentscheidungen für mehrere Konten einreichen.
POST /api/v1/campaigns/{id}/approvals/batchPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Request-Body
{
"account_ids": ["acc-123", "acc-456"],
"decision": "approved",
"comment": "Massengenehmigung für Standardzugriff"
}Antwort
Gibt Liste der aktualisierten Genehmigungen zurück.
Genehmigung rückgängig machen
Eine Genehmigungsentscheidung innerhalb von 30 Sekunden nach der Entscheidung auf ausstehend zurücksetzen.
POST /api/v1/campaigns/{id}/approvals/{accountId}/undoPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
accountId | string | Konto-ID |
Antwort
Gibt die auf ausstehenden Status zurückgesetzte Genehmigung zurück.
Rückgängig-Fenster
Rückgängig ist nur innerhalb von 30 Sekunden nach der Entscheidung verfügbar. Nach diesem Fenster gibt der Endpunkt einen 409 Conflict-Fehler zurück.
Überprüfungselemente abrufen
Angereicherte Überprüfungselemente mit Risikodaten abrufen.
GET /api/v1/campaigns/{id}/review-itemsPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Abfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
status | string | Nach Genehmigungsstatus filtern |
risk | string | Nach Risikostufe filtern |
search | string | Nach Kontoname suchen |
sort | string | Sortierfeld |
limit | number | Anzahl der Elemente |
after | string | Cursor für Paginierung |
Antwort
Paginierte Liste der Überprüfungselemente mit Kontodetails und Risikobewertungen.
KI-Empfehlungen
KI-Empfehlung für Konto abrufen
Die gespeicherte KI-Empfehlung für ein bestimmtes Konto in einer Kampagne abrufen.
GET /api/v1/campaigns/{id}/approvals/{accountId}/ai-recommendationPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
accountId | string | Konto-ID |
Antwort
{
"decision": "approve",
"confidence": 85,
"reason": "Kontozugriff entspricht Rollenanforderungen und zeigt normale Nutzungsmuster",
"primary_factors": [
"Rollengerechter Zugriff",
"Kürzliche Aktivität im normalen Bereich",
"MFA aktiviert"
],
"risk_indicators": [],
"data_gaps": [
"Manager-Genehmigungshistorie nicht verfügbar"
],
"generated_at": "2024-01-15T10:30:00Z"
}Stapelgruppen abrufen
KI-generierte Stapelgruppen für effiziente Massenüberprüfung abrufen.
GET /api/v1/campaigns/{id}/batch-groupsPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
Antwort
{
"batch_groups": [
{
"id": "batch-123",
"name": "Standard-Entwickler - Engineering",
"description": "Standard-Entwicklerkonten mit typischen Zugriffsmustern",
"risk_level": "low",
"account_count": 45,
"ai_analysis": {
"title": "Standard-Engineering-Zugriff",
"traits": ["Entwicklerrolle", "Aktive MFA", "Kürzliche Aktivität"],
"summary": ["Alle Konten zeigen normale Nutzung", "Keine Richtlinienverstöße", "Konsistent mit Rolle"],
"recommendation": "approve",
"confidence": 92
},
"account_ids": ["acc-1", "acc-2", "..."]
}
]
}Stapelgruppe überprüfen
Eine Entscheidung auf alle Konten in einer Stapelgruppe anwenden.
POST /api/v1/campaigns/{id}/batch-groups/{batchId}/reviewPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
batchId | string | Stapelgruppen-ID |
Request-Body
{
"decision": "approved",
"comment": "Stapelgenehmigung für Standardzugriff"
}Antwort
Gibt Liste der aktualisierten Genehmigungen für alle Konten im Stapel zurück.
Risikobewertung
Risikobewertung für Konto abrufen
Detaillierte Risikobewertung einschließlich Risikofaktoren und Richtlinienprüfungen abrufen.
GET /api/v1/campaigns/{id}/approvals/{accountId}/risk-assessmentPfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
id | string | Kampagnen-ID |
accountId | string | Konto-ID |
Antwort
{
"score": 75,
"level": "high",
"triggered_factors": [
{
"name": "Privilegiertes Konto",
"description": "Konto hat administrative Berechtigungen",
"weight": 30,
"severity": "high"
},
{
"name": "Veraltetes Konto",
"description": "Keine Anmeldeaktivität seit 90+ Tagen",
"weight": 25,
"severity": "medium"
}
],
"passing_factors": [
{
"name": "MFA aktiviert",
"description": "Multi-Faktor-Authentifizierung ist konfiguriert",
"weight": 0,
"severity": "low"
}
]
}Richtlinienprüfungen für Konto abrufen
Richtlinienprüfergebnisse für ein Konto in einer Kampagne abrufen.
GET /api/v1/campaigns/{id}/approvals/{accountId}/policy-checksAntwort
{
"policy_checks": [
{
"policy_id": "pol-123",
"policy_name": "MFA für privilegierte Konten erforderlich",
"status": "PASS",
"message": "Konto hat MFA aktiviert"
},
{
"policy_id": "pol-456",
"policy_name": "Maximaler Inaktivitätszeitraum",
"status": "FAIL",
"message": "Konto inaktiv seit 120 Tagen, überschreitet 90-Tage-Limit"
}
]
}Regelauswertungs-Jobs
Kampagnenregel testen
Eine Kampagnenregel gegen aktuelle Daten testen, ohne eine Kampagne zu erstellen.
POST /api/v1/campaigns/rules/testRequest-Body
{
"rule_type": "account",
"condition": "account.privileged = true AND account.mfa_enabled = false"
}Antwort
{
"job_id": "job-123",
"status": "pending",
"job_type": "test"
}Regelauswertungs-Job-Status abrufen
Status und Ergebnisse eines Regelauswertungs-Jobs abrufen.
GET /api/v1/campaigns/rules/jobs/{jobId}Pfadparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
jobId | string | Auswertungs-Job-ID |
Antwort
{
"id": "job-123",
"job_type": "test",
"status": "completed",
"total_entities": 1500,
"processed_entities": 1500,
"percent_complete": 100,
"total_matches": 23,
"sample_matches": [
{
"account_id": "acc-1",
"account_name": "admin.user",
"matched": true
}
],
"is_valid": true,
"completed_at": "2024-01-15T10:35:00Z"
}Kampagnenregelauswertung
Kampagnenregeln für eine aktive Kampagne auswerten (wendet automatisierte Entscheidungen an).
POST /api/v1/campaigns/{id}/rules/evaluateLöst asynchrone Regelauswertung aus. Gibt Job-Informationen zur Fortschrittsverfolgung zurück.
Antwort
{
"job_id": "job-456",
"campaign_id": "camp-123",
"status": "pending",
"job_type": "campaign"
}Kampagnenregeln
Zugewiesene Regeln abrufen
GET /api/v1/campaigns/{id}/rulesRegeln Kampagne zuweisen
POST /api/v1/campaigns/{id}/rules::: note Nur Administrator Dieser Endpunkt erfordert die Administrator-Rolle. :::
Request-Body
{
"rule_ids": ["rule-123", "rule-456"]
}Regelstatus in Kampagne aktualisieren
PUT /api/v1/campaigns/{id}/rules/{ruleId}Request-Body
{
"enabled": true
}Kampagnenregeln auswerten
POST /api/v1/campaigns/{id}/rules/evaluateLöst asynchrone Regelauswertung aus. Gibt Job-Informationen zur Fortschrittsverfolgung zurück.
Kampagnenrichtlinien
Richtlinien für Kampagne abrufen
GET /api/v1/campaigns/{id}/policiesRichtlinie auf Kampagne anwenden
POST /api/v1/campaigns/{id}/policies/{policyId}Abfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
threshold | number | Richtlinienschwellenwert (optional) |
Richtlinie von Kampagne entfernen
DELETE /api/v1/campaigns/{id}/policies/{policyId}Fehlerantworten
| Statuscode | Beschreibung |
|---|---|
400 | Bad Request - Ungültige Parameter |
401 | Unauthorized - Authentifizierung erforderlich |
403 | Forbidden - Unzureichende Berechtigungen |
404 | Not Found - Kampagne existiert nicht |
409 | Conflict - Ungültiger Statusübergang |
500 | Internal Server Error |
Verwandte Themen
- Kampagnenregeln-API - Regelverwaltungsendpunkte
- Richtlinien-API - Richtlinienverwaltungsendpunkte
- API-Referenz - Vollständiger API-Index
