{ "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": { "description": "Request body for adding a cookie category to a site.", "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": { "description": "Request body for creating a banner site configuration.", "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": { "description": "Partial update for a banner site configuration.", "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": { "description": "Request body for POST /tom/measures/bulk.", "properties": { "measures": { "default": [], "items": { "$ref": "#/components/schemas/TOMMeasureBulkItem" }, "title": "Measures", "type": "array" }, "tenant_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tenant Id" } }, "title": "TOMMeasureBulkBody", "type": "object" }, "TOMMeasureBulkItem": { "description": "Single item in a TOMMeasureBulkBody \u2014 no verification fields.", "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": { "description": "Request body for POST /tom/measures.", "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": { "description": "Request body for PUT /tom/measures/{id} (all fields optional).", "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": { "description": "Request body for POST /tom/state (save with optimistic locking).", "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": { "description": "Request body for adding a vendor under a site's category.", "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__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" }, "compliance__schemas__banner__ConsentCreate": { "description": "Request body for recording a device consent.", "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" } } }, "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 paginated audit checklist for a session.", "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.", "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.", "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 a draft or archived audit session and all its sign-offs.", "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": { "additionalProperties": true, "title": "Response Delete Audit Session Api Compliance Audit Sessions Session Id Delete", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Archive Audit Session Api Compliance Audit Sessions Session Id Archive Put", "type": "object" } } }, "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 (in_progress -> 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": { "additionalProperties": true, "title": "Response Complete Audit Session Api Compliance Audit Sessions Session Id Complete Put", "type": "object" } } }, "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.", "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 (draft -> 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": { "additionalProperties": true, "title": "Response Start Audit Session Api Compliance Audit Sessions Session Id Start Put", "type": "object" } } }, "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": { "items": { "additionalProperties": true, "type": "object" }, "title": "Response List Site Configs Api Compliance Banner Admin Sites Get", "type": "array" } } }, "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": { "additionalProperties": true, "title": "Response Create Site Config Api Compliance Banner Admin Sites Post", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Update Site Config Api Compliance Banner Admin Sites Site Id Put", "type": "object" } } }, "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": { "items": { "additionalProperties": true, "type": "object" }, "title": "Response List Categories Api Compliance Banner Admin Sites Site Id Categories Get", "type": "array" } } }, "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": { "additionalProperties": true, "title": "Response Create Category Api Compliance Banner Admin Sites Site Id Categories Post", "type": "object" } } }, "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": { "items": { "additionalProperties": true, "type": "object" }, "title": "Response List Vendors Api Compliance Banner Admin Sites Site Id Vendors Get", "type": "array" } } }, "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": { "additionalProperties": true, "title": "Response Create Vendor Api Compliance Banner Admin Sites Site Id Vendors Post", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Get Site Stats Api Compliance Banner Admin Stats Site Id Get", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Get Site Config Api Compliance Banner Config Site Id Get", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Get Consent Api Compliance Banner Consent Get", "type": "object" } } }, "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__schemas__banner__ConsentCreate" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "additionalProperties": true, "title": "Response Record Consent Api Compliance Banner Consent Post", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Export Consent Api Compliance Banner Consent Export Get", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Withdraw Consent Api Compliance Banner Consent Consent Id Delete", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response List Measures Api Compliance Tom Measures Get", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Create Measure Api Compliance Tom Measures Post", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Bulk Upsert Measures Api Compliance Tom Measures Bulk Post", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Update Measure Api Compliance Tom Measures Measure Id Put", "type": "object" } } }, "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": { "title": "Response List Measure Versions Api Compliance Tom Measures Measure Id Versions Get" } } }, "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": { "title": "Response Get Measure Version Api Compliance Tom Measures Measure Id Versions Version Number Get" } } }, "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": { "additionalProperties": true, "title": "Response Delete Tom State Api Compliance Tom State Delete", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Get Tom State Api Compliance Tom State Get", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Save Tom State Api Compliance Tom State Post", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Get Tom Stats Api Compliance Tom Stats Get", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Delete Activity Api Compliance Vvt Activities Activity Id Delete", "type": "object" } } }, "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": { "title": "Response List Activity Versions Api Compliance Vvt Activities Activity Id Versions Get" } } }, "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": { "title": "Response Get Activity Version Api Compliance Vvt Activities Activity Id Versions Version Number Get" } } }, "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": { "title": "Response Export Activities Api Compliance Vvt Export Get" } } }, "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": { "additionalProperties": true, "title": "Response Delete Company Profile Api V1 Company Profile Delete", "type": "object" } } }, "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": { "additionalProperties": true, "title": "Response Get Template Context Api V1 Company Profile Template Context Get", "type": "object" } } }, "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" ] } } } }