PalveronPalveronDocs

Policies

CRUD, Lebenszyklus und KI-assistierte Generierung für Governance-Policies.

Die Policies-API ist das programmatische Pendant zum Dashboard-Policy-Editor. Sie eignet sich, um Policies aus Infrastructure-as-Code auszurollen, Policies in Bulk aus Regulierungen zu generieren oder Policies zwischen Projekten zu synchronisieren.

GET /api/v1/policies

Policies mit optionalen Filtern auflisten.

GET /api/v1/policies?status=ACTIVE&severity=HIGH
QueryDefaultBeschreibung
statusz. B. DRAFT, ACTIVE, DEPRECATED
severityNach Policy-Severity filtern
actionNach Enforcement-Action filtern
sourceNach Policy-Quelle filtern (z. B. CUSTOM, SYSTEM, CATALOG)
envUmgebungs-Scope

Jede zurückgegebene Policy trägt enforcementType, detectionModeOverride (nullable) und das berechnete effectiveDetectionMode.

POST /api/v1/policies

Neue Policy anlegen.

{
  "name": "Finanz-PII blockieren",
  "prompt": "Blockiere jeden Prompt mit Kreditkartennummern, IBANs oder SSNs.",
  "action": "BLOCK",
  "detection_mode_override": null,
  "scope": "all_agents",
  "status": "DRAFT"
}
FeldErforderlichBeschreibung
namePolicy-Name (nicht leer)
promptDie Neural Instruction — was die Policy erkennt/durchsetzt (nicht leer)
descriptionMenschenlesbare Beschreibung
actionEnforcement-Action
severitySeverity-Label
statusInitialer Status (Default DRAFT-artig; Aktivierung über Lifecycle)
sourceDefault CUSTOM (zählt gegen das Manual-Guardrail-Limit)
scopeScope-Selektor
regulatory_refRegulierungs-Referenz
environmentUmgebungs-Scope
attestation_levelAttestierungs-Level
detection_mode_override"exact" / "semantic" / null (Auto-Klassifikation)

Fehlendes name oder prompt liefert 400 („Name and prompt are required"). Enthält der Body stattdessen ein Top-Level-Array policies, läuft der Legacy-Bulk-Sync-Pfad.

PATCH /api/v1/policies/{id}

Felder einer bestehenden Policy aktualisieren. detection_mode_override (Alias detectionModeOverride) akzeptiert "exact", "semantic" oder den Leerstring "" zum Zurücksetzen auf Auto-Klassifikation; ein weggelassenes Feld bleibt unberührt.

Lifecycle

EndpointWirkung
POST /policies/{id}/activateDRAFT → ACTIVE
POST /policies/{id}/deprecateACTIVE → DEPRECATED
DELETE /policies/{id}Policy löschen

Deprecated Policies bleiben in Traces und Audit-Logs abfragbar, werden aber nicht mehr gegen neue Anfragen ausgewertet.

POST /api/v1/policies/generate

Eine oder mehrere DRAFT-Policies aus einem Regulierungsdokument generieren (z. B. EU-KI-Verordnung, DSGVO, HIPAA, eine interne AUP). Gesendet wird der Dokument-Text, kein Slug:

{
  "text": "…vollständiger oder auszugsweiser Regulierungstext…",
  "source_name": "EU AI Act Art. 5-6",
  "language": "de",
  "max_policies": 5
}
FeldErforderlichBeschreibung
textDer Regulierungstext (Plain Text oder aus PDF extrahiert)
source_nameName des Quelldokuments
languageZielsprache der generierten Policies (Default: wie Input)
max_policiesObergrenze der generierten Policies

Liefert generierte Policies im Status DRAFT. Jede einzelne im Dashboard prüfen, bevor sie aktiviert wird — der Generator ist high-recall, nicht high-precision.

POST /api/v1/ai/assist

Derselbe Endpoint, der den NL Policy Builder des Dashboards und den Agent-Wizard antreibt. Liefert zu einer natürlichsprachlichen Beschreibung einen strukturierten Vorschlag.

{
  "context": "policy_builder",
  "input": "Blockiere Kreditkartennummern und IBANs in Kundensupport-Prompts.",
  "language": "de"
}
FeldErforderlichBeschreibung
contextWelches Feature aufruft: agent_onboarding, policy_builder, compliance_advisor, trace_explain
inputDie natürlichsprachliche Eingabe
document_textExtrahierter Text aus einem hochgeladenen Dokument (PDF/DOCX/TXT)
languageZielsprache der Antwort (Default en)

Response:

{
  "suggestion": { "…Struktur hängt vom context ab…": "…" },
  "model": "…",
  "processing_time_ms": 850,
  "remaining_today": 24
}

suggestion ist context-abhängig geformt (bei policy_builder enthält es die vorgeschlagenen Policy-Felder). remaining_today ist das verbleibende AI-Assist-Tageskontingent des Projekts.

Fehler

Fehler liefern einen einfachen {"error": "<Meldung>"}-Body (lokalisiert). Wichtige Fälle:

StatusBedeutung
400Fehlendes name oder prompt beim Anlegen
409Manual-Guardrail-Limit des Tiers erreicht (limit_exceeded) — Upgrade oder bestehende Custom-Policy entfernen

On this page