Files
breakpilot-compliance/backend-compliance/tests/contracts/openapi.baseline.json
Sharang Parnerkar 7806425ba6 test(backend): pin OpenAPI contract baseline (360 paths, 484 operations)
Adds tests/contracts/test_openapi_baseline.py which loads the live
FastAPI app and diffs its OpenAPI schema against a checked-in baseline.
Fails on:
  - Any removed path or operation
  - Any removed response status code on an existing operation
  - Any new required request body field (would break existing clients)

Passes silently on additive changes. The baseline is regenerated by
running tests/contracts/regenerate_baseline.py — only when a contract
change has been reviewed and every consumer (admin-compliance,
developer-portal, SDKs) has been updated in the same change set.

This is the safety harness for the Phase 1 backend-compliance refactor:
every subsequent refactor commit must keep this test green.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 13:10:11 +02:00

49378 lines
1.2 MiB

{
"components": {
"schemas": {
"AISystemCreate": {
"properties": {
"classification": {
"default": "unclassified",
"title": "Classification",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"title": "Name",
"type": "string"
},
"obligations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Obligations"
},
"purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Purpose"
},
"sector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sector"
},
"status": {
"default": "draft",
"title": "Status",
"type": "string"
}
},
"required": [
"name"
],
"title": "AISystemCreate",
"type": "object"
},
"AISystemListResponse": {
"properties": {
"systems": {
"items": {
"$ref": "#/components/schemas/AISystemResponse"
},
"title": "Systems",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"systems",
"total"
],
"title": "AISystemListResponse",
"type": "object"
},
"AISystemResponse": {
"properties": {
"assessment_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Assessment Date"
},
"assessment_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Assessment Result"
},
"classification": {
"default": "unclassified",
"title": "Classification",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"obligations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Obligations"
},
"purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Purpose"
},
"recommendations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Recommendations"
},
"risk_factors": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Risk Factors"
},
"sector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sector"
},
"status": {
"default": "draft",
"title": "Status",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"name",
"id",
"created_at",
"updated_at"
],
"title": "AISystemResponse",
"type": "object"
},
"AISystemUpdate": {
"properties": {
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Classification"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"obligations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Obligations"
},
"purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Purpose"
},
"sector": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sector"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
"title": "AISystemUpdate",
"type": "object"
},
"ActionRequest": {
"properties": {
"approver": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approver"
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"title": "ActionRequest",
"type": "object"
},
"ApprovalCommentRequest": {
"properties": {
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"scheduled_publish_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scheduled Publish At"
}
},
"title": "ApprovalCommentRequest",
"type": "object"
},
"ApprovalHistoryEntry": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"approver": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approver"
},
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"version_id": {
"title": "Version Id",
"type": "string"
}
},
"required": [
"id",
"version_id",
"action",
"approver",
"comment",
"created_at"
],
"title": "ApprovalHistoryEntry",
"type": "object"
},
"AssignRequest": {
"properties": {
"assignee_id": {
"title": "Assignee Id",
"type": "string"
}
},
"required": [
"assignee_id"
],
"title": "AssignRequest",
"type": "object"
},
"AuditChecklistItem": {
"description": "A single item in the audit checklist.",
"properties": {
"article": {
"title": "Article",
"type": "string"
},
"controls_mapped": {
"default": 0,
"title": "Controls Mapped",
"type": "integer"
},
"current_result": {
"default": "pending",
"title": "Current Result",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"evidence_count": {
"default": 0,
"title": "Evidence Count",
"type": "integer"
},
"implementation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Status"
},
"is_signed": {
"default": false,
"title": "Is Signed",
"type": "boolean"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"paragraph": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Paragraph"
},
"priority": {
"default": 2,
"title": "Priority",
"type": "integer"
},
"regulation_code": {
"title": "Regulation Code",
"type": "string"
},
"requirement_id": {
"title": "Requirement Id",
"type": "string"
},
"signed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Signed At"
},
"signed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signed By"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"requirement_id",
"regulation_code",
"article",
"title"
],
"title": "AuditChecklistItem",
"type": "object"
},
"AuditChecklistResponse": {
"description": "Response for audit checklist endpoint.",
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/AuditChecklistItem"
},
"title": "Items",
"type": "array"
},
"pagination": {
"$ref": "#/components/schemas/PaginationMeta"
},
"session": {
"$ref": "#/components/schemas/AuditSessionSummary"
},
"statistics": {
"$ref": "#/components/schemas/AuditStatistics"
}
},
"required": [
"session",
"items",
"pagination",
"statistics"
],
"title": "AuditChecklistResponse",
"type": "object"
},
"AuditEntryResponse": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"changed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Changed By"
},
"changed_fields": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Changed Fields"
},
"created_at": {
"title": "Created At",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
}
},
"required": [
"id",
"action",
"changed_fields",
"changed_by",
"created_at"
],
"title": "AuditEntryResponse",
"type": "object"
},
"AuditFindingCloseRequest": {
"description": "Request to close an Audit Finding.",
"properties": {
"closed_by": {
"title": "Closed By",
"type": "string"
},
"closure_notes": {
"title": "Closure Notes",
"type": "string"
},
"verification_evidence": {
"title": "Verification Evidence",
"type": "string"
},
"verification_method": {
"title": "Verification Method",
"type": "string"
}
},
"required": [
"closure_notes",
"closed_by",
"verification_method",
"verification_evidence"
],
"title": "AuditFindingCloseRequest",
"type": "object"
},
"AuditFindingCreate": {
"description": "Schema for creating Audit Finding.",
"properties": {
"affected_assets": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Assets"
},
"affected_processes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Processes"
},
"annex_a_control": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Annex A Control"
},
"audit_session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audit Session Id"
},
"auditor": {
"title": "Auditor",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"due_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"finding_type": {
"title": "Finding Type",
"type": "string"
},
"impact_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Impact Description"
},
"internal_audit_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Internal Audit Id"
},
"iso_chapter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Iso Chapter"
},
"objective_evidence": {
"title": "Objective Evidence",
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"finding_type",
"title",
"description",
"objective_evidence",
"auditor"
],
"title": "AuditFindingCreate",
"type": "object"
},
"AuditFindingListResponse": {
"description": "List response for Audit Findings.",
"properties": {
"findings": {
"items": {
"$ref": "#/components/schemas/AuditFindingResponse"
},
"title": "Findings",
"type": "array"
},
"major_count": {
"title": "Major Count",
"type": "integer"
},
"minor_count": {
"title": "Minor Count",
"type": "integer"
},
"ofi_count": {
"title": "Ofi Count",
"type": "integer"
},
"open_count": {
"title": "Open Count",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"findings",
"total",
"major_count",
"minor_count",
"ofi_count",
"open_count"
],
"title": "AuditFindingListResponse",
"type": "object"
},
"AuditFindingResponse": {
"description": "Response schema for Audit Finding.",
"properties": {
"affected_assets": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Assets"
},
"affected_processes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Processes"
},
"annex_a_control": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Annex A Control"
},
"audit_session_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audit Session Id"
},
"auditor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor"
},
"closed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Closed By"
},
"closed_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Closed Date"
},
"closure_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Closure Notes"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"due_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"finding_id": {
"title": "Finding Id",
"type": "string"
},
"finding_type": {
"title": "Finding Type",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"identified_date": {
"format": "date",
"title": "Identified Date",
"type": "string"
},
"impact_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Impact Description"
},
"internal_audit_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Internal Audit Id"
},
"is_blocking": {
"title": "Is Blocking",
"type": "boolean"
},
"iso_chapter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Iso Chapter"
},
"objective_evidence": {
"title": "Objective Evidence",
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"root_cause": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Root Cause"
},
"root_cause_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Root Cause Method"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"verification_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verification Method"
},
"verified_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified At"
},
"verified_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified By"
}
},
"required": [
"finding_type",
"title",
"description",
"objective_evidence",
"id",
"finding_id",
"status",
"identified_date",
"is_blocking",
"created_at",
"updated_at"
],
"title": "AuditFindingResponse",
"type": "object"
},
"AuditFindingUpdate": {
"description": "Schema for updating Audit Finding.",
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"root_cause": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Root Cause"
},
"root_cause_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Root Cause Method"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "AuditFindingUpdate",
"type": "object"
},
"AuditListResponse": {
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/AuditEntryResponse"
},
"title": "Entries",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"entries",
"total"
],
"title": "AuditListResponse",
"type": "object"
},
"AuditSessionDetailResponse": {
"description": "Detailed response including statistics breakdown.",
"properties": {
"auditor_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Email"
},
"auditor_name": {
"title": "Auditor Name",
"type": "string"
},
"auditor_organization": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Organization"
},
"completed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"completed_items": {
"title": "Completed Items",
"type": "integer"
},
"completion_percentage": {
"title": "Completion Percentage",
"type": "number"
},
"compliant_count": {
"default": 0,
"title": "Compliant Count",
"type": "integer"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"non_compliant_count": {
"default": 0,
"title": "Non Compliant Count",
"type": "integer"
},
"regulation_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulation Ids"
},
"started_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Started At"
},
"statistics": {
"anyOf": [
{
"$ref": "#/components/schemas/AuditStatistics"
},
{
"type": "null"
}
]
},
"status": {
"title": "Status",
"type": "string"
},
"total_items": {
"title": "Total Items",
"type": "integer"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"id",
"name",
"auditor_name",
"status",
"total_items",
"completed_items",
"completion_percentage",
"created_at",
"updated_at"
],
"title": "AuditSessionDetailResponse",
"type": "object"
},
"AuditSessionResponse": {
"description": "Full response for an audit session.",
"properties": {
"auditor_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Email"
},
"auditor_name": {
"title": "Auditor Name",
"type": "string"
},
"auditor_organization": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Organization"
},
"completed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"completed_items": {
"title": "Completed Items",
"type": "integer"
},
"completion_percentage": {
"title": "Completion Percentage",
"type": "number"
},
"compliant_count": {
"default": 0,
"title": "Compliant Count",
"type": "integer"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"non_compliant_count": {
"default": 0,
"title": "Non Compliant Count",
"type": "integer"
},
"regulation_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulation Ids"
},
"started_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Started At"
},
"status": {
"title": "Status",
"type": "string"
},
"total_items": {
"title": "Total Items",
"type": "integer"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"id",
"name",
"auditor_name",
"status",
"total_items",
"completed_items",
"completion_percentage",
"created_at",
"updated_at"
],
"title": "AuditSessionResponse",
"type": "object"
},
"AuditSessionSummary": {
"description": "Summary of an audit session for list views.",
"properties": {
"auditor_name": {
"title": "Auditor Name",
"type": "string"
},
"completed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"completed_items": {
"title": "Completed Items",
"type": "integer"
},
"completion_percentage": {
"title": "Completion Percentage",
"type": "number"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"started_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Started At"
},
"status": {
"title": "Status",
"type": "string"
},
"total_items": {
"title": "Total Items",
"type": "integer"
}
},
"required": [
"id",
"name",
"auditor_name",
"status",
"total_items",
"completed_items",
"completion_percentage",
"created_at"
],
"title": "AuditSessionSummary",
"type": "object"
},
"AuditStatistics": {
"description": "Statistics for an audit session.",
"properties": {
"completion_percentage": {
"title": "Completion Percentage",
"type": "number"
},
"compliant": {
"title": "Compliant",
"type": "integer"
},
"compliant_with_notes": {
"title": "Compliant With Notes",
"type": "integer"
},
"non_compliant": {
"title": "Non Compliant",
"type": "integer"
},
"not_applicable": {
"title": "Not Applicable",
"type": "integer"
},
"pending": {
"title": "Pending",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"total",
"compliant",
"compliant_with_notes",
"non_compliant",
"not_applicable",
"pending",
"completion_percentage"
],
"title": "AuditStatistics",
"type": "object"
},
"AuditTrailEntry": {
"description": "Single audit trail entry.",
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"change_summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Change Summary"
},
"entity_id": {
"title": "Entity Id",
"type": "string"
},
"entity_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Name"
},
"entity_type": {
"title": "Entity Type",
"type": "string"
},
"field_changed": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Field Changed"
},
"id": {
"title": "Id",
"type": "string"
},
"new_value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "New Value"
},
"old_value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Old Value"
},
"performed_at": {
"format": "date-time",
"title": "Performed At",
"type": "string"
},
"performed_by": {
"title": "Performed By",
"type": "string"
}
},
"required": [
"id",
"entity_type",
"entity_id",
"action",
"performed_by",
"performed_at"
],
"title": "AuditTrailEntry",
"type": "object"
},
"AuditTrailResponse": {
"description": "Response for Audit Trail query.",
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/AuditTrailEntry"
},
"title": "Entries",
"type": "array"
},
"pagination": {
"$ref": "#/components/schemas/PaginationMeta"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"entries",
"total",
"pagination"
],
"title": "AuditTrailResponse",
"type": "object"
},
"AuthorityNotificationRequest": {
"properties": {
"authority_name": {
"title": "Authority Name",
"type": "string"
},
"contact_person": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Contact Person"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"reference_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reference Number"
}
},
"required": [
"authority_name"
],
"title": "AuthorityNotificationRequest",
"type": "object"
},
"BSIAspectResponse": {
"description": "A single extracted BSI-TR Pruefaspekt (test aspect).",
"properties": {
"aspect_id": {
"title": "Aspect Id",
"type": "string"
},
"category": {
"title": "Category",
"type": "string"
},
"full_text": {
"title": "Full Text",
"type": "string"
},
"keywords": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Keywords"
},
"page_number": {
"title": "Page Number",
"type": "integer"
},
"related_aspects": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Aspects"
},
"requirement_level": {
"title": "Requirement Level",
"type": "string"
},
"section": {
"title": "Section",
"type": "string"
},
"source_document": {
"title": "Source Document",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"aspect_id",
"title",
"full_text",
"category",
"page_number",
"section",
"requirement_level",
"source_document"
],
"title": "BSIAspectResponse",
"type": "object"
},
"Body_analyze_document_api_v1_import_analyze_post": {
"properties": {
"document_type": {
"default": "OTHER",
"title": "Document Type",
"type": "string"
},
"file": {
"format": "binary",
"title": "File",
"type": "string"
},
"tenant_id": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
"required": [
"file"
],
"title": "Body_analyze_document_api_v1_import_analyze_post",
"type": "object"
},
"Body_scan_dependencies_api_v1_screening_scan_post": {
"properties": {
"file": {
"format": "binary",
"title": "File",
"type": "string"
},
"tenant_id": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
"required": [
"file"
],
"title": "Body_scan_dependencies_api_v1_screening_scan_post",
"type": "object"
},
"Body_upload_evidence_api_compliance_evidence_upload_post": {
"properties": {
"file": {
"format": "binary",
"title": "File",
"type": "string"
}
},
"required": [
"file"
],
"title": "Body_upload_evidence_api_compliance_evidence_upload_post",
"type": "object"
},
"Body_upload_word_api_compliance_legal_documents_versions_upload_word_post": {
"properties": {
"file": {
"format": "binary",
"title": "File",
"type": "string"
}
},
"required": [
"file"
],
"title": "Body_upload_word_api_compliance_legal_documents_versions_upload_word_post",
"type": "object"
},
"Body_upload_word_document_api_consent_admin_versions_upload_word_post": {
"properties": {
"file": {
"format": "binary",
"title": "File",
"type": "string"
}
},
"required": [
"file"
],
"title": "Body_upload_word_document_api_consent_admin_versions_upload_word_post",
"type": "object"
},
"CAPAVerifyRequest": {
"description": "Request to verify CAPA effectiveness.",
"properties": {
"effectiveness_notes": {
"title": "Effectiveness Notes",
"type": "string"
},
"is_effective": {
"title": "Is Effective",
"type": "boolean"
},
"verified_by": {
"title": "Verified By",
"type": "string"
}
},
"required": [
"verified_by",
"effectiveness_notes",
"is_effective"
],
"title": "CAPAVerifyRequest",
"type": "object"
},
"CatalogUpsert": {
"properties": {
"custom_data_points": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Custom Data Points",
"type": "array"
},
"selected_data_point_ids": {
"default": [],
"items": {
"type": "string"
},
"title": "Selected Data Point Ids",
"type": "array"
}
},
"title": "CatalogUpsert",
"type": "object"
},
"CategoryConfigCreate": {
"properties": {
"category_key": {
"title": "Category Key",
"type": "string"
},
"description_de": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description De"
},
"description_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description En"
},
"is_required": {
"default": false,
"title": "Is Required",
"type": "boolean"
},
"name_de": {
"title": "Name De",
"type": "string"
},
"name_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name En"
},
"sort_order": {
"default": 0,
"title": "Sort Order",
"type": "integer"
}
},
"required": [
"category_key",
"name_de"
],
"title": "CategoryConfigCreate",
"type": "object"
},
"ChangeRequestCreate": {
"properties": {
"priority": {
"default": "normal",
"title": "Priority",
"type": "string"
},
"proposal_body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Proposal Body"
},
"proposal_title": {
"title": "Proposal Title",
"type": "string"
},
"proposed_changes": {
"additionalProperties": true,
"default": {},
"title": "Proposed Changes",
"type": "object"
},
"target_document_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Document Id"
},
"target_document_type": {
"title": "Target Document Type",
"type": "string"
},
"target_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Section"
},
"trigger_source_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trigger Source Id"
},
"trigger_type": {
"default": "manual",
"title": "Trigger Type",
"type": "string"
}
},
"required": [
"target_document_type",
"proposal_title"
],
"title": "ChangeRequestCreate",
"type": "object"
},
"ChangeRequestEdit": {
"properties": {
"proposal_body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Proposal Body"
},
"proposed_changes": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Proposed Changes"
}
},
"title": "ChangeRequestEdit",
"type": "object"
},
"ChangeRequestReject": {
"properties": {
"rejection_reason": {
"title": "Rejection Reason",
"type": "string"
}
},
"required": [
"rejection_reason"
],
"title": "ChangeRequestReject",
"type": "object"
},
"ChecklistCreate": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_required": {
"default": true,
"title": "Is Required",
"type": "boolean"
},
"order_index": {
"default": 0,
"title": "Order Index",
"type": "integer"
},
"scenario_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scenario Id"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "ChecklistCreate",
"type": "object"
},
"ChecklistUpdate": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Required"
},
"order_index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Order Index"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "ChecklistUpdate",
"type": "object"
},
"CloseIncidentRequest": {
"properties": {
"lessons_learned": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lessons Learned"
},
"root_cause": {
"title": "Root Cause",
"type": "string"
}
},
"required": [
"root_cause"
],
"title": "CloseIncidentRequest",
"type": "object"
},
"CompanyProfileRequest": {
"properties": {
"ai_systems": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Ai Systems",
"type": "array"
},
"ai_use_cases": {
"default": [],
"items": {
"type": "string"
},
"title": "Ai Use Cases",
"type": "array"
},
"annual_revenue": {
"default": "< 2 Mio",
"title": "Annual Revenue",
"type": "string"
},
"business_model": {
"default": "B2B",
"title": "Business Model",
"type": "string"
},
"company_name": {
"default": "",
"title": "Company Name",
"type": "string"
},
"company_size": {
"default": "small",
"title": "Company Size",
"type": "string"
},
"document_sources": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Document Sources",
"type": "array"
},
"dpo_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Email"
},
"dpo_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Name"
},
"employee_count": {
"default": "1-9",
"title": "Employee Count",
"type": "string"
},
"founded_year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Founded Year"
},
"has_international_locations": {
"default": false,
"title": "Has International Locations",
"type": "boolean"
},
"headquarters_city": {
"default": "",
"title": "Headquarters City",
"type": "string"
},
"headquarters_country": {
"default": "DE",
"title": "Headquarters Country",
"type": "string"
},
"headquarters_country_other": {
"default": "",
"title": "Headquarters Country Other",
"type": "string"
},
"headquarters_state": {
"default": "",
"title": "Headquarters State",
"type": "string"
},
"headquarters_street": {
"default": "",
"title": "Headquarters Street",
"type": "string"
},
"headquarters_zip": {
"default": "",
"title": "Headquarters Zip",
"type": "string"
},
"industry": {
"default": "",
"title": "Industry",
"type": "string"
},
"international_countries": {
"default": [],
"items": {
"type": "string"
},
"title": "International Countries",
"type": "array"
},
"is_complete": {
"default": false,
"title": "Is Complete",
"type": "boolean"
},
"is_data_controller": {
"default": true,
"title": "Is Data Controller",
"type": "boolean"
},
"is_data_processor": {
"default": false,
"title": "Is Data Processor",
"type": "boolean"
},
"legal_contact_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Contact Email"
},
"legal_contact_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Contact Name"
},
"legal_form": {
"default": "GmbH",
"title": "Legal Form",
"type": "string"
},
"machine_builder": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Machine Builder"
},
"offering_urls": {
"additionalProperties": true,
"default": {},
"title": "Offering Urls",
"type": "object"
},
"offerings": {
"default": [],
"items": {
"type": "string"
},
"title": "Offerings",
"type": "array"
},
"primary_jurisdiction": {
"default": "DE",
"title": "Primary Jurisdiction",
"type": "string"
},
"processing_systems": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Processing Systems",
"type": "array"
},
"project_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
},
"repos": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Repos",
"type": "array"
},
"review_cycle_months": {
"default": 12,
"title": "Review Cycle Months",
"type": "integer"
},
"subject_to_ai_act": {
"default": false,
"title": "Subject To Ai Act",
"type": "boolean"
},
"subject_to_iso27001": {
"default": false,
"title": "Subject To Iso27001",
"type": "boolean"
},
"subject_to_nis2": {
"default": false,
"title": "Subject To Nis2",
"type": "boolean"
},
"supervisory_authority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Supervisory Authority"
},
"target_markets": {
"default": [
"DE"
],
"items": {
"type": "string"
},
"title": "Target Markets",
"type": "array"
},
"technical_contacts": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Technical Contacts",
"type": "array"
},
"uses_ai": {
"default": false,
"title": "Uses Ai",
"type": "boolean"
}
},
"title": "CompanyProfileRequest",
"type": "object"
},
"CompanyProfileResponse": {
"properties": {
"ai_systems": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Ai Systems",
"type": "array"
},
"ai_use_cases": {
"items": {
"type": "string"
},
"title": "Ai Use Cases",
"type": "array"
},
"annual_revenue": {
"title": "Annual Revenue",
"type": "string"
},
"business_model": {
"title": "Business Model",
"type": "string"
},
"company_name": {
"title": "Company Name",
"type": "string"
},
"company_size": {
"title": "Company Size",
"type": "string"
},
"completed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"title": "Created At",
"type": "string"
},
"document_sources": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Document Sources",
"type": "array"
},
"dpo_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Email"
},
"dpo_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Name"
},
"employee_count": {
"title": "Employee Count",
"type": "string"
},
"founded_year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Founded Year"
},
"has_international_locations": {
"title": "Has International Locations",
"type": "boolean"
},
"headquarters_city": {
"default": "",
"title": "Headquarters City",
"type": "string"
},
"headquarters_country": {
"title": "Headquarters Country",
"type": "string"
},
"headquarters_country_other": {
"default": "",
"title": "Headquarters Country Other",
"type": "string"
},
"headquarters_state": {
"default": "",
"title": "Headquarters State",
"type": "string"
},
"headquarters_street": {
"default": "",
"title": "Headquarters Street",
"type": "string"
},
"headquarters_zip": {
"default": "",
"title": "Headquarters Zip",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"industry": {
"title": "Industry",
"type": "string"
},
"international_countries": {
"items": {
"type": "string"
},
"title": "International Countries",
"type": "array"
},
"is_complete": {
"title": "Is Complete",
"type": "boolean"
},
"is_data_controller": {
"title": "Is Data Controller",
"type": "boolean"
},
"is_data_processor": {
"title": "Is Data Processor",
"type": "boolean"
},
"legal_contact_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Contact Email"
},
"legal_contact_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Contact Name"
},
"legal_form": {
"title": "Legal Form",
"type": "string"
},
"machine_builder": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Machine Builder"
},
"offering_urls": {
"additionalProperties": true,
"default": {},
"title": "Offering Urls",
"type": "object"
},
"offerings": {
"items": {
"type": "string"
},
"title": "Offerings",
"type": "array"
},
"primary_jurisdiction": {
"title": "Primary Jurisdiction",
"type": "string"
},
"processing_systems": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Processing Systems",
"type": "array"
},
"project_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
},
"repos": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Repos",
"type": "array"
},
"review_cycle_months": {
"default": 12,
"title": "Review Cycle Months",
"type": "integer"
},
"subject_to_ai_act": {
"default": false,
"title": "Subject To Ai Act",
"type": "boolean"
},
"subject_to_iso27001": {
"default": false,
"title": "Subject To Iso27001",
"type": "boolean"
},
"subject_to_nis2": {
"default": false,
"title": "Subject To Nis2",
"type": "boolean"
},
"supervisory_authority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Supervisory Authority"
},
"target_markets": {
"items": {
"type": "string"
},
"title": "Target Markets",
"type": "array"
},
"technical_contacts": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Technical Contacts",
"type": "array"
},
"tenant_id": {
"title": "Tenant Id",
"type": "string"
},
"updated_at": {
"title": "Updated At",
"type": "string"
},
"uses_ai": {
"title": "Uses Ai",
"type": "boolean"
}
},
"required": [
"id",
"tenant_id",
"company_name",
"legal_form",
"industry",
"founded_year",
"business_model",
"offerings",
"company_size",
"employee_count",
"annual_revenue",
"headquarters_country",
"has_international_locations",
"international_countries",
"target_markets",
"primary_jurisdiction",
"is_data_controller",
"is_data_processor",
"uses_ai",
"ai_use_cases",
"dpo_name",
"dpo_email",
"legal_contact_name",
"legal_contact_email",
"machine_builder",
"is_complete",
"completed_at",
"created_at",
"updated_at"
],
"title": "CompanyProfileResponse",
"type": "object"
},
"CompanyUpsert": {
"properties": {
"data": {
"additionalProperties": true,
"default": {},
"title": "Data",
"type": "object"
}
},
"title": "CompanyUpsert",
"type": "object"
},
"CompleteDSR": {
"properties": {
"result_data": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Result Data"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
}
},
"title": "CompleteDSR",
"type": "object"
},
"ComplianceScopeRequest": {
"description": "Scope selection submitted by the frontend wizard.",
"properties": {
"scope": {
"additionalProperties": true,
"title": "Scope",
"type": "object"
},
"tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
"required": [
"scope"
],
"title": "ComplianceScopeRequest",
"type": "object"
},
"ComplianceScopeResponse": {
"description": "Persisted scope object returned to the frontend.",
"properties": {
"created_at": {
"title": "Created At",
"type": "string"
},
"scope": {
"additionalProperties": true,
"title": "Scope",
"type": "object"
},
"tenant_id": {
"title": "Tenant Id",
"type": "string"
},
"updated_at": {
"title": "Updated At",
"type": "string"
}
},
"required": [
"tenant_id",
"scope",
"updated_at",
"created_at"
],
"title": "ComplianceScopeResponse",
"type": "object"
},
"ConsentRequest": {
"properties": {
"consented": {
"default": true,
"title": "Consented",
"type": "boolean"
},
"document_type": {
"title": "Document Type",
"type": "string"
},
"version_id": {
"title": "Version Id",
"type": "string"
}
},
"required": [
"document_type",
"version_id"
],
"title": "ConsentRequest",
"type": "object"
},
"ConsentTemplateCreate": {
"properties": {
"body": {
"title": "Body",
"type": "string"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"language": {
"default": "de",
"title": "Language",
"type": "string"
},
"subject": {
"title": "Subject",
"type": "string"
},
"template_key": {
"title": "Template Key",
"type": "string"
}
},
"required": [
"template_key",
"subject",
"body"
],
"title": "ConsentTemplateCreate",
"type": "object"
},
"ConsentTemplateUpdate": {
"properties": {
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Body"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subject"
}
},
"title": "ConsentTemplateUpdate",
"type": "object"
},
"ContactCreate": {
"properties": {
"available_24h": {
"default": false,
"title": "Available 24H",
"type": "boolean"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Email"
},
"is_primary": {
"default": false,
"title": "Is Primary",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phone"
},
"role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Role"
}
},
"required": [
"name"
],
"title": "ContactCreate",
"type": "object"
},
"ContactUpdate": {
"properties": {
"available_24h": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Available 24H"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Email"
},
"is_primary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Primary"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phone"
},
"role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Role"
}
},
"title": "ContactUpdate",
"type": "object"
},
"ContextIssue": {
"description": "Single context issue.",
"properties": {
"impact": {
"title": "Impact",
"type": "string"
},
"issue": {
"title": "Issue",
"type": "string"
},
"treatment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Treatment"
}
},
"required": [
"issue",
"impact"
],
"title": "ContextIssue",
"type": "object"
},
"ControlCreateRequest": {
"properties": {
"control_id": {
"title": "Control Id",
"type": "string"
},
"evidence": {
"default": [],
"items": {},
"title": "Evidence",
"type": "array"
},
"evidence_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Evidence Confidence"
},
"framework_id": {
"title": "Framework Id",
"type": "string"
},
"implementation_effort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Effort"
},
"objective": {
"title": "Objective",
"type": "string"
},
"open_anchors": {
"default": [],
"items": {},
"title": "Open Anchors",
"type": "array"
},
"rationale": {
"title": "Rationale",
"type": "string"
},
"release_state": {
"default": "draft",
"title": "Release State",
"type": "string"
},
"requirements": {
"default": [],
"items": {},
"title": "Requirements",
"type": "array"
},
"risk_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Risk Score"
},
"scope": {
"additionalProperties": true,
"default": {},
"title": "Scope",
"type": "object"
},
"severity": {
"default": "medium",
"title": "Severity",
"type": "string"
},
"tags": {
"default": [],
"items": {},
"title": "Tags",
"type": "array"
},
"test_procedure": {
"default": [],
"items": {},
"title": "Test Procedure",
"type": "array"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"framework_id",
"control_id",
"title",
"objective",
"rationale"
],
"title": "ControlCreateRequest",
"type": "object"
},
"ControlListResponse": {
"properties": {
"controls": {
"items": {
"$ref": "#/components/schemas/ControlResponse"
},
"title": "Controls",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"controls",
"total"
],
"title": "ControlListResponse",
"type": "object"
},
"ControlResponse": {
"properties": {
"automation_config": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Automation Config"
},
"automation_tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Automation Tool"
},
"code_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Code Reference"
},
"control_id": {
"title": "Control Id",
"type": "string"
},
"control_type": {
"title": "Control Type",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"documentation_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Documentation Url"
},
"domain": {
"title": "Domain",
"type": "string"
},
"evidence_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Evidence Count"
},
"id": {
"title": "Id",
"type": "string"
},
"implementation_guidance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Guidance"
},
"is_automated": {
"default": false,
"title": "Is Automated",
"type": "boolean"
},
"last_reviewed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Reviewed At"
},
"next_review_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review At"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"pass_criteria": {
"title": "Pass Criteria",
"type": "string"
},
"requirement_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Requirement Count"
},
"review_frequency_days": {
"default": 90,
"title": "Review Frequency Days",
"type": "integer"
},
"status": {
"title": "Status",
"type": "string"
},
"status_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status Notes"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"control_id",
"domain",
"control_type",
"title",
"pass_criteria",
"id",
"status",
"created_at",
"updated_at"
],
"title": "ControlResponse",
"type": "object"
},
"ControlReviewRequest": {
"properties": {
"status": {
"title": "Status",
"type": "string"
},
"status_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status Notes"
}
},
"required": [
"status"
],
"title": "ControlReviewRequest",
"type": "object"
},
"ControlUpdate": {
"properties": {
"automation_config": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Automation Config"
},
"automation_tool": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Automation Tool"
},
"code_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Code Reference"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"documentation_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Documentation Url"
},
"implementation_guidance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Guidance"
},
"is_automated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Automated"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"pass_criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pass Criteria"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"status_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status Notes"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "ControlUpdate",
"type": "object"
},
"ControlUpdateRequest": {
"properties": {
"evidence": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence"
},
"evidence_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Evidence Confidence"
},
"implementation_effort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Effort"
},
"objective": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Objective"
},
"open_anchors": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Open Anchors"
},
"rationale": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Rationale"
},
"release_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Release State"
},
"requirements": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Requirements"
},
"risk_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Risk Score"
},
"scope": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Scope"
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
},
"tags": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
},
"test_procedure": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Test Procedure"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "ControlUpdateRequest",
"type": "object"
},
"CookieCategoryCreate": {
"properties": {
"description_de": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description De"
},
"description_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description En"
},
"is_required": {
"default": false,
"title": "Is Required",
"type": "boolean"
},
"name_de": {
"title": "Name De",
"type": "string"
},
"name_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name En"
},
"sort_order": {
"default": 0,
"title": "Sort Order",
"type": "integer"
}
},
"required": [
"name_de"
],
"title": "CookieCategoryCreate",
"type": "object"
},
"CookieCategoryUpdate": {
"properties": {
"description_de": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description De"
},
"description_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description En"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"is_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Required"
},
"name_de": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name De"
},
"name_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name En"
},
"sort_order": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Sort Order"
}
},
"title": "CookieCategoryUpdate",
"type": "object"
},
"CookieConsentItem": {
"properties": {
"category_id": {
"title": "Category Id",
"type": "string"
},
"consented": {
"title": "Consented",
"type": "boolean"
}
},
"required": [
"category_id",
"consented"
],
"title": "CookieConsentItem",
"type": "object"
},
"CookieConsentRequest": {
"properties": {
"categories": {
"items": {
"$ref": "#/components/schemas/CookieConsentItem"
},
"title": "Categories",
"type": "array"
}
},
"required": [
"categories"
],
"title": "CookieConsentRequest",
"type": "object"
},
"CookiesUpsert": {
"properties": {
"categories": {
"default": [],
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Categories",
"type": "array"
},
"config": {
"additionalProperties": true,
"default": {},
"title": "Config",
"type": "object"
}
},
"title": "CookiesUpsert",
"type": "object"
},
"CorrectiveActionCreate": {
"description": "Schema for creating Corrective Action.",
"properties": {
"assigned_to": {
"title": "Assigned To",
"type": "string"
},
"capa_type": {
"title": "Capa Type",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"effectiveness_criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effectiveness Criteria"
},
"estimated_effort_hours": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Estimated Effort Hours"
},
"expected_outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Expected Outcome"
},
"finding_id": {
"title": "Finding Id",
"type": "string"
},
"planned_completion": {
"format": "date",
"title": "Planned Completion",
"type": "string"
},
"planned_start": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Planned Start"
},
"resources_required": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resources Required"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"capa_type",
"title",
"description",
"assigned_to",
"planned_completion",
"finding_id"
],
"title": "CorrectiveActionCreate",
"type": "object"
},
"CorrectiveActionListResponse": {
"description": "List response for Corrective Actions.",
"properties": {
"actions": {
"items": {
"$ref": "#/components/schemas/CorrectiveActionResponse"
},
"title": "Actions",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"actions",
"total"
],
"title": "CorrectiveActionListResponse",
"type": "object"
},
"CorrectiveActionResponse": {
"description": "Response schema for Corrective Action.",
"properties": {
"actual_completion": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Actual Completion"
},
"actual_effort_hours": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Actual Effort Hours"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"assigned_to": {
"title": "Assigned To",
"type": "string"
},
"capa_id": {
"title": "Capa Id",
"type": "string"
},
"capa_type": {
"title": "Capa Type",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"effectiveness_criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effectiveness Criteria"
},
"effectiveness_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effectiveness Notes"
},
"effectiveness_verification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Effectiveness Verification Date"
},
"effectiveness_verified": {
"title": "Effectiveness Verified",
"type": "boolean"
},
"estimated_effort_hours": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Estimated Effort Hours"
},
"evidence_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence Ids"
},
"expected_outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Expected Outcome"
},
"finding_id": {
"title": "Finding Id",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"implementation_evidence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Evidence"
},
"planned_completion": {
"format": "date",
"title": "Planned Completion",
"type": "string"
},
"planned_start": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Planned Start"
},
"progress_percentage": {
"title": "Progress Percentage",
"type": "integer"
},
"resources_required": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Resources Required"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"capa_type",
"title",
"description",
"assigned_to",
"planned_completion",
"id",
"capa_id",
"finding_id",
"status",
"progress_percentage",
"effectiveness_verified",
"created_at",
"updated_at"
],
"title": "CorrectiveActionResponse",
"type": "object"
},
"CorrectiveActionUpdate": {
"description": "Schema for updating Corrective Action.",
"properties": {
"assigned_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"implementation_evidence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Evidence"
},
"planned_completion": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Planned Completion"
},
"progress_percentage": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Progress Percentage"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "CorrectiveActionUpdate",
"type": "object"
},
"CreateAuditSessionRequest": {
"description": "Request to create a new audit session.",
"properties": {
"auditor_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Email"
},
"auditor_name": {
"maxLength": 100,
"minLength": 1,
"title": "Auditor Name",
"type": "string"
},
"auditor_organization": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Organization"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"maxLength": 200,
"minLength": 1,
"title": "Name",
"type": "string"
},
"regulation_codes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulation Codes"
}
},
"required": [
"name",
"auditor_name"
],
"title": "CreateAuditSessionRequest",
"type": "object"
},
"CreateCookieCategoryRequest": {
"properties": {
"description_de": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description De"
},
"description_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description En"
},
"display_name_de": {
"title": "Display Name De",
"type": "string"
},
"display_name_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Display Name En"
},
"is_mandatory": {
"default": false,
"title": "Is Mandatory",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"sort_order": {
"default": 0,
"title": "Sort Order",
"type": "integer"
}
},
"required": [
"name",
"display_name_de"
],
"title": "CreateCookieCategoryRequest",
"type": "object"
},
"CreateDocumentRequest": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_mandatory": {
"default": true,
"title": "Is Mandatory",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"type",
"name"
],
"title": "CreateDocumentRequest",
"type": "object"
},
"CreateProjectRequest": {
"properties": {
"copy_from_project_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Copy From Project Id"
},
"customer_type": {
"default": "new",
"title": "Customer Type",
"type": "string"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"name"
],
"title": "CreateProjectRequest",
"type": "object"
},
"CreateTemplateVersion": {
"properties": {
"body_html": {
"title": "Body Html",
"type": "string"
},
"body_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Body Text"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "de",
"title": "Language"
},
"subject": {
"title": "Subject",
"type": "string"
},
"version": {
"default": "1.0",
"title": "Version",
"type": "string"
}
},
"required": [
"subject",
"body_html"
],
"title": "CreateTemplateVersion",
"type": "object"
},
"CreateVersionRequest": {
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"document_id": {
"title": "Document Id",
"type": "string"
},
"language": {
"default": "de",
"title": "Language",
"type": "string"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"title": {
"title": "Title",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"document_id",
"version",
"title",
"content"
],
"title": "CreateVersionRequest",
"type": "object"
},
"DSFAApproveRequest": {
"description": "Body for POST /dsfa/{id}/approve.",
"properties": {
"approved": {
"title": "Approved",
"type": "boolean"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"comments": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comments"
}
},
"required": [
"approved"
],
"title": "DSFAApproveRequest",
"type": "object"
},
"DSFACreate": {
"properties": {
"affected_rights": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Rights"
},
"ai_trigger_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Ai Trigger Ids"
},
"ai_use_case_modules": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Ai Use Case Modules"
},
"alternatives_considered": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Alternatives Considered"
},
"art35_abs3_triggered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Art35 Abs3 Triggered"
},
"authority_consulted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Authority Consulted"
},
"authority_decision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authority Decision"
},
"authority_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authority Reference"
},
"authority_resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authority Resource Id"
},
"conclusion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Conclusion"
},
"consultation_requirement": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Consultation Requirement"
},
"created_by": {
"default": "system",
"title": "Created By",
"type": "string"
},
"data_categories": {
"default": [],
"items": {
"type": "string"
},
"title": "Data Categories",
"type": "array"
},
"data_minimization": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Minimization"
},
"data_subjects": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Subjects"
},
"description": {
"default": "",
"title": "Description",
"type": "string"
},
"dpo_approved": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Dpo Approved"
},
"dpo_consulted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Dpo Consulted"
},
"dpo_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Name"
},
"dpo_opinion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Opinion"
},
"federal_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Federal State"
},
"involves_ai": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Involves Ai"
},
"legal_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis"
},
"legal_basis_details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis Details"
},
"measures": {
"default": [],
"items": {
"type": "string"
},
"title": "Measures",
"type": "array"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata"
},
"mitigations": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mitigations"
},
"necessity_assessment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Necessity Assessment"
},
"overall_risk_level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Overall Risk Level"
},
"processing_activity": {
"default": "",
"title": "Processing Activity",
"type": "string"
},
"processing_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processing Description"
},
"processing_purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processing Purpose"
},
"proportionality_assessment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Proportionality Assessment"
},
"recipients": {
"default": [],
"items": {
"type": "string"
},
"title": "Recipients",
"type": "array"
},
"retention_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Justification"
},
"review_comments": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Review Comments"
},
"review_schedule": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Review Schedule"
},
"review_triggers": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Review Triggers"
},
"risk_level": {
"default": "low",
"title": "Risk Level",
"type": "string"
},
"risk_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Risk Score"
},
"risks": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Risks"
},
"section_8_complete": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Section 8 Complete"
},
"section_progress": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Section Progress"
},
"stakeholder_consultations": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Stakeholder Consultations"
},
"status": {
"default": "draft",
"title": "Status",
"type": "string"
},
"submitted_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Submitted By"
},
"threshold_analysis": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Threshold Analysis"
},
"title": {
"title": "Title",
"type": "string"
},
"tom_references": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tom References"
},
"triggered_rule_codes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Triggered Rule Codes"
},
"version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Version"
},
"wp248_criteria_met": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Wp248 Criteria Met"
}
},
"required": [
"title"
],
"title": "DSFACreate",
"type": "object"
},
"DSFASectionUpdate": {
"description": "Body for PUT /dsfa/{id}/sections/{section_number}.",
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content"
},
"extra": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Extra"
}
},
"title": "DSFASectionUpdate",
"type": "object"
},
"DSFAStatusUpdate": {
"properties": {
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"status"
],
"title": "DSFAStatusUpdate",
"type": "object"
},
"DSFAUpdate": {
"properties": {
"affected_rights": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Rights"
},
"ai_trigger_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Ai Trigger Ids"
},
"ai_use_case_modules": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Ai Use Case Modules"
},
"alternatives_considered": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Alternatives Considered"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"art35_abs3_triggered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Art35 Abs3 Triggered"
},
"authority_consulted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Authority Consulted"
},
"authority_decision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authority Decision"
},
"authority_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authority Reference"
},
"authority_resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authority Resource Id"
},
"conclusion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Conclusion"
},
"consultation_requirement": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Consultation Requirement"
},
"data_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Categories"
},
"data_minimization": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Minimization"
},
"data_subjects": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Subjects"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"dpo_approved": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Dpo Approved"
},
"dpo_consulted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Dpo Consulted"
},
"dpo_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Name"
},
"dpo_opinion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Opinion"
},
"federal_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Federal State"
},
"involves_ai": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Involves Ai"
},
"legal_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis"
},
"legal_basis_details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis Details"
},
"measures": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Measures"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata"
},
"mitigations": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mitigations"
},
"necessity_assessment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Necessity Assessment"
},
"overall_risk_level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Overall Risk Level"
},
"processing_activity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processing Activity"
},
"processing_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processing Description"
},
"processing_purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Processing Purpose"
},
"proportionality_assessment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Proportionality Assessment"
},
"recipients": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Recipients"
},
"retention_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Justification"
},
"review_comments": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Review Comments"
},
"review_schedule": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Review Schedule"
},
"review_triggers": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Review Triggers"
},
"risk_level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risk Level"
},
"risk_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Risk Score"
},
"risks": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Risks"
},
"section_8_complete": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Section 8 Complete"
},
"section_progress": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Section Progress"
},
"stakeholder_consultations": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Stakeholder Consultations"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"submitted_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Submitted By"
},
"threshold_analysis": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Threshold Analysis"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"tom_references": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tom References"
},
"triggered_rule_codes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Triggered Rule Codes"
},
"version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Version"
},
"wp248_criteria_met": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Wp248 Criteria Met"
}
},
"title": "DSFAUpdate",
"type": "object"
},
"DSRCreate": {
"properties": {
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "normal",
"title": "Priority"
},
"request_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Request Text"
},
"request_type": {
"default": "access",
"title": "Request Type",
"type": "string"
},
"requester_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requester Address"
},
"requester_customer_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requester Customer Id"
},
"requester_email": {
"title": "Requester Email",
"type": "string"
},
"requester_name": {
"title": "Requester Name",
"type": "string"
},
"requester_phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requester Phone"
},
"source": {
"default": "email",
"title": "Source",
"type": "string"
},
"source_details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Details"
}
},
"required": [
"requester_name",
"requester_email"
],
"title": "DSRCreate",
"type": "object"
},
"DSRUpdate": {
"properties": {
"affected_systems": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Systems"
},
"assigned_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
},
"erasure_checklist": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Erasure Checklist"
},
"internal_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Internal Notes"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"objection_details": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Objection Details"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
},
"rectification_details": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Rectification Details"
},
"request_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Request Text"
}
},
"title": "DSRUpdate",
"type": "object"
},
"DashboardResponse": {
"properties": {
"compliance_score": {
"title": "Compliance Score",
"type": "number"
},
"controls_by_domain": {
"additionalProperties": {
"additionalProperties": {
"type": "integer"
},
"type": "object"
},
"title": "Controls By Domain",
"type": "object"
},
"controls_by_status": {
"additionalProperties": {
"type": "integer"
},
"title": "Controls By Status",
"type": "object"
},
"evidence_by_status": {
"additionalProperties": {
"type": "integer"
},
"title": "Evidence By Status",
"type": "object"
},
"recent_activity": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Recent Activity",
"type": "array"
},
"risks_by_level": {
"additionalProperties": {
"type": "integer"
},
"title": "Risks By Level",
"type": "object"
},
"total_controls": {
"title": "Total Controls",
"type": "integer"
},
"total_evidence": {
"title": "Total Evidence",
"type": "integer"
},
"total_regulations": {
"title": "Total Regulations",
"type": "integer"
},
"total_requirements": {
"title": "Total Requirements",
"type": "integer"
},
"total_risks": {
"title": "Total Risks",
"type": "integer"
}
},
"required": [
"compliance_score",
"total_regulations",
"total_requirements",
"total_controls",
"controls_by_status",
"controls_by_domain",
"total_evidence",
"evidence_by_status",
"total_risks",
"risks_by_level",
"recent_activity"
],
"title": "DashboardResponse",
"type": "object"
},
"DataDeletionRequest": {
"properties": {
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
}
},
"title": "DataDeletionRequest",
"type": "object"
},
"DataSubjectNotificationRequest": {
"properties": {
"affected_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 0,
"title": "Affected Count"
},
"channel": {
"default": "email",
"title": "Channel",
"type": "string"
},
"notification_text": {
"title": "Notification Text",
"type": "string"
}
},
"required": [
"notification_text"
],
"title": "DataSubjectNotificationRequest",
"type": "object"
},
"DeadlineItem": {
"description": "An upcoming deadline for executive display.",
"properties": {
"days_remaining": {
"title": "Days Remaining",
"type": "integer"
},
"deadline": {
"title": "Deadline",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"id",
"title",
"deadline",
"days_remaining",
"type",
"status"
],
"title": "DeadlineItem",
"type": "object"
},
"DeletionRequest": {
"properties": {
"confirm": {
"default": false,
"title": "Confirm",
"type": "boolean"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
}
},
"title": "DeletionRequest",
"type": "object"
},
"DocumentAnalysisResponse": {
"properties": {
"confidence": {
"title": "Confidence",
"type": "number"
},
"detected_type": {
"title": "Detected Type",
"type": "string"
},
"document_id": {
"title": "Document Id",
"type": "string"
},
"extracted_entities": {
"items": {
"type": "string"
},
"title": "Extracted Entities",
"type": "array"
},
"filename": {
"title": "Filename",
"type": "string"
},
"gap_analysis": {
"additionalProperties": true,
"title": "Gap Analysis",
"type": "object"
},
"recommendations": {
"items": {
"type": "string"
},
"title": "Recommendations",
"type": "array"
}
},
"required": [
"document_id",
"filename",
"detected_type",
"confidence",
"extracted_entities",
"recommendations",
"gap_analysis"
],
"title": "DocumentAnalysisResponse",
"type": "object"
},
"DocumentCreate": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"mandatory": {
"default": false,
"title": "Mandatory",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"type",
"name"
],
"title": "DocumentCreate",
"type": "object"
},
"DocumentListResponse": {
"properties": {
"documents": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Documents",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"documents",
"total"
],
"title": "DocumentListResponse",
"type": "object"
},
"DocumentResponse": {
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"title": "Id",
"type": "string"
},
"mandatory": {
"title": "Mandatory",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
},
"type": {
"title": "Type",
"type": "string"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"required": [
"id",
"tenant_id",
"type",
"name",
"description",
"mandatory",
"created_at",
"updated_at"
],
"title": "DocumentResponse",
"type": "object"
},
"EscalationCreate": {
"properties": {
"assignee": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assignee"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"priority": {
"default": "medium",
"title": "Priority",
"type": "string"
},
"reporter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reporter"
},
"source_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Id"
},
"source_module": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Module"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "EscalationCreate",
"type": "object"
},
"EscalationStatusUpdate": {
"properties": {
"resolved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Resolved At"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"status"
],
"title": "EscalationStatusUpdate",
"type": "object"
},
"EscalationUpdate": {
"properties": {
"assignee": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assignee"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "EscalationUpdate",
"type": "object"
},
"EvidenceCreate": {
"properties": {
"artifact_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Artifact Url"
},
"ci_job_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ci Job Id"
},
"control_id": {
"title": "Control Id",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"evidence_type": {
"title": "Evidence Type",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"title": {
"title": "Title",
"type": "string"
},
"valid_from": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Valid From"
},
"valid_until": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Valid Until"
}
},
"required": [
"control_id",
"evidence_type",
"title"
],
"title": "EvidenceCreate",
"type": "object"
},
"EvidenceListResponse": {
"properties": {
"evidence": {
"items": {
"$ref": "#/components/schemas/EvidenceResponse"
},
"title": "Evidence",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"evidence",
"total"
],
"title": "EvidenceListResponse",
"type": "object"
},
"EvidenceResponse": {
"properties": {
"artifact_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Artifact Hash"
},
"artifact_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Artifact Path"
},
"artifact_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Artifact Url"
},
"ci_job_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ci Job Id"
},
"collected_at": {
"format": "date-time",
"title": "Collected At",
"type": "string"
},
"control_id": {
"title": "Control Id",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"evidence_type": {
"title": "Evidence Type",
"type": "string"
},
"file_size_bytes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "File Size Bytes"
},
"id": {
"title": "Id",
"type": "string"
},
"mime_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mime Type"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"uploaded_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uploaded By"
},
"valid_from": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Valid From"
},
"valid_until": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Valid Until"
}
},
"required": [
"control_id",
"evidence_type",
"title",
"id",
"status",
"collected_at",
"created_at"
],
"title": "EvidenceResponse",
"type": "object"
},
"ExecutiveDashboardResponse": {
"description": "Executive Dashboard Response\n\nProvides a high-level overview for managers and executives:\n- Traffic light status (green/yellow/red)\n- Overall compliance score\n- 12-month trend data\n- Top 5 risks\n- Upcoming deadlines\n- Team workload distribution",
"properties": {
"last_updated": {
"title": "Last Updated",
"type": "string"
},
"open_risks": {
"title": "Open Risks",
"type": "integer"
},
"overall_score": {
"title": "Overall Score",
"type": "number"
},
"previous_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Previous Score"
},
"score_change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Score Change"
},
"score_trend": {
"items": {
"$ref": "#/components/schemas/TrendDataPoint"
},
"title": "Score Trend",
"type": "array"
},
"team_workload": {
"items": {
"$ref": "#/components/schemas/TeamWorkloadItem"
},
"title": "Team Workload",
"type": "array"
},
"top_risks": {
"items": {
"$ref": "#/components/schemas/RiskSummary"
},
"title": "Top Risks",
"type": "array"
},
"total_controls": {
"title": "Total Controls",
"type": "integer"
},
"total_regulations": {
"title": "Total Regulations",
"type": "integer"
},
"total_requirements": {
"title": "Total Requirements",
"type": "integer"
},
"traffic_light_status": {
"title": "Traffic Light Status",
"type": "string"
},
"upcoming_deadlines": {
"items": {
"$ref": "#/components/schemas/DeadlineItem"
},
"title": "Upcoming Deadlines",
"type": "array"
}
},
"required": [
"traffic_light_status",
"overall_score",
"score_trend",
"total_regulations",
"total_requirements",
"total_controls",
"open_risks",
"top_risks",
"upcoming_deadlines",
"team_workload",
"last_updated"
],
"title": "ExecutiveDashboardResponse",
"type": "object"
},
"ExerciseCreate": {
"properties": {
"exercise_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Exercise Date"
},
"exercise_type": {
"default": "tabletop",
"title": "Exercise Type",
"type": "string"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Outcome"
},
"participants": {
"default": [],
"items": {},
"title": "Participants",
"type": "array"
},
"scenario_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scenario Id"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "ExerciseCreate",
"type": "object"
},
"ExportListResponse": {
"properties": {
"exports": {
"items": {
"$ref": "#/components/schemas/ExportResponse"
},
"title": "Exports",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"exports",
"total"
],
"title": "ExportListResponse",
"type": "object"
},
"ExportRequest": {
"properties": {
"date_range_end": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Date Range End"
},
"date_range_start": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Date Range Start"
},
"export_type": {
"default": "full",
"title": "Export Type",
"type": "string"
},
"included_domains": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Domains"
},
"included_regulations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Regulations"
}
},
"title": "ExportRequest",
"type": "object"
},
"ExportResponse": {
"properties": {
"completed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"compliance_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Compliance Score"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"export_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Export Name"
},
"export_type": {
"title": "Export Type",
"type": "string"
},
"file_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Hash"
},
"file_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Path"
},
"file_size_bytes": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "File Size Bytes"
},
"id": {
"title": "Id",
"type": "string"
},
"requested_at": {
"format": "date-time",
"title": "Requested At",
"type": "string"
},
"requested_by": {
"title": "Requested By",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"total_controls": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Controls"
},
"total_evidence": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Evidence"
}
},
"required": [
"id",
"export_type",
"status",
"requested_by",
"requested_at"
],
"title": "ExportResponse",
"type": "object"
},
"ExtendDeadline": {
"properties": {
"days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 60,
"title": "Days"
},
"reason": {
"title": "Reason",
"type": "string"
}
},
"required": [
"reason"
],
"title": "ExtendDeadline",
"type": "object"
},
"ExtractedRequirement": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"article": {
"title": "Article",
"type": "string"
},
"regulation_code": {
"title": "Regulation Code",
"type": "string"
},
"requirement_text": {
"title": "Requirement Text",
"type": "string"
},
"score": {
"title": "Score",
"type": "number"
},
"source_url": {
"title": "Source Url",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"regulation_code",
"article",
"title",
"requirement_text",
"source_url",
"score",
"action"
],
"title": "ExtractedRequirement",
"type": "object"
},
"ExtractionRequest": {
"properties": {
"collections": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Collections"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
},
"max_per_query": {
"default": 20,
"title": "Max Per Query",
"type": "integer"
},
"regulation_codes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulation Codes"
},
"search_queries": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Search Queries"
}
},
"title": "ExtractionRequest",
"type": "object"
},
"ExtractionResponse": {
"properties": {
"collections_searched": {
"items": {
"type": "string"
},
"title": "Collections Searched",
"type": "array"
},
"created": {
"title": "Created",
"type": "integer"
},
"dry_run": {
"title": "Dry Run",
"type": "boolean"
},
"failed": {
"title": "Failed",
"type": "integer"
},
"message": {
"title": "Message",
"type": "string"
},
"queries_used": {
"items": {
"type": "string"
},
"title": "Queries Used",
"type": "array"
},
"requirements": {
"items": {
"$ref": "#/components/schemas/ExtractedRequirement"
},
"title": "Requirements",
"type": "array"
},
"skipped_duplicates": {
"title": "Skipped Duplicates",
"type": "integer"
},
"skipped_no_article": {
"title": "Skipped No Article",
"type": "integer"
}
},
"required": [
"created",
"skipped_duplicates",
"skipped_no_article",
"failed",
"collections_searched",
"queries_used",
"requirements",
"dry_run",
"message"
],
"title": "ExtractionResponse",
"type": "object"
},
"GDPRProcessUpdate": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"legal_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis"
},
"retention_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Retention Days"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "GDPRProcessUpdate",
"type": "object"
},
"GenerateRequest": {
"properties": {
"batch_size": {
"default": 5,
"title": "Batch Size",
"type": "integer"
},
"collections": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Collections"
},
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
},
"dry_run": {
"default": false,
"title": "Dry Run",
"type": "boolean"
},
"max_controls": {
"default": 50,
"title": "Max Controls",
"type": "integer"
},
"skip_web_search": {
"default": false,
"title": "Skip Web Search",
"type": "boolean"
}
},
"title": "GenerateRequest",
"type": "object"
},
"GenerateResponse": {
"properties": {
"controls": {
"default": [],
"items": {},
"title": "Controls",
"type": "array"
},
"controls_duplicates_found": {
"default": 0,
"title": "Controls Duplicates Found",
"type": "integer"
},
"controls_generated": {
"default": 0,
"title": "Controls Generated",
"type": "integer"
},
"controls_needs_review": {
"default": 0,
"title": "Controls Needs Review",
"type": "integer"
},
"controls_too_close": {
"default": 0,
"title": "Controls Too Close",
"type": "integer"
},
"controls_verified": {
"default": 0,
"title": "Controls Verified",
"type": "integer"
},
"errors": {
"default": [],
"items": {},
"title": "Errors",
"type": "array"
},
"job_id": {
"title": "Job Id",
"type": "string"
},
"message": {
"title": "Message",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"total_chunks_scanned": {
"default": 0,
"title": "Total Chunks Scanned",
"type": "integer"
}
},
"required": [
"job_id",
"status",
"message"
],
"title": "GenerateResponse",
"type": "object"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail",
"type": "array"
}
},
"title": "HTTPValidationError",
"type": "object"
},
"ISMSContextCreate": {
"description": "Schema for creating ISMS Context.",
"properties": {
"contractual_requirements": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Contractual Requirements"
},
"external_issues": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ContextIssue"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "External Issues"
},
"interested_parties": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/InterestedParty"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Interested Parties"
},
"internal_issues": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ContextIssue"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Internal Issues"
},
"regulatory_requirements": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulatory Requirements"
},
"swot_opportunities": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Opportunities"
},
"swot_strengths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Strengths"
},
"swot_threats": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Threats"
},
"swot_weaknesses": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Weaknesses"
}
},
"title": "ISMSContextCreate",
"type": "object"
},
"ISMSContextResponse": {
"description": "Response schema for ISMS Context.",
"properties": {
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"contractual_requirements": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Contractual Requirements"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"external_issues": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ContextIssue"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "External Issues"
},
"id": {
"title": "Id",
"type": "string"
},
"interested_parties": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/InterestedParty"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Interested Parties"
},
"internal_issues": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ContextIssue"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Internal Issues"
},
"last_reviewed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Reviewed At"
},
"next_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"regulatory_requirements": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulatory Requirements"
},
"status": {
"title": "Status",
"type": "string"
},
"swot_opportunities": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Opportunities"
},
"swot_strengths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Strengths"
},
"swot_threats": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Threats"
},
"swot_weaknesses": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Swot Weaknesses"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"id",
"version",
"status",
"created_at",
"updated_at"
],
"title": "ISMSContextResponse",
"type": "object"
},
"ISMSPolicyApproveRequest": {
"description": "Request to approve ISMS Policy.",
"properties": {
"approved_by": {
"title": "Approved By",
"type": "string"
},
"effective_date": {
"format": "date",
"title": "Effective Date",
"type": "string"
},
"reviewed_by": {
"title": "Reviewed By",
"type": "string"
}
},
"required": [
"reviewed_by",
"approved_by",
"effective_date"
],
"title": "ISMSPolicyApproveRequest",
"type": "object"
},
"ISMSPolicyCreate": {
"description": "Schema for creating ISMS Policy.",
"properties": {
"applies_to": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Applies To"
},
"authored_by": {
"title": "Authored By",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"policy_id": {
"title": "Policy Id",
"type": "string"
},
"policy_text": {
"title": "Policy Text",
"type": "string"
},
"policy_type": {
"title": "Policy Type",
"type": "string"
},
"related_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"review_frequency_months": {
"default": 12,
"title": "Review Frequency Months",
"type": "integer"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"policy_id",
"title",
"policy_type",
"policy_text",
"authored_by"
],
"title": "ISMSPolicyCreate",
"type": "object"
},
"ISMSPolicyListResponse": {
"description": "List response for ISMS Policies.",
"properties": {
"policies": {
"items": {
"$ref": "#/components/schemas/ISMSPolicyResponse"
},
"title": "Policies",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"policies",
"total"
],
"title": "ISMSPolicyListResponse",
"type": "object"
},
"ISMSPolicyResponse": {
"description": "Response schema for ISMS Policy.",
"properties": {
"applies_to": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Applies To"
},
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"authored_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authored By"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"document_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Document Path"
},
"effective_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Effective Date"
},
"id": {
"title": "Id",
"type": "string"
},
"next_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"policy_id": {
"title": "Policy Id",
"type": "string"
},
"policy_text": {
"title": "Policy Text",
"type": "string"
},
"policy_type": {
"title": "Policy Type",
"type": "string"
},
"related_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"review_frequency_months": {
"default": 12,
"title": "Review Frequency Months",
"type": "integer"
},
"reviewed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reviewed By"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"policy_id",
"title",
"policy_type",
"policy_text",
"id",
"version",
"status",
"created_at",
"updated_at"
],
"title": "ISMSPolicyResponse",
"type": "object"
},
"ISMSPolicyUpdate": {
"description": "Schema for updating ISMS Policy.",
"properties": {
"applies_to": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Applies To"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"policy_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Text"
},
"related_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"review_frequency_months": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Review Frequency Months"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "ISMSPolicyUpdate",
"type": "object"
},
"ISMSReadinessCheckRequest": {
"description": "Request to run ISMS Readiness Check.",
"properties": {
"triggered_by": {
"default": "manual",
"title": "Triggered By",
"type": "string"
}
},
"title": "ISMSReadinessCheckRequest",
"type": "object"
},
"ISMSReadinessCheckResponse": {
"description": "Response for ISMS Readiness Check.",
"properties": {
"certification_possible": {
"title": "Certification Possible",
"type": "boolean"
},
"chapter_10_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 10 Status"
},
"chapter_4_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 4 Status"
},
"chapter_5_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 5 Status"
},
"chapter_6_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 6 Status"
},
"chapter_7_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 7 Status"
},
"chapter_8_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 8 Status"
},
"chapter_9_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Chapter 9 Status"
},
"check_date": {
"format": "date-time",
"title": "Check Date",
"type": "string"
},
"documentation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Documentation Score"
},
"evidence_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Evidence Score"
},
"id": {
"title": "Id",
"type": "string"
},
"implementation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Implementation Score"
},
"improvement_opportunities": {
"items": {
"$ref": "#/components/schemas/PotentialFinding"
},
"title": "Improvement Opportunities",
"type": "array"
},
"overall_status": {
"title": "Overall Status",
"type": "string"
},
"potential_majors": {
"items": {
"$ref": "#/components/schemas/PotentialFinding"
},
"title": "Potential Majors",
"type": "array"
},
"potential_minors": {
"items": {
"$ref": "#/components/schemas/PotentialFinding"
},
"title": "Potential Minors",
"type": "array"
},
"priority_actions": {
"items": {
"type": "string"
},
"title": "Priority Actions",
"type": "array"
},
"readiness_score": {
"title": "Readiness Score",
"type": "number"
},
"triggered_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Triggered By"
}
},
"required": [
"id",
"check_date",
"overall_status",
"certification_possible",
"potential_majors",
"potential_minors",
"improvement_opportunities",
"readiness_score",
"priority_actions"
],
"title": "ISMSReadinessCheckResponse",
"type": "object"
},
"ISMSScopeApproveRequest": {
"description": "Request to approve ISMS Scope.",
"properties": {
"approved_by": {
"title": "Approved By",
"type": "string"
},
"effective_date": {
"format": "date",
"title": "Effective Date",
"type": "string"
},
"review_date": {
"format": "date",
"title": "Review Date",
"type": "string"
}
},
"required": [
"approved_by",
"effective_date",
"review_date"
],
"title": "ISMSScopeApproveRequest",
"type": "object"
},
"ISMSScopeCreate": {
"description": "Schema for creating ISMS Scope.",
"properties": {
"excluded_items": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Excluded Items"
},
"exclusion_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Exclusion Justification"
},
"included_locations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Locations"
},
"included_processes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Processes"
},
"included_services": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Services"
},
"organizational_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organizational Boundary"
},
"physical_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Physical Boundary"
},
"scope_statement": {
"title": "Scope Statement",
"type": "string"
},
"technical_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Technical Boundary"
}
},
"required": [
"scope_statement"
],
"title": "ISMSScopeCreate",
"type": "object"
},
"ISMSScopeResponse": {
"description": "Response schema for ISMS Scope.",
"properties": {
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"effective_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Effective Date"
},
"excluded_items": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Excluded Items"
},
"exclusion_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Exclusion Justification"
},
"id": {
"title": "Id",
"type": "string"
},
"included_locations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Locations"
},
"included_processes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Processes"
},
"included_services": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Services"
},
"organizational_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organizational Boundary"
},
"physical_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Physical Boundary"
},
"review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Date"
},
"scope_statement": {
"title": "Scope Statement",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"technical_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Technical Boundary"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"scope_statement",
"id",
"version",
"status",
"created_at",
"updated_at"
],
"title": "ISMSScopeResponse",
"type": "object"
},
"ISMSScopeUpdate": {
"description": "Schema for updating ISMS Scope.",
"properties": {
"excluded_items": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Excluded Items"
},
"exclusion_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Exclusion Justification"
},
"included_locations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Locations"
},
"included_processes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Processes"
},
"included_services": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Included Services"
},
"organizational_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organizational Boundary"
},
"physical_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Physical Boundary"
},
"scope_statement": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope Statement"
},
"technical_boundary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Technical Boundary"
}
},
"title": "ISMSScopeUpdate",
"type": "object"
},
"ISO27001ChapterStatus": {
"description": "Status of a single ISO 27001 chapter.",
"properties": {
"chapter": {
"title": "Chapter",
"type": "string"
},
"completion_percentage": {
"title": "Completion Percentage",
"type": "number"
},
"key_documents": {
"items": {
"type": "string"
},
"title": "Key Documents",
"type": "array"
},
"last_reviewed": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Reviewed"
},
"open_findings": {
"title": "Open Findings",
"type": "integer"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"chapter",
"title",
"status",
"completion_percentage",
"open_findings",
"key_documents"
],
"title": "ISO27001ChapterStatus",
"type": "object"
},
"ISO27001OverviewResponse": {
"description": "Complete ISO 27001 status overview.",
"properties": {
"certification_readiness": {
"title": "Certification Readiness",
"type": "number"
},
"chapters": {
"items": {
"$ref": "#/components/schemas/ISO27001ChapterStatus"
},
"title": "Chapters",
"type": "array"
},
"last_internal_audit": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Internal Audit"
},
"last_management_review": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Management Review"
},
"objectives_achieved": {
"title": "Objectives Achieved",
"type": "integer"
},
"objectives_count": {
"title": "Objectives Count",
"type": "integer"
},
"open_major_findings": {
"title": "Open Major Findings",
"type": "integer"
},
"open_minor_findings": {
"title": "Open Minor Findings",
"type": "integer"
},
"overall_status": {
"title": "Overall Status",
"type": "string"
},
"policies_approved": {
"title": "Policies Approved",
"type": "integer"
},
"policies_count": {
"title": "Policies Count",
"type": "integer"
},
"scope_approved": {
"title": "Scope Approved",
"type": "boolean"
},
"soa_approved": {
"title": "Soa Approved",
"type": "boolean"
}
},
"required": [
"overall_status",
"certification_readiness",
"chapters",
"scope_approved",
"soa_approved",
"open_major_findings",
"open_minor_findings",
"policies_count",
"policies_approved",
"objectives_count",
"objectives_achieved"
],
"title": "ISO27001OverviewResponse",
"type": "object"
},
"InterestedParty": {
"description": "Single interested party.",
"properties": {
"party": {
"title": "Party",
"type": "string"
},
"relevance": {
"title": "Relevance",
"type": "string"
},
"requirements": {
"items": {
"type": "string"
},
"title": "Requirements",
"type": "array"
}
},
"required": [
"party",
"requirements",
"relevance"
],
"title": "InterestedParty",
"type": "object"
},
"InternalAuditCompleteRequest": {
"description": "Request to complete Internal Audit.",
"properties": {
"audit_conclusion": {
"title": "Audit Conclusion",
"type": "string"
},
"follow_up_audit_required": {
"title": "Follow Up Audit Required",
"type": "boolean"
},
"overall_assessment": {
"title": "Overall Assessment",
"type": "string"
}
},
"required": [
"audit_conclusion",
"overall_assessment",
"follow_up_audit_required"
],
"title": "InternalAuditCompleteRequest",
"type": "object"
},
"InternalAuditCreate": {
"description": "Schema for creating Internal Audit.",
"properties": {
"annex_a_controls_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Annex A Controls Covered"
},
"audit_team": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Audit Team"
},
"audit_type": {
"title": "Audit Type",
"type": "string"
},
"criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Criteria"
},
"departments_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Departments Covered"
},
"iso_chapters_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Iso Chapters Covered"
},
"lead_auditor": {
"title": "Lead Auditor",
"type": "string"
},
"planned_date": {
"format": "date",
"title": "Planned Date",
"type": "string"
},
"processes_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Processes Covered"
},
"scope_description": {
"title": "Scope Description",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"audit_type",
"scope_description",
"planned_date",
"lead_auditor"
],
"title": "InternalAuditCreate",
"type": "object"
},
"InternalAuditListResponse": {
"description": "List response for Internal Audits.",
"properties": {
"audits": {
"items": {
"$ref": "#/components/schemas/InternalAuditResponse"
},
"title": "Audits",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"audits",
"total"
],
"title": "InternalAuditListResponse",
"type": "object"
},
"InternalAuditResponse": {
"description": "Response schema for Internal Audit.",
"properties": {
"actual_end_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Actual End Date"
},
"actual_start_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Actual Start Date"
},
"annex_a_controls_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Annex A Controls Covered"
},
"audit_conclusion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audit Conclusion"
},
"audit_id": {
"title": "Audit Id",
"type": "string"
},
"audit_team": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Audit Team"
},
"audit_type": {
"title": "Audit Type",
"type": "string"
},
"auditee_representatives": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Auditee Representatives"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Criteria"
},
"departments_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Departments Covered"
},
"follow_up_audit_required": {
"title": "Follow Up Audit Required",
"type": "boolean"
},
"id": {
"title": "Id",
"type": "string"
},
"iso_chapters_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Iso Chapters Covered"
},
"lead_auditor": {
"title": "Lead Auditor",
"type": "string"
},
"major_findings": {
"title": "Major Findings",
"type": "integer"
},
"minor_findings": {
"title": "Minor Findings",
"type": "integer"
},
"ofi_count": {
"title": "Ofi Count",
"type": "integer"
},
"overall_assessment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Overall Assessment"
},
"planned_date": {
"format": "date",
"title": "Planned Date",
"type": "string"
},
"positive_observations": {
"title": "Positive Observations",
"type": "integer"
},
"processes_covered": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Processes Covered"
},
"report_approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Report Approved At"
},
"report_approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Report Approved By"
},
"report_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Report Date"
},
"report_document_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Report Document Path"
},
"scope_description": {
"title": "Scope Description",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"total_findings": {
"title": "Total Findings",
"type": "integer"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"title",
"audit_type",
"scope_description",
"planned_date",
"lead_auditor",
"id",
"audit_id",
"status",
"total_findings",
"major_findings",
"minor_findings",
"ofi_count",
"positive_observations",
"follow_up_audit_required",
"created_at",
"updated_at"
],
"title": "InternalAuditResponse",
"type": "object"
},
"InternalAuditUpdate": {
"description": "Schema for updating Internal Audit.",
"properties": {
"actual_end_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Actual End Date"
},
"actual_start_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Actual Start Date"
},
"audit_conclusion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audit Conclusion"
},
"auditee_representatives": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Auditee Representatives"
},
"overall_assessment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Overall Assessment"
},
"scope_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scope Description"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "InternalAuditUpdate",
"type": "object"
},
"LegalTemplateCreate": {
"properties": {
"attribution_required": {
"default": false,
"title": "Attribution Required",
"type": "boolean"
},
"attribution_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Attribution Text"
},
"content": {
"title": "Content",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"document_type": {
"title": "Document Type",
"type": "string"
},
"inspiration_sources": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Inspiration Sources"
},
"is_complete_document": {
"default": true,
"title": "Is Complete Document",
"type": "boolean"
},
"jurisdiction": {
"default": "DE",
"title": "Jurisdiction",
"type": "string"
},
"language": {
"default": "de",
"title": "Language",
"type": "string"
},
"license_id": {
"default": "mit",
"title": "License Id",
"type": "string"
},
"license_name": {
"default": "MIT License",
"title": "License Name",
"type": "string"
},
"placeholders": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Placeholders"
},
"source_file_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source File Path"
},
"source_name": {
"default": "BreakPilot Compliance",
"title": "Source Name",
"type": "string"
},
"source_repo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Repo"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url"
},
"status": {
"default": "published",
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"version": {
"default": "1.0.0",
"title": "Version",
"type": "string"
}
},
"required": [
"document_type",
"title",
"content"
],
"title": "LegalTemplateCreate",
"type": "object"
},
"LegalTemplateUpdate": {
"properties": {
"attribution_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Attribution Required"
},
"attribution_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Attribution Text"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"document_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Document Type"
},
"inspiration_sources": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Inspiration Sources"
},
"is_complete_document": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Complete Document"
},
"jurisdiction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Jurisdiction"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language"
},
"license_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License Id"
},
"license_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License Name"
},
"placeholders": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Placeholders"
},
"source_file_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source File Path"
},
"source_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Name"
},
"source_repo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Repo"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Version"
}
},
"title": "LegalTemplateUpdate",
"type": "object"
},
"LoeschfristCreate": {
"properties": {
"affected_groups": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Groups"
},
"data_categories": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Categories"
},
"data_object_name": {
"title": "Data Object Name",
"type": "string"
},
"deletion_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deletion Method"
},
"deletion_method_detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deletion Method Detail"
},
"deletion_trigger": {
"default": "PURPOSE_END",
"title": "Deletion Trigger",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"has_active_legal_hold": {
"default": false,
"title": "Has Active Legal Hold",
"type": "boolean"
},
"last_review_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Review Date"
},
"legal_holds": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Legal Holds"
},
"linked_vvt_activity_ids": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Vvt Activity Ids"
},
"next_review_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"policy_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Id"
},
"primary_purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Primary Purpose"
},
"release_process": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Release Process"
},
"responsible_person": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Person"
},
"responsible_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Role"
},
"retention_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Description"
},
"retention_driver": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Driver"
},
"retention_driver_detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Driver Detail"
},
"retention_duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Retention Duration"
},
"retention_unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Unit"
},
"review_interval": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Interval"
},
"start_event": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Start Event"
},
"status": {
"default": "DRAFT",
"title": "Status",
"type": "string"
},
"storage_locations": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Storage Locations"
},
"tags": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
}
},
"required": [
"data_object_name"
],
"title": "LoeschfristCreate",
"type": "object"
},
"LoeschfristUpdate": {
"properties": {
"affected_groups": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Groups"
},
"data_categories": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Categories"
},
"data_object_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Object Name"
},
"deletion_method": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deletion Method"
},
"deletion_method_detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deletion Method Detail"
},
"deletion_trigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deletion Trigger"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"has_active_legal_hold": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Has Active Legal Hold"
},
"last_review_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Review Date"
},
"legal_holds": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Legal Holds"
},
"linked_vvt_activity_ids": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Vvt Activity Ids"
},
"next_review_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"policy_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Id"
},
"primary_purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Primary Purpose"
},
"release_process": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Release Process"
},
"responsible_person": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Person"
},
"responsible_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Role"
},
"retention_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Description"
},
"retention_driver": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Driver"
},
"retention_driver_detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Driver Detail"
},
"retention_duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Retention Duration"
},
"retention_unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Unit"
},
"review_interval": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Interval"
},
"start_event": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Start Event"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"storage_locations": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Storage Locations"
},
"tags": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
}
},
"title": "LoeschfristUpdate",
"type": "object"
},
"ManagementReviewApproveRequest": {
"description": "Request to approve Management Review.",
"properties": {
"approved_by": {
"title": "Approved By",
"type": "string"
},
"minutes_document_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Minutes Document Path"
},
"next_review_date": {
"format": "date",
"title": "Next Review Date",
"type": "string"
}
},
"required": [
"approved_by",
"next_review_date"
],
"title": "ManagementReviewApproveRequest",
"type": "object"
},
"ManagementReviewCreate": {
"description": "Schema for creating Management Review.",
"properties": {
"attendees": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ReviewAttendee"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Attendees"
},
"chairperson": {
"title": "Chairperson",
"type": "string"
},
"review_date": {
"format": "date",
"title": "Review Date",
"type": "string"
},
"review_period_end": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Period End"
},
"review_period_start": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Period Start"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"review_date",
"chairperson"
],
"title": "ManagementReviewCreate",
"type": "object"
},
"ManagementReviewListResponse": {
"description": "List response for Management Reviews.",
"properties": {
"reviews": {
"items": {
"$ref": "#/components/schemas/ManagementReviewResponse"
},
"title": "Reviews",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"reviews",
"total"
],
"title": "ManagementReviewListResponse",
"type": "object"
},
"ManagementReviewResponse": {
"description": "Response schema for Management Review.",
"properties": {
"action_items": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ReviewActionItem"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Action Items"
},
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"attendees": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ReviewAttendee"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Attendees"
},
"chairperson": {
"title": "Chairperson",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"input_improvement_opportunities": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Improvement Opportunities"
},
"input_interested_party_feedback": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Interested Party Feedback"
},
"input_isms_changes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Isms Changes"
},
"input_objective_achievement": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Objective Achievement"
},
"input_policy_effectiveness": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Policy Effectiveness"
},
"input_previous_actions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Previous Actions"
},
"input_resource_adequacy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Resource Adequacy"
},
"input_risk_assessment_results": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Risk Assessment Results"
},
"input_security_performance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Security Performance"
},
"isms_effectiveness_rating": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Isms Effectiveness Rating"
},
"key_decisions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key Decisions"
},
"minutes_document_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Minutes Document Path"
},
"next_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"output_improvement_decisions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Improvement Decisions"
},
"output_isms_changes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Isms Changes"
},
"output_resource_needs": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Resource Needs"
},
"review_date": {
"format": "date",
"title": "Review Date",
"type": "string"
},
"review_id": {
"title": "Review Id",
"type": "string"
},
"review_period_end": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Period End"
},
"review_period_start": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Period Start"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"title",
"review_date",
"chairperson",
"id",
"review_id",
"status",
"created_at",
"updated_at"
],
"title": "ManagementReviewResponse",
"type": "object"
},
"ManagementReviewUpdate": {
"description": "Schema for updating Management Review.",
"properties": {
"action_items": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/ReviewActionItem"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Action Items"
},
"input_improvement_opportunities": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Improvement Opportunities"
},
"input_interested_party_feedback": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Interested Party Feedback"
},
"input_isms_changes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Isms Changes"
},
"input_objective_achievement": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Objective Achievement"
},
"input_policy_effectiveness": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Policy Effectiveness"
},
"input_previous_actions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Previous Actions"
},
"input_resource_adequacy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Resource Adequacy"
},
"input_risk_assessment_results": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Risk Assessment Results"
},
"input_security_performance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Input Security Performance"
},
"isms_effectiveness_rating": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Isms Effectiveness Rating"
},
"key_decisions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Key Decisions"
},
"output_improvement_decisions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Improvement Decisions"
},
"output_isms_changes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Isms Changes"
},
"output_resource_needs": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Resource Needs"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
"title": "ManagementReviewUpdate",
"type": "object"
},
"MeasureCreate": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"measure_type": {
"default": "corrective",
"title": "Measure Type",
"type": "string"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "MeasureCreate",
"type": "object"
},
"MeasureUpdate": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"measure_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Measure Type"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "MeasureUpdate",
"type": "object"
},
"MetricCreate": {
"properties": {
"ai_system": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ai System"
},
"category": {
"default": "accuracy",
"title": "Category",
"type": "string"
},
"last_measured": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Measured"
},
"name": {
"title": "Name",
"type": "string"
},
"score": {
"default": 0.0,
"title": "Score",
"type": "number"
},
"threshold": {
"default": 80.0,
"title": "Threshold",
"type": "number"
},
"trend": {
"default": "stable",
"title": "Trend",
"type": "string"
}
},
"required": [
"name"
],
"title": "MetricCreate",
"type": "object"
},
"MetricUpdate": {
"properties": {
"ai_system": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ai System"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"last_measured": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Measured"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Score"
},
"threshold": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Threshold"
},
"trend": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trend"
}
},
"title": "MetricUpdate",
"type": "object"
},
"ModuleComplianceOverview": {
"description": "Overview of compliance status for all modules.",
"properties": {
"average_compliance_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Average Compliance Score"
},
"modules_by_criticality": {
"additionalProperties": {
"type": "integer"
},
"title": "Modules By Criticality",
"type": "object"
},
"modules_by_type": {
"additionalProperties": {
"type": "integer"
},
"title": "Modules By Type",
"type": "object"
},
"modules_processing_pii": {
"title": "Modules Processing Pii",
"type": "integer"
},
"modules_with_ai": {
"title": "Modules With Ai",
"type": "integer"
},
"regulations_coverage": {
"additionalProperties": {
"type": "integer"
},
"title": "Regulations Coverage",
"type": "object"
},
"total_modules": {
"title": "Total Modules",
"type": "integer"
}
},
"required": [
"total_modules",
"modules_by_type",
"modules_by_criticality",
"modules_processing_pii",
"modules_with_ai",
"regulations_coverage"
],
"title": "ModuleComplianceOverview",
"type": "object"
},
"ModuleRegulationMappingCreate": {
"description": "Schema for creating a module-regulation mapping.",
"properties": {
"applicable_articles": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Applicable Articles"
},
"module_id": {
"title": "Module Id",
"type": "string"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"regulation_id": {
"title": "Regulation Id",
"type": "string"
},
"relevance_level": {
"default": "medium",
"title": "Relevance Level",
"type": "string"
}
},
"required": [
"module_id",
"regulation_id"
],
"title": "ModuleRegulationMappingCreate",
"type": "object"
},
"ModuleRegulationMappingResponse": {
"description": "Response schema for module-regulation mapping.",
"properties": {
"applicable_articles": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Applicable Articles"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"module_id": {
"title": "Module Id",
"type": "string"
},
"module_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Module Name"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"regulation_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulation Code"
},
"regulation_id": {
"title": "Regulation Id",
"type": "string"
},
"regulation_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulation Name"
},
"relevance_level": {
"default": "medium",
"title": "Relevance Level",
"type": "string"
}
},
"required": [
"module_id",
"regulation_id",
"id",
"created_at"
],
"title": "ModuleRegulationMappingResponse",
"type": "object"
},
"ModuleSeedRequest": {
"description": "Request to seed service modules.",
"properties": {
"force": {
"default": false,
"title": "Force",
"type": "boolean"
}
},
"title": "ModuleSeedRequest",
"type": "object"
},
"ModuleSeedResponse": {
"description": "Response from seeding service modules.",
"properties": {
"mappings_created": {
"title": "Mappings Created",
"type": "integer"
},
"message": {
"title": "Message",
"type": "string"
},
"modules_created": {
"title": "Modules Created",
"type": "integer"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success",
"message",
"modules_created",
"mappings_created"
],
"title": "ModuleSeedResponse",
"type": "object"
},
"ObligationCreate": {
"properties": {
"assessment_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assessment Id"
},
"deadline": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Deadline"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"linked_systems": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Systems"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"priority": {
"default": "medium",
"title": "Priority",
"type": "string"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"rule_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Rule Code"
},
"source": {
"default": "DSGVO",
"title": "Source",
"type": "string"
},
"source_article": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Article"
},
"status": {
"default": "pending",
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "ObligationCreate",
"type": "object"
},
"ObligationStatusUpdate": {
"properties": {
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"status"
],
"title": "ObligationStatusUpdate",
"type": "object"
},
"ObligationUpdate": {
"properties": {
"deadline": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Deadline"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"linked_systems": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Systems"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"source_article": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Article"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "ObligationUpdate",
"type": "object"
},
"OperationUpdate": {
"properties": {
"allowed": {
"title": "Allowed",
"type": "boolean"
},
"conditions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Conditions"
}
},
"required": [
"allowed"
],
"title": "OperationUpdate",
"type": "object"
},
"PDFExtractionRequest": {
"description": "Request for PDF extraction.",
"properties": {
"document_code": {
"description": "BSI-TR document code, e.g. BSI-TR-03161-2",
"title": "Document Code",
"type": "string"
},
"force": {
"default": false,
"description": "Force re-extraction even if requirements exist",
"title": "Force",
"type": "boolean"
},
"save_to_db": {
"default": true,
"description": "Whether to save extracted requirements to database",
"title": "Save To Db",
"type": "boolean"
}
},
"required": [
"document_code"
],
"title": "PDFExtractionRequest",
"type": "object"
},
"PDFExtractionResponse": {
"description": "Response from PDF extraction endpoint.",
"properties": {
"aspects": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/BSIAspectResponse"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Aspects"
},
"doc_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doc Code"
},
"requirements_created": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Requirements Created"
},
"saved_to_db": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Saved To Db"
},
"source_document": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Document"
},
"statistics": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Statistics"
},
"success": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Success"
},
"total_aspects": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Aspects"
},
"total_extracted": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Total Extracted"
}
},
"title": "PDFExtractionResponse",
"type": "object"
},
"PIIRuleCreate": {
"properties": {
"action": {
"default": "mask",
"title": "Action",
"type": "string"
},
"active": {
"default": true,
"title": "Active",
"type": "boolean"
},
"category": {
"title": "Category",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"title": "Name",
"type": "string"
},
"pattern": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pattern"
}
},
"required": [
"name",
"category"
],
"title": "PIIRuleCreate",
"type": "object"
},
"PIIRuleUpdate": {
"properties": {
"action": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Action"
},
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"pattern": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pattern"
}
},
"title": "PIIRuleUpdate",
"type": "object"
},
"PaginatedControlResponse": {
"description": "Paginated response for controls - optimized for large datasets.",
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/ControlResponse"
},
"title": "Data",
"type": "array"
},
"pagination": {
"$ref": "#/components/schemas/PaginationMeta"
}
},
"required": [
"data",
"pagination"
],
"title": "PaginatedControlResponse",
"type": "object"
},
"PaginatedRequirementResponse": {
"description": "Paginated response for requirements - optimized for large datasets.",
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/RequirementResponse"
},
"title": "Data",
"type": "array"
},
"pagination": {
"$ref": "#/components/schemas/PaginationMeta"
}
},
"required": [
"data",
"pagination"
],
"title": "PaginatedRequirementResponse",
"type": "object"
},
"PaginationMeta": {
"description": "Pagination metadata for list responses.",
"properties": {
"has_next": {
"title": "Has Next",
"type": "boolean"
},
"has_prev": {
"title": "Has Prev",
"type": "boolean"
},
"page": {
"title": "Page",
"type": "integer"
},
"page_size": {
"title": "Page Size",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
},
"total_pages": {
"title": "Total Pages",
"type": "integer"
}
},
"required": [
"page",
"page_size",
"total",
"total_pages",
"has_next",
"has_prev"
],
"title": "PaginationMeta",
"type": "object"
},
"PotentialFinding": {
"description": "Potential finding from readiness check.",
"properties": {
"check": {
"title": "Check",
"type": "string"
},
"iso_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Iso Reference"
},
"recommendation": {
"title": "Recommendation",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"check",
"status",
"recommendation"
],
"title": "PotentialFinding",
"type": "object"
},
"PreviewRequest": {
"properties": {
"variables": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Variables"
}
},
"title": "PreviewRequest",
"type": "object"
},
"RegulationListResponse": {
"properties": {
"regulations": {
"items": {
"$ref": "#/components/schemas/RegulationResponse"
},
"title": "Regulations",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"regulations",
"total"
],
"title": "RegulationListResponse",
"type": "object"
},
"RegulationResponse": {
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"effective_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Effective Date"
},
"full_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Full Name"
},
"id": {
"title": "Id",
"type": "string"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"local_pdf_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Local Pdf Path"
},
"name": {
"title": "Name",
"type": "string"
},
"regulation_type": {
"title": "Regulation Type",
"type": "string"
},
"requirement_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Requirement Count"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"code",
"name",
"regulation_type",
"id",
"created_at",
"updated_at"
],
"title": "RegulationResponse",
"type": "object"
},
"RejectDSR": {
"properties": {
"legal_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis"
},
"reason": {
"title": "Reason",
"type": "string"
}
},
"required": [
"reason"
],
"title": "RejectDSR",
"type": "object"
},
"RejectRequest": {
"properties": {
"comment": {
"title": "Comment",
"type": "string"
}
},
"required": [
"comment"
],
"title": "RejectRequest",
"type": "object"
},
"RequirementCreate": {
"properties": {
"applicability_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability Reason"
},
"article": {
"title": "Article",
"type": "string"
},
"breakpilot_interpretation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Breakpilot Interpretation"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_applicable": {
"default": true,
"title": "Is Applicable",
"type": "boolean"
},
"paragraph": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Paragraph"
},
"priority": {
"default": 2,
"title": "Priority",
"type": "integer"
},
"regulation_id": {
"title": "Regulation Id",
"type": "string"
},
"requirement_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requirement Text"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"article",
"title",
"regulation_id"
],
"title": "RequirementCreate",
"type": "object"
},
"RequirementListResponse": {
"properties": {
"requirements": {
"items": {
"$ref": "#/components/schemas/RequirementResponse"
},
"title": "Requirements",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"requirements",
"total"
],
"title": "RequirementListResponse",
"type": "object"
},
"RequirementResponse": {
"properties": {
"applicability_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability Reason"
},
"article": {
"title": "Article",
"type": "string"
},
"audit_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "pending",
"title": "Audit Status"
},
"auditor_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auditor Notes"
},
"breakpilot_interpretation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Breakpilot Interpretation"
},
"code_references": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Code References"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"documentation_links": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Documentation Links"
},
"evidence_artifacts": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence Artifacts"
},
"evidence_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Description"
},
"id": {
"title": "Id",
"type": "string"
},
"implementation_details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Details"
},
"implementation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "not_started",
"title": "Implementation Status"
},
"is_applicable": {
"default": true,
"title": "Is Applicable",
"type": "boolean"
},
"last_audit_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Audit Date"
},
"last_auditor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Auditor"
},
"paragraph": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Paragraph"
},
"priority": {
"default": 2,
"title": "Priority",
"type": "integer"
},
"regulation_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulation Code"
},
"regulation_id": {
"title": "Regulation Id",
"type": "string"
},
"requirement_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Requirement Text"
},
"source_page": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Source Page"
},
"source_section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Section"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"article",
"title",
"id",
"regulation_id",
"created_at",
"updated_at"
],
"title": "RequirementResponse",
"type": "object"
},
"ReviewActionItem": {
"description": "Single action item from management review.",
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"due_date": {
"format": "date",
"title": "Due Date",
"type": "string"
},
"owner": {
"title": "Owner",
"type": "string"
}
},
"required": [
"action",
"owner",
"due_date"
],
"title": "ReviewActionItem",
"type": "object"
},
"ReviewAttendee": {
"description": "Single attendee in management review.",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"role": {
"title": "Role",
"type": "string"
}
},
"required": [
"name",
"role"
],
"title": "ReviewAttendee",
"type": "object"
},
"ReviewRequest": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"release_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Release State"
}
},
"required": [
"action"
],
"title": "ReviewRequest",
"type": "object"
},
"RiskAssessmentRequest": {
"properties": {
"impact": {
"title": "Impact",
"type": "integer"
},
"likelihood": {
"title": "Likelihood",
"type": "integer"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
}
},
"required": [
"likelihood",
"impact"
],
"title": "RiskAssessmentRequest",
"type": "object"
},
"RiskCreate": {
"properties": {
"category": {
"title": "Category",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"impact": {
"maximum": 5.0,
"minimum": 1.0,
"title": "Impact",
"type": "integer"
},
"likelihood": {
"maximum": 5.0,
"minimum": 1.0,
"title": "Likelihood",
"type": "integer"
},
"mitigating_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mitigating Controls"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"risk_id": {
"title": "Risk Id",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"treatment_plan": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Treatment Plan"
}
},
"required": [
"risk_id",
"title",
"category",
"likelihood",
"impact"
],
"title": "RiskCreate",
"type": "object"
},
"RiskListResponse": {
"properties": {
"risks": {
"items": {
"$ref": "#/components/schemas/RiskResponse"
},
"title": "Risks",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"risks",
"total"
],
"title": "RiskListResponse",
"type": "object"
},
"RiskMatrixResponse": {
"description": "Risk matrix data for visualization.",
"properties": {
"matrix": {
"additionalProperties": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "object"
},
"title": "Matrix",
"type": "object"
},
"risks": {
"items": {
"$ref": "#/components/schemas/RiskResponse"
},
"title": "Risks",
"type": "array"
}
},
"required": [
"matrix",
"risks"
],
"title": "RiskMatrixResponse",
"type": "object"
},
"RiskResponse": {
"properties": {
"category": {
"title": "Category",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"title": "Id",
"type": "string"
},
"identified_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Identified Date"
},
"impact": {
"maximum": 5.0,
"minimum": 1.0,
"title": "Impact",
"type": "integer"
},
"inherent_risk": {
"title": "Inherent Risk",
"type": "string"
},
"last_assessed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Assessed At"
},
"likelihood": {
"maximum": 5.0,
"minimum": 1.0,
"title": "Likelihood",
"type": "integer"
},
"mitigating_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mitigating Controls"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"residual_impact": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Residual Impact"
},
"residual_likelihood": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Residual Likelihood"
},
"residual_risk": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Residual Risk"
},
"review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Date"
},
"risk_id": {
"title": "Risk Id",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"treatment_plan": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Treatment Plan"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"risk_id",
"title",
"category",
"likelihood",
"impact",
"id",
"inherent_risk",
"status",
"created_at",
"updated_at"
],
"title": "RiskResponse",
"type": "object"
},
"RiskSummary": {
"description": "Summary of a risk for executive display.",
"properties": {
"category": {
"title": "Category",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"impact": {
"title": "Impact",
"type": "integer"
},
"likelihood": {
"title": "Likelihood",
"type": "integer"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"risk_id": {
"title": "Risk Id",
"type": "string"
},
"risk_level": {
"title": "Risk Level",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"id",
"risk_id",
"title",
"risk_level",
"status",
"category",
"impact",
"likelihood"
],
"title": "RiskSummary",
"type": "object"
},
"RiskUpdate": {
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"impact": {
"anyOf": [
{
"maximum": 5.0,
"minimum": 1.0,
"type": "integer"
},
{
"type": "null"
}
],
"title": "Impact"
},
"likelihood": {
"anyOf": [
{
"maximum": 5.0,
"minimum": 1.0,
"type": "integer"
},
{
"type": "null"
}
],
"title": "Likelihood"
},
"mitigating_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Mitigating Controls"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"residual_impact": {
"anyOf": [
{
"maximum": 5.0,
"minimum": 1.0,
"type": "integer"
},
{
"type": "null"
}
],
"title": "Residual Impact"
},
"residual_likelihood": {
"anyOf": [
{
"maximum": 5.0,
"minimum": 1.0,
"type": "integer"
},
{
"type": "null"
}
],
"title": "Residual Likelihood"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"treatment_plan": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Treatment Plan"
}
},
"title": "RiskUpdate",
"type": "object"
},
"SBOMComponentResponse": {
"properties": {
"licenses": {
"items": {
"type": "string"
},
"title": "Licenses",
"type": "array"
},
"name": {
"title": "Name",
"type": "string"
},
"purl": {
"title": "Purl",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
},
"vulnerabilities": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Vulnerabilities",
"type": "array"
}
},
"required": [
"name",
"version",
"type",
"purl",
"licenses",
"vulnerabilities"
],
"title": "SBOMComponentResponse",
"type": "object"
},
"ScenarioCreate": {
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"estimated_recovery_time": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Estimated Recovery Time"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"response_steps": {
"default": [],
"items": {},
"title": "Response Steps",
"type": "array"
},
"severity": {
"default": "medium",
"title": "Severity",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "ScenarioCreate",
"type": "object"
},
"ScenarioUpdate": {
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"estimated_recovery_time": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Estimated Recovery Time"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"last_tested": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Tested"
},
"response_steps": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Response Steps"
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "ScenarioUpdate",
"type": "object"
},
"ScreeningListResponse": {
"properties": {
"screenings": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Screenings",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"screenings",
"total"
],
"title": "ScreeningListResponse",
"type": "object"
},
"ScreeningResponse": {
"properties": {
"completed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"components": {
"items": {
"$ref": "#/components/schemas/SBOMComponentResponse"
},
"title": "Components",
"type": "array"
},
"critical_issues": {
"title": "Critical Issues",
"type": "integer"
},
"high_issues": {
"title": "High Issues",
"type": "integer"
},
"id": {
"title": "Id",
"type": "string"
},
"issues": {
"items": {
"$ref": "#/components/schemas/SecurityIssueResponse"
},
"title": "Issues",
"type": "array"
},
"low_issues": {
"title": "Low Issues",
"type": "integer"
},
"medium_issues": {
"title": "Medium Issues",
"type": "integer"
},
"sbom_format": {
"title": "Sbom Format",
"type": "string"
},
"sbom_version": {
"title": "Sbom Version",
"type": "string"
},
"started_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Started At"
},
"status": {
"title": "Status",
"type": "string"
},
"total_components": {
"title": "Total Components",
"type": "integer"
},
"total_issues": {
"title": "Total Issues",
"type": "integer"
}
},
"required": [
"id",
"status",
"sbom_format",
"sbom_version",
"total_components",
"total_issues",
"critical_issues",
"high_issues",
"medium_issues",
"low_issues",
"components",
"issues"
],
"title": "ScreeningResponse",
"type": "object"
},
"SecurityIssueResponse": {
"properties": {
"affected_component": {
"title": "Affected Component",
"type": "string"
},
"affected_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Affected Version"
},
"cve": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cve"
},
"cvss": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Cvss"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"fixed_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fixed In"
},
"id": {
"title": "Id",
"type": "string"
},
"remediation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remediation"
},
"severity": {
"title": "Severity",
"type": "string"
},
"status": {
"default": "OPEN",
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"id",
"severity",
"title",
"affected_component"
],
"title": "SecurityIssueResponse",
"type": "object"
},
"SecurityItemCreate": {
"properties": {
"affected_asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Affected Asset"
},
"assigned_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
},
"cve": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cve"
},
"cvss": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Cvss"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"remediation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remediation"
},
"severity": {
"default": "medium",
"title": "Severity",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"status": {
"default": "open",
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"type": {
"default": "vulnerability",
"title": "Type",
"type": "string"
}
},
"required": [
"title"
],
"title": "SecurityItemCreate",
"type": "object"
},
"SecurityItemUpdate": {
"properties": {
"affected_asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Affected Asset"
},
"assigned_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
},
"cve": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cve"
},
"cvss": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Cvss"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"due_date": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Due Date"
},
"remediation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Remediation"
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
}
},
"title": "SecurityItemUpdate",
"type": "object"
},
"SecurityObjectiveCreate": {
"description": "Schema for creating Security Objective.",
"properties": {
"achievable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Achievable"
},
"category": {
"title": "Category",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"kpi_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Name"
},
"kpi_target": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Target"
},
"kpi_unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Unit"
},
"measurable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Measurable"
},
"measurement_frequency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Measurement Frequency"
},
"objective_id": {
"title": "Objective Id",
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"related_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"related_risks": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Risks"
},
"relevant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Relevant"
},
"specific": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Specific"
},
"target_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Date"
},
"time_bound": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Time Bound"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"objective_id",
"title",
"category"
],
"title": "SecurityObjectiveCreate",
"type": "object"
},
"SecurityObjectiveListResponse": {
"description": "List response for Security Objectives.",
"properties": {
"objectives": {
"items": {
"$ref": "#/components/schemas/SecurityObjectiveResponse"
},
"title": "Objectives",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"objectives",
"total"
],
"title": "SecurityObjectiveListResponse",
"type": "object"
},
"SecurityObjectiveResponse": {
"description": "Response schema for Security Objective.",
"properties": {
"achievable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Achievable"
},
"achieved_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Achieved Date"
},
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"category": {
"title": "Category",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"id": {
"title": "Id",
"type": "string"
},
"kpi_current": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Current"
},
"kpi_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Name"
},
"kpi_target": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Target"
},
"kpi_unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Unit"
},
"measurable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Measurable"
},
"measurement_frequency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Measurement Frequency"
},
"objective_id": {
"title": "Objective Id",
"type": "string"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"progress_percentage": {
"title": "Progress Percentage",
"type": "integer"
},
"related_controls": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"related_risks": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Related Risks"
},
"relevant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Relevant"
},
"specific": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Specific"
},
"status": {
"title": "Status",
"type": "string"
},
"target_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Date"
},
"time_bound": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Time Bound"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"objective_id",
"title",
"category",
"id",
"status",
"progress_percentage",
"created_at",
"updated_at"
],
"title": "SecurityObjectiveResponse",
"type": "object"
},
"SecurityObjectiveUpdate": {
"description": "Schema for updating Security Objective.",
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"kpi_current": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Kpi Current"
},
"progress_percentage": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Progress Percentage"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "SecurityObjectiveUpdate",
"type": "object"
},
"SeedRequest": {
"properties": {
"force": {
"default": false,
"title": "Force",
"type": "boolean"
}
},
"title": "SeedRequest",
"type": "object"
},
"SeedResponse": {
"properties": {
"counts": {
"additionalProperties": {
"type": "integer"
},
"title": "Counts",
"type": "object"
},
"message": {
"title": "Message",
"type": "string"
},
"success": {
"title": "Success",
"type": "boolean"
}
},
"required": [
"success",
"message",
"counts"
],
"title": "SeedResponse",
"type": "object"
},
"SendCommunication": {
"properties": {
"channel": {
"default": "email",
"title": "Channel",
"type": "string"
},
"communication_type": {
"default": "outgoing",
"title": "Communication Type",
"type": "string"
},
"content": {
"title": "Content",
"type": "string"
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subject"
},
"template_used": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Used"
}
},
"required": [
"content"
],
"title": "SendCommunication",
"type": "object"
},
"SendTestRequest": {
"properties": {
"recipient": {
"title": "Recipient",
"type": "string"
},
"variables": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Variables"
}
},
"required": [
"recipient"
],
"title": "SendTestRequest",
"type": "object"
},
"ServiceModuleDetailResponse": {
"description": "Detailed response including regulations and risks.",
"properties": {
"ai_components": {
"default": false,
"title": "Ai Components",
"type": "boolean"
},
"compliance_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Compliance Score"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"criticality": {
"default": "medium",
"title": "Criticality",
"type": "string"
},
"data_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Categories"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"display_name": {
"title": "Display Name",
"type": "string"
},
"docker_image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Docker Image"
},
"id": {
"title": "Id",
"type": "string"
},
"is_active": {
"title": "Is Active",
"type": "boolean"
},
"last_compliance_check": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Compliance Check"
},
"name": {
"title": "Name",
"type": "string"
},
"owner_contact": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner Contact"
},
"owner_team": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner Team"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Port"
},
"processes_health_data": {
"default": false,
"title": "Processes Health Data",
"type": "boolean"
},
"processes_pii": {
"default": false,
"title": "Processes Pii",
"type": "boolean"
},
"regulation_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Regulation Count"
},
"regulations": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Regulations"
},
"repository_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Repository Path"
},
"risk_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Risk Count"
},
"risks": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Risks"
},
"service_type": {
"title": "Service Type",
"type": "string"
},
"technology_stack": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Technology Stack"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"name",
"display_name",
"service_type",
"id",
"is_active",
"created_at",
"updated_at"
],
"title": "ServiceModuleDetailResponse",
"type": "object"
},
"ServiceModuleListResponse": {
"description": "List response for service modules.",
"properties": {
"modules": {
"items": {
"$ref": "#/components/schemas/ServiceModuleResponse"
},
"title": "Modules",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"modules",
"total"
],
"title": "ServiceModuleListResponse",
"type": "object"
},
"ServiceModuleResponse": {
"description": "Response schema for service module.",
"properties": {
"ai_components": {
"default": false,
"title": "Ai Components",
"type": "boolean"
},
"compliance_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Compliance Score"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"criticality": {
"default": "medium",
"title": "Criticality",
"type": "string"
},
"data_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Categories"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"display_name": {
"title": "Display Name",
"type": "string"
},
"docker_image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Docker Image"
},
"id": {
"title": "Id",
"type": "string"
},
"is_active": {
"title": "Is Active",
"type": "boolean"
},
"last_compliance_check": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Compliance Check"
},
"name": {
"title": "Name",
"type": "string"
},
"owner_contact": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner Contact"
},
"owner_team": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner Team"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Port"
},
"processes_health_data": {
"default": false,
"title": "Processes Health Data",
"type": "boolean"
},
"processes_pii": {
"default": false,
"title": "Processes Pii",
"type": "boolean"
},
"regulation_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Regulation Count"
},
"repository_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Repository Path"
},
"risk_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Risk Count"
},
"service_type": {
"title": "Service Type",
"type": "string"
},
"technology_stack": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Technology Stack"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"name",
"display_name",
"service_type",
"id",
"is_active",
"created_at",
"updated_at"
],
"title": "ServiceModuleResponse",
"type": "object"
},
"SettingsUpdate": {
"properties": {
"company_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Company Address"
},
"company_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Company Name"
},
"footer_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Footer Text"
},
"logo_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Logo Url"
},
"primary_color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Primary Color"
},
"reply_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reply To"
},
"secondary_color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Secondary Color"
},
"sender_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sender Email"
},
"sender_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sender Name"
}
},
"title": "SettingsUpdate",
"type": "object"
},
"SignOffRequest": {
"description": "Request to sign off a single requirement.",
"properties": {
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"result": {
"description": "Audit result: compliant, compliant_notes, non_compliant, not_applicable, pending",
"title": "Result",
"type": "string"
},
"sign": {
"default": false,
"description": "Whether to create digital signature",
"title": "Sign",
"type": "boolean"
}
},
"required": [
"result"
],
"title": "SignOffRequest",
"type": "object"
},
"SignOffResponse": {
"description": "Response for a sign-off operation.",
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"is_signed": {
"title": "Is Signed",
"type": "boolean"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
},
"requirement_id": {
"title": "Requirement Id",
"type": "string"
},
"result": {
"title": "Result",
"type": "string"
},
"session_id": {
"title": "Session Id",
"type": "string"
},
"signature_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signature Hash"
},
"signed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Signed At"
},
"signed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signed By"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"required": [
"id",
"session_id",
"requirement_id",
"result",
"is_signed",
"created_at"
],
"title": "SignOffResponse",
"type": "object"
},
"SimilarityCheckRequest": {
"properties": {
"candidate_text": {
"title": "Candidate Text",
"type": "string"
},
"source_text": {
"title": "Source Text",
"type": "string"
}
},
"required": [
"source_text",
"candidate_text"
],
"title": "SimilarityCheckRequest",
"type": "object"
},
"SiteConfigCreate": {
"properties": {
"banner_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Banner Description"
},
"banner_title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Banner Title"
},
"dsb_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsb Email"
},
"dsb_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsb Name"
},
"imprint_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Imprint Url"
},
"privacy_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Privacy Url"
},
"site_id": {
"title": "Site Id",
"type": "string"
},
"site_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Name"
},
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url"
},
"tcf_enabled": {
"default": false,
"title": "Tcf Enabled",
"type": "boolean"
},
"theme": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Theme"
}
},
"required": [
"site_id"
],
"title": "SiteConfigCreate",
"type": "object"
},
"SiteConfigUpdate": {
"properties": {
"banner_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Banner Description"
},
"banner_title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Banner Title"
},
"dsb_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsb Email"
},
"dsb_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsb Name"
},
"imprint_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Imprint Url"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"privacy_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Privacy Url"
},
"site_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Name"
},
"site_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Site Url"
},
"tcf_enabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Tcf Enabled"
},
"theme": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Theme"
}
},
"title": "SiteConfigUpdate",
"type": "object"
},
"SoAApproveRequest": {
"description": "Request to approve SoA entry.",
"properties": {
"approved_by": {
"title": "Approved By",
"type": "string"
},
"reviewed_by": {
"title": "Reviewed By",
"type": "string"
}
},
"required": [
"reviewed_by",
"approved_by"
],
"title": "SoAApproveRequest",
"type": "object"
},
"SoAEntryCreate": {
"description": "Schema for creating SoA Entry.",
"properties": {
"annex_a_category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Annex A Category"
},
"annex_a_control": {
"title": "Annex A Control",
"type": "string"
},
"annex_a_title": {
"title": "Annex A Title",
"type": "string"
},
"applicability_justification": {
"title": "Applicability Justification",
"type": "string"
},
"breakpilot_control_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Breakpilot Control Ids"
},
"compensating_controls": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Compensating Controls"
},
"coverage_level": {
"default": "full",
"title": "Coverage Level",
"type": "string"
},
"evidence_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Description"
},
"implementation_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Notes"
},
"implementation_status": {
"default": "planned",
"title": "Implementation Status",
"type": "string"
},
"is_applicable": {
"title": "Is Applicable",
"type": "boolean"
},
"risk_assessment_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risk Assessment Notes"
}
},
"required": [
"annex_a_control",
"annex_a_title",
"is_applicable",
"applicability_justification"
],
"title": "SoAEntryCreate",
"type": "object"
},
"SoAEntryResponse": {
"description": "Response schema for SoA Entry.",
"properties": {
"annex_a_category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Annex A Category"
},
"annex_a_control": {
"title": "Annex A Control",
"type": "string"
},
"annex_a_title": {
"title": "Annex A Title",
"type": "string"
},
"applicability_justification": {
"title": "Applicability Justification",
"type": "string"
},
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"breakpilot_control_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Breakpilot Control Ids"
},
"compensating_controls": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Compensating Controls"
},
"coverage_level": {
"default": "full",
"title": "Coverage Level",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"evidence_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Description"
},
"evidence_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence Ids"
},
"id": {
"title": "Id",
"type": "string"
},
"implementation_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Notes"
},
"implementation_status": {
"default": "planned",
"title": "Implementation Status",
"type": "string"
},
"is_applicable": {
"title": "Is Applicable",
"type": "boolean"
},
"reviewed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Reviewed At"
},
"reviewed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reviewed By"
},
"risk_assessment_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risk Assessment Notes"
},
"updated_at": {
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"annex_a_control",
"annex_a_title",
"is_applicable",
"applicability_justification",
"id",
"version",
"created_at",
"updated_at"
],
"title": "SoAEntryResponse",
"type": "object"
},
"SoAEntryUpdate": {
"description": "Schema for updating SoA Entry.",
"properties": {
"applicability_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability Justification"
},
"breakpilot_control_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Breakpilot Control Ids"
},
"coverage_level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coverage Level"
},
"evidence_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Description"
},
"implementation_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Notes"
},
"implementation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Status"
},
"is_applicable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Applicable"
}
},
"title": "SoAEntryUpdate",
"type": "object"
},
"SoAListResponse": {
"description": "List response for SoA.",
"properties": {
"applicable_count": {
"title": "Applicable Count",
"type": "integer"
},
"entries": {
"items": {
"$ref": "#/components/schemas/SoAEntryResponse"
},
"title": "Entries",
"type": "array"
},
"implemented_count": {
"title": "Implemented Count",
"type": "integer"
},
"not_applicable_count": {
"title": "Not Applicable Count",
"type": "integer"
},
"planned_count": {
"title": "Planned Count",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"entries",
"total",
"applicable_count",
"not_applicable_count",
"implemented_count",
"planned_count"
],
"title": "SoAListResponse",
"type": "object"
},
"SourceCreate": {
"properties": {
"active": {
"default": true,
"title": "Active",
"type": "boolean"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"domain": {
"title": "Domain",
"type": "string"
},
"legal_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis"
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata"
},
"name": {
"title": "Name",
"type": "string"
},
"source_type": {
"default": "legal",
"title": "Source Type",
"type": "string"
},
"trust_boost": {
"default": 0.5,
"maximum": 1.0,
"minimum": 0.0,
"title": "Trust Boost",
"type": "number"
}
},
"required": [
"domain",
"name"
],
"title": "SourceCreate",
"type": "object"
},
"SourceUpdate": {
"properties": {
"active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Active"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
},
"legal_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Basis"
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"source_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Type"
},
"trust_boost": {
"anyOf": [
{
"maximum": 1.0,
"minimum": 0.0,
"type": "number"
},
{
"type": "null"
}
],
"title": "Trust Boost"
}
},
"title": "SourceUpdate",
"type": "object"
},
"StatusChange": {
"properties": {
"comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"status"
],
"title": "StatusChange",
"type": "object"
},
"TOMMeasureBulkBody": {
"properties": {
"measures": {
"items": {
"$ref": "#/components/schemas/TOMMeasureBulkItem"
},
"title": "Measures",
"type": "array"
},
"tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
"required": [
"measures"
],
"title": "TOMMeasureBulkBody",
"type": "object"
},
"TOMMeasureBulkItem": {
"properties": {
"applicability": {
"default": "REQUIRED",
"title": "Applicability",
"type": "string"
},
"applicability_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability Reason"
},
"category": {
"title": "Category",
"type": "string"
},
"complexity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Complexity"
},
"control_id": {
"title": "Control Id",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"evidence_gaps": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence Gaps"
},
"implementation_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Date"
},
"implementation_status": {
"default": "NOT_IMPLEMENTED",
"title": "Implementation Status",
"type": "string"
},
"linked_evidence": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Evidence"
},
"name": {
"title": "Name",
"type": "string"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
},
"related_controls": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"responsible_department": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Department"
},
"responsible_person": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Person"
},
"review_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Date"
},
"review_frequency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Frequency"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"control_id",
"name",
"category",
"type"
],
"title": "TOMMeasureBulkItem",
"type": "object"
},
"TOMMeasureCreate": {
"properties": {
"applicability": {
"default": "REQUIRED",
"title": "Applicability",
"type": "string"
},
"applicability_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability Reason"
},
"category": {
"title": "Category",
"type": "string"
},
"complexity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Complexity"
},
"control_id": {
"title": "Control Id",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"effectiveness_rating": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effectiveness Rating"
},
"evidence_gaps": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence Gaps"
},
"implementation_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Date"
},
"implementation_status": {
"default": "NOT_IMPLEMENTED",
"title": "Implementation Status",
"type": "string"
},
"linked_evidence": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Evidence"
},
"name": {
"title": "Name",
"type": "string"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
},
"related_controls": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"responsible_department": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Department"
},
"responsible_person": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Person"
},
"review_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Date"
},
"review_frequency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Frequency"
},
"type": {
"title": "Type",
"type": "string"
},
"verified_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified At"
},
"verified_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified By"
}
},
"required": [
"control_id",
"name",
"category",
"type"
],
"title": "TOMMeasureCreate",
"type": "object"
},
"TOMMeasureUpdate": {
"properties": {
"applicability": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability"
},
"applicability_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Applicability Reason"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"complexity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Complexity"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"effectiveness_rating": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effectiveness Rating"
},
"evidence_gaps": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Evidence Gaps"
},
"implementation_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Date"
},
"implementation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Status"
},
"linked_evidence": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Linked Evidence"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
},
"related_controls": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Related Controls"
},
"responsible_department": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Department"
},
"responsible_person": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible Person"
},
"review_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Date"
},
"review_frequency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Frequency"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
},
"verified_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified At"
},
"verified_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Verified By"
}
},
"title": "TOMMeasureUpdate",
"type": "object"
},
"TOMStateBody": {
"properties": {
"state": {
"additionalProperties": true,
"title": "State",
"type": "object"
},
"tenantId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenantid"
},
"tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
},
"version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Version"
}
},
"required": [
"state"
],
"title": "TOMStateBody",
"type": "object"
},
"TeamWorkloadItem": {
"description": "Workload distribution for a team or person.",
"properties": {
"completed_tasks": {
"title": "Completed Tasks",
"type": "integer"
},
"completion_rate": {
"title": "Completion Rate",
"type": "number"
},
"in_progress_tasks": {
"title": "In Progress Tasks",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"pending_tasks": {
"title": "Pending Tasks",
"type": "integer"
},
"total_tasks": {
"title": "Total Tasks",
"type": "integer"
}
},
"required": [
"name",
"pending_tasks",
"in_progress_tasks",
"completed_tasks",
"total_tasks",
"completion_rate"
],
"title": "TeamWorkloadItem",
"type": "object"
},
"TemplateUpdate": {
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
}
},
"title": "TemplateUpdate",
"type": "object"
},
"TestCreate": {
"properties": {
"ai_system": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ai System"
},
"details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Details"
},
"duration": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Duration"
},
"last_run": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Run"
},
"name": {
"title": "Name",
"type": "string"
},
"status": {
"default": "pending",
"title": "Status",
"type": "string"
}
},
"required": [
"name"
],
"title": "TestCreate",
"type": "object"
},
"TestUpdate": {
"properties": {
"ai_system": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ai System"
},
"details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Details"
},
"duration": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Duration"
},
"last_run": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Run"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
"title": "TestUpdate",
"type": "object"
},
"TimelineEntryRequest": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"details": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Details"
}
},
"required": [
"action"
],
"title": "TimelineEntryRequest",
"type": "object"
},
"TrendDataPoint": {
"description": "A single data point for trend charts.",
"properties": {
"date": {
"title": "Date",
"type": "string"
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Label"
},
"score": {
"title": "Score",
"type": "number"
}
},
"required": [
"date",
"score"
],
"title": "TrendDataPoint",
"type": "object"
},
"UpdateDocumentRequest": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
},
"is_mandatory": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Mandatory"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"sort_order": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Sort Order"
}
},
"title": "UpdateDocumentRequest",
"type": "object"
},
"UpdateExceptionCheck": {
"properties": {
"applies": {
"title": "Applies",
"type": "boolean"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
}
},
"required": [
"applies"
],
"title": "UpdateExceptionCheck",
"type": "object"
},
"UpdateProjectRequest": {
"properties": {
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
}
},
"title": "UpdateProjectRequest",
"type": "object"
},
"UpdateVersionRequest": {
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "UpdateVersionRequest",
"type": "object"
},
"UserConsentCreate": {
"properties": {
"consented": {
"default": true,
"title": "Consented",
"type": "boolean"
},
"document_id": {
"title": "Document Id",
"type": "string"
},
"document_type": {
"title": "Document Type",
"type": "string"
},
"document_version_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Document Version Id"
},
"ip_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ip Address"
},
"user_agent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Agent"
},
"user_id": {
"title": "User Id",
"type": "string"
}
},
"required": [
"user_id",
"document_id",
"document_type"
],
"title": "UserConsentCreate",
"type": "object"
},
"VVTActivityCreate": {
"properties": {
"business_function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Business Function"
},
"created_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"data_flows": {
"default": [],
"items": {},
"title": "Data Flows",
"type": "array"
},
"data_sources": {
"default": [],
"items": {},
"title": "Data Sources",
"type": "array"
},
"data_subject_categories": {
"default": [],
"items": {
"type": "string"
},
"title": "Data Subject Categories",
"type": "array"
},
"deployment_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deployment Model"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"dpia_required": {
"default": false,
"title": "Dpia Required",
"type": "boolean"
},
"dsfa_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsfa Id"
},
"last_reviewed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Reviewed At"
},
"legal_bases": {
"default": [],
"items": {
"type": "string"
},
"title": "Legal Bases",
"type": "array"
},
"name": {
"title": "Name",
"type": "string"
},
"next_review_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review At"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"personal_data_categories": {
"default": [],
"items": {
"type": "string"
},
"title": "Personal Data Categories",
"type": "array"
},
"protection_level": {
"default": "MEDIUM",
"title": "Protection Level",
"type": "string"
},
"purposes": {
"default": [],
"items": {
"type": "string"
},
"title": "Purposes",
"type": "array"
},
"recipient_categories": {
"default": [],
"items": {
"type": "string"
},
"title": "Recipient Categories",
"type": "array"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"retention_period": {
"additionalProperties": true,
"default": {},
"title": "Retention Period",
"type": "object"
},
"status": {
"default": "DRAFT",
"title": "Status",
"type": "string"
},
"structured_toms": {
"additionalProperties": true,
"default": {},
"title": "Structured Toms",
"type": "object"
},
"systems": {
"default": [],
"items": {
"type": "string"
},
"title": "Systems",
"type": "array"
},
"third_country_transfers": {
"default": [],
"items": {},
"title": "Third Country Transfers",
"type": "array"
},
"tom_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tom Description"
},
"vvt_id": {
"title": "Vvt Id",
"type": "string"
}
},
"required": [
"vvt_id",
"name"
],
"title": "VVTActivityCreate",
"type": "object"
},
"VVTActivityResponse": {
"properties": {
"business_function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Business Function"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"created_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"data_flows": {
"default": [],
"items": {},
"title": "Data Flows",
"type": "array"
},
"data_sources": {
"default": [],
"items": {},
"title": "Data Sources",
"type": "array"
},
"data_subject_categories": {
"default": [],
"items": {},
"title": "Data Subject Categories",
"type": "array"
},
"deployment_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deployment Model"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"dpia_required": {
"default": false,
"title": "Dpia Required",
"type": "boolean"
},
"dsfa_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsfa Id"
},
"id": {
"title": "Id",
"type": "string"
},
"last_reviewed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Reviewed At"
},
"legal_bases": {
"default": [],
"items": {},
"title": "Legal Bases",
"type": "array"
},
"name": {
"title": "Name",
"type": "string"
},
"next_review_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review At"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"personal_data_categories": {
"default": [],
"items": {},
"title": "Personal Data Categories",
"type": "array"
},
"protection_level": {
"default": "MEDIUM",
"title": "Protection Level",
"type": "string"
},
"purposes": {
"default": [],
"items": {},
"title": "Purposes",
"type": "array"
},
"recipient_categories": {
"default": [],
"items": {},
"title": "Recipient Categories",
"type": "array"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"retention_period": {
"additionalProperties": true,
"default": {},
"title": "Retention Period",
"type": "object"
},
"status": {
"default": "DRAFT",
"title": "Status",
"type": "string"
},
"structured_toms": {
"additionalProperties": true,
"default": {},
"title": "Structured Toms",
"type": "object"
},
"systems": {
"default": [],
"items": {},
"title": "Systems",
"type": "array"
},
"third_country_transfers": {
"default": [],
"items": {},
"title": "Third Country Transfers",
"type": "array"
},
"tom_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tom Description"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
},
"vvt_id": {
"title": "Vvt Id",
"type": "string"
}
},
"required": [
"id",
"vvt_id",
"name",
"created_at"
],
"title": "VVTActivityResponse",
"type": "object"
},
"VVTActivityUpdate": {
"properties": {
"business_function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Business Function"
},
"created_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"data_flows": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Flows"
},
"data_sources": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Sources"
},
"data_subject_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Data Subject Categories"
},
"deployment_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deployment Model"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"dpia_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Dpia Required"
},
"dsfa_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dsfa Id"
},
"last_reviewed_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Reviewed At"
},
"legal_bases": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Legal Bases"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"next_review_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review At"
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Owner"
},
"personal_data_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Personal Data Categories"
},
"protection_level": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Protection Level"
},
"purposes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Purposes"
},
"recipient_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Recipient Categories"
},
"responsible": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsible"
},
"retention_period": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Retention Period"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"structured_toms": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Structured Toms"
},
"systems": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Systems"
},
"third_country_transfers": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Third Country Transfers"
},
"tom_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tom Description"
}
},
"title": "VVTActivityUpdate",
"type": "object"
},
"VVTAuditLogEntry": {
"properties": {
"action": {
"title": "Action",
"type": "string"
},
"changed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Changed By"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"entity_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Id"
},
"entity_type": {
"title": "Entity Type",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"new_values": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "New Values"
},
"old_values": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Old Values"
}
},
"required": [
"id",
"action",
"entity_type",
"created_at"
],
"title": "VVTAuditLogEntry",
"type": "object"
},
"VVTOrganizationResponse": {
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"dpo_contact": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Contact"
},
"dpo_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Name"
},
"employee_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Employee Count"
},
"id": {
"title": "Id",
"type": "string"
},
"industry": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Industry"
},
"last_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Review Date"
},
"locations": {
"default": [],
"items": {},
"title": "Locations",
"type": "array"
},
"next_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"organization_name": {
"title": "Organization Name",
"type": "string"
},
"review_interval": {
"default": "annual",
"title": "Review Interval",
"type": "string"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
},
"vvt_version": {
"default": "1.0",
"title": "Vvt Version",
"type": "string"
}
},
"required": [
"id",
"organization_name",
"created_at"
],
"title": "VVTOrganizationResponse",
"type": "object"
},
"VVTOrganizationUpdate": {
"properties": {
"dpo_contact": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Contact"
},
"dpo_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dpo Name"
},
"employee_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Employee Count"
},
"industry": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Industry"
},
"last_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Last Review Date"
},
"locations": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Locations"
},
"next_review_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"title": "Next Review Date"
},
"organization_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Organization Name"
},
"review_interval": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Review Interval"
},
"vvt_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vvt Version"
}
},
"title": "VVTOrganizationUpdate",
"type": "object"
},
"VVTStatsResponse": {
"properties": {
"approved_count": {
"title": "Approved Count",
"type": "integer"
},
"by_business_function": {
"additionalProperties": {
"type": "integer"
},
"title": "By Business Function",
"type": "object"
},
"by_status": {
"additionalProperties": {
"type": "integer"
},
"title": "By Status",
"type": "object"
},
"dpia_required_count": {
"title": "Dpia Required Count",
"type": "integer"
},
"draft_count": {
"title": "Draft Count",
"type": "integer"
},
"overdue_review_count": {
"default": 0,
"title": "Overdue Review Count",
"type": "integer"
},
"third_country_count": {
"title": "Third Country Count",
"type": "integer"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"total",
"by_status",
"by_business_function",
"dpia_required_count",
"third_country_count",
"draft_count",
"approved_count"
],
"title": "VVTStatsResponse",
"type": "object"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location",
"type": "array"
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
},
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError",
"type": "object"
},
"VendorConfigCreate": {
"properties": {
"category_key": {
"title": "Category Key",
"type": "string"
},
"cookie_names": {
"default": [],
"items": {
"type": "string"
},
"title": "Cookie Names",
"type": "array"
},
"description_de": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description De"
},
"description_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description En"
},
"retention_days": {
"default": 365,
"title": "Retention Days",
"type": "integer"
},
"vendor_name": {
"title": "Vendor Name",
"type": "string"
},
"vendor_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vendor Url"
}
},
"required": [
"vendor_name",
"category_key"
],
"title": "VendorConfigCreate",
"type": "object"
},
"VerifyIdentity": {
"properties": {
"document_ref": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Document Ref"
},
"method": {
"title": "Method",
"type": "string"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notes"
}
},
"required": [
"method"
],
"title": "VerifyIdentity",
"type": "object"
},
"VersionResponse": {
"properties": {
"approved_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved At"
},
"approved_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Approved By"
},
"content": {
"title": "Content",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"created_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"document_id": {
"title": "Document Id",
"type": "string"
},
"id": {
"title": "Id",
"type": "string"
},
"language": {
"title": "Language",
"type": "string"
},
"rejection_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Rejection Reason"
},
"status": {
"title": "Status",
"type": "string"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"title": {
"title": "Title",
"type": "string"
},
"updated_at": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"title": "Updated At"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"id",
"document_id",
"version",
"language",
"title",
"content",
"summary",
"status",
"created_by",
"approved_by",
"approved_at",
"rejection_reason",
"created_at",
"updated_at"
],
"title": "VersionResponse",
"type": "object"
},
"compliance__api__banner_routes__ConsentCreate": {
"properties": {
"categories": {
"default": [],
"items": {
"type": "string"
},
"title": "Categories",
"type": "array"
},
"consent_string": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Consent String"
},
"device_fingerprint": {
"title": "Device Fingerprint",
"type": "string"
},
"ip_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ip Address"
},
"site_id": {
"title": "Site Id",
"type": "string"
},
"user_agent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Agent"
},
"vendors": {
"default": [],
"items": {
"type": "string"
},
"title": "Vendors",
"type": "array"
}
},
"required": [
"site_id",
"device_fingerprint"
],
"title": "ConsentCreate",
"type": "object"
},
"compliance__api__einwilligungen_routes__ConsentCreate": {
"properties": {
"consent_version": {
"default": "1.0",
"title": "Consent Version",
"type": "string"
},
"data_point_id": {
"title": "Data Point Id",
"type": "string"
},
"granted": {
"title": "Granted",
"type": "boolean"
},
"ip_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ip Address"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"user_agent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Agent"
},
"user_id": {
"title": "User Id",
"type": "string"
}
},
"required": [
"user_id",
"data_point_id",
"granted"
],
"title": "ConsentCreate",
"type": "object"
},
"compliance__api__email_template_routes__TemplateCreate": {
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"template_type": {
"title": "Template Type",
"type": "string"
}
},
"required": [
"template_type"
],
"title": "TemplateCreate",
"type": "object"
},
"compliance__api__email_template_routes__VersionCreate": {
"properties": {
"body_html": {
"title": "Body Html",
"type": "string"
},
"body_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Body Text"
},
"language": {
"default": "de",
"title": "Language",
"type": "string"
},
"subject": {
"title": "Subject",
"type": "string"
},
"version": {
"default": "1.0",
"title": "Version",
"type": "string"
}
},
"required": [
"subject",
"body_html"
],
"title": "VersionCreate",
"type": "object"
},
"compliance__api__email_template_routes__VersionUpdate": {
"properties": {
"body_html": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Body Html"
},
"body_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Body Text"
},
"subject": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subject"
}
},
"title": "VersionUpdate",
"type": "object"
},
"compliance__api__incident_routes__IncidentCreate": {
"properties": {
"affected_data_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Data Categories"
},
"affected_data_subject_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 0,
"title": "Affected Data Subject Count"
},
"affected_systems": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Systems"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "data_breach",
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"detected_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Detected At"
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "medium",
"title": "Severity"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "IncidentCreate",
"type": "object"
},
"compliance__api__incident_routes__IncidentUpdate": {
"properties": {
"affected_data_categories": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Data Categories"
},
"affected_data_subject_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Affected Data Subject Count"
},
"affected_systems": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Systems"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "IncidentUpdate",
"type": "object"
},
"compliance__api__incident_routes__StatusUpdate": {
"properties": {
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"status"
],
"title": "StatusUpdate",
"type": "object"
},
"compliance__api__legal_document_routes__VersionCreate": {
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"created_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created By"
},
"document_id": {
"title": "Document Id",
"type": "string"
},
"language": {
"default": "de",
"title": "Language",
"type": "string"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"title": {
"title": "Title",
"type": "string"
},
"version": {
"title": "Version",
"type": "string"
}
},
"required": [
"document_id",
"version",
"title",
"content"
],
"title": "VersionCreate",
"type": "object"
},
"compliance__api__legal_document_routes__VersionUpdate": {
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Content"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Version"
}
},
"title": "VersionUpdate",
"type": "object"
},
"compliance__api__notfallplan_routes__IncidentCreate": {
"properties": {
"affected_data_categories": {
"default": [],
"items": {},
"title": "Affected Data Categories",
"type": "array"
},
"art34_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Art34 Justification"
},
"art34_required": {
"default": false,
"title": "Art34 Required",
"type": "boolean"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"detected_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Detected By"
},
"estimated_affected_persons": {
"default": 0,
"title": "Estimated Affected Persons",
"type": "integer"
},
"measures": {
"default": [],
"items": {},
"title": "Measures",
"type": "array"
},
"severity": {
"default": "medium",
"title": "Severity",
"type": "string"
},
"status": {
"default": "detected",
"title": "Status",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
}
},
"required": [
"title"
],
"title": "IncidentCreate",
"type": "object"
},
"compliance__api__notfallplan_routes__IncidentUpdate": {
"properties": {
"affected_data_categories": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Affected Data Categories"
},
"art34_justification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Art34 Justification"
},
"art34_required": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Art34 Required"
},
"closed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Closed At"
},
"closed_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Closed By"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"detected_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Detected By"
},
"estimated_affected_persons": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Estimated Affected Persons"
},
"lessons_learned": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lessons Learned"
},
"measures": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"title": "Measures"
},
"notified_affected_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notified Affected At"
},
"reported_to_authority_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reported To Authority At"
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
}
},
"title": "IncidentUpdate",
"type": "object"
},
"compliance__api__notfallplan_routes__TemplateCreate": {
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"type": {
"default": "art33",
"title": "Type",
"type": "string"
}
},
"required": [
"title",
"content"
],
"title": "TemplateCreate",
"type": "object"
}
}
},
"info": {
"description": "GDPR/DSGVO Compliance, Consent Management, Data Subject Requests, and Regulatory Compliance Framework",
"title": "BreakPilot Compliance Backend",
"version": "1.0.0"
},
"openapi": "3.1.0",
"paths": {
"/api/compliance/ai/systems": {
"get": {
"description": "List all registered AI systems.",
"operationId": "list_ai_systems_api_compliance_ai_systems_get",
"parameters": [
{
"description": "Filter by classification",
"in": "query",
"name": "classification",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by classification",
"title": "Classification"
}
},
{
"description": "Filter by status",
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by status",
"title": "Status"
}
},
{
"description": "Filter by sector",
"in": "query",
"name": "sector",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by sector",
"title": "Sector"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Ai Systems",
"tags": [
"compliance",
"compliance-ai"
]
},
"post": {
"description": "Register a new AI system.",
"operationId": "create_ai_system_api_compliance_ai_systems_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Ai System",
"tags": [
"compliance",
"compliance-ai"
]
}
},
"/api/compliance/ai/systems/{system_id}": {
"delete": {
"description": "Delete an AI system.",
"operationId": "delete_ai_system_api_compliance_ai_systems__system_id__delete",
"parameters": [
{
"in": "path",
"name": "system_id",
"required": true,
"schema": {
"title": "System Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Ai System",
"tags": [
"compliance",
"compliance-ai"
]
},
"get": {
"description": "Get a specific AI system by ID.",
"operationId": "get_ai_system_api_compliance_ai_systems__system_id__get",
"parameters": [
{
"in": "path",
"name": "system_id",
"required": true,
"schema": {
"title": "System Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Ai System",
"tags": [
"compliance",
"compliance-ai"
]
},
"put": {
"description": "Update an AI system.",
"operationId": "update_ai_system_api_compliance_ai_systems__system_id__put",
"parameters": [
{
"in": "path",
"name": "system_id",
"required": true,
"schema": {
"title": "System Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Ai System",
"tags": [
"compliance",
"compliance-ai"
]
}
},
"/api/compliance/ai/systems/{system_id}/assess": {
"post": {
"description": "Run AI Act risk assessment for an AI system.",
"operationId": "assess_ai_system_api_compliance_ai_systems__system_id__assess_post",
"parameters": [
{
"in": "path",
"name": "system_id",
"required": true,
"schema": {
"title": "System Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AISystemResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Assess Ai System",
"tags": [
"compliance",
"compliance-ai"
]
}
},
"/api/compliance/audit/checklist/{session_id}": {
"get": {
"description": "Get the audit checklist for a session with pagination.\n\nReturns requirements with their current sign-off status.",
"operationId": "get_audit_checklist_api_compliance_audit_checklist__session_id__get",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Page Size",
"type": "integer"
}
},
{
"in": "query",
"name": "status_filter",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status Filter"
}
},
{
"in": "query",
"name": "regulation_filter",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulation Filter"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditChecklistResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Checklist",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/checklist/{session_id}/items/{requirement_id}": {
"get": {
"description": "Get the current sign-off status for a specific requirement.",
"operationId": "get_sign_off_api_compliance_audit_checklist__session_id__items__requirement_id__get",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
},
{
"in": "path",
"name": "requirement_id",
"required": true,
"schema": {
"title": "Requirement Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SignOffResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Sign Off",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/checklist/{session_id}/items/{requirement_id}/sign-off": {
"put": {
"description": "Sign off on a specific requirement in an audit session.\n\nIf sign=True, creates a digital signature (SHA-256 hash).",
"operationId": "sign_off_item_api_compliance_audit_checklist__session_id__items__requirement_id__sign_off_put",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
},
{
"in": "path",
"name": "requirement_id",
"required": true,
"schema": {
"title": "Requirement Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SignOffRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SignOffResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Sign Off Item",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/sessions": {
"get": {
"description": "List all audit sessions, optionally filtered by status.",
"operationId": "list_audit_sessions_api_compliance_audit_sessions_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/AuditSessionSummary"
},
"title": "Response List Audit Sessions Api Compliance Audit Sessions Get",
"type": "array"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Audit Sessions",
"tags": [
"compliance",
"compliance-audit"
]
},
"post": {
"description": "Create a new audit session for structured compliance reviews.\n\nAn audit session groups requirements for systematic review by an auditor.",
"operationId": "create_audit_session_api_compliance_audit_sessions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAuditSessionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditSessionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Audit Session",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/sessions/{session_id}": {
"delete": {
"description": "Delete an audit session and all its sign-offs.\n\nOnly draft sessions can be deleted.",
"operationId": "delete_audit_session_api_compliance_audit_sessions__session_id__delete",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Audit Session",
"tags": [
"compliance",
"compliance-audit"
]
},
"get": {
"description": "Get detailed information about a specific audit session.",
"operationId": "get_audit_session_api_compliance_audit_sessions__session_id__get",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditSessionDetailResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Session",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/sessions/{session_id}/archive": {
"put": {
"description": "Archive a completed audit session.",
"operationId": "archive_audit_session_api_compliance_audit_sessions__session_id__archive_put",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Archive Audit Session",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/sessions/{session_id}/complete": {
"put": {
"description": "Complete an audit session (change status from in_progress to completed).",
"operationId": "complete_audit_session_api_compliance_audit_sessions__session_id__complete_put",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Complete Audit Session",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/sessions/{session_id}/report/pdf": {
"get": {
"description": "Generate a PDF report for an audit session.\n\nParameters:\n- session_id: The audit session ID\n- language: Output language ('de' or 'en'), default 'de'\n- include_signatures: Include digital signature verification section\n\nReturns:\n- PDF file as streaming response",
"operationId": "generate_audit_pdf_report_api_compliance_audit_sessions__session_id__report_pdf_get",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
},
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"pattern": "^(de|en)$",
"title": "Language",
"type": "string"
}
},
{
"in": "query",
"name": "include_signatures",
"required": false,
"schema": {
"default": true,
"title": "Include Signatures",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Generate Audit Pdf Report",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/audit/sessions/{session_id}/start": {
"put": {
"description": "Start an audit session (change status from draft to in_progress).",
"operationId": "start_audit_session_api_compliance_audit_sessions__session_id__start_put",
"parameters": [
{
"in": "path",
"name": "session_id",
"required": true,
"schema": {
"title": "Session Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Start Audit Session",
"tags": [
"compliance",
"compliance-audit"
]
}
},
"/api/compliance/banner/admin/categories/{category_id}": {
"delete": {
"description": "Delete a category.",
"operationId": "delete_category_api_compliance_banner_admin_categories__category_id__delete",
"parameters": [
{
"in": "path",
"name": "category_id",
"required": true,
"schema": {
"title": "Category Id",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Category",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/admin/sites": {
"get": {
"description": "List all site configurations.",
"operationId": "list_site_configs_api_compliance_banner_admin_sites_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Site Configs",
"tags": [
"compliance",
"compliance-banner"
]
},
"post": {
"description": "Create a site configuration.",
"operationId": "create_site_config_api_compliance_banner_admin_sites_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteConfigCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Site Config",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/admin/sites/{site_id}": {
"delete": {
"description": "Delete a site configuration.",
"operationId": "delete_site_config_api_compliance_banner_admin_sites__site_id__delete",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Site Config",
"tags": [
"compliance",
"compliance-banner"
]
},
"put": {
"description": "Update a site configuration.",
"operationId": "update_site_config_api_compliance_banner_admin_sites__site_id__put",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteConfigUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Site Config",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/admin/sites/{site_id}/categories": {
"get": {
"description": "List categories for a site.",
"operationId": "list_categories_api_compliance_banner_admin_sites__site_id__categories_get",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Categories",
"tags": [
"compliance",
"compliance-banner"
]
},
"post": {
"description": "Create a category for a site.",
"operationId": "create_category_api_compliance_banner_admin_sites__site_id__categories_post",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CategoryConfigCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Category",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/admin/sites/{site_id}/vendors": {
"get": {
"description": "List vendors for a site.",
"operationId": "list_vendors_api_compliance_banner_admin_sites__site_id__vendors_get",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Vendors",
"tags": [
"compliance",
"compliance-banner"
]
},
"post": {
"description": "Create a vendor for a site.",
"operationId": "create_vendor_api_compliance_banner_admin_sites__site_id__vendors_post",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VendorConfigCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Vendor",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/admin/stats/{site_id}": {
"get": {
"description": "Consent statistics per site.",
"operationId": "get_site_stats_api_compliance_banner_admin_stats__site_id__get",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Site Stats",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/admin/vendors/{vendor_id}": {
"delete": {
"description": "Delete a vendor.",
"operationId": "delete_vendor_api_compliance_banner_admin_vendors__vendor_id__delete",
"parameters": [
{
"in": "path",
"name": "vendor_id",
"required": true,
"schema": {
"title": "Vendor Id",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Vendor",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/config/{site_id}": {
"get": {
"description": "Load site configuration for banner display.",
"operationId": "get_site_config_api_compliance_banner_config__site_id__get",
"parameters": [
{
"in": "path",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Site Config",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/consent": {
"get": {
"description": "Retrieve consent for a device.",
"operationId": "get_consent_api_compliance_banner_consent_get",
"parameters": [
{
"in": "query",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "query",
"name": "device_fingerprint",
"required": true,
"schema": {
"title": "Device Fingerprint",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Consent",
"tags": [
"compliance",
"compliance-banner"
]
},
"post": {
"description": "Record device consent (upsert by site_id + device_fingerprint).",
"operationId": "record_consent_api_compliance_banner_consent_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__banner_routes__ConsentCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Record Consent",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/consent/export": {
"get": {
"description": "DSGVO export of all consent data for a device.",
"operationId": "export_consent_api_compliance_banner_consent_export_get",
"parameters": [
{
"in": "query",
"name": "site_id",
"required": true,
"schema": {
"title": "Site Id",
"type": "string"
}
},
{
"in": "query",
"name": "device_fingerprint",
"required": true,
"schema": {
"title": "Device Fingerprint",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export Consent",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/banner/consent/{consent_id}": {
"delete": {
"description": "Withdraw a banner consent.",
"operationId": "withdraw_consent_api_compliance_banner_consent__consent_id__delete",
"parameters": [
{
"in": "path",
"name": "consent_id",
"required": true,
"schema": {
"title": "Consent Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Withdraw Consent",
"tags": [
"compliance",
"compliance-banner"
]
}
},
"/api/compliance/change-requests": {
"get": {
"description": "List change requests with optional filters.",
"operationId": "list_change_requests_api_compliance_change_requests_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "target_document_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Target Document Type"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
}
},
{
"in": "query",
"name": "skip",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Skip",
"type": "integer"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Change Requests",
"tags": [
"compliance",
"change-requests"
]
},
"post": {
"description": "Create a change request manually.",
"operationId": "create_change_request_api_compliance_change_requests_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-User-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Change Request",
"tags": [
"compliance",
"change-requests"
]
}
},
"/api/compliance/change-requests/stats": {
"get": {
"description": "Summary counts for change requests.",
"operationId": "get_stats_api_compliance_change_requests_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"change-requests"
]
}
},
"/api/compliance/change-requests/{cr_id}": {
"delete": {
"description": "Soft-delete a change request.",
"operationId": "delete_change_request_api_compliance_change_requests__cr_id__delete",
"parameters": [
{
"in": "path",
"name": "cr_id",
"required": true,
"schema": {
"title": "Cr Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-User-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Change Request",
"tags": [
"compliance",
"change-requests"
]
},
"get": {
"description": "Get change request detail with audit log.",
"operationId": "get_change_request_api_compliance_change_requests__cr_id__get",
"parameters": [
{
"in": "path",
"name": "cr_id",
"required": true,
"schema": {
"title": "Cr Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Change Request",
"tags": [
"compliance",
"change-requests"
]
}
},
"/api/compliance/change-requests/{cr_id}/accept": {
"post": {
"description": "Accept a change request \u2192 creates a new document version.",
"operationId": "accept_change_request_api_compliance_change_requests__cr_id__accept_post",
"parameters": [
{
"in": "path",
"name": "cr_id",
"required": true,
"schema": {
"title": "Cr Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-User-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Accept Change Request",
"tags": [
"compliance",
"change-requests"
]
}
},
"/api/compliance/change-requests/{cr_id}/edit": {
"post": {
"description": "Edit the proposal, then auto-accept.",
"operationId": "edit_change_request_api_compliance_change_requests__cr_id__edit_post",
"parameters": [
{
"in": "path",
"name": "cr_id",
"required": true,
"schema": {
"title": "Cr Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-User-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestEdit"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Edit Change Request",
"tags": [
"compliance",
"change-requests"
]
}
},
"/api/compliance/change-requests/{cr_id}/reject": {
"post": {
"description": "Reject a change request with reason.",
"operationId": "reject_change_request_api_compliance_change_requests__cr_id__reject_post",
"parameters": [
{
"in": "path",
"name": "cr_id",
"required": true,
"schema": {
"title": "Cr Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-User-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestReject"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Reject Change Request",
"tags": [
"compliance",
"change-requests"
]
}
},
"/api/compliance/compliance/extract-requirements-from-rag": {
"post": {
"description": "Search all RAG collections for Pr\u00fcfaspekte / audit criteria and create\nRequirement entries in the compliance DB.\n\n- Deduplicates by (regulation_code, article) \u2014 safe to call multiple times.\n- Auto-creates Regulation stubs for previously unknown regulation_codes.\n- Use `dry_run=true` to preview results without any DB writes.\n- Use `regulation_codes` to restrict to specific regulations (e.g. [\"BSI-TR-03161-1\"]).",
"operationId": "extract_requirements_from_rag_api_compliance_compliance_extract_requirements_from_rag_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExtractionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExtractionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Extract Requirements From Rag",
"tags": [
"compliance",
"extraction"
]
}
},
"/api/compliance/consent-templates": {
"get": {
"description": "List all email templates for a tenant.",
"operationId": "list_consent_templates_api_compliance_consent_templates_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Consent Templates",
"tags": [
"compliance",
"consent-templates"
]
},
"post": {
"description": "Create a new email template.",
"operationId": "create_consent_template_api_compliance_consent_templates_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConsentTemplateCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Consent Template",
"tags": [
"compliance",
"consent-templates"
]
}
},
"/api/compliance/consent-templates/{template_id}": {
"delete": {
"description": "Delete an email template.",
"operationId": "delete_consent_template_api_compliance_consent_templates__template_id__delete",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Consent Template",
"tags": [
"compliance",
"consent-templates"
]
},
"put": {
"description": "Update an existing email template.",
"operationId": "update_consent_template_api_compliance_consent_templates__template_id__put",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConsentTemplateUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Consent Template",
"tags": [
"compliance",
"consent-templates"
]
}
},
"/api/compliance/controls": {
"get": {
"description": "List all controls with optional filters.",
"operationId": "list_controls_api_compliance_controls_get",
"parameters": [
{
"in": "query",
"name": "domain",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "is_automated",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Automated"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Controls",
"tags": [
"compliance"
]
}
},
"/api/compliance/controls/by-domain/{domain}": {
"get": {
"description": "Get controls by domain.",
"operationId": "get_controls_by_domain_api_compliance_controls_by_domain__domain__get",
"parameters": [
{
"in": "path",
"name": "domain",
"required": true,
"schema": {
"title": "Domain",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Controls By Domain",
"tags": [
"compliance"
]
}
},
"/api/compliance/controls/paginated": {
"get": {
"description": "List controls with pagination and eager-loaded relationships.\n\nThis endpoint is optimized for large datasets with:\n- Eager loading to prevent N+1 queries\n- Server-side pagination\n- Full-text search support",
"operationId": "list_controls_paginated_api_compliance_controls_paginated_get",
"parameters": [
{
"description": "Page number",
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"description": "Page number",
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"description": "Items per page",
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 50,
"description": "Items per page",
"maximum": 500,
"minimum": 1,
"title": "Page Size",
"type": "integer"
}
},
{
"description": "Filter by domain",
"in": "query",
"name": "domain",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by domain",
"title": "Domain"
}
},
{
"description": "Filter by status",
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by status",
"title": "Status"
}
},
{
"description": "Filter by automation",
"in": "query",
"name": "is_automated",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter by automation",
"title": "Is Automated"
}
},
{
"description": "Search in title/description",
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search in title/description",
"title": "Search"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedControlResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Controls Paginated",
"tags": [
"compliance"
]
}
},
"/api/compliance/controls/{control_id}": {
"get": {
"description": "Get a specific control by control_id.",
"operationId": "get_control_api_compliance_controls__control_id__get",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Control",
"tags": [
"compliance"
]
},
"put": {
"description": "Update a control.",
"operationId": "update_control_api_compliance_controls__control_id__put",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Control",
"tags": [
"compliance"
]
}
},
"/api/compliance/controls/{control_id}/review": {
"put": {
"description": "Mark a control as reviewed with new status.",
"operationId": "review_control_api_compliance_controls__control_id__review_put",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlReviewRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Review Control",
"tags": [
"compliance"
]
}
},
"/api/compliance/create-indexes": {
"post": {
"description": "Create additional performance indexes for large datasets.\n\nThese indexes are optimized for:\n- Pagination queries (1000+ requirements)\n- Full-text search\n- Filtering by status/priority",
"operationId": "create_performance_indexes_api_compliance_create_indexes_post",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Create Performance Indexes",
"tags": [
"compliance"
]
}
},
"/api/compliance/dashboard": {
"get": {
"description": "Get compliance dashboard statistics.",
"operationId": "get_dashboard_api_compliance_dashboard_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DashboardResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Dashboard",
"tags": [
"compliance",
"compliance-dashboard"
]
}
},
"/api/compliance/dashboard/executive": {
"get": {
"description": "Get executive dashboard for managers and decision makers.\n\nProvides:\n- Traffic light status (green/yellow/red)\n- Overall compliance score with trend\n- Top 5 open risks\n- Upcoming deadlines (control reviews, evidence expiry)\n- Team workload distribution",
"operationId": "get_executive_dashboard_api_compliance_dashboard_executive_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExecutiveDashboardResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Executive Dashboard",
"tags": [
"compliance",
"compliance-dashboard"
]
}
},
"/api/compliance/dashboard/trend": {
"get": {
"description": "Get compliance score trend over time.\n\nReturns monthly compliance scores for trend visualization.",
"operationId": "get_compliance_trend_api_compliance_dashboard_trend_get",
"parameters": [
{
"description": "Number of months to include",
"in": "query",
"name": "months",
"required": false,
"schema": {
"default": 12,
"description": "Number of months to include",
"maximum": 24,
"minimum": 1,
"title": "Months",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Compliance Trend",
"tags": [
"compliance",
"compliance-dashboard"
]
}
},
"/api/compliance/dsfa": {
"get": {
"description": "Liste aller DSFAs f\u00fcr einen Tenant.",
"operationId": "list_dsfas_api_compliance_dsfa_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "risk_level",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risk Level"
}
},
{
"in": "query",
"name": "skip",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Skip",
"type": "integer"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Dsfas",
"tags": [
"compliance",
"compliance-dsfa"
]
},
"post": {
"description": "Neue DSFA erstellen.",
"operationId": "create_dsfa_api_compliance_dsfa_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSFACreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Dsfa",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/audit-log": {
"get": {
"description": "DSFA Audit-Trail.",
"operationId": "get_audit_log_api_compliance_dsfa_audit_log_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Log",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/by-assessment/{assessment_id}": {
"get": {
"description": "Stub: Get DSFA by linked UCCA assessment ID.",
"operationId": "get_by_assessment_api_compliance_dsfa_by_assessment__assessment_id__get",
"parameters": [
{
"in": "path",
"name": "assessment_id",
"required": true,
"schema": {
"title": "Assessment Id",
"type": "string"
}
}
],
"responses": {
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
},
"501": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get By Assessment",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/export/csv": {
"get": {
"description": "Export all DSFAs as CSV.",
"operationId": "export_dsfas_csv_api_compliance_dsfa_export_csv_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export Dsfas Csv",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/from-assessment/{assessment_id}": {
"post": {
"description": "Stub: Create DSFA from UCCA assessment. Requires cross-service communication.",
"operationId": "create_from_assessment_api_compliance_dsfa_from_assessment__assessment_id__post",
"parameters": [
{
"in": "path",
"name": "assessment_id",
"required": true,
"schema": {
"title": "Assessment Id",
"type": "string"
}
}
],
"responses": {
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
},
"501": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Create From Assessment",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/stats": {
"get": {
"description": "Z\u00e4hler nach Status und Risiko-Level.",
"operationId": "get_stats_api_compliance_dsfa_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}": {
"delete": {
"description": "DSFA l\u00f6schen (Art. 17 DSGVO).",
"operationId": "delete_dsfa_api_compliance_dsfa__dsfa_id__delete",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Dsfa",
"tags": [
"compliance",
"compliance-dsfa"
]
},
"get": {
"description": "Einzelne DSFA abrufen.",
"operationId": "get_dsfa_api_compliance_dsfa__dsfa_id__get",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Dsfa",
"tags": [
"compliance",
"compliance-dsfa"
]
},
"put": {
"description": "DSFA aktualisieren.",
"operationId": "update_dsfa_api_compliance_dsfa__dsfa_id__put",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSFAUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Dsfa",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/approve": {
"post": {
"description": "Approve or reject a DSFA (DPO/CISO action).",
"operationId": "approve_dsfa_api_compliance_dsfa__dsfa_id__approve_post",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSFAApproveRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Dsfa",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/export": {
"get": {
"description": "Export a single DSFA as JSON.",
"operationId": "export_dsfa_json_api_compliance_dsfa__dsfa_id__export_get",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "format",
"required": false,
"schema": {
"default": "json",
"title": "Format",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export Dsfa Json",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/sections/{section_number}": {
"put": {
"description": "Update a specific DSFA section (1-8).",
"operationId": "update_section_api_compliance_dsfa__dsfa_id__sections__section_number__put",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "path",
"name": "section_number",
"required": true,
"schema": {
"title": "Section Number",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSFASectionUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Section",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/status": {
"patch": {
"description": "Schnell-Statuswechsel.",
"operationId": "update_dsfa_status_api_compliance_dsfa__dsfa_id__status_patch",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSFAStatusUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Dsfa Status",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/submit-for-review": {
"post": {
"description": "Submit a DSFA for DPO review (draft \u2192 in-review).",
"operationId": "submit_for_review_api_compliance_dsfa__dsfa_id__submit_for_review_post",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Submit For Review",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/versions": {
"get": {
"description": "List all versions for a DSFA.",
"operationId": "list_dsfa_versions_api_compliance_dsfa__dsfa_id__versions_get",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Dsfa Versions",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsfa/{dsfa_id}/versions/{version_number}": {
"get": {
"description": "Get a specific DSFA version with full snapshot.",
"operationId": "get_dsfa_version_api_compliance_dsfa__dsfa_id__versions__version_number__get",
"parameters": [
{
"in": "path",
"name": "dsfa_id",
"required": true,
"schema": {
"title": "Dsfa Id",
"type": "string"
}
},
{
"in": "path",
"name": "version_number",
"required": true,
"schema": {
"title": "Version Number",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Dsfa Version",
"tags": [
"compliance",
"compliance-dsfa"
]
}
},
"/api/compliance/dsr": {
"get": {
"description": "Liste aller DSRs mit Filtern.",
"operationId": "list_dsrs_api_compliance_dsr_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "request_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Request Type"
}
},
{
"in": "query",
"name": "assigned_to",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
}
},
{
"in": "query",
"name": "overdue_only",
"required": false,
"schema": {
"default": false,
"title": "Overdue Only",
"type": "boolean"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "from_date",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "From Date"
}
},
{
"in": "query",
"name": "to_date",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "To Date"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 20,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Dsrs",
"tags": [
"compliance",
"compliance-dsr"
]
},
"post": {
"description": "Erstellt eine neue Betroffenenanfrage.",
"operationId": "create_dsr_api_compliance_dsr_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSRCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/deadlines/process": {
"post": {
"description": "Verarbeitet Fristen und markiert ueberfaellige DSRs.",
"operationId": "process_deadlines_api_compliance_dsr_deadlines_process_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Process Deadlines",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/export": {
"get": {
"description": "Exportiert alle DSRs als CSV oder JSON.",
"operationId": "export_dsrs_api_compliance_dsr_export_get",
"parameters": [
{
"in": "query",
"name": "format",
"required": false,
"schema": {
"default": "csv",
"pattern": "^(csv|json)$",
"title": "Format",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export Dsrs",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/stats": {
"get": {
"description": "Dashboard-Statistiken fuer DSRs.",
"operationId": "get_dsr_stats_api_compliance_dsr_stats_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Dsr Stats",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/template-versions/{version_id}/publish": {
"put": {
"description": "Veroeffentlicht eine Vorlagen-Version.",
"operationId": "publish_template_version_api_compliance_dsr_template_versions__version_id__publish_put",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Publish Template Version",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/templates": {
"get": {
"description": "Gibt alle DSR-Vorlagen zurueck.",
"operationId": "get_templates_api_compliance_dsr_templates_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Templates",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/templates/published": {
"get": {
"description": "Gibt publizierte Vorlagen zurueck.",
"operationId": "get_published_templates_api_compliance_dsr_templates_published_get",
"parameters": [
{
"in": "query",
"name": "request_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Request Type"
}
},
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"title": "Language",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Published Templates",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/templates/{template_id}/versions": {
"get": {
"description": "Gibt alle Versionen einer Vorlage zurueck.",
"operationId": "get_template_versions_api_compliance_dsr_templates__template_id__versions_get",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Template Versions",
"tags": [
"compliance",
"compliance-dsr"
]
},
"post": {
"description": "Erstellt eine neue Version einer Vorlage.",
"operationId": "create_template_version_api_compliance_dsr_templates__template_id__versions_post",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTemplateVersion"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Template Version",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}": {
"delete": {
"description": "Storniert eine DSR (Soft Delete \u2192 Status cancelled).",
"operationId": "delete_dsr_api_compliance_dsr__dsr_id__delete",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
},
"get": {
"description": "Detail einer Betroffenenanfrage.",
"operationId": "get_dsr_api_compliance_dsr__dsr_id__get",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
},
"put": {
"description": "Aktualisiert eine Betroffenenanfrage.",
"operationId": "update_dsr_api_compliance_dsr__dsr_id__put",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DSRUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/assign": {
"post": {
"description": "Weist eine DSR einem Bearbeiter zu.",
"operationId": "assign_dsr_api_compliance_dsr__dsr_id__assign_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssignRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Assign Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/communicate": {
"post": {
"description": "Sendet eine Kommunikation.",
"operationId": "send_communication_api_compliance_dsr__dsr_id__communicate_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendCommunication"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Send Communication",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/communications": {
"get": {
"description": "Gibt die Kommunikationshistorie zurueck.",
"operationId": "get_communications_api_compliance_dsr__dsr_id__communications_get",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Communications",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/complete": {
"post": {
"description": "Schliesst eine DSR erfolgreich ab.",
"operationId": "complete_dsr_api_compliance_dsr__dsr_id__complete_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompleteDSR"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Complete Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/exception-checks": {
"get": {
"description": "Gibt die Art. 17(3) Ausnahmepruefungen zurueck.",
"operationId": "get_exception_checks_api_compliance_dsr__dsr_id__exception_checks_get",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Exception Checks",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/exception-checks/init": {
"post": {
"description": "Initialisiert die Art. 17(3) Ausnahmepruefungen fuer eine Loeschanfrage.",
"operationId": "init_exception_checks_api_compliance_dsr__dsr_id__exception_checks_init_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Init Exception Checks",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/exception-checks/{check_id}": {
"put": {
"description": "Aktualisiert eine einzelne Ausnahmepruefung.",
"operationId": "update_exception_check_api_compliance_dsr__dsr_id__exception_checks__check_id__put",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "path",
"name": "check_id",
"required": true,
"schema": {
"title": "Check Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateExceptionCheck"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Exception Check",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/extend": {
"post": {
"description": "Verlaengert die Bearbeitungsfrist (Art. 12 Abs. 3 DSGVO).",
"operationId": "extend_deadline_api_compliance_dsr__dsr_id__extend_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExtendDeadline"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Extend Deadline",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/history": {
"get": {
"description": "Gibt die Status-Historie zurueck.",
"operationId": "get_history_api_compliance_dsr__dsr_id__history_get",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get History",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/reject": {
"post": {
"description": "Lehnt eine DSR mit Rechtsgrundlage ab.",
"operationId": "reject_dsr_api_compliance_dsr__dsr_id__reject_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RejectDSR"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Reject Dsr",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/status": {
"post": {
"description": "Aendert den Status einer DSR.",
"operationId": "change_status_api_compliance_dsr__dsr_id__status_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusChange"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Change Status",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/dsr/{dsr_id}/verify-identity": {
"post": {
"description": "Verifiziert die Identitaet des Antragstellers.",
"operationId": "verify_identity_api_compliance_dsr__dsr_id__verify_identity_post",
"parameters": [
{
"in": "path",
"name": "dsr_id",
"required": true,
"schema": {
"title": "Dsr Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyIdentity"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Verify Identity",
"tags": [
"compliance",
"compliance-dsr"
]
}
},
"/api/compliance/einwilligungen/catalog": {
"get": {
"description": "Load the data point catalog for a tenant.",
"operationId": "get_catalog_api_compliance_einwilligungen_catalog_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Catalog",
"tags": [
"compliance",
"einwilligungen"
]
},
"put": {
"description": "Create or update the data point catalog for a tenant.",
"operationId": "upsert_catalog_api_compliance_einwilligungen_catalog_put",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogUpsert"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upsert Catalog",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/einwilligungen/company": {
"get": {
"description": "Load company information for DSI generation.",
"operationId": "get_company_api_compliance_einwilligungen_company_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Company",
"tags": [
"compliance",
"einwilligungen"
]
},
"put": {
"description": "Create or update company information for a tenant.",
"operationId": "upsert_company_api_compliance_einwilligungen_company_put",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyUpsert"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upsert Company",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/einwilligungen/consents": {
"get": {
"description": "List consent records with optional filters and pagination.",
"operationId": "list_consents_api_compliance_einwilligungen_consents_get",
"parameters": [
{
"in": "query",
"name": "user_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id"
}
},
{
"in": "query",
"name": "data_point_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Point Id"
}
},
{
"in": "query",
"name": "granted",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Granted"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Consents",
"tags": [
"compliance",
"einwilligungen"
]
},
"post": {
"description": "Record a new consent entry.",
"operationId": "create_consent_api_compliance_einwilligungen_consents_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__einwilligungen_routes__ConsentCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Consent",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/einwilligungen/consents/stats": {
"get": {
"description": "Get consent statistics for a tenant.",
"operationId": "get_consent_stats_api_compliance_einwilligungen_consents_stats_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Consent Stats",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/einwilligungen/consents/{consent_id}/history": {
"get": {
"description": "Get the change history for a specific consent record.",
"operationId": "get_consent_history_api_compliance_einwilligungen_consents__consent_id__history_get",
"parameters": [
{
"in": "path",
"name": "consent_id",
"required": true,
"schema": {
"title": "Consent Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Consent History",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/einwilligungen/consents/{consent_id}/revoke": {
"put": {
"description": "Revoke an active consent.",
"operationId": "revoke_consent_api_compliance_einwilligungen_consents__consent_id__revoke_put",
"parameters": [
{
"in": "path",
"name": "consent_id",
"required": true,
"schema": {
"title": "Consent Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Revoke Consent",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/einwilligungen/cookies": {
"get": {
"description": "Load cookie banner configuration for a tenant.",
"operationId": "get_cookies_api_compliance_einwilligungen_cookies_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Cookies",
"tags": [
"compliance",
"einwilligungen"
]
},
"put": {
"description": "Create or update cookie banner configuration for a tenant.",
"operationId": "upsert_cookies_api_compliance_einwilligungen_cookies_put",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CookiesUpsert"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upsert Cookies",
"tags": [
"compliance",
"einwilligungen"
]
}
},
"/api/compliance/email-templates": {
"get": {
"description": "Alle Templates mit letzter publizierter Version.",
"operationId": "list_templates_api_compliance_email_templates_get",
"parameters": [
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Templates",
"tags": [
"compliance",
"compliance-email-templates"
]
},
"post": {
"description": "Template erstellen.",
"operationId": "create_template_api_compliance_email_templates_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__email_template_routes__TemplateCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Template",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/default/{template_type}": {
"get": {
"description": "Default-Content fuer einen Template-Typ.",
"operationId": "get_default_content_api_compliance_email_templates_default__template_type__get",
"parameters": [
{
"in": "path",
"name": "template_type",
"required": true,
"schema": {
"title": "Template Type",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Default Content",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/initialize": {
"post": {
"description": "Default-Templates fuer einen Tenant initialisieren.",
"operationId": "initialize_defaults_api_compliance_email_templates_initialize_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Initialize Defaults",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/logs": {
"get": {
"description": "Send-Logs (paginiert).",
"operationId": "get_send_logs_api_compliance_email_templates_logs_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 20,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "template_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Type"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Send Logs",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/settings": {
"get": {
"description": "Globale E-Mail-Einstellungen laden.",
"operationId": "get_settings_api_compliance_email_templates_settings_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Settings",
"tags": [
"compliance",
"compliance-email-templates"
]
},
"put": {
"description": "Globale E-Mail-Einstellungen speichern.",
"operationId": "update_settings_api_compliance_email_templates_settings_put",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SettingsUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Settings",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/stats": {
"get": {
"description": "Statistiken ueber E-Mail-Templates.",
"operationId": "get_stats_api_compliance_email_templates_stats_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/types": {
"get": {
"description": "Gibt alle verfuegbaren Template-Typen mit Variablen zurueck.",
"operationId": "get_template_types_api_compliance_email_templates_types_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Template Types",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions": {
"post": {
"description": "Neue Version erstellen (via query param template_id).",
"operationId": "create_version_api_compliance_email_templates_versions_post",
"parameters": [
{
"in": "query",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__email_template_routes__VersionCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}": {
"get": {
"description": "Version-Detail.",
"operationId": "get_version_api_compliance_email_templates_versions__version_id__get",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Version",
"tags": [
"compliance",
"compliance-email-templates"
]
},
"put": {
"description": "Draft aktualisieren.",
"operationId": "update_version_api_compliance_email_templates_versions__version_id__put",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__email_template_routes__VersionUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}/approve": {
"post": {
"description": "Genehmigen.",
"operationId": "approve_version_api_compliance_email_templates_versions__version_id__approve_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "query",
"name": "comment",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}/preview": {
"post": {
"description": "Vorschau mit Test-Variablen.",
"operationId": "preview_version_api_compliance_email_templates_versions__version_id__preview_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreviewRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Preview Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}/publish": {
"post": {
"description": "Publizieren.",
"operationId": "publish_version_api_compliance_email_templates_versions__version_id__publish_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Publish Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}/reject": {
"post": {
"description": "Ablehnen.",
"operationId": "reject_version_api_compliance_email_templates_versions__version_id__reject_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "query",
"name": "comment",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Reject Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}/send-test": {
"post": {
"description": "Test-E-Mail senden (Simulation \u2014 loggt nur).",
"operationId": "send_test_email_api_compliance_email_templates_versions__version_id__send_test_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendTestRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Send Test Email",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/versions/{version_id}/submit": {
"post": {
"description": "Zur Pruefung einreichen.",
"operationId": "submit_version_api_compliance_email_templates_versions__version_id__submit_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Submit Version",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/{template_id}": {
"get": {
"description": "Template-Detail.",
"operationId": "get_template_api_compliance_email_templates__template_id__get",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Template",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/email-templates/{template_id}/versions": {
"get": {
"description": "Versionen eines Templates.",
"operationId": "get_versions_api_compliance_email_templates__template_id__versions_get",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Versions",
"tags": [
"compliance",
"compliance-email-templates"
]
},
"post": {
"description": "Neue Version fuer ein Template erstellen.",
"operationId": "create_version_for_template_api_compliance_email_templates__template_id__versions_post",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__email_template_routes__VersionCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Version For Template",
"tags": [
"compliance",
"compliance-email-templates"
]
}
},
"/api/compliance/escalations": {
"get": {
"description": "List escalations with optional filters.",
"operationId": "list_escalations_api_compliance_escalations_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Escalations",
"tags": [
"compliance",
"escalations"
]
},
"post": {
"description": "Create a new escalation.",
"operationId": "create_escalation_api_compliance_escalations_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EscalationCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Escalation",
"tags": [
"compliance",
"escalations"
]
}
},
"/api/compliance/escalations/stats": {
"get": {
"description": "Return counts per status and priority.",
"operationId": "get_stats_api_compliance_escalations_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"escalations"
]
}
},
"/api/compliance/escalations/{escalation_id}": {
"delete": {
"description": "Delete an escalation.",
"operationId": "delete_escalation_api_compliance_escalations__escalation_id__delete",
"parameters": [
{
"in": "path",
"name": "escalation_id",
"required": true,
"schema": {
"title": "Escalation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Escalation",
"tags": [
"compliance",
"escalations"
]
},
"get": {
"description": "Get a single escalation by ID.",
"operationId": "get_escalation_api_compliance_escalations__escalation_id__get",
"parameters": [
{
"in": "path",
"name": "escalation_id",
"required": true,
"schema": {
"title": "Escalation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Escalation",
"tags": [
"compliance",
"escalations"
]
},
"put": {
"description": "Update an escalation's fields.",
"operationId": "update_escalation_api_compliance_escalations__escalation_id__put",
"parameters": [
{
"in": "path",
"name": "escalation_id",
"required": true,
"schema": {
"title": "Escalation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EscalationUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Escalation",
"tags": [
"compliance",
"escalations"
]
}
},
"/api/compliance/escalations/{escalation_id}/status": {
"put": {
"description": "Update only the status of an escalation.",
"operationId": "update_status_api_compliance_escalations__escalation_id__status_put",
"parameters": [
{
"in": "path",
"name": "escalation_id",
"required": true,
"schema": {
"title": "Escalation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EscalationStatusUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Status",
"tags": [
"compliance",
"escalations"
]
}
},
"/api/compliance/evidence": {
"get": {
"description": "List evidence with optional filters and pagination.",
"operationId": "list_evidence_api_compliance_evidence_get",
"parameters": [
{
"in": "query",
"name": "control_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Control Id"
}
},
{
"in": "query",
"name": "evidence_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Type"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"description": "Page number (1-based)",
"in": "query",
"name": "page",
"required": false,
"schema": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"description": "Page number (1-based)",
"title": "Page"
}
},
{
"description": "Items per page",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"anyOf": [
{
"maximum": 500,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"description": "Items per page",
"title": "Limit"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Evidence",
"tags": [
"compliance",
"compliance-evidence"
]
},
"post": {
"description": "Create new evidence record.",
"operationId": "create_evidence_api_compliance_evidence_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EvidenceResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Evidence",
"tags": [
"compliance",
"compliance-evidence"
]
}
},
"/api/compliance/evidence/ci-status": {
"get": {
"description": "Get CI/CD evidence collection status.\n\nReturns overview of recent evidence collected from CI/CD pipelines,\nuseful for dashboards and monitoring.",
"operationId": "get_ci_evidence_status_api_compliance_evidence_ci_status_get",
"parameters": [
{
"description": "Filter by control ID",
"in": "query",
"name": "control_id",
"required": false,
"schema": {
"description": "Filter by control ID",
"title": "Control Id",
"type": "string"
}
},
{
"description": "Look back N days",
"in": "query",
"name": "days",
"required": false,
"schema": {
"default": 30,
"description": "Look back N days",
"title": "Days",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Ci Evidence Status",
"tags": [
"compliance",
"compliance-evidence"
]
}
},
"/api/compliance/evidence/collect": {
"post": {
"description": "Collect evidence from CI/CD pipeline.\n\nThis endpoint is designed to be called from CI/CD workflows (GitHub Actions,\nGitLab CI, Jenkins, etc.) to automatically collect compliance evidence.\n\nSupported sources:\n- sast: Static Application Security Testing (Semgrep, SonarQube, etc.)\n- dependency_scan: Dependency vulnerability scanning (Trivy, Grype, Snyk)\n- sbom: Software Bill of Materials (CycloneDX, SPDX)\n- container_scan: Container image scanning (Trivy, Grype)\n- test_results: Test coverage and results\n- secret_scan: Secret detection (Gitleaks, TruffleHog)\n- code_review: Code review metrics",
"operationId": "collect_ci_evidence_api_compliance_evidence_collect_post",
"parameters": [
{
"description": "Evidence source: sast, dependency_scan, sbom, container_scan, test_results",
"in": "query",
"name": "source",
"required": true,
"schema": {
"description": "Evidence source: sast, dependency_scan, sbom, container_scan, test_results",
"title": "Source",
"type": "string"
}
},
{
"description": "CI/CD Job ID for traceability",
"in": "query",
"name": "ci_job_id",
"required": false,
"schema": {
"description": "CI/CD Job ID for traceability",
"title": "Ci Job Id",
"type": "string"
}
},
{
"description": "URL to CI/CD job",
"in": "query",
"name": "ci_job_url",
"required": false,
"schema": {
"description": "URL to CI/CD job",
"title": "Ci Job Url",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Report Data",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Collect Ci Evidence",
"tags": [
"compliance",
"compliance-evidence"
]
}
},
"/api/compliance/evidence/upload": {
"post": {
"description": "Upload evidence file.",
"operationId": "upload_evidence_api_compliance_evidence_upload_post",
"parameters": [
{
"in": "query",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
},
{
"in": "query",
"name": "evidence_type",
"required": true,
"schema": {
"title": "Evidence Type",
"type": "string"
}
},
{
"in": "query",
"name": "title",
"required": true,
"schema": {
"title": "Title",
"type": "string"
}
},
{
"in": "query",
"name": "description",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_upload_evidence_api_compliance_evidence_upload_post"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upload Evidence",
"tags": [
"compliance",
"compliance-evidence"
]
}
},
"/api/compliance/evidence/{evidence_id}": {
"delete": {
"description": "Delete an evidence record.",
"operationId": "delete_evidence_api_compliance_evidence__evidence_id__delete",
"parameters": [
{
"in": "path",
"name": "evidence_id",
"required": true,
"schema": {
"title": "Evidence Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Evidence",
"tags": [
"compliance",
"compliance-evidence"
]
}
},
"/api/compliance/export": {
"post": {
"description": "Create a new audit export.",
"operationId": "create_export_api_compliance_export_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExportRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExportResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Export",
"tags": [
"compliance"
]
}
},
"/api/compliance/export/{export_id}": {
"get": {
"description": "Get export status.",
"operationId": "get_export_api_compliance_export__export_id__get",
"parameters": [
{
"in": "path",
"name": "export_id",
"required": true,
"schema": {
"title": "Export Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExportResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Export",
"tags": [
"compliance"
]
}
},
"/api/compliance/export/{export_id}/download": {
"get": {
"description": "Download export file.",
"operationId": "download_export_api_compliance_export__export_id__download_get",
"parameters": [
{
"in": "path",
"name": "export_id",
"required": true,
"schema": {
"title": "Export Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Download Export",
"tags": [
"compliance"
]
}
},
"/api/compliance/exports": {
"get": {
"description": "List recent exports.",
"operationId": "list_exports_api_compliance_exports_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 20,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExportListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Exports",
"tags": [
"compliance"
]
}
},
"/api/compliance/gdpr-processes": {
"get": {
"description": "List all GDPR processes for a tenant.",
"operationId": "list_gdpr_processes_api_compliance_gdpr_processes_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Gdpr Processes",
"tags": [
"compliance",
"consent-templates"
]
}
},
"/api/compliance/gdpr-processes/{process_id}": {
"put": {
"description": "Update an existing GDPR process.",
"operationId": "update_gdpr_process_api_compliance_gdpr_processes__process_id__put",
"parameters": [
{
"in": "path",
"name": "process_id",
"required": true,
"schema": {
"title": "Process Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GDPRProcessUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Gdpr Process",
"tags": [
"compliance",
"consent-templates"
]
}
},
"/api/compliance/generation/apply/{doc_type}": {
"post": {
"description": "Generate drafts and create Change-Requests for each.\n\nDoes NOT create documents directly \u2014 all go through the CR inbox.",
"operationId": "apply_generation_api_compliance_generation_apply__doc_type__post",
"parameters": [
{
"in": "path",
"name": "doc_type",
"required": true,
"schema": {
"title": "Doc Type",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-User-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Apply Generation",
"tags": [
"compliance",
"generation"
]
}
},
"/api/compliance/generation/preview/{doc_type}": {
"get": {
"description": "Preview what documents would be generated (no DB writes).",
"operationId": "preview_generation_api_compliance_generation_preview__doc_type__get",
"parameters": [
{
"in": "path",
"name": "doc_type",
"required": true,
"schema": {
"title": "Doc Type",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Preview Generation",
"tags": [
"compliance",
"generation"
]
}
},
"/api/compliance/incidents": {
"get": {
"operationId": "list_incidents_api_compliance_incidents_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "header",
"name": "x-tenant-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Incidents",
"tags": [
"compliance",
"incidents"
]
},
"post": {
"operationId": "create_incident_api_compliance_incidents_post",
"parameters": [
{
"in": "header",
"name": "x-tenant-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__incident_routes__IncidentCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Incident",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/stats": {
"get": {
"operationId": "get_stats_api_compliance_incidents_stats_get",
"parameters": [
{
"in": "header",
"name": "x-tenant-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}": {
"delete": {
"operationId": "delete_incident_api_compliance_incidents__incident_id__delete",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Incident",
"tags": [
"compliance",
"incidents"
]
},
"get": {
"operationId": "get_incident_api_compliance_incidents__incident_id__get",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Incident",
"tags": [
"compliance",
"incidents"
]
},
"put": {
"operationId": "update_incident_api_compliance_incidents__incident_id__put",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__incident_routes__IncidentUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Incident",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/assess-risk": {
"post": {
"operationId": "assess_risk_api_compliance_incidents__incident_id__assess_risk_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskAssessmentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Assess Risk",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/close": {
"post": {
"operationId": "close_incident_api_compliance_incidents__incident_id__close_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CloseIncidentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Close Incident",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/measures": {
"post": {
"operationId": "add_measure_api_compliance_incidents__incident_id__measures_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MeasureCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Add Measure",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/measures/{measure_id}": {
"put": {
"operationId": "update_measure_api_compliance_incidents__incident_id__measures__measure_id__put",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "path",
"name": "measure_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Measure Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MeasureUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Measure",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/measures/{measure_id}/complete": {
"post": {
"operationId": "complete_measure_api_compliance_incidents__incident_id__measures__measure_id__complete_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "path",
"name": "measure_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Measure Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Complete Measure",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/notify-authority": {
"post": {
"operationId": "notify_authority_api_compliance_incidents__incident_id__notify_authority_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthorityNotificationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Notify Authority",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/notify-subjects": {
"post": {
"operationId": "notify_subjects_api_compliance_incidents__incident_id__notify_subjects_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSubjectNotificationRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Notify Subjects",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/status": {
"put": {
"operationId": "update_status_api_compliance_incidents__incident_id__status_put",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__incident_routes__StatusUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Status",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/incidents/{incident_id}/timeline": {
"post": {
"operationId": "add_timeline_entry_api_compliance_incidents__incident_id__timeline_post",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimelineEntryRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Add Timeline Entry",
"tags": [
"compliance",
"incidents"
]
}
},
"/api/compliance/init-tables": {
"post": {
"description": "Create compliance tables if they don't exist.",
"operationId": "init_tables_api_compliance_init_tables_post",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Init Tables",
"tags": [
"compliance"
]
}
},
"/api/compliance/isms/audit-trail": {
"get": {
"description": "Query the audit trail with filters.",
"operationId": "get_audit_trail_api_compliance_isms_audit_trail_get",
"parameters": [
{
"in": "query",
"name": "entity_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Type"
}
},
{
"in": "query",
"name": "entity_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Id"
}
},
{
"in": "query",
"name": "performed_by",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Performed By"
}
},
{
"in": "query",
"name": "action",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Action"
}
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Page Size",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditTrailResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Trail",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/capa": {
"get": {
"description": "List all corrective/preventive actions.",
"operationId": "list_capas_api_compliance_isms_capa_get",
"parameters": [
{
"in": "query",
"name": "finding_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Finding Id"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "assigned_to",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Assigned To"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrectiveActionListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Capas",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new corrective/preventive action for a finding.",
"operationId": "create_capa_api_compliance_isms_capa_post",
"parameters": [
{
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrectiveActionCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrectiveActionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Capa",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/capa/{capa_id}": {
"put": {
"description": "Update a CAPA's progress.",
"operationId": "update_capa_api_compliance_isms_capa__capa_id__put",
"parameters": [
{
"in": "path",
"name": "capa_id",
"required": true,
"schema": {
"title": "Capa Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrectiveActionUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrectiveActionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Capa",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/capa/{capa_id}/verify": {
"post": {
"description": "Verify the effectiveness of a CAPA.",
"operationId": "verify_capa_api_compliance_isms_capa__capa_id__verify_post",
"parameters": [
{
"in": "path",
"name": "capa_id",
"required": true,
"schema": {
"title": "Capa Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CAPAVerifyRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CorrectiveActionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Verify Capa",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/context": {
"get": {
"description": "Get the current ISMS context analysis.",
"operationId": "get_isms_context_api_compliance_isms_context_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSContextResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Isms Context",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create or update ISMS context analysis.",
"operationId": "create_isms_context_api_compliance_isms_context_post",
"parameters": [
{
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSContextCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSContextResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Isms Context",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/findings": {
"get": {
"description": "List all audit findings.",
"operationId": "list_findings_api_compliance_isms_findings_get",
"parameters": [
{
"in": "query",
"name": "finding_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Finding Type"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "internal_audit_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Internal Audit Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Findings",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new audit finding.\n\nFinding types:\n- major: Blocks certification, requires immediate CAPA\n- minor: Requires CAPA within deadline\n- ofi: Opportunity for improvement (no mandatory action)\n- positive: Good practice observation",
"operationId": "create_finding_api_compliance_isms_findings_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Finding",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/findings/{finding_id}": {
"put": {
"description": "Update an audit finding.",
"operationId": "update_finding_api_compliance_isms_findings__finding_id__put",
"parameters": [
{
"in": "path",
"name": "finding_id",
"required": true,
"schema": {
"title": "Finding Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Finding",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/findings/{finding_id}/close": {
"post": {
"description": "Close an audit finding after verification.\n\nRequires:\n- All CAPAs to be completed and verified\n- Verification evidence documenting the fix",
"operationId": "close_finding_api_compliance_isms_findings__finding_id__close_post",
"parameters": [
{
"in": "path",
"name": "finding_id",
"required": true,
"schema": {
"title": "Finding Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingCloseRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditFindingResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Close Finding",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/internal-audits": {
"get": {
"description": "List all internal audits.",
"operationId": "list_internal_audits_api_compliance_isms_internal_audits_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "audit_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Audit Type"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Internal Audits",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new internal audit.",
"operationId": "create_internal_audit_api_compliance_isms_internal_audits_post",
"parameters": [
{
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Internal Audit",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/internal-audits/{audit_id}": {
"put": {
"description": "Update an internal audit.",
"operationId": "update_internal_audit_api_compliance_isms_internal_audits__audit_id__put",
"parameters": [
{
"in": "path",
"name": "audit_id",
"required": true,
"schema": {
"title": "Audit Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Internal Audit",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/internal-audits/{audit_id}/complete": {
"post": {
"description": "Complete an internal audit with conclusion.",
"operationId": "complete_internal_audit_api_compliance_isms_internal_audits__audit_id__complete_post",
"parameters": [
{
"in": "path",
"name": "audit_id",
"required": true,
"schema": {
"title": "Audit Id",
"type": "string"
}
},
{
"in": "query",
"name": "completed_by",
"required": true,
"schema": {
"title": "Completed By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditCompleteRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalAuditResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Complete Internal Audit",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/management-reviews": {
"get": {
"description": "List all management reviews.",
"operationId": "list_management_reviews_api_compliance_isms_management_reviews_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Management Reviews",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new management review.",
"operationId": "create_management_review_api_compliance_isms_management_reviews_post",
"parameters": [
{
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Management Review",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/management-reviews/{review_id}": {
"get": {
"description": "Get a specific management review.",
"operationId": "get_management_review_api_compliance_isms_management_reviews__review_id__get",
"parameters": [
{
"in": "path",
"name": "review_id",
"required": true,
"schema": {
"title": "Review Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Management Review",
"tags": [
"compliance",
"ISMS"
]
},
"put": {
"description": "Update a management review with inputs/outputs.",
"operationId": "update_management_review_api_compliance_isms_management_reviews__review_id__put",
"parameters": [
{
"in": "path",
"name": "review_id",
"required": true,
"schema": {
"title": "Review Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Management Review",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/management-reviews/{review_id}/approve": {
"post": {
"description": "Approve a management review.",
"operationId": "approve_management_review_api_compliance_isms_management_reviews__review_id__approve_post",
"parameters": [
{
"in": "path",
"name": "review_id",
"required": true,
"schema": {
"title": "Review Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewApproveRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManagementReviewResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Management Review",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/objectives": {
"get": {
"description": "List all security objectives.",
"operationId": "list_objectives_api_compliance_isms_objectives_get",
"parameters": [
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityObjectiveListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Objectives",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new security objective.",
"operationId": "create_objective_api_compliance_isms_objectives_post",
"parameters": [
{
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityObjectiveCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityObjectiveResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Objective",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/objectives/{objective_id}": {
"put": {
"description": "Update a security objective's progress.",
"operationId": "update_objective_api_compliance_isms_objectives__objective_id__put",
"parameters": [
{
"in": "path",
"name": "objective_id",
"required": true,
"schema": {
"title": "Objective Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityObjectiveUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityObjectiveResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Objective",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/overview": {
"get": {
"description": "Get complete ISO 27001 compliance overview.\n\nShows status of all chapters, key metrics, and readiness for certification.",
"operationId": "get_iso27001_overview_api_compliance_isms_overview_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISO27001OverviewResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Iso27001 Overview",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/policies": {
"get": {
"description": "List all ISMS policies.",
"operationId": "list_policies_api_compliance_isms_policies_get",
"parameters": [
{
"in": "query",
"name": "policy_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Type"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Policies",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new ISMS policy.",
"operationId": "create_policy_api_compliance_isms_policies_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Policy",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/policies/{policy_id}": {
"get": {
"description": "Get a specific policy by ID.",
"operationId": "get_policy_api_compliance_isms_policies__policy_id__get",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Policy",
"tags": [
"compliance",
"ISMS"
]
},
"put": {
"description": "Update a policy (creates new version if approved).",
"operationId": "update_policy_api_compliance_isms_policies__policy_id__put",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Policy",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/policies/{policy_id}/approve": {
"post": {
"description": "Approve a policy. Must be approved by top management.",
"operationId": "approve_policy_api_compliance_isms_policies__policy_id__approve_post",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyApproveRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSPolicyResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Policy",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/readiness-check": {
"post": {
"description": "Run ISMS readiness check.\n\nIdentifies potential Major/Minor findings BEFORE external audit.\nThis helps achieve ISO 27001 certification on the first attempt.",
"operationId": "run_readiness_check_api_compliance_isms_readiness_check_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSReadinessCheckRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSReadinessCheckResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Run Readiness Check",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/readiness-check/latest": {
"get": {
"description": "Get the most recent readiness check result.",
"operationId": "get_latest_readiness_check_api_compliance_isms_readiness_check_latest_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSReadinessCheckResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Latest Readiness Check",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/scope": {
"get": {
"description": "Get the current ISMS scope.\n\nThe scope defines the boundaries and applicability of the ISMS.\nOnly one active scope should exist at a time.",
"operationId": "get_isms_scope_api_compliance_isms_scope_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Isms Scope",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new ISMS scope definition.\n\nSupersedes any existing scope.",
"operationId": "create_isms_scope_api_compliance_isms_scope_post",
"parameters": [
{
"description": "User creating the scope",
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"description": "User creating the scope",
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Isms Scope",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/scope/{scope_id}": {
"put": {
"description": "Update ISMS scope (only if in draft status).",
"operationId": "update_isms_scope_api_compliance_isms_scope__scope_id__put",
"parameters": [
{
"in": "path",
"name": "scope_id",
"required": true,
"schema": {
"title": "Scope Id",
"type": "string"
}
},
{
"description": "User updating the scope",
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"description": "User updating the scope",
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Isms Scope",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/scope/{scope_id}/approve": {
"post": {
"description": "Approve the ISMS scope.\n\nThis is a MANDATORY step for ISO 27001 certification.\nMust be approved by top management.",
"operationId": "approve_isms_scope_api_compliance_isms_scope__scope_id__approve_post",
"parameters": [
{
"in": "path",
"name": "scope_id",
"required": true,
"schema": {
"title": "Scope Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeApproveRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ISMSScopeResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Isms Scope",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/soa": {
"get": {
"description": "List all Statement of Applicability entries.",
"operationId": "list_soa_entries_api_compliance_isms_soa_get",
"parameters": [
{
"in": "query",
"name": "is_applicable",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Applicable"
}
},
{
"in": "query",
"name": "implementation_status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Status"
}
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Soa Entries",
"tags": [
"compliance",
"ISMS"
]
},
"post": {
"description": "Create a new SoA entry for an Annex A control.",
"operationId": "create_soa_entry_api_compliance_isms_soa_post",
"parameters": [
{
"in": "query",
"name": "created_by",
"required": true,
"schema": {
"title": "Created By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAEntryCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAEntryResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Soa Entry",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/soa/{entry_id}": {
"put": {
"description": "Update an SoA entry.",
"operationId": "update_soa_entry_api_compliance_isms_soa__entry_id__put",
"parameters": [
{
"in": "path",
"name": "entry_id",
"required": true,
"schema": {
"title": "Entry Id",
"type": "string"
}
},
{
"in": "query",
"name": "updated_by",
"required": true,
"schema": {
"title": "Updated By",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAEntryUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAEntryResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Soa Entry",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/isms/soa/{entry_id}/approve": {
"post": {
"description": "Approve an SoA entry.",
"operationId": "approve_soa_entry_api_compliance_isms_soa__entry_id__approve_post",
"parameters": [
{
"in": "path",
"name": "entry_id",
"required": true,
"schema": {
"title": "Entry Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAApproveRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoAEntryResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Soa Entry",
"tags": [
"compliance",
"ISMS"
]
}
},
"/api/compliance/legal-documents/audit-log": {
"get": {
"description": "Consent audit trail (paginated).",
"operationId": "get_audit_log_api_compliance_legal_documents_audit_log_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "action",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Action"
}
},
{
"in": "query",
"name": "entity_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Type"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Log",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/consents": {
"post": {
"description": "Record user consent for a legal document.",
"operationId": "record_consent_api_compliance_legal_documents_consents_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserConsentCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Record Consent",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/consents/check/{document_type}": {
"get": {
"description": "Check if user has active consent for a document type.",
"operationId": "check_consent_api_compliance_legal_documents_consents_check__document_type__get",
"parameters": [
{
"in": "path",
"name": "document_type",
"required": true,
"schema": {
"title": "Document Type",
"type": "string"
}
},
{
"in": "query",
"name": "user_id",
"required": true,
"schema": {
"title": "User Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Check Consent",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/consents/my": {
"get": {
"description": "Get all consents for a specific user.",
"operationId": "get_my_consents_api_compliance_legal_documents_consents_my_get",
"parameters": [
{
"in": "query",
"name": "user_id",
"required": true,
"schema": {
"title": "User Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get My Consents",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/consents/{consent_id}": {
"delete": {
"description": "Withdraw a consent (DSGVO Art. 7 Abs. 3).",
"operationId": "withdraw_consent_api_compliance_legal_documents_consents__consent_id__delete",
"parameters": [
{
"in": "path",
"name": "consent_id",
"required": true,
"schema": {
"title": "Consent Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Withdraw Consent",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/cookie-categories": {
"get": {
"description": "List all cookie categories.",
"operationId": "list_cookie_categories_api_compliance_legal_documents_cookie_categories_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Cookie Categories",
"tags": [
"compliance",
"legal-documents"
]
},
"post": {
"description": "Create a cookie category.",
"operationId": "create_cookie_category_api_compliance_legal_documents_cookie_categories_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CookieCategoryCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Cookie Category",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/cookie-categories/{category_id}": {
"delete": {
"description": "Delete a cookie category.",
"operationId": "delete_cookie_category_api_compliance_legal_documents_cookie_categories__category_id__delete",
"parameters": [
{
"in": "path",
"name": "category_id",
"required": true,
"schema": {
"title": "Category Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Cookie Category",
"tags": [
"compliance",
"legal-documents"
]
},
"put": {
"description": "Update a cookie category.",
"operationId": "update_cookie_category_api_compliance_legal_documents_cookie_categories__category_id__put",
"parameters": [
{
"in": "path",
"name": "category_id",
"required": true,
"schema": {
"title": "Category Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CookieCategoryUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Cookie Category",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/documents": {
"get": {
"description": "List all legal documents, optionally filtered by tenant or type.",
"operationId": "list_documents_api_compliance_legal_documents_documents_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response List Documents Api Compliance Legal Documents Documents Get",
"type": "object"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Documents",
"tags": [
"compliance",
"legal-documents"
]
},
"post": {
"description": "Create a new legal document type.",
"operationId": "create_document_api_compliance_legal_documents_documents_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Document",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/documents/{document_id}": {
"delete": {
"description": "Delete a legal document and all its versions.",
"operationId": "delete_document_api_compliance_legal_documents_documents__document_id__delete",
"parameters": [
{
"in": "path",
"name": "document_id",
"required": true,
"schema": {
"title": "Document Id",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Document",
"tags": [
"compliance",
"legal-documents"
]
},
"get": {
"description": "Get a single legal document by ID.",
"operationId": "get_document_api_compliance_legal_documents_documents__document_id__get",
"parameters": [
{
"in": "path",
"name": "document_id",
"required": true,
"schema": {
"title": "Document Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Document",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/documents/{document_id}/versions": {
"get": {
"description": "List all versions for a legal document.",
"operationId": "list_versions_api_compliance_legal_documents_documents__document_id__versions_get",
"parameters": [
{
"in": "path",
"name": "document_id",
"required": true,
"schema": {
"title": "Document Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/VersionResponse"
},
"title": "Response List Versions Api Compliance Legal Documents Documents Document Id Versions Get",
"type": "array"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Versions",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/public": {
"get": {
"description": "Active documents for end-user display.",
"operationId": "list_public_documents_api_compliance_legal_documents_public_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Public Documents",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/public/{document_type}/latest": {
"get": {
"description": "Get the latest published version of a document type.",
"operationId": "get_latest_published_api_compliance_legal_documents_public__document_type__latest_get",
"parameters": [
{
"in": "path",
"name": "document_type",
"required": true,
"schema": {
"title": "Document Type",
"type": "string"
}
},
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"title": "Language",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Latest Published",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/stats/consents": {
"get": {
"description": "Consent statistics for dashboard.",
"operationId": "get_consent_stats_api_compliance_legal_documents_stats_consents_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Consent Stats",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions": {
"post": {
"description": "Create a new version for a legal document.",
"operationId": "create_version_api_compliance_legal_documents_versions_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__legal_document_routes__VersionCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Version",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/upload-word": {
"post": {
"description": "Convert DOCX to HTML using mammoth (if available) or return raw text.",
"operationId": "upload_word_api_compliance_legal_documents_versions_upload_word_post",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_upload_word_api_compliance_legal_documents_versions_upload_word_post"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response Upload Word Api Compliance Legal Documents Versions Upload Word Post",
"type": "object"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upload Word",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/{version_id}": {
"get": {
"description": "Get a single version by ID.",
"operationId": "get_version_api_compliance_legal_documents_versions__version_id__get",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Version",
"tags": [
"compliance",
"legal-documents"
]
},
"put": {
"description": "Update a draft legal document version.",
"operationId": "update_version_api_compliance_legal_documents_versions__version_id__put",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__legal_document_routes__VersionUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Version",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/{version_id}/approval-history": {
"get": {
"description": "Get the full approval audit trail for a version.",
"operationId": "get_approval_history_api_compliance_legal_documents_versions__version_id__approval_history_get",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ApprovalHistoryEntry"
},
"title": "Response Get Approval History Api Compliance Legal Documents Versions Version Id Approval History Get",
"type": "array"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Approval History",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/{version_id}/approve": {
"post": {
"description": "Approve a version under review.",
"operationId": "approve_version_api_compliance_legal_documents_versions__version_id__approve_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Approve Version",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/{version_id}/publish": {
"post": {
"description": "Publish an approved version.",
"operationId": "publish_version_api_compliance_legal_documents_versions__version_id__publish_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Publish Version",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/{version_id}/reject": {
"post": {
"description": "Reject a version under review.",
"operationId": "reject_version_api_compliance_legal_documents_versions__version_id__reject_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Reject Version",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-documents/versions/{version_id}/submit-review": {
"post": {
"description": "Submit a draft version for review.",
"operationId": "submit_review_api_compliance_legal_documents_versions__version_id__submit_review_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Submit Review",
"tags": [
"compliance",
"legal-documents"
]
}
},
"/api/compliance/legal-templates": {
"get": {
"description": "List legal templates with optional filters.",
"operationId": "list_legal_templates_api_compliance_legal_templates_get",
"parameters": [
{
"description": "Full-text ILIKE search on title/description/content",
"in": "query",
"name": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Full-text ILIKE search on title/description/content",
"title": "Query"
}
},
{
"in": "query",
"name": "document_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Document Type"
}
},
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "published",
"title": "Status"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Legal Templates",
"tags": [
"compliance",
"legal-templates"
]
},
"post": {
"description": "Create a new legal template.",
"operationId": "create_legal_template_api_compliance_legal_templates_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LegalTemplateCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Legal Template",
"tags": [
"compliance",
"legal-templates"
]
}
},
"/api/compliance/legal-templates/sources": {
"get": {
"description": "Return distinct source_name values.",
"operationId": "get_template_sources_api_compliance_legal_templates_sources_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Template Sources",
"tags": [
"compliance",
"legal-templates"
]
}
},
"/api/compliance/legal-templates/status": {
"get": {
"description": "Return template counts by document_type.",
"operationId": "get_templates_status_api_compliance_legal_templates_status_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Templates Status",
"tags": [
"compliance",
"legal-templates"
]
}
},
"/api/compliance/legal-templates/{template_id}": {
"delete": {
"description": "Delete a legal template.",
"operationId": "delete_legal_template_api_compliance_legal_templates__template_id__delete",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Legal Template",
"tags": [
"compliance",
"legal-templates"
]
},
"get": {
"description": "Fetch a single template by ID.",
"operationId": "get_legal_template_api_compliance_legal_templates__template_id__get",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Legal Template",
"tags": [
"compliance",
"legal-templates"
]
},
"put": {
"description": "Update an existing legal template.",
"operationId": "update_legal_template_api_compliance_legal_templates__template_id__put",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LegalTemplateUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Legal Template",
"tags": [
"compliance",
"legal-templates"
]
}
},
"/api/compliance/loeschfristen": {
"get": {
"description": "List Loeschfristen with optional filters.",
"operationId": "list_loeschfristen_api_compliance_loeschfristen_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "retention_driver",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Retention Driver"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 500,
"maximum": 1000,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Loeschfristen",
"tags": [
"compliance",
"loeschfristen"
]
},
"post": {
"description": "Create a new Loeschfrist policy.",
"operationId": "create_loeschfrist_api_compliance_loeschfristen_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoeschfristCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Loeschfrist",
"tags": [
"compliance",
"loeschfristen"
]
}
},
"/api/compliance/loeschfristen/stats": {
"get": {
"description": "Return Loeschfristen statistics.",
"operationId": "get_loeschfristen_stats_api_compliance_loeschfristen_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Loeschfristen Stats",
"tags": [
"compliance",
"loeschfristen"
]
}
},
"/api/compliance/loeschfristen/{policy_id}": {
"delete": {
"operationId": "delete_loeschfrist_api_compliance_loeschfristen__policy_id__delete",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Loeschfrist",
"tags": [
"compliance",
"loeschfristen"
]
},
"get": {
"operationId": "get_loeschfrist_api_compliance_loeschfristen__policy_id__get",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Loeschfrist",
"tags": [
"compliance",
"loeschfristen"
]
},
"put": {
"description": "Full update of a Loeschfrist policy.",
"operationId": "update_loeschfrist_api_compliance_loeschfristen__policy_id__put",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoeschfristUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Loeschfrist",
"tags": [
"compliance",
"loeschfristen"
]
}
},
"/api/compliance/loeschfristen/{policy_id}/status": {
"put": {
"description": "Quick status update.",
"operationId": "update_loeschfrist_status_api_compliance_loeschfristen__policy_id__status_put",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__incident_routes__StatusUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Loeschfrist Status",
"tags": [
"compliance",
"loeschfristen"
]
}
},
"/api/compliance/loeschfristen/{policy_id}/versions": {
"get": {
"description": "List all versions for a Loeschfrist.",
"operationId": "list_loeschfristen_versions_api_compliance_loeschfristen__policy_id__versions_get",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Loeschfristen Versions",
"tags": [
"compliance",
"loeschfristen"
]
}
},
"/api/compliance/loeschfristen/{policy_id}/versions/{version_number}": {
"get": {
"description": "Get a specific Loeschfristen version with full snapshot.",
"operationId": "get_loeschfristen_version_api_compliance_loeschfristen__policy_id__versions__version_number__get",
"parameters": [
{
"in": "path",
"name": "policy_id",
"required": true,
"schema": {
"title": "Policy Id",
"type": "string"
}
},
{
"in": "path",
"name": "version_number",
"required": true,
"schema": {
"title": "Version Number",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Loeschfristen Version",
"tags": [
"compliance",
"loeschfristen"
]
}
},
"/api/compliance/modules": {
"get": {
"description": "List all service modules with optional filters.",
"operationId": "list_modules_api_compliance_modules_get",
"parameters": [
{
"in": "query",
"name": "service_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Service Type"
}
},
{
"in": "query",
"name": "criticality",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Criticality"
}
},
{
"in": "query",
"name": "processes_pii",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Processes Pii"
}
},
{
"in": "query",
"name": "ai_components",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Ai Components"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceModuleListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Modules",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/modules/overview": {
"get": {
"description": "Get overview statistics for all modules.",
"operationId": "get_modules_overview_api_compliance_modules_overview_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModuleComplianceOverview"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Modules Overview",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/modules/seed": {
"post": {
"description": "Seed service modules from predefined data.",
"operationId": "seed_modules_api_compliance_modules_seed_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModuleSeedRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModuleSeedResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Seed Modules",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/modules/{module_id}": {
"get": {
"description": "Get a specific module with its regulations and risks.",
"operationId": "get_module_api_compliance_modules__module_id__get",
"parameters": [
{
"in": "path",
"name": "module_id",
"required": true,
"schema": {
"title": "Module Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceModuleDetailResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Module",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/modules/{module_id}/activate": {
"post": {
"description": "Activate a service module.",
"operationId": "activate_module_api_compliance_modules__module_id__activate_post",
"parameters": [
{
"in": "path",
"name": "module_id",
"required": true,
"schema": {
"title": "Module Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Activate Module",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/modules/{module_id}/deactivate": {
"post": {
"description": "Deactivate a service module.",
"operationId": "deactivate_module_api_compliance_modules__module_id__deactivate_post",
"parameters": [
{
"in": "path",
"name": "module_id",
"required": true,
"schema": {
"title": "Module Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Deactivate Module",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/modules/{module_id}/regulations": {
"post": {
"description": "Add a regulation mapping to a module.",
"operationId": "add_module_regulation_api_compliance_modules__module_id__regulations_post",
"parameters": [
{
"in": "path",
"name": "module_id",
"required": true,
"schema": {
"title": "Module Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModuleRegulationMappingCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModuleRegulationMappingResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Add Module Regulation",
"tags": [
"compliance",
"compliance-modules"
]
}
},
"/api/compliance/notfallplan/checklists": {
"get": {
"description": "List checklist items, optionally filtered by scenario_id.",
"operationId": "list_checklists_api_compliance_notfallplan_checklists_get",
"parameters": [
{
"in": "query",
"name": "scenario_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scenario Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Checklists",
"tags": [
"compliance",
"notfallplan"
]
},
"post": {
"description": "Create a new checklist item.",
"operationId": "create_checklist_api_compliance_notfallplan_checklists_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChecklistCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Checklist",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/checklists/{checklist_id}": {
"delete": {
"description": "Delete a checklist item.",
"operationId": "delete_checklist_api_compliance_notfallplan_checklists__checklist_id__delete",
"parameters": [
{
"in": "path",
"name": "checklist_id",
"required": true,
"schema": {
"title": "Checklist Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Checklist",
"tags": [
"compliance",
"notfallplan"
]
},
"put": {
"description": "Update a checklist item.",
"operationId": "update_checklist_api_compliance_notfallplan_checklists__checklist_id__put",
"parameters": [
{
"in": "path",
"name": "checklist_id",
"required": true,
"schema": {
"title": "Checklist Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChecklistUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Checklist",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/contacts": {
"get": {
"description": "List all emergency contacts for a tenant.",
"operationId": "list_contacts_api_compliance_notfallplan_contacts_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Contacts",
"tags": [
"compliance",
"notfallplan"
]
},
"post": {
"description": "Create a new emergency contact.",
"operationId": "create_contact_api_compliance_notfallplan_contacts_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Contact",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/contacts/{contact_id}": {
"delete": {
"description": "Delete an emergency contact.",
"operationId": "delete_contact_api_compliance_notfallplan_contacts__contact_id__delete",
"parameters": [
{
"in": "path",
"name": "contact_id",
"required": true,
"schema": {
"title": "Contact Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Contact",
"tags": [
"compliance",
"notfallplan"
]
},
"put": {
"description": "Update an existing emergency contact.",
"operationId": "update_contact_api_compliance_notfallplan_contacts__contact_id__put",
"parameters": [
{
"in": "path",
"name": "contact_id",
"required": true,
"schema": {
"title": "Contact Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContactUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Contact",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/exercises": {
"get": {
"description": "List all exercises for a tenant.",
"operationId": "list_exercises_api_compliance_notfallplan_exercises_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Exercises",
"tags": [
"compliance",
"notfallplan"
]
},
"post": {
"description": "Create a new exercise.",
"operationId": "create_exercise_api_compliance_notfallplan_exercises_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExerciseCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Exercise",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/incidents": {
"get": {
"description": "List all incidents for a tenant.",
"operationId": "list_incidents_api_compliance_notfallplan_incidents_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Incidents",
"tags": [
"compliance",
"notfallplan"
]
},
"post": {
"description": "Create a new incident.",
"operationId": "create_incident_api_compliance_notfallplan_incidents_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__notfallplan_routes__IncidentCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Incident",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/incidents/{incident_id}": {
"delete": {
"description": "Delete an incident.",
"operationId": "delete_incident_api_compliance_notfallplan_incidents__incident_id__delete",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Incident",
"tags": [
"compliance",
"notfallplan"
]
},
"put": {
"description": "Update an incident (including status transitions).",
"operationId": "update_incident_api_compliance_notfallplan_incidents__incident_id__put",
"parameters": [
{
"in": "path",
"name": "incident_id",
"required": true,
"schema": {
"title": "Incident Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__notfallplan_routes__IncidentUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Incident",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/scenarios": {
"get": {
"description": "List all scenarios for a tenant.",
"operationId": "list_scenarios_api_compliance_notfallplan_scenarios_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Scenarios",
"tags": [
"compliance",
"notfallplan"
]
},
"post": {
"description": "Create a new scenario.",
"operationId": "create_scenario_api_compliance_notfallplan_scenarios_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScenarioCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Scenario",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/scenarios/{scenario_id}": {
"delete": {
"description": "Delete a scenario.",
"operationId": "delete_scenario_api_compliance_notfallplan_scenarios__scenario_id__delete",
"parameters": [
{
"in": "path",
"name": "scenario_id",
"required": true,
"schema": {
"title": "Scenario Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Scenario",
"tags": [
"compliance",
"notfallplan"
]
},
"put": {
"description": "Update an existing scenario.",
"operationId": "update_scenario_api_compliance_notfallplan_scenarios__scenario_id__put",
"parameters": [
{
"in": "path",
"name": "scenario_id",
"required": true,
"schema": {
"title": "Scenario Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScenarioUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Scenario",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/stats": {
"get": {
"description": "Return statistics for the Notfallplan module.",
"operationId": "get_stats_api_compliance_notfallplan_stats_get",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/templates": {
"get": {
"description": "List Melde-Templates for a tenant.",
"operationId": "list_templates_api_compliance_notfallplan_templates_get",
"parameters": [
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Templates",
"tags": [
"compliance",
"notfallplan"
]
},
"post": {
"description": "Create a new Melde-Template.",
"operationId": "create_template_api_compliance_notfallplan_templates_post",
"parameters": [
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/compliance__api__notfallplan_routes__TemplateCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Template",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/notfallplan/templates/{template_id}": {
"delete": {
"description": "Delete a Melde-Template.",
"operationId": "delete_template_api_compliance_notfallplan_templates__template_id__delete",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Template",
"tags": [
"compliance",
"notfallplan"
]
},
"put": {
"description": "Update a Melde-Template.",
"operationId": "update_template_api_compliance_notfallplan_templates__template_id__put",
"parameters": [
{
"in": "path",
"name": "template_id",
"required": true,
"schema": {
"title": "Template Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemplateUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Template",
"tags": [
"compliance",
"notfallplan"
]
}
},
"/api/compliance/obligations": {
"get": {
"description": "List obligations with optional filters.",
"operationId": "list_obligations_api_compliance_obligations_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
}
},
{
"in": "query",
"name": "source",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Obligations",
"tags": [
"compliance",
"obligations"
]
},
"post": {
"description": "Create a new compliance obligation.",
"operationId": "create_obligation_api_compliance_obligations_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObligationCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Obligation",
"tags": [
"compliance",
"obligations"
]
}
},
"/api/compliance/obligations/stats": {
"get": {
"description": "Return obligation counts per status and priority.",
"operationId": "get_obligation_stats_api_compliance_obligations_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Obligation Stats",
"tags": [
"compliance",
"obligations"
]
}
},
"/api/compliance/obligations/{obligation_id}": {
"delete": {
"operationId": "delete_obligation_api_compliance_obligations__obligation_id__delete",
"parameters": [
{
"in": "path",
"name": "obligation_id",
"required": true,
"schema": {
"title": "Obligation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Obligation",
"tags": [
"compliance",
"obligations"
]
},
"get": {
"operationId": "get_obligation_api_compliance_obligations__obligation_id__get",
"parameters": [
{
"in": "path",
"name": "obligation_id",
"required": true,
"schema": {
"title": "Obligation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Obligation",
"tags": [
"compliance",
"obligations"
]
},
"put": {
"description": "Update an obligation's fields.",
"operationId": "update_obligation_api_compliance_obligations__obligation_id__put",
"parameters": [
{
"in": "path",
"name": "obligation_id",
"required": true,
"schema": {
"title": "Obligation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObligationUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Obligation",
"tags": [
"compliance",
"obligations"
]
}
},
"/api/compliance/obligations/{obligation_id}/status": {
"put": {
"description": "Quick status update for an obligation.",
"operationId": "update_obligation_status_api_compliance_obligations__obligation_id__status_put",
"parameters": [
{
"in": "path",
"name": "obligation_id",
"required": true,
"schema": {
"title": "Obligation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "x-user-id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-User-Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObligationStatusUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Obligation Status",
"tags": [
"compliance",
"obligations"
]
}
},
"/api/compliance/obligations/{obligation_id}/versions": {
"get": {
"description": "List all versions for an Obligation.",
"operationId": "list_obligation_versions_api_compliance_obligations__obligation_id__versions_get",
"parameters": [
{
"in": "path",
"name": "obligation_id",
"required": true,
"schema": {
"title": "Obligation Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Obligation Versions",
"tags": [
"compliance",
"obligations"
]
}
},
"/api/compliance/obligations/{obligation_id}/versions/{version_number}": {
"get": {
"description": "Get a specific Obligation version with full snapshot.",
"operationId": "get_obligation_version_api_compliance_obligations__obligation_id__versions__version_number__get",
"parameters": [
{
"in": "path",
"name": "obligation_id",
"required": true,
"schema": {
"title": "Obligation Id",
"type": "string"
}
},
{
"in": "path",
"name": "version_number",
"required": true,
"schema": {
"title": "Version Number",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Obligation Version",
"tags": [
"compliance",
"obligations"
]
}
},
"/api/compliance/quality/metrics": {
"get": {
"description": "List quality metrics.",
"operationId": "list_metrics_api_compliance_quality_metrics_get",
"parameters": [
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
},
{
"in": "query",
"name": "ai_system",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ai System"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Metrics",
"tags": [
"compliance",
"quality"
]
},
"post": {
"description": "Create a new quality metric.",
"operationId": "create_metric_api_compliance_quality_metrics_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetricCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Metric",
"tags": [
"compliance",
"quality"
]
}
},
"/api/compliance/quality/metrics/{metric_id}": {
"delete": {
"operationId": "delete_metric_api_compliance_quality_metrics__metric_id__delete",
"parameters": [
{
"in": "path",
"name": "metric_id",
"required": true,
"schema": {
"title": "Metric Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Metric",
"tags": [
"compliance",
"quality"
]
},
"put": {
"description": "Update a quality metric.",
"operationId": "update_metric_api_compliance_quality_metrics__metric_id__put",
"parameters": [
{
"in": "path",
"name": "metric_id",
"required": true,
"schema": {
"title": "Metric Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetricUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Metric",
"tags": [
"compliance",
"quality"
]
}
},
"/api/compliance/quality/stats": {
"get": {
"description": "Return quality dashboard stats.",
"operationId": "get_quality_stats_api_compliance_quality_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Quality Stats",
"tags": [
"compliance",
"quality"
]
}
},
"/api/compliance/quality/tests": {
"get": {
"description": "List quality tests.",
"operationId": "list_tests_api_compliance_quality_tests_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "ai_system",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ai System"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Tests",
"tags": [
"compliance",
"quality"
]
},
"post": {
"description": "Create a new quality test entry.",
"operationId": "create_test_api_compliance_quality_tests_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TestCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Test",
"tags": [
"compliance",
"quality"
]
}
},
"/api/compliance/quality/tests/{test_id}": {
"delete": {
"operationId": "delete_test_api_compliance_quality_tests__test_id__delete",
"parameters": [
{
"in": "path",
"name": "test_id",
"required": true,
"schema": {
"title": "Test Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Test",
"tags": [
"compliance",
"quality"
]
},
"put": {
"description": "Update a quality test.",
"operationId": "update_test_api_compliance_quality_tests__test_id__put",
"parameters": [
{
"in": "path",
"name": "test_id",
"required": true,
"schema": {
"title": "Test Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TestUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Test",
"tags": [
"compliance",
"quality"
]
}
},
"/api/compliance/regulations": {
"get": {
"description": "List all regulations.",
"operationId": "list_regulations_api_compliance_regulations_get",
"parameters": [
{
"in": "query",
"name": "is_active",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Active"
}
},
{
"in": "query",
"name": "regulation_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulation Type"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegulationListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Regulations",
"tags": [
"compliance"
]
}
},
"/api/compliance/regulations/{code}": {
"get": {
"description": "Get a specific regulation by code.",
"operationId": "get_regulation_api_compliance_regulations__code__get",
"parameters": [
{
"in": "path",
"name": "code",
"required": true,
"schema": {
"title": "Code",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegulationResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Regulation",
"tags": [
"compliance"
]
}
},
"/api/compliance/regulations/{code}/requirements": {
"get": {
"description": "Get requirements for a specific regulation.",
"operationId": "get_regulation_requirements_api_compliance_regulations__code__requirements_get",
"parameters": [
{
"in": "path",
"name": "code",
"required": true,
"schema": {
"title": "Code",
"type": "string"
}
},
{
"in": "query",
"name": "is_applicable",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Applicable"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RequirementListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Regulation Requirements",
"tags": [
"compliance"
]
}
},
"/api/compliance/reports/summary": {
"get": {
"description": "Get a quick summary report for the dashboard.",
"operationId": "get_summary_report_api_compliance_reports_summary_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Summary Report",
"tags": [
"compliance",
"compliance-dashboard"
]
}
},
"/api/compliance/reports/{period}": {
"get": {
"description": "Generate a compliance report for the specified period.\n\nArgs:\n period: One of 'weekly', 'monthly', 'quarterly', 'yearly'\n as_of_date: Report date (YYYY-MM-DD format, defaults to today)\n\nReturns:\n Complete compliance report",
"operationId": "generate_period_report_api_compliance_reports__period__get",
"parameters": [
{
"in": "path",
"name": "period",
"required": true,
"schema": {
"title": "Period",
"type": "string"
}
},
{
"in": "query",
"name": "as_of_date",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "As Of Date"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Generate Period Report",
"tags": [
"compliance",
"compliance-dashboard"
]
}
},
"/api/compliance/requirements": {
"get": {
"description": "List requirements with pagination and eager-loaded relationships.\n\nThis endpoint is optimized for large datasets (1000+ requirements) with:\n- Eager loading to prevent N+1 queries\n- Server-side pagination\n- Full-text search support",
"operationId": "list_requirements_paginated_api_compliance_requirements_get",
"parameters": [
{
"description": "Page number",
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"description": "Page number",
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"description": "Items per page",
"in": "query",
"name": "page_size",
"required": false,
"schema": {
"default": 50,
"description": "Items per page",
"maximum": 500,
"minimum": 1,
"title": "Page Size",
"type": "integer"
}
},
{
"description": "Filter by regulation code",
"in": "query",
"name": "regulation_code",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by regulation code",
"title": "Regulation Code"
}
},
{
"description": "Filter by implementation status",
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by implementation status",
"title": "Status"
}
},
{
"description": "Filter by applicability",
"in": "query",
"name": "is_applicable",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter by applicability",
"title": "Is Applicable"
}
},
{
"description": "Search in title/description",
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search in title/description",
"title": "Search"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedRequirementResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Requirements Paginated",
"tags": [
"compliance"
]
},
"post": {
"description": "Create a new requirement.",
"operationId": "create_requirement_api_compliance_requirements_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RequirementCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RequirementResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Requirement",
"tags": [
"compliance"
]
}
},
"/api/compliance/requirements/{requirement_id}": {
"delete": {
"description": "Delete a requirement by ID.",
"operationId": "delete_requirement_api_compliance_requirements__requirement_id__delete",
"parameters": [
{
"in": "path",
"name": "requirement_id",
"required": true,
"schema": {
"title": "Requirement Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Requirement",
"tags": [
"compliance"
]
},
"get": {
"description": "Get a specific requirement by ID, optionally with RAG legal context.",
"operationId": "get_requirement_api_compliance_requirements__requirement_id__get",
"parameters": [
{
"in": "path",
"name": "requirement_id",
"required": true,
"schema": {
"title": "Requirement Id",
"type": "string"
}
},
{
"description": "Include RAG legal context",
"in": "query",
"name": "include_legal_context",
"required": false,
"schema": {
"default": false,
"description": "Include RAG legal context",
"title": "Include Legal Context",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Requirement",
"tags": [
"compliance"
]
},
"put": {
"description": "Update a requirement with implementation/audit details.",
"operationId": "update_requirement_api_compliance_requirements__requirement_id__put",
"parameters": [
{
"in": "path",
"name": "requirement_id",
"required": true,
"schema": {
"title": "Requirement Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Updates",
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Requirement",
"tags": [
"compliance"
]
}
},
"/api/compliance/risks": {
"get": {
"description": "List risks with optional filters.",
"operationId": "list_risks_api_compliance_risks_get",
"parameters": [
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "risk_level",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risk Level"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Risks",
"tags": [
"compliance",
"compliance-risks"
]
},
"post": {
"description": "Create a new risk.",
"operationId": "create_risk_api_compliance_risks_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Risk",
"tags": [
"compliance",
"compliance-risks"
]
}
},
"/api/compliance/risks/matrix": {
"get": {
"description": "Get risk matrix data for visualization.",
"operationId": "get_risk_matrix_api_compliance_risks_matrix_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskMatrixResponse"
}
}
},
"description": "Successful Response"
}
},
"summary": "Get Risk Matrix",
"tags": [
"compliance",
"compliance-risks"
]
}
},
"/api/compliance/risks/{risk_id}": {
"delete": {
"description": "Delete a risk.",
"operationId": "delete_risk_api_compliance_risks__risk_id__delete",
"parameters": [
{
"in": "path",
"name": "risk_id",
"required": true,
"schema": {
"title": "Risk Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Risk",
"tags": [
"compliance",
"compliance-risks"
]
},
"put": {
"description": "Update a risk.",
"operationId": "update_risk_api_compliance_risks__risk_id__put",
"parameters": [
{
"in": "path",
"name": "risk_id",
"required": true,
"schema": {
"title": "Risk Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Risk",
"tags": [
"compliance",
"compliance-risks"
]
}
},
"/api/compliance/score": {
"get": {
"description": "Get just the compliance score.",
"operationId": "get_compliance_score_api_compliance_score_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Compliance Score",
"tags": [
"compliance",
"compliance-dashboard"
]
}
},
"/api/compliance/scraper/extract-bsi": {
"post": {
"description": "Extract requirements from BSI Technical Guidelines.\n\nUses pre-defined Pruefaspekte from BSI-TR-03161 documents.",
"operationId": "extract_bsi_requirements_api_compliance_scraper_extract_bsi_post",
"parameters": [
{
"description": "BSI TR code",
"in": "query",
"name": "code",
"required": false,
"schema": {
"default": "BSI-TR-03161-2",
"description": "BSI TR code",
"title": "Code",
"type": "string"
}
},
{
"in": "query",
"name": "force",
"required": false,
"schema": {
"default": false,
"title": "Force",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Extract Bsi Requirements",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/scraper/extract-pdf": {
"post": {
"description": "Extract Pruefaspekte from BSI-TR PDF documents using PyMuPDF.\n\nSupported documents:\n- BSI-TR-03161-1: General security requirements\n- BSI-TR-03161-2: Web application security (OAuth, Sessions, etc.)\n- BSI-TR-03161-3: Backend/server security",
"operationId": "extract_pdf_requirements_api_compliance_scraper_extract_pdf_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PDFExtractionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PDFExtractionResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Extract Pdf Requirements",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/scraper/pdf-documents": {
"get": {
"description": "List available PDF documents for extraction.",
"operationId": "list_pdf_documents_api_compliance_scraper_pdf_documents_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "List Pdf Documents",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/scraper/scrape-all": {
"post": {
"description": "Start scraping all known regulation sources.",
"operationId": "scrape_all_sources_api_compliance_scraper_scrape_all_post",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Scrape All Sources",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/scraper/scrape/{code}": {
"post": {
"description": "Scrape a specific regulation source.",
"operationId": "scrape_single_source_api_compliance_scraper_scrape__code__post",
"parameters": [
{
"in": "path",
"name": "code",
"required": true,
"schema": {
"title": "Code",
"type": "string"
}
},
{
"description": "Force re-scrape even if data exists",
"in": "query",
"name": "force",
"required": false,
"schema": {
"default": false,
"description": "Force re-scrape even if data exists",
"title": "Force",
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Scrape Single Source",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/scraper/sources": {
"get": {
"description": "Get list of known regulation sources.",
"operationId": "get_scraper_sources_api_compliance_scraper_sources_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Scraper Sources",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/scraper/status": {
"get": {
"description": "Get current scraper status.",
"operationId": "get_scraper_status_api_compliance_scraper_status_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Scraper Status",
"tags": [
"compliance",
"compliance-scraper"
]
}
},
"/api/compliance/security-backlog": {
"get": {
"description": "List security backlog items with optional filters.",
"operationId": "list_security_items_api_compliance_security_backlog_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "query",
"name": "type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Security Items",
"tags": [
"compliance",
"security-backlog"
]
},
"post": {
"description": "Create a new security backlog item.",
"operationId": "create_security_item_api_compliance_security_backlog_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityItemCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Security Item",
"tags": [
"compliance",
"security-backlog"
]
}
},
"/api/compliance/security-backlog/stats": {
"get": {
"description": "Return security backlog counts.",
"operationId": "get_security_stats_api_compliance_security_backlog_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Security Stats",
"tags": [
"compliance",
"security-backlog"
]
}
},
"/api/compliance/security-backlog/{item_id}": {
"delete": {
"operationId": "delete_security_item_api_compliance_security_backlog__item_id__delete",
"parameters": [
{
"in": "path",
"name": "item_id",
"required": true,
"schema": {
"title": "Item Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Security Item",
"tags": [
"compliance",
"security-backlog"
]
},
"put": {
"description": "Update a security backlog item.",
"operationId": "update_security_item_api_compliance_security_backlog__item_id__put",
"parameters": [
{
"in": "path",
"name": "item_id",
"required": true,
"schema": {
"title": "Item Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SecurityItemUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Security Item",
"tags": [
"compliance",
"security-backlog"
]
}
},
"/api/compliance/seed": {
"post": {
"description": "Seed the compliance database with initial data.",
"operationId": "seed_database_api_compliance_seed_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeedRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SeedResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Seed Database",
"tags": [
"compliance"
]
}
},
"/api/compliance/seed-risks": {
"post": {
"description": "Seed only risks (incremental update for existing databases).",
"operationId": "seed_risks_only_api_compliance_seed_risks_post",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Seed Risks Only",
"tags": [
"compliance"
]
}
},
"/api/compliance/tom/export": {
"get": {
"description": "Export TOM measures as CSV (semicolon-separated) or JSON.",
"operationId": "export_measures_api_compliance_tom_export_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "format",
"required": false,
"schema": {
"default": "csv",
"title": "Format",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export Measures",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/measures": {
"get": {
"description": "List TOM measures with optional filters.",
"operationId": "list_measures_api_compliance_tom_measures_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
},
{
"in": "query",
"name": "implementation_status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Implementation Status"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Measures",
"tags": [
"compliance",
"tom"
]
},
"post": {
"description": "Create a single TOM measure.",
"operationId": "create_measure_api_compliance_tom_measures_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TOMMeasureCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Measure",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/measures/bulk": {
"post": {
"description": "Bulk upsert measures \u2014 used by deriveTOMs sync from frontend.",
"operationId": "bulk_upsert_measures_api_compliance_tom_measures_bulk_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TOMMeasureBulkBody"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Bulk Upsert Measures",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/measures/{measure_id}": {
"put": {
"description": "Update a TOM measure.",
"operationId": "update_measure_api_compliance_tom_measures__measure_id__put",
"parameters": [
{
"in": "path",
"name": "measure_id",
"required": true,
"schema": {
"format": "uuid",
"title": "Measure Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TOMMeasureUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Measure",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/measures/{measure_id}/versions": {
"get": {
"description": "List all versions for a TOM measure.",
"operationId": "list_measure_versions_api_compliance_tom_measures__measure_id__versions_get",
"parameters": [
{
"in": "path",
"name": "measure_id",
"required": true,
"schema": {
"title": "Measure Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "tenantId",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenantid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Measure Versions",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/measures/{measure_id}/versions/{version_number}": {
"get": {
"description": "Get a specific TOM measure version with full snapshot.",
"operationId": "get_measure_version_api_compliance_tom_measures__measure_id__versions__version_number__get",
"parameters": [
{
"in": "path",
"name": "measure_id",
"required": true,
"schema": {
"title": "Measure Id",
"type": "string"
}
},
{
"in": "path",
"name": "version_number",
"required": true,
"schema": {
"title": "Version Number",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "tenantId",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenantid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Measure Version",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/state": {
"delete": {
"description": "Clear TOM generator state for a tenant.",
"operationId": "delete_tom_state_api_compliance_tom_state_delete",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "tenantId",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenantid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Tom State",
"tags": [
"compliance",
"tom"
]
},
"get": {
"description": "Load TOM generator state for a tenant.",
"operationId": "get_tom_state_api_compliance_tom_state_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "tenantId",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenantid"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Tom State",
"tags": [
"compliance",
"tom"
]
},
"post": {
"description": "Save TOM generator state with optimistic locking (version check).",
"operationId": "save_tom_state_api_compliance_tom_state_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TOMStateBody"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Save Tom State",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/tom/stats": {
"get": {
"description": "Return TOM statistics for a tenant.",
"operationId": "get_tom_stats_api_compliance_tom_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Tom Stats",
"tags": [
"compliance",
"tom"
]
}
},
"/api/compliance/v1/canonical/blocked-sources": {
"get": {
"description": "List all blocked (Rule 3) sources.",
"operationId": "list_blocked_sources_api_compliance_v1_canonical_blocked_sources_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "List Blocked Sources",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/blocked-sources/cleanup": {
"post": {
"description": "Start cleanup workflow for blocked sources.\n\nThis marks all pending blocked sources for deletion.\nActual RAG chunk deletion and file removal is a separate manual step.",
"operationId": "start_cleanup_api_compliance_v1_canonical_blocked_sources_cleanup_post",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Start Cleanup",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/controls": {
"get": {
"description": "List all canonical controls, with optional filters.",
"operationId": "list_controls_api_compliance_v1_canonical_controls_get",
"parameters": [
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "query",
"name": "domain",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
}
},
{
"in": "query",
"name": "release_state",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Release State"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Controls",
"tags": [
"compliance",
"canonical-controls"
]
},
"post": {
"description": "Create a new canonical control.",
"operationId": "create_control_api_compliance_v1_canonical_controls_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlCreateRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Control",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/controls-customer": {
"get": {
"description": "Get controls filtered for customer visibility.\n\nRule 3 controls have source_citation and source_original_text hidden.\ngeneration_metadata is NEVER shown to customers.",
"operationId": "get_controls_customer_view_api_compliance_v1_canonical_controls_customer_get",
"parameters": [
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "query",
"name": "domain",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Controls Customer View",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/controls/{control_id}": {
"delete": {
"description": "Delete a canonical control.",
"operationId": "delete_control_api_compliance_v1_canonical_controls__control_id__delete",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Control",
"tags": [
"compliance",
"canonical-controls"
]
},
"get": {
"description": "Get a single canonical control by its control_id (e.g. AUTH-001).",
"operationId": "get_control_api_compliance_v1_canonical_controls__control_id__get",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Control",
"tags": [
"compliance",
"canonical-controls"
]
},
"put": {
"description": "Update an existing canonical control (partial update).",
"operationId": "update_control_api_compliance_v1_canonical_controls__control_id__put",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ControlUpdateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Control",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/controls/{control_id}/similarity-check": {
"post": {
"description": "Run the too-close detector against a source/candidate text pair.",
"operationId": "similarity_check_api_compliance_v1_canonical_controls__control_id__similarity_check_post",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SimilarityCheckRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Similarity Check",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/frameworks": {
"get": {
"description": "List all registered control frameworks.",
"operationId": "list_frameworks_api_compliance_v1_canonical_frameworks_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "List Frameworks",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/frameworks/{framework_id}": {
"get": {
"description": "Get a single framework by its framework_id.",
"operationId": "get_framework_api_compliance_v1_canonical_frameworks__framework_id__get",
"parameters": [
{
"in": "path",
"name": "framework_id",
"required": true,
"schema": {
"title": "Framework Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Framework",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/frameworks/{framework_id}/controls": {
"get": {
"description": "List controls belonging to a framework.",
"operationId": "list_framework_controls_api_compliance_v1_canonical_frameworks__framework_id__controls_get",
"parameters": [
{
"in": "path",
"name": "framework_id",
"required": true,
"schema": {
"title": "Framework Id",
"type": "string"
}
},
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "query",
"name": "release_state",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Release State"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Framework Controls",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/generate": {
"post": {
"description": "Start a control generation run.",
"operationId": "start_generation_api_compliance_v1_canonical_generate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerateResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Start Generation",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/generate/jobs": {
"get": {
"description": "List all generation jobs.",
"operationId": "list_jobs_api_compliance_v1_canonical_generate_jobs_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 20,
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Jobs",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/generate/processed-stats": {
"get": {
"description": "Get processing statistics per collection.",
"operationId": "get_processed_stats_api_compliance_v1_canonical_generate_processed_stats_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Processed Stats",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/generate/review-queue": {
"get": {
"description": "Get controls that need manual review.",
"operationId": "get_review_queue_api_compliance_v1_canonical_generate_review_queue_get",
"parameters": [
{
"in": "query",
"name": "release_state",
"required": false,
"schema": {
"default": "needs_review",
"pattern": "^(needs_review|too_close|duplicate)$",
"title": "Release State",
"type": "string"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Review Queue",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/generate/review/{control_id}": {
"post": {
"description": "Complete review of a generated control.",
"operationId": "review_control_api_compliance_v1_canonical_generate_review__control_id__post",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReviewRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Review Control",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/generate/status/{job_id}": {
"get": {
"description": "Get status of a generation job.",
"operationId": "get_job_status_api_compliance_v1_canonical_generate_status__job_id__get",
"parameters": [
{
"in": "path",
"name": "job_id",
"required": true,
"schema": {
"title": "Job Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Job Status",
"tags": [
"compliance",
"control-generator"
]
}
},
"/api/compliance/v1/canonical/licenses": {
"get": {
"description": "Return the license matrix.",
"operationId": "list_licenses_api_compliance_v1_canonical_licenses_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "List Licenses",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/canonical/sources": {
"get": {
"description": "List all registered sources with permission flags.",
"operationId": "list_sources_api_compliance_v1_canonical_sources_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "List Sources",
"tags": [
"compliance",
"canonical-controls"
]
}
},
"/api/compliance/v1/compliance-scope": {
"get": {
"description": "Return the persisted compliance scope for a tenant, or 404 if not set.",
"operationId": "get_compliance_scope_api_compliance_v1_compliance_scope_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ComplianceScopeResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Compliance Scope",
"tags": [
"compliance",
"compliance-scope"
]
},
"post": {
"description": "Create or update the compliance scope for a tenant (UPSERT).",
"operationId": "upsert_compliance_scope_api_compliance_v1_compliance_scope_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ComplianceScopeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ComplianceScopeResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upsert Compliance Scope",
"tags": [
"compliance",
"compliance-scope"
]
}
},
"/api/compliance/v1/projects": {
"get": {
"description": "List all projects for the tenant.",
"operationId": "list_projects_api_compliance_v1_projects_get",
"parameters": [
{
"in": "query",
"name": "include_archived",
"required": false,
"schema": {
"default": false,
"title": "Include Archived",
"type": "boolean"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Projects",
"tags": [
"compliance",
"projects"
]
},
"post": {
"description": "Create a new compliance project.\n\nOptionally copies the company profile (companyProfile) from an existing\nproject's sdk_states into the new project's state. This allows a tenant\nto start a new project for a subsidiary with the same base data.",
"operationId": "create_project_api_compliance_v1_projects_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateProjectRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Project",
"tags": [
"compliance",
"projects"
]
}
},
"/api/compliance/v1/projects/{project_id}": {
"delete": {
"description": "Soft-delete (archive) a project.",
"operationId": "archive_project_api_compliance_v1_projects__project_id__delete",
"parameters": [
{
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"title": "Project Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Archive Project",
"tags": [
"compliance",
"projects"
]
},
"get": {
"description": "Get a single project by ID (tenant-scoped).",
"operationId": "get_project_api_compliance_v1_projects__project_id__get",
"parameters": [
{
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"title": "Project Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Project",
"tags": [
"compliance",
"projects"
]
},
"patch": {
"description": "Update project name/description.",
"operationId": "update_project_api_compliance_v1_projects__project_id__patch",
"parameters": [
{
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"title": "Project Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateProjectRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Project",
"tags": [
"compliance",
"projects"
]
}
},
"/api/compliance/v1/projects/{project_id}/permanent": {
"delete": {
"description": "Permanently delete a project and all associated data.",
"operationId": "permanently_delete_project_api_compliance_v1_projects__project_id__permanent_delete",
"parameters": [
{
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"title": "Project Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Permanently Delete Project",
"tags": [
"compliance",
"projects"
]
}
},
"/api/compliance/v1/projects/{project_id}/restore": {
"post": {
"description": "Restore an archived project back to active.",
"operationId": "restore_project_api_compliance_v1_projects__project_id__restore_post",
"parameters": [
{
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"title": "Project Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Restore Project",
"tags": [
"compliance",
"projects"
]
}
},
"/api/compliance/v1/wiki/articles": {
"get": {
"description": "List all wiki articles, optionally filtered by category.",
"operationId": "list_articles_api_compliance_v1_wiki_articles_get",
"parameters": [
{
"description": "Filter by category",
"in": "query",
"name": "category_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by category",
"title": "Category Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Articles",
"tags": [
"compliance",
"wiki"
]
}
},
"/api/compliance/v1/wiki/articles/{article_id}": {
"get": {
"description": "Get a single wiki article by ID.",
"operationId": "get_article_api_compliance_v1_wiki_articles__article_id__get",
"parameters": [
{
"in": "path",
"name": "article_id",
"required": true,
"schema": {
"title": "Article Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Article",
"tags": [
"compliance",
"wiki"
]
}
},
"/api/compliance/v1/wiki/categories": {
"get": {
"description": "List all wiki categories with article counts.",
"operationId": "list_categories_api_compliance_v1_wiki_categories_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "List Categories",
"tags": [
"compliance",
"wiki"
]
}
},
"/api/compliance/v1/wiki/search": {
"get": {
"description": "Full-text search across wiki articles using PostgreSQL tsvector.",
"operationId": "search_wiki_api_compliance_v1_wiki_search_get",
"parameters": [
{
"description": "Search query",
"in": "query",
"name": "q",
"required": true,
"schema": {
"description": "Search query",
"minLength": 2,
"title": "Q",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Search Wiki",
"tags": [
"compliance",
"wiki"
]
}
},
"/api/compliance/vendor-compliance/contracts": {
"get": {
"operationId": "list_contracts_api_compliance_vendor_compliance_contracts_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "vendor_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vendor Id"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "skip",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Skip",
"type": "integer"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Contracts",
"tags": [
"compliance",
"vendor-compliance"
]
},
"post": {
"operationId": "create_contract_api_compliance_vendor_compliance_contracts_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Contract",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/contracts/{contract_id}": {
"delete": {
"operationId": "delete_contract_api_compliance_vendor_compliance_contracts__contract_id__delete",
"parameters": [
{
"in": "path",
"name": "contract_id",
"required": true,
"schema": {
"title": "Contract Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Contract",
"tags": [
"compliance",
"vendor-compliance"
]
},
"get": {
"operationId": "get_contract_api_compliance_vendor_compliance_contracts__contract_id__get",
"parameters": [
{
"in": "path",
"name": "contract_id",
"required": true,
"schema": {
"title": "Contract Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Contract",
"tags": [
"compliance",
"vendor-compliance"
]
},
"put": {
"operationId": "update_contract_api_compliance_vendor_compliance_contracts__contract_id__put",
"parameters": [
{
"in": "path",
"name": "contract_id",
"required": true,
"schema": {
"title": "Contract Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Contract",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/control-instances": {
"get": {
"operationId": "list_control_instances_api_compliance_vendor_compliance_control_instances_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "vendor_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vendor Id"
}
},
{
"in": "query",
"name": "skip",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Skip",
"type": "integer"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Control Instances",
"tags": [
"compliance",
"vendor-compliance"
]
},
"post": {
"operationId": "create_control_instance_api_compliance_vendor_compliance_control_instances_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Control Instance",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/control-instances/{instance_id}": {
"delete": {
"operationId": "delete_control_instance_api_compliance_vendor_compliance_control_instances__instance_id__delete",
"parameters": [
{
"in": "path",
"name": "instance_id",
"required": true,
"schema": {
"title": "Instance Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Control Instance",
"tags": [
"compliance",
"vendor-compliance"
]
},
"get": {
"operationId": "get_control_instance_api_compliance_vendor_compliance_control_instances__instance_id__get",
"parameters": [
{
"in": "path",
"name": "instance_id",
"required": true,
"schema": {
"title": "Instance Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Control Instance",
"tags": [
"compliance",
"vendor-compliance"
]
},
"put": {
"operationId": "update_control_instance_api_compliance_vendor_compliance_control_instances__instance_id__put",
"parameters": [
{
"in": "path",
"name": "instance_id",
"required": true,
"schema": {
"title": "Instance Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Control Instance",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/controls": {
"get": {
"operationId": "list_controls_api_compliance_vendor_compliance_controls_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "domain",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Controls",
"tags": [
"compliance",
"vendor-compliance"
]
},
"post": {
"operationId": "create_control_api_compliance_vendor_compliance_controls_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Control",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/controls/{control_id}": {
"delete": {
"operationId": "delete_control_api_compliance_vendor_compliance_controls__control_id__delete",
"parameters": [
{
"in": "path",
"name": "control_id",
"required": true,
"schema": {
"title": "Control Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Control",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/export": {
"post": {
"operationId": "export_report_api_compliance_vendor_compliance_export_post",
"responses": {
"501": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Export Report",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/export/{report_id}": {
"get": {
"operationId": "get_export_api_compliance_vendor_compliance_export__report_id__get",
"parameters": [
{
"in": "path",
"name": "report_id",
"required": true,
"schema": {
"title": "Report Id",
"type": "string"
}
}
],
"responses": {
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
},
"501": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Export",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/export/{report_id}/download": {
"get": {
"operationId": "download_export_api_compliance_vendor_compliance_export__report_id__download_get",
"parameters": [
{
"in": "path",
"name": "report_id",
"required": true,
"schema": {
"title": "Report Id",
"type": "string"
}
}
],
"responses": {
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
},
"501": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Download Export",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/findings": {
"get": {
"operationId": "list_findings_api_compliance_vendor_compliance_findings_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "vendor_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vendor Id"
}
},
{
"in": "query",
"name": "severity",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Severity"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "skip",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Skip",
"type": "integer"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Findings",
"tags": [
"compliance",
"vendor-compliance"
]
},
"post": {
"operationId": "create_finding_api_compliance_vendor_compliance_findings_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Finding",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/findings/{finding_id}": {
"delete": {
"operationId": "delete_finding_api_compliance_vendor_compliance_findings__finding_id__delete",
"parameters": [
{
"in": "path",
"name": "finding_id",
"required": true,
"schema": {
"title": "Finding Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Finding",
"tags": [
"compliance",
"vendor-compliance"
]
},
"get": {
"operationId": "get_finding_api_compliance_vendor_compliance_findings__finding_id__get",
"parameters": [
{
"in": "path",
"name": "finding_id",
"required": true,
"schema": {
"title": "Finding Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Finding",
"tags": [
"compliance",
"vendor-compliance"
]
},
"put": {
"operationId": "update_finding_api_compliance_vendor_compliance_findings__finding_id__put",
"parameters": [
{
"in": "path",
"name": "finding_id",
"required": true,
"schema": {
"title": "Finding Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Finding",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/vendors": {
"get": {
"operationId": "list_vendors_api_compliance_vendor_compliance_vendors_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "riskLevel",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risklevel"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "skip",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Skip",
"type": "integer"
}
},
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 100,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Vendors",
"tags": [
"compliance",
"vendor-compliance"
]
},
"post": {
"operationId": "create_vendor_api_compliance_vendor_compliance_vendors_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Vendor",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/vendors/stats": {
"get": {
"operationId": "get_vendor_stats_api_compliance_vendor_compliance_vendors_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Vendor Stats",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/vendors/{vendor_id}": {
"delete": {
"operationId": "delete_vendor_api_compliance_vendor_compliance_vendors__vendor_id__delete",
"parameters": [
{
"in": "path",
"name": "vendor_id",
"required": true,
"schema": {
"title": "Vendor Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Vendor",
"tags": [
"compliance",
"vendor-compliance"
]
},
"get": {
"operationId": "get_vendor_api_compliance_vendor_compliance_vendors__vendor_id__get",
"parameters": [
{
"in": "path",
"name": "vendor_id",
"required": true,
"schema": {
"title": "Vendor Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Vendor",
"tags": [
"compliance",
"vendor-compliance"
]
},
"put": {
"operationId": "update_vendor_api_compliance_vendor_compliance_vendors__vendor_id__put",
"parameters": [
{
"in": "path",
"name": "vendor_id",
"required": true,
"schema": {
"title": "Vendor Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Vendor",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vendor-compliance/vendors/{vendor_id}/status": {
"patch": {
"operationId": "patch_vendor_status_api_compliance_vendor_compliance_vendors__vendor_id__status_patch",
"parameters": [
{
"in": "path",
"name": "vendor_id",
"required": true,
"schema": {
"title": "Vendor Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"default": {},
"title": "Body",
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Patch Vendor Status",
"tags": [
"compliance",
"vendor-compliance"
]
}
},
"/api/compliance/vvt/activities": {
"get": {
"description": "List all processing activities with optional filters.",
"operationId": "list_activities_api_compliance_vvt_activities_get",
"parameters": [
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
{
"in": "query",
"name": "business_function",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Business Function"
}
},
{
"in": "query",
"name": "search",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Search"
}
},
{
"in": "query",
"name": "review_overdue",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Review Overdue"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/VVTActivityResponse"
},
"title": "Response List Activities Api Compliance Vvt Activities Get",
"type": "array"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Activities",
"tags": [
"compliance",
"compliance-vvt"
]
},
"post": {
"description": "Create a new processing activity.",
"operationId": "create_activity_api_compliance_vvt_activities_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTActivityCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTActivityResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Activity",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/activities/{activity_id}": {
"delete": {
"description": "Delete a processing activity.",
"operationId": "delete_activity_api_compliance_vvt_activities__activity_id__delete",
"parameters": [
{
"in": "path",
"name": "activity_id",
"required": true,
"schema": {
"title": "Activity Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Activity",
"tags": [
"compliance",
"compliance-vvt"
]
},
"get": {
"description": "Get a single processing activity by ID.",
"operationId": "get_activity_api_compliance_vvt_activities__activity_id__get",
"parameters": [
{
"in": "path",
"name": "activity_id",
"required": true,
"schema": {
"title": "Activity Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTActivityResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Activity",
"tags": [
"compliance",
"compliance-vvt"
]
},
"put": {
"description": "Update a processing activity.",
"operationId": "update_activity_api_compliance_vvt_activities__activity_id__put",
"parameters": [
{
"in": "path",
"name": "activity_id",
"required": true,
"schema": {
"title": "Activity Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTActivityUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTActivityResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Activity",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/activities/{activity_id}/versions": {
"get": {
"description": "List all versions for a VVT activity.",
"operationId": "list_activity_versions_api_compliance_vvt_activities__activity_id__versions_get",
"parameters": [
{
"in": "path",
"name": "activity_id",
"required": true,
"schema": {
"title": "Activity Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Activity Versions",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/activities/{activity_id}/versions/{version_number}": {
"get": {
"description": "Get a specific VVT activity version with full snapshot.",
"operationId": "get_activity_version_api_compliance_vvt_activities__activity_id__versions__version_number__get",
"parameters": [
{
"in": "path",
"name": "activity_id",
"required": true,
"schema": {
"title": "Activity Id",
"type": "string"
}
},
{
"in": "path",
"name": "version_number",
"required": true,
"schema": {
"title": "Version Number",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Activity Version",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/audit-log": {
"get": {
"description": "Get the VVT audit trail.",
"operationId": "get_audit_log_api_compliance_vvt_audit_log_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/VVTAuditLogEntry"
},
"title": "Response Get Audit Log Api Compliance Vvt Audit Log Get",
"type": "array"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Log",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/export": {
"get": {
"description": "Export all activities as JSON or CSV (semicolon-separated, DE locale).",
"operationId": "export_activities_api_compliance_vvt_export_get",
"parameters": [
{
"in": "query",
"name": "format",
"required": false,
"schema": {
"default": "json",
"pattern": "^(json|csv)$",
"title": "Format",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export Activities",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/organization": {
"get": {
"description": "Load the VVT organization header for the given tenant.",
"operationId": "get_organization_api_compliance_vvt_organization_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/VVTOrganizationResponse"
},
{
"type": "null"
}
],
"title": "Response Get Organization Api Compliance Vvt Organization Get"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Organization",
"tags": [
"compliance",
"compliance-vvt"
]
},
"put": {
"description": "Create or update the VVT organization header.",
"operationId": "upsert_organization_api_compliance_vvt_organization_put",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTOrganizationUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTOrganizationResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upsert Organization",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/compliance/vvt/stats": {
"get": {
"description": "Get VVT statistics summary.",
"operationId": "get_stats_api_compliance_vvt_stats_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tenant Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VVTStatsResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Stats",
"tags": [
"compliance",
"compliance-vvt"
]
}
},
"/api/consent/admin/audit-log": {
"get": {
"description": "Gibt das Audit-Log zur\u00fcck",
"operationId": "admin_get_audit_log_api_consent_admin_audit_log_get",
"parameters": [
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"default": 50,
"maximum": 100,
"minimum": 1,
"title": "Per Page",
"type": "integer"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Audit Log",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/cookies/categories": {
"get": {
"description": "Gibt alle Cookie-Kategorien zur\u00fcck",
"operationId": "admin_get_cookie_categories_api_consent_admin_cookies_categories_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Cookie Categories",
"tags": [
"consent-admin"
]
},
"post": {
"description": "Erstellt eine neue Cookie-Kategorie",
"operationId": "admin_create_cookie_category_api_consent_admin_cookies_categories_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCookieCategoryRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Create Cookie Category",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/cookies/categories/{cat_id}": {
"delete": {
"description": "Deaktiviert eine Cookie-Kategorie",
"operationId": "admin_delete_cookie_category_api_consent_admin_cookies_categories__cat_id__delete",
"parameters": [
{
"in": "path",
"name": "cat_id",
"required": true,
"schema": {
"title": "Cat Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Delete Cookie Category",
"tags": [
"consent-admin"
]
},
"put": {
"description": "Aktualisiert eine Cookie-Kategorie",
"operationId": "admin_update_cookie_category_api_consent_admin_cookies_categories__cat_id__put",
"parameters": [
{
"in": "path",
"name": "cat_id",
"required": true,
"schema": {
"title": "Cat Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Request",
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Update Cookie Category",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/documents": {
"get": {
"description": "Gibt alle Dokumente zur\u00fcck (inkl. inaktive)",
"operationId": "admin_get_documents_api_consent_admin_documents_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Documents",
"tags": [
"consent-admin"
]
},
"post": {
"description": "Erstellt ein neues rechtliches Dokument",
"operationId": "admin_create_document_api_consent_admin_documents_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDocumentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Create Document",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/documents/{doc_id}": {
"delete": {
"description": "Deaktiviert ein rechtliches Dokument (Soft-Delete)",
"operationId": "admin_delete_document_api_consent_admin_documents__doc_id__delete",
"parameters": [
{
"in": "path",
"name": "doc_id",
"required": true,
"schema": {
"title": "Doc Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Delete Document",
"tags": [
"consent-admin"
]
},
"put": {
"description": "Aktualisiert ein rechtliches Dokument",
"operationId": "admin_update_document_api_consent_admin_documents__doc_id__put",
"parameters": [
{
"in": "path",
"name": "doc_id",
"required": true,
"schema": {
"title": "Doc Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateDocumentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Update Document",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/documents/{doc_id}/versions": {
"get": {
"description": "Gibt alle Versionen eines Dokuments zur\u00fcck",
"operationId": "admin_get_versions_api_consent_admin_documents__doc_id__versions_get",
"parameters": [
{
"in": "path",
"name": "doc_id",
"required": true,
"schema": {
"title": "Doc Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Versions",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/privacy/deletion-requests": {
"get": {
"description": "[Admin] Gibt alle L\u00f6schantr\u00e4ge zur\u00fcck.",
"operationId": "admin_get_deletion_requests_api_consent_admin_privacy_deletion_requests_get",
"parameters": [
{
"description": "Filter: pending, processing, completed",
"in": "query",
"name": "status",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter: pending, processing, completed",
"title": "Status"
}
},
{
"in": "query",
"name": "page",
"required": false,
"schema": {
"default": 1,
"minimum": 1,
"title": "Page",
"type": "integer"
}
},
{
"in": "query",
"name": "per_page",
"required": false,
"schema": {
"default": 20,
"maximum": 100,
"minimum": 1,
"title": "Per Page",
"type": "integer"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Deletion Requests",
"tags": [
"gdpr-admin"
]
}
},
"/api/consent/admin/privacy/deletion-requests/{request_id}/process": {
"post": {
"description": "[Admin] Bearbeitet einen L\u00f6schantrag.",
"operationId": "admin_process_deletion_request_api_consent_admin_privacy_deletion_requests__request_id__process_post",
"parameters": [
{
"in": "path",
"name": "request_id",
"required": true,
"schema": {
"title": "Request Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Process Deletion Request",
"tags": [
"gdpr-admin"
]
}
},
"/api/consent/admin/privacy/export-pdf/{user_id}": {
"get": {
"description": "[Admin] Generiert PDF-Datenauskunft f\u00fcr einen beliebigen Nutzer.\n\nNur f\u00fcr Admins: Erm\u00f6glicht Export von Nutzerdaten f\u00fcr Support-Anfragen\noder Beh\u00f6rdenanfragen.",
"operationId": "admin_export_user_data_pdf_api_consent_admin_privacy_export_pdf__user_id__get",
"parameters": [
{
"in": "path",
"name": "user_id",
"required": true,
"schema": {
"title": "User Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Export User Data Pdf",
"tags": [
"gdpr-admin"
]
}
},
"/api/consent/admin/privacy/retention-stats": {
"get": {
"description": "[Admin] Gibt Statistiken \u00fcber Daten und L\u00f6schfristen zur\u00fcck.",
"operationId": "admin_get_retention_stats_api_consent_admin_privacy_retention_stats_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Retention Stats",
"tags": [
"gdpr-admin"
]
}
},
"/api/consent/admin/scheduled-publishing/process": {
"post": {
"description": "Verarbeitet alle f\u00e4lligen geplanten Ver\u00f6ffentlichungen.\nSollte von einem Cronjob regelm\u00e4\u00dfig aufgerufen werden.",
"operationId": "admin_process_scheduled_publishing_api_consent_admin_scheduled_publishing_process_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Process Scheduled Publishing",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/scheduled-versions": {
"get": {
"description": "Gibt alle f\u00fcr Ver\u00f6ffentlichung geplanten Versionen zur\u00fcck",
"operationId": "admin_get_scheduled_versions_api_consent_admin_scheduled_versions_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Scheduled Versions",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/statistics": {
"get": {
"description": "Gibt Statistiken \u00fcber Consents zur\u00fcck",
"operationId": "admin_get_statistics_api_consent_admin_statistics_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Statistics",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions": {
"post": {
"description": "Erstellt eine neue Dokumentversion",
"operationId": "admin_create_version_api_consent_admin_versions_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateVersionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Create Version",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/upload-word": {
"post": {
"description": "Konvertiert ein Word-Dokument (.docx) zu HTML.\nErfordert mammoth Library.",
"operationId": "upload_word_document_api_consent_admin_versions_upload_word_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_upload_word_document_api_consent_admin_versions_upload_word_post"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upload Word Document",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}": {
"delete": {
"description": "L\u00f6scht eine Dokumentversion dauerhaft.\n\nNur Versionen im Status 'draft' oder 'rejected' k\u00f6nnen gel\u00f6scht werden.\nVer\u00f6ffentlichte Versionen m\u00fcssen stattdessen archiviert werden.\nDie Versionsnummer wird nach dem L\u00f6schen wieder frei.",
"operationId": "admin_delete_version_api_consent_admin_versions__version_id__delete",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Delete Version",
"tags": [
"consent-admin"
]
},
"put": {
"description": "Aktualisiert eine Dokumentversion (nur draft Status)",
"operationId": "admin_update_version_api_consent_admin_versions__version_id__put",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateVersionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Update Version",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/approval-history": {
"get": {
"description": "Gibt die Genehmigungshistorie einer Version zur\u00fcck",
"operationId": "admin_get_approval_history_api_consent_admin_versions__version_id__approval_history_get",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Get Approval History",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/approve": {
"post": {
"description": "Genehmigt eine Version (nur DSB).\n\nMit scheduled_publish_at kann ein Ver\u00f6ffentlichungszeitpunkt festgelegt werden.\nFormat: ISO 8601 (z.B. \"2026-01-01T00:00:00Z\")",
"operationId": "admin_approve_version_api_consent_admin_versions__version_id__approve_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApprovalCommentRequest"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Approve Version",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/archive": {
"post": {
"description": "Archiviert eine Dokumentversion",
"operationId": "admin_archive_version_api_consent_admin_versions__version_id__archive_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Archive Version",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/compare": {
"get": {
"description": "Vergleicht Version mit aktuell ver\u00f6ffentlichter Version",
"operationId": "admin_compare_versions_api_consent_admin_versions__version_id__compare_get",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Compare Versions",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/publish": {
"post": {
"description": "Ver\u00f6ffentlicht eine Dokumentversion",
"operationId": "admin_publish_version_api_consent_admin_versions__version_id__publish_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Publish Version",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/reject": {
"post": {
"description": "Lehnt eine Version ab (nur DSB)",
"operationId": "admin_reject_version_api_consent_admin_versions__version_id__reject_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RejectRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Reject Version",
"tags": [
"consent-admin"
]
}
},
"/api/consent/admin/versions/{version_id}/submit-review": {
"post": {
"description": "Reicht eine Version zur DSB-Pr\u00fcfung ein",
"operationId": "admin_submit_for_review_api_consent_admin_versions__version_id__submit_review_post",
"parameters": [
{
"in": "path",
"name": "version_id",
"required": true,
"schema": {
"title": "Version Id",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Admin Submit For Review",
"tags": [
"consent-admin"
]
}
},
"/api/consent/check/{document_type}": {
"get": {
"description": "Pr\u00fcft ob der Benutzer einem Dokument zugestimmt hat.\nGibt zur\u00fcck ob Zustimmung vorliegt und ob sie aktualisiert werden muss.",
"operationId": "check_consent_api_consent_check__document_type__get",
"parameters": [
{
"in": "path",
"name": "document_type",
"required": true,
"schema": {
"title": "Document Type",
"type": "string"
}
},
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"title": "Language",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Check Consent",
"tags": [
"consent"
]
}
},
"/api/consent/cookies": {
"post": {
"description": "Speichert die Cookie-Pr\u00e4ferenzen des Benutzers",
"operationId": "set_cookie_consent_api_consent_cookies_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CookieConsentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Set Cookie Consent",
"tags": [
"consent"
]
}
},
"/api/consent/cookies/categories": {
"get": {
"description": "Holt alle Cookie-Kategorien f\u00fcr das Cookie-Banner",
"operationId": "get_cookie_categories_api_consent_cookies_categories_get",
"parameters": [
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"title": "Language",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Cookie Categories",
"tags": [
"consent"
]
}
},
"/api/consent/documents/{document_type}/latest": {
"get": {
"description": "Holt die aktuellste Version eines rechtlichen Dokuments",
"operationId": "get_latest_document_api_consent_documents__document_type__latest_get",
"parameters": [
{
"in": "path",
"name": "document_type",
"required": true,
"schema": {
"title": "Document Type",
"type": "string"
}
},
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"title": "Language",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Latest Document",
"tags": [
"consent"
]
}
},
"/api/consent/give": {
"post": {
"description": "Speichert die Zustimmung des Benutzers zu einem Dokument",
"operationId": "give_consent_api_consent_give_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConsentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Give Consent",
"tags": [
"consent"
]
}
},
"/api/consent/health": {
"get": {
"description": "Pr\u00fcft die Verbindung zum Consent Service",
"operationId": "consent_health_api_consent_health_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Consent Health",
"tags": [
"consent"
]
}
},
"/api/consent/pending": {
"get": {
"description": "Gibt alle Dokumente zur\u00fcck, die noch Zustimmung ben\u00f6tigen.\nN\u00fctzlich f\u00fcr Anzeige beim Login oder in den Einstellungen.",
"operationId": "get_pending_consents_api_consent_pending_get",
"parameters": [
{
"in": "query",
"name": "language",
"required": false,
"schema": {
"default": "de",
"title": "Language",
"type": "string"
}
},
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Pending Consents",
"tags": [
"consent"
]
}
},
"/api/consent/privacy/data-categories": {
"get": {
"description": "Gibt alle Datenkategorien mit ihren L\u00f6schfristen zur\u00fcck.\n\nDiese Information wird auch im PDF-Export angezeigt und gibt Nutzern\nTransparenz dar\u00fcber, welche Daten wie lange gespeichert werden.\n\nQuery Parameters:\n filter: 'essential' f\u00fcr Pflicht-Daten, 'optional' f\u00fcr Opt-in Daten",
"operationId": "get_data_categories_api_consent_privacy_data_categories_get",
"parameters": [
{
"description": "Filter: 'essential', 'optional', oder leer f\u00fcr alle",
"in": "query",
"name": "filter",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter: 'essential', 'optional', oder leer f\u00fcr alle",
"title": "Filter"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Data Categories",
"tags": [
"gdpr-privacy"
]
}
},
"/api/consent/privacy/data-categories/{category}": {
"get": {
"description": "Gibt Details zu einer spezifischen Datenkategorie zur\u00fcck.",
"operationId": "get_data_category_details_api_consent_privacy_data_categories__category__get",
"parameters": [
{
"in": "path",
"name": "category",
"required": true,
"schema": {
"title": "Category",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Data Category Details",
"tags": [
"gdpr-privacy"
]
}
},
"/api/consent/privacy/delete": {
"post": {
"description": "GDPR Art. 17: Recht auf L\u00f6schung\nFordert die L\u00f6schung aller Benutzerdaten an.",
"operationId": "request_data_deletion_api_consent_privacy_delete_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataDeletionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Request Data Deletion",
"tags": [
"consent"
]
}
},
"/api/consent/privacy/export": {
"post": {
"description": "GDPR Art. 20: Recht auf Daten\u00fcbertragbarkeit\nFordert einen Export aller Benutzerdaten an.",
"operationId": "request_data_export_api_consent_privacy_export_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Request Data Export",
"tags": [
"consent"
]
}
},
"/api/consent/privacy/export-html": {
"get": {
"description": "Generiert eine HTML-Datenauskunft (Preview oder Alternative zu PDF).\n\nReturns:\n HTML-Dokument mit allen gespeicherten Nutzerdaten",
"operationId": "export_user_data_html_api_consent_privacy_export_html_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export User Data Html",
"tags": [
"gdpr-privacy"
]
}
},
"/api/consent/privacy/export-pdf": {
"post": {
"description": "Generiert eine PDF-Datenauskunft gem\u00e4\u00df DSGVO Art. 15.\n\nReturns:\n PDF-Dokument mit allen gespeicherten Nutzerdaten",
"operationId": "export_user_data_pdf_api_consent_privacy_export_pdf_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Export User Data Pdf",
"tags": [
"gdpr-privacy"
]
}
},
"/api/consent/privacy/my-data": {
"get": {
"description": "GDPR Art. 15: Auskunftsrecht\nGibt alle \u00fcber den Benutzer gespeicherten Daten zur\u00fcck.",
"operationId": "get_my_data_api_consent_privacy_my_data_get",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get My Data",
"tags": [
"consent"
]
}
},
"/api/consent/privacy/request-deletion": {
"post": {
"description": "Reicht einen Antrag auf Datenl\u00f6schung ein (DSGVO Art. 17).\n\nDer Antrag wird protokolliert und innerhalb von 30 Tagen bearbeitet.\nBestimmte Daten m\u00fcssen aufgrund gesetzlicher Aufbewahrungsfristen\nm\u00f6glicherweise l\u00e4nger gespeichert werden.\n\nBody:\n reason: Optionaler Grund f\u00fcr die L\u00f6schung\n confirm: Muss true sein zur Best\u00e4tigung",
"operationId": "request_data_deletion_api_consent_privacy_request_deletion_post",
"parameters": [
{
"in": "header",
"name": "authorization",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authorization"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeletionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Request Data Deletion",
"tags": [
"gdpr-privacy"
]
}
},
"/api/consent/token/demo": {
"get": {
"description": "Generiert einen Demo-Token f\u00fcr nicht-authentifizierte Benutzer.\nDieser Token erm\u00f6glicht das Lesen von \u00f6ffentlichen Dokumenten.",
"operationId": "get_demo_token_api_consent_token_demo_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Demo Token",
"tags": [
"consent"
]
}
},
"/api/v1/admin/blocked-content": {
"get": {
"description": "List blocked content entries.",
"operationId": "list_blocked_content_api_v1_admin_blocked_content_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "domain",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Domain"
}
},
{
"in": "query",
"name": "from",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "From"
}
},
{
"in": "query",
"name": "to",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "To"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Blocked Content",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/compliance-report": {
"get": {
"description": "Generate a compliance report for source policies.",
"operationId": "get_compliance_report_api_v1_admin_compliance_report_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Compliance Report",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/operations-matrix": {
"get": {
"description": "Get the full operations matrix.",
"operationId": "get_operations_matrix_api_v1_admin_operations_matrix_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Operations Matrix",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/operations/{operation_id}": {
"put": {
"description": "Update an operation in the matrix.",
"operationId": "update_operation_api_v1_admin_operations__operation_id__put",
"parameters": [
{
"in": "path",
"name": "operation_id",
"required": true,
"schema": {
"title": "Operation Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OperationUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Operation",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/pii-rules": {
"get": {
"description": "List all PII rules with optional category filter.",
"operationId": "list_pii_rules_api_v1_admin_pii_rules_get",
"parameters": [
{
"in": "query",
"name": "category",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Pii Rules",
"tags": [
"source-policy"
]
},
"post": {
"description": "Create a new PII rule.",
"operationId": "create_pii_rule_api_v1_admin_pii_rules_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PIIRuleCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Pii Rule",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/pii-rules/{rule_id}": {
"delete": {
"description": "Delete a PII rule.",
"operationId": "delete_pii_rule_api_v1_admin_pii_rules__rule_id__delete",
"parameters": [
{
"in": "path",
"name": "rule_id",
"required": true,
"schema": {
"title": "Rule Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Pii Rule",
"tags": [
"source-policy"
]
},
"put": {
"description": "Update a PII rule.",
"operationId": "update_pii_rule_api_v1_admin_pii_rules__rule_id__put",
"parameters": [
{
"in": "path",
"name": "rule_id",
"required": true,
"schema": {
"title": "Rule Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PIIRuleUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Pii Rule",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/policy-audit": {
"get": {
"description": "Get the audit trail for source policy changes.",
"operationId": "get_policy_audit_api_v1_admin_policy_audit_get",
"parameters": [
{
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 500,
"minimum": 1,
"title": "Limit",
"type": "integer"
}
},
{
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
{
"in": "query",
"name": "entity_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Type"
}
},
{
"in": "query",
"name": "from",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "From"
}
},
{
"in": "query",
"name": "to",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "To"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Policy Audit",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/policy-stats": {
"get": {
"description": "Get dashboard statistics for source policy.",
"operationId": "get_policy_stats_api_v1_admin_policy_stats_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Get Policy Stats",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/sources": {
"get": {
"description": "List all allowed sources with optional filters.",
"operationId": "list_sources_api_v1_admin_sources_get",
"parameters": [
{
"in": "query",
"name": "active_only",
"required": false,
"schema": {
"default": false,
"title": "Active Only",
"type": "boolean"
}
},
{
"in": "query",
"name": "source_type",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Type"
}
},
{
"in": "query",
"name": "license",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "License"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Sources",
"tags": [
"source-policy"
]
},
"post": {
"description": "Add a new allowed source.",
"operationId": "create_source_api_v1_admin_sources_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SourceCreate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Create Source",
"tags": [
"source-policy"
]
}
},
"/api/v1/admin/sources/{source_id}": {
"delete": {
"description": "Remove an allowed source.",
"operationId": "delete_source_api_v1_admin_sources__source_id__delete",
"parameters": [
{
"in": "path",
"name": "source_id",
"required": true,
"schema": {
"title": "Source Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Source",
"tags": [
"source-policy"
]
},
"get": {
"description": "Get a specific source.",
"operationId": "get_source_api_v1_admin_sources__source_id__get",
"parameters": [
{
"in": "path",
"name": "source_id",
"required": true,
"schema": {
"title": "Source Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Source",
"tags": [
"source-policy"
]
},
"put": {
"description": "Update an existing source.",
"operationId": "update_source_api_v1_admin_sources__source_id__put",
"parameters": [
{
"in": "path",
"name": "source_id",
"required": true,
"schema": {
"title": "Source Id",
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SourceUpdate"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Update Source",
"tags": [
"source-policy"
]
}
},
"/api/v1/company-profile": {
"delete": {
"description": "Delete company profile for a tenant (DSGVO Recht auf Loeschung, Art. 17).",
"operationId": "delete_company_profile_api_v1_company_profile_delete",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "query",
"name": "project_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Company Profile",
"tags": [
"company-profile"
]
},
"get": {
"description": "Get company profile for a tenant (optionally per project).",
"operationId": "get_company_profile_api_v1_company_profile_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "query",
"name": "project_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyProfileResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Company Profile",
"tags": [
"company-profile"
]
},
"patch": {
"description": "Partial update for company profile.",
"operationId": "patch_company_profile_api_v1_company_profile_patch",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "query",
"name": "project_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Updates",
"type": "object"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyProfileResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Patch Company Profile",
"tags": [
"company-profile"
]
},
"post": {
"description": "Create or update company profile (upsert).",
"operationId": "upsert_company_profile_api_v1_company_profile_post",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "query",
"name": "project_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyProfileRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompanyProfileResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Upsert Company Profile",
"tags": [
"company-profile"
]
}
},
"/api/v1/company-profile/audit": {
"get": {
"description": "Get audit log for company profile changes.",
"operationId": "get_audit_log_api_v1_company_profile_audit_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "query",
"name": "project_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Audit Log",
"tags": [
"company-profile"
]
}
},
"/api/v1/company-profile/template-context": {
"get": {
"description": "Return flat dict for Jinja2 template substitution in document generation.",
"operationId": "get_template_context_api_v1_company_profile_template_context_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "query",
"name": "project_id",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Template Context",
"tags": [
"company-profile"
]
}
},
"/api/v1/import": {
"get": {
"description": "Alias: GET /v1/import \u2192 list documents (proxy-compatible URL).",
"operationId": "list_documents_root_api_v1_import_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Documents Root",
"tags": [
"document-import"
]
}
},
"/api/v1/import/analyze": {
"post": {
"description": "Upload and analyze a compliance document.",
"operationId": "analyze_document_api_v1_import_analyze_post",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_analyze_document_api_v1_import_analyze_post"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentAnalysisResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Analyze Document",
"tags": [
"document-import"
]
}
},
"/api/v1/import/documents": {
"get": {
"description": "List all imported documents for a tenant.",
"operationId": "list_documents_api_v1_import_documents_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Documents",
"tags": [
"document-import"
]
}
},
"/api/v1/import/gap-analysis/{document_id}": {
"get": {
"description": "Get gap analysis for a specific document.",
"operationId": "get_gap_analysis_api_v1_import_gap_analysis__document_id__get",
"parameters": [
{
"in": "path",
"name": "document_id",
"required": true,
"schema": {
"title": "Document Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Gap Analysis",
"tags": [
"document-import"
]
}
},
"/api/v1/import/{document_id}": {
"delete": {
"description": "Delete an imported document and its gap analysis.",
"operationId": "delete_document_api_v1_import__document_id__delete",
"parameters": [
{
"in": "path",
"name": "document_id",
"required": true,
"schema": {
"title": "Document Id",
"type": "string"
}
},
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
},
{
"in": "header",
"name": "X-Tenant-ID",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "X-Tenant-Id"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Delete Document",
"tags": [
"document-import"
]
}
},
"/api/v1/screening": {
"get": {
"description": "List all screenings for a tenant.",
"operationId": "list_screenings_api_v1_screening_get",
"parameters": [
{
"in": "query",
"name": "tenant_id",
"required": false,
"schema": {
"default": "default",
"title": "Tenant Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreeningListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "List Screenings",
"tags": [
"system-screening"
]
}
},
"/api/v1/screening/scan": {
"post": {
"description": "Upload a dependency file, generate SBOM, and scan for vulnerabilities.",
"operationId": "scan_dependencies_api_v1_screening_scan_post",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_scan_dependencies_api_v1_screening_scan_post"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreeningResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Scan Dependencies",
"tags": [
"system-screening"
]
}
},
"/api/v1/screening/{screening_id}": {
"get": {
"description": "Get a screening result by ID.",
"operationId": "get_screening_api_v1_screening__screening_id__get",
"parameters": [
{
"in": "path",
"name": "screening_id",
"required": true,
"schema": {
"title": "Screening Id",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScreeningResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"summary": "Get Screening",
"tags": [
"system-screening"
]
}
},
"/health": {
"get": {
"description": "Health check endpoint for load balancers and orchestration.",
"operationId": "health_health_get",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {}
}
},
"description": "Successful Response"
}
},
"summary": "Health",
"tags": [
"system"
]
}
}
}
}