Phase 1 Step 4, file 2 of 18. Same cookbook as audit_routes (4a91814+883ef70) applied to banner_routes.py. compliance/api/banner_routes.py (653 LOC) is decomposed into: compliance/api/banner_routes.py (255) — thin handlers compliance/services/banner_consent_service.py (298) — public SDK surface compliance/services/banner_admin_service.py (238) — site/category/vendor CRUD compliance/services/_banner_serializers.py ( 81) — ORM-to-dict helpers shared between the two services compliance/schemas/banner.py ( 85) — Pydantic request models Split rationale: the SDK-facing endpoints (consent CRUD, config retrieval, export, stats) and the admin CRUD endpoints (sites + categories + vendors) have distinct audiences and different auth stories, and combined they would push the service file over the 500 hard cap. Two focused services is cleaner than one ~540-line god class. The shared ORM-to-dict helpers live in a private sibling module (_banner_serializers) rather than a static method on either service, so both services can import without a cycle. Handlers follow the established pattern: - Depends(get_consent_service) or Depends(get_admin_service) - `with translate_domain_errors():` wrapping the service call - Explicit return type annotations - ~3-5 lines per handler Services raise NotFoundError / ConflictError / ValidationError from compliance.domain; no HTTPException in the service layer. mypy.ini flips compliance.api.banner_routes from ignore_errors=True to False, joining audit_routes in the strict scope. The services carry the same scoped `# mypy: disable-error-code="arg-type,assignment"` header used by the audit services for the ORM Column[T] issue. Pydantic schemas moved to compliance.schemas.banner (mirroring the Step 3 schemas split). They were previously defined inline in banner_routes.py and not referenced by anything outside it, so no backwards-compat shim is needed. Verified: - 224/224 pytest (173 baseline + 26 audit integration + 25 banner integration) pass - tests/contracts/test_openapi_baseline.py green (360/484 unchanged) - mypy compliance/ -> Success: no issues found in 123 source files - All new files under the 300 soft target (largest: 298) - banner_routes.py drops from 653 -> 255 LOC (below hard cap) Hard-cap violations remaining: 16 (was 17). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
49460 lines
1.2 MiB
49460 lines
1.2 MiB
{
|
|
"components": {
|
|
"schemas": {
|
|
"AISystemCreate": {
|
|
"properties": {
|
|
"classification": {
|
|
"default": "unclassified",
|
|
"title": "Classification",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"obligations": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Obligations"
|
|
},
|
|
"purpose": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Purpose"
|
|
},
|
|
"sector": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sector"
|
|
},
|
|
"status": {
|
|
"default": "draft",
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "AISystemCreate",
|
|
"type": "object"
|
|
},
|
|
"AISystemListResponse": {
|
|
"properties": {
|
|
"systems": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AISystemResponse"
|
|
},
|
|
"title": "Systems",
|
|
"type": "array"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"systems",
|
|
"total"
|
|
],
|
|
"title": "AISystemListResponse",
|
|
"type": "object"
|
|
},
|
|
"AISystemResponse": {
|
|
"properties": {
|
|
"assessment_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Assessment Date"
|
|
},
|
|
"assessment_result": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Assessment Result"
|
|
},
|
|
"classification": {
|
|
"default": "unclassified",
|
|
"title": "Classification",
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"obligations": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Obligations"
|
|
},
|
|
"purpose": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Purpose"
|
|
},
|
|
"recommendations": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Recommendations"
|
|
},
|
|
"risk_factors": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Risk Factors"
|
|
},
|
|
"sector": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sector"
|
|
},
|
|
"status": {
|
|
"default": "draft",
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"id",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "AISystemResponse",
|
|
"type": "object"
|
|
},
|
|
"AISystemUpdate": {
|
|
"properties": {
|
|
"classification": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Classification"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"obligations": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Obligations"
|
|
},
|
|
"purpose": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Purpose"
|
|
},
|
|
"sector": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sector"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
"title": "AISystemUpdate",
|
|
"type": "object"
|
|
},
|
|
"ActionRequest": {
|
|
"properties": {
|
|
"approver": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Approver"
|
|
},
|
|
"comment": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Comment"
|
|
}
|
|
},
|
|
"title": "ActionRequest",
|
|
"type": "object"
|
|
},
|
|
"ApprovalCommentRequest": {
|
|
"properties": {
|
|
"comment": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Comment"
|
|
},
|
|
"scheduled_publish_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Scheduled Publish At"
|
|
}
|
|
},
|
|
"title": "ApprovalCommentRequest",
|
|
"type": "object"
|
|
},
|
|
"ApprovalHistoryEntry": {
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"approver": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Approver"
|
|
},
|
|
"comment": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Comment"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"version_id": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"version_id",
|
|
"action",
|
|
"approver",
|
|
"comment",
|
|
"created_at"
|
|
],
|
|
"title": "ApprovalHistoryEntry",
|
|
"type": "object"
|
|
},
|
|
"AssignRequest": {
|
|
"properties": {
|
|
"assignee_id": {
|
|
"title": "Assignee Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assignee_id"
|
|
],
|
|
"title": "AssignRequest",
|
|
"type": "object"
|
|
},
|
|
"AuditChecklistItem": {
|
|
"description": "A single item in the audit checklist.",
|
|
"properties": {
|
|
"article": {
|
|
"title": "Article",
|
|
"type": "string"
|
|
},
|
|
"controls_mapped": {
|
|
"default": 0,
|
|
"title": "Controls Mapped",
|
|
"type": "integer"
|
|
},
|
|
"current_result": {
|
|
"default": "pending",
|
|
"title": "Current Result",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"evidence_count": {
|
|
"default": 0,
|
|
"title": "Evidence Count",
|
|
"type": "integer"
|
|
},
|
|
"implementation_status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Implementation Status"
|
|
},
|
|
"is_signed": {
|
|
"default": false,
|
|
"title": "Is Signed",
|
|
"type": "boolean"
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Notes"
|
|
},
|
|
"paragraph": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Paragraph"
|
|
},
|
|
"priority": {
|
|
"default": 2,
|
|
"title": "Priority",
|
|
"type": "integer"
|
|
},
|
|
"regulation_code": {
|
|
"title": "Regulation Code",
|
|
"type": "string"
|
|
},
|
|
"requirement_id": {
|
|
"title": "Requirement Id",
|
|
"type": "string"
|
|
},
|
|
"signed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signed At"
|
|
},
|
|
"signed_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Signed By"
|
|
},
|
|
"title": {
|
|
"title": "Title",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"requirement_id",
|
|
"regulation_code",
|
|
"article",
|
|
"title"
|
|
],
|
|
"title": "AuditChecklistItem",
|
|
"type": "object"
|
|
},
|
|
"AuditChecklistResponse": {
|
|
"description": "Response for audit checklist endpoint.",
|
|
"properties": {
|
|
"items": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AuditChecklistItem"
|
|
},
|
|
"title": "Items",
|
|
"type": "array"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/PaginationMeta"
|
|
},
|
|
"session": {
|
|
"$ref": "#/components/schemas/AuditSessionSummary"
|
|
},
|
|
"statistics": {
|
|
"$ref": "#/components/schemas/AuditStatistics"
|
|
}
|
|
},
|
|
"required": [
|
|
"session",
|
|
"items",
|
|
"pagination",
|
|
"statistics"
|
|
],
|
|
"title": "AuditChecklistResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditEntryResponse": {
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"changed_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Changed By"
|
|
},
|
|
"changed_fields": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Changed Fields"
|
|
},
|
|
"created_at": {
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"action",
|
|
"changed_fields",
|
|
"changed_by",
|
|
"created_at"
|
|
],
|
|
"title": "AuditEntryResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditFindingCloseRequest": {
|
|
"description": "Request to close an Audit Finding.",
|
|
"properties": {
|
|
"closed_by": {
|
|
"title": "Closed By",
|
|
"type": "string"
|
|
},
|
|
"closure_notes": {
|
|
"title": "Closure Notes",
|
|
"type": "string"
|
|
},
|
|
"verification_evidence": {
|
|
"title": "Verification Evidence",
|
|
"type": "string"
|
|
},
|
|
"verification_method": {
|
|
"title": "Verification Method",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"closure_notes",
|
|
"closed_by",
|
|
"verification_method",
|
|
"verification_evidence"
|
|
],
|
|
"title": "AuditFindingCloseRequest",
|
|
"type": "object"
|
|
},
|
|
"AuditFindingCreate": {
|
|
"description": "Schema for creating Audit Finding.",
|
|
"properties": {
|
|
"affected_assets": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Affected Assets"
|
|
},
|
|
"affected_processes": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Affected Processes"
|
|
},
|
|
"annex_a_control": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Annex A Control"
|
|
},
|
|
"audit_session_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Audit Session Id"
|
|
},
|
|
"auditor": {
|
|
"title": "Auditor",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"title": "Description",
|
|
"type": "string"
|
|
},
|
|
"due_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Due Date"
|
|
},
|
|
"finding_type": {
|
|
"title": "Finding Type",
|
|
"type": "string"
|
|
},
|
|
"impact_description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Impact Description"
|
|
},
|
|
"internal_audit_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Internal Audit Id"
|
|
},
|
|
"iso_chapter": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Iso Chapter"
|
|
},
|
|
"objective_evidence": {
|
|
"title": "Objective Evidence",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner"
|
|
},
|
|
"title": {
|
|
"title": "Title",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"finding_type",
|
|
"title",
|
|
"description",
|
|
"objective_evidence",
|
|
"auditor"
|
|
],
|
|
"title": "AuditFindingCreate",
|
|
"type": "object"
|
|
},
|
|
"AuditFindingListResponse": {
|
|
"description": "List response for Audit Findings.",
|
|
"properties": {
|
|
"findings": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AuditFindingResponse"
|
|
},
|
|
"title": "Findings",
|
|
"type": "array"
|
|
},
|
|
"major_count": {
|
|
"title": "Major Count",
|
|
"type": "integer"
|
|
},
|
|
"minor_count": {
|
|
"title": "Minor Count",
|
|
"type": "integer"
|
|
},
|
|
"ofi_count": {
|
|
"title": "Ofi Count",
|
|
"type": "integer"
|
|
},
|
|
"open_count": {
|
|
"title": "Open Count",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"findings",
|
|
"total",
|
|
"major_count",
|
|
"minor_count",
|
|
"ofi_count",
|
|
"open_count"
|
|
],
|
|
"title": "AuditFindingListResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditFindingResponse": {
|
|
"description": "Response schema for Audit Finding.",
|
|
"properties": {
|
|
"affected_assets": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Affected Assets"
|
|
},
|
|
"affected_processes": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Affected Processes"
|
|
},
|
|
"annex_a_control": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Annex A Control"
|
|
},
|
|
"audit_session_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Audit Session Id"
|
|
},
|
|
"auditor": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Auditor"
|
|
},
|
|
"closed_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Closed By"
|
|
},
|
|
"closed_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Closed Date"
|
|
},
|
|
"closure_notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Closure Notes"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"title": "Description",
|
|
"type": "string"
|
|
},
|
|
"due_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Due Date"
|
|
},
|
|
"finding_id": {
|
|
"title": "Finding Id",
|
|
"type": "string"
|
|
},
|
|
"finding_type": {
|
|
"title": "Finding Type",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"identified_date": {
|
|
"format": "date",
|
|
"title": "Identified Date",
|
|
"type": "string"
|
|
},
|
|
"impact_description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Impact Description"
|
|
},
|
|
"internal_audit_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Internal Audit Id"
|
|
},
|
|
"is_blocking": {
|
|
"title": "Is Blocking",
|
|
"type": "boolean"
|
|
},
|
|
"iso_chapter": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Iso Chapter"
|
|
},
|
|
"objective_evidence": {
|
|
"title": "Objective Evidence",
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner"
|
|
},
|
|
"root_cause": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Root Cause"
|
|
},
|
|
"root_cause_method": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Root Cause Method"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"title": "Title",
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
},
|
|
"verification_method": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verification Method"
|
|
},
|
|
"verified_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verified At"
|
|
},
|
|
"verified_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verified By"
|
|
}
|
|
},
|
|
"required": [
|
|
"finding_type",
|
|
"title",
|
|
"description",
|
|
"objective_evidence",
|
|
"id",
|
|
"finding_id",
|
|
"status",
|
|
"identified_date",
|
|
"is_blocking",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "AuditFindingResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditFindingUpdate": {
|
|
"description": "Schema for updating Audit Finding.",
|
|
"properties": {
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"due_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Due Date"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner"
|
|
},
|
|
"root_cause": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Root Cause"
|
|
},
|
|
"root_cause_method": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Root Cause Method"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
},
|
|
"title": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Title"
|
|
}
|
|
},
|
|
"title": "AuditFindingUpdate",
|
|
"type": "object"
|
|
},
|
|
"AuditListResponse": {
|
|
"properties": {
|
|
"entries": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AuditEntryResponse"
|
|
},
|
|
"title": "Entries",
|
|
"type": "array"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"entries",
|
|
"total"
|
|
],
|
|
"title": "AuditListResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditSessionDetailResponse": {
|
|
"description": "Detailed response including statistics breakdown.",
|
|
"properties": {
|
|
"auditor_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Auditor Email"
|
|
},
|
|
"auditor_name": {
|
|
"title": "Auditor Name",
|
|
"type": "string"
|
|
},
|
|
"auditor_organization": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Auditor Organization"
|
|
},
|
|
"completed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Completed At"
|
|
},
|
|
"completed_items": {
|
|
"title": "Completed Items",
|
|
"type": "integer"
|
|
},
|
|
"completion_percentage": {
|
|
"title": "Completion Percentage",
|
|
"type": "number"
|
|
},
|
|
"compliant_count": {
|
|
"default": 0,
|
|
"title": "Compliant Count",
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"non_compliant_count": {
|
|
"default": 0,
|
|
"title": "Non Compliant Count",
|
|
"type": "integer"
|
|
},
|
|
"regulation_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Regulation Ids"
|
|
},
|
|
"started_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Started At"
|
|
},
|
|
"statistics": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AuditStatistics"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"total_items": {
|
|
"title": "Total Items",
|
|
"type": "integer"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"auditor_name",
|
|
"status",
|
|
"total_items",
|
|
"completed_items",
|
|
"completion_percentage",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "AuditSessionDetailResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditSessionResponse": {
|
|
"description": "Full response for an audit session.",
|
|
"properties": {
|
|
"auditor_email": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Auditor Email"
|
|
},
|
|
"auditor_name": {
|
|
"title": "Auditor Name",
|
|
"type": "string"
|
|
},
|
|
"auditor_organization": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Auditor Organization"
|
|
},
|
|
"completed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Completed At"
|
|
},
|
|
"completed_items": {
|
|
"title": "Completed Items",
|
|
"type": "integer"
|
|
},
|
|
"completion_percentage": {
|
|
"title": "Completion Percentage",
|
|
"type": "number"
|
|
},
|
|
"compliant_count": {
|
|
"default": 0,
|
|
"title": "Compliant Count",
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"non_compliant_count": {
|
|
"default": 0,
|
|
"title": "Non Compliant Count",
|
|
"type": "integer"
|
|
},
|
|
"regulation_ids": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Regulation Ids"
|
|
},
|
|
"started_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Started At"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"total_items": {
|
|
"title": "Total Items",
|
|
"type": "integer"
|
|
},
|
|
"updated_at": {
|
|
"format": "date-time",
|
|
"title": "Updated At",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"auditor_name",
|
|
"status",
|
|
"total_items",
|
|
"completed_items",
|
|
"completion_percentage",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "AuditSessionResponse",
|
|
"type": "object"
|
|
},
|
|
"AuditSessionSummary": {
|
|
"description": "Summary of an audit session for list views.",
|
|
"properties": {
|
|
"auditor_name": {
|
|
"title": "Auditor Name",
|
|
"type": "string"
|
|
},
|
|
"completed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Completed At"
|
|
},
|
|
"completed_items": {
|
|
"title": "Completed Items",
|
|
"type": "integer"
|
|
},
|
|
"completion_percentage": {
|
|
"title": "Completion Percentage",
|
|
"type": "number"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"started_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Started At"
|
|
},
|
|
"status": {
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"total_items": {
|
|
"title": "Total Items",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"auditor_name",
|
|
"status",
|
|
"total_items",
|
|
"completed_items",
|
|
"completion_percentage",
|
|
"created_at"
|
|
],
|
|
"title": "AuditSessionSummary",
|
|
"type": "object"
|
|
},
|
|
"AuditStatistics": {
|
|
"description": "Statistics for an audit session.",
|
|
"properties": {
|
|
"completion_percentage": {
|
|
"title": "Completion Percentage",
|
|
"type": "number"
|
|
},
|
|
"compliant": {
|
|
"title": "Compliant",
|
|
"type": "integer"
|
|
},
|
|
"compliant_with_notes": {
|
|
"title": "Compliant With Notes",
|
|
"type": "integer"
|
|
},
|
|
"non_compliant": {
|
|
"title": "Non Compliant",
|
|
"type": "integer"
|
|
},
|
|
"not_applicable": {
|
|
"title": "Not Applicable",
|
|
"type": "integer"
|
|
},
|
|
"pending": {
|
|
"title": "Pending",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total",
|
|
"compliant",
|
|
"compliant_with_notes",
|
|
"non_compliant",
|
|
"not_applicable",
|
|
"pending",
|
|
"completion_percentage"
|
|
],
|
|
"title": "AuditStatistics",
|
|
"type": "object"
|
|
},
|
|
"AuditTrailEntry": {
|
|
"description": "Single audit trail entry.",
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"change_summary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Change Summary"
|
|
},
|
|
"entity_id": {
|
|
"title": "Entity Id",
|
|
"type": "string"
|
|
},
|
|
"entity_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Entity Name"
|
|
},
|
|
"entity_type": {
|
|
"title": "Entity Type",
|
|
"type": "string"
|
|
},
|
|
"field_changed": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Field Changed"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"new_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "New Value"
|
|
},
|
|
"old_value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Old Value"
|
|
},
|
|
"performed_at": {
|
|
"format": "date-time",
|
|
"title": "Performed At",
|
|
"type": "string"
|
|
},
|
|
"performed_by": {
|
|
"title": "Performed By",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"entity_type",
|
|
"entity_id",
|
|
"action",
|
|
"performed_by",
|
|
"performed_at"
|
|
],
|
|
"title": "AuditTrailEntry",
|
|
"type": "object"
|
|
},
|
|
"AuditTrailResponse": {
|
|
"description": "Response for Audit Trail query.",
|
|
"properties": {
|
|
"entries": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/AuditTrailEntry"
|
|
},
|
|
"title": "Entries",
|
|
"type": "array"
|
|
},
|
|
"pagination": {
|
|
"$ref": "#/components/schemas/PaginationMeta"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"entries",
|
|
"total",
|
|
"pagination"
|
|
],
|
|
"title": "AuditTrailResponse",
|
|
"type": "object"
|
|
},
|
|
"AuthorityNotificationRequest": {
|
|
"properties": {
|
|
"authority_name": {
|
|
"title": "Authority Name",
|
|
"type": "string"
|
|
},
|
|
"contact_person": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Contact Person"
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Notes"
|
|
},
|
|
"reference_number": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Reference Number"
|
|
}
|
|
},
|
|
"required": [
|
|
"authority_name"
|
|
],
|
|
"title": "AuthorityNotificationRequest",
|
|
"type": "object"
|
|
},
|
|
"BSIAspectResponse": {
|
|
"description": "A single extracted BSI-TR Pruefaspekt (test aspect).",
|
|
"properties": {
|
|
"aspect_id": {
|
|
"title": "Aspect Id",
|
|
"type": "string"
|
|
},
|
|
"category": {
|
|
"title": "Category",
|
|
"type": "string"
|
|
},
|
|
"full_text": {
|
|
"title": "Full Text",
|
|
"type": "string"
|
|
},
|
|
"keywords": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Keywords"
|
|
},
|
|
"page_number": {
|
|
"title": "Page Number",
|
|
"type": "integer"
|
|
},
|
|
"related_aspects": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Related Aspects"
|
|
},
|
|
"requirement_level": {
|
|
"title": "Requirement Level",
|
|
"type": "string"
|
|
},
|
|
"section": {
|
|
"title": "Section",
|
|
"type": "string"
|
|
},
|
|
"source_document": {
|
|
"title": "Source Document",
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"title": "Title",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"aspect_id",
|
|
"title",
|
|
"full_text",
|
|
"category",
|
|
"page_number",
|
|
"section",
|
|
"requirement_level",
|
|
"source_document"
|
|
],
|
|
"title": "BSIAspectResponse",
|
|
"type": "object"
|
|
},
|
|
"Body_analyze_document_api_v1_import_analyze_post": {
|
|
"properties": {
|
|
"document_type": {
|
|
"default": "OTHER",
|
|
"title": "Document Type",
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_analyze_document_api_v1_import_analyze_post",
|
|
"type": "object"
|
|
},
|
|
"Body_scan_dependencies_api_v1_screening_scan_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
},
|
|
"tenant_id": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_scan_dependencies_api_v1_screening_scan_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_evidence_api_compliance_evidence_upload_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_evidence_api_compliance_evidence_upload_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_word_api_compliance_legal_documents_versions_upload_word_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_word_api_compliance_legal_documents_versions_upload_word_post",
|
|
"type": "object"
|
|
},
|
|
"Body_upload_word_document_api_consent_admin_versions_upload_word_post": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"title": "File",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"title": "Body_upload_word_document_api_consent_admin_versions_upload_word_post",
|
|
"type": "object"
|
|
},
|
|
"CAPAVerifyRequest": {
|
|
"description": "Request to verify CAPA effectiveness.",
|
|
"properties": {
|
|
"effectiveness_notes": {
|
|
"title": "Effectiveness Notes",
|
|
"type": "string"
|
|
},
|
|
"is_effective": {
|
|
"title": "Is Effective",
|
|
"type": "boolean"
|
|
},
|
|
"verified_by": {
|
|
"title": "Verified By",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"verified_by",
|
|
"effectiveness_notes",
|
|
"is_effective"
|
|
],
|
|
"title": "CAPAVerifyRequest",
|
|
"type": "object"
|
|
},
|
|
"CatalogUpsert": {
|
|
"properties": {
|
|
"custom_data_points": {
|
|
"default": [],
|
|
"items": {
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
"title": "Custom Data Points",
|
|
"type": "array"
|
|
},
|
|
"selected_data_point_ids": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Selected Data Point Ids",
|
|
"type": "array"
|
|
}
|
|
},
|
|
"title": "CatalogUpsert",
|
|
"type": "object"
|
|
},
|
|
"CategoryConfigCreate": {
|
|
"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": {
|
|
"properties": {
|
|
"measures": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/TOMMeasureBulkItem"
|
|
},
|
|
"title": "Measures",
|
|
"type": "array"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
"required": [
|
|
"measures"
|
|
],
|
|
"title": "TOMMeasureBulkBody",
|
|
"type": "object"
|
|
},
|
|
"TOMMeasureBulkItem": {
|
|
"properties": {
|
|
"applicability": {
|
|
"default": "REQUIRED",
|
|
"title": "Applicability",
|
|
"type": "string"
|
|
},
|
|
"applicability_reason": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Applicability Reason"
|
|
},
|
|
"category": {
|
|
"title": "Category",
|
|
"type": "string"
|
|
},
|
|
"complexity": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Complexity"
|
|
},
|
|
"control_id": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"evidence_gaps": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Evidence Gaps"
|
|
},
|
|
"implementation_date": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Implementation Date"
|
|
},
|
|
"implementation_status": {
|
|
"default": "NOT_IMPLEMENTED",
|
|
"title": "Implementation Status",
|
|
"type": "string"
|
|
},
|
|
"linked_evidence": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Linked Evidence"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Priority"
|
|
},
|
|
"related_controls": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Related Controls"
|
|
},
|
|
"responsible_department": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible Department"
|
|
},
|
|
"responsible_person": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible Person"
|
|
},
|
|
"review_date": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Date"
|
|
},
|
|
"review_frequency": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Frequency"
|
|
},
|
|
"type": {
|
|
"title": "Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"control_id",
|
|
"name",
|
|
"category",
|
|
"type"
|
|
],
|
|
"title": "TOMMeasureBulkItem",
|
|
"type": "object"
|
|
},
|
|
"TOMMeasureCreate": {
|
|
"properties": {
|
|
"applicability": {
|
|
"default": "REQUIRED",
|
|
"title": "Applicability",
|
|
"type": "string"
|
|
},
|
|
"applicability_reason": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Applicability Reason"
|
|
},
|
|
"category": {
|
|
"title": "Category",
|
|
"type": "string"
|
|
},
|
|
"complexity": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Complexity"
|
|
},
|
|
"control_id": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"effectiveness_rating": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Effectiveness Rating"
|
|
},
|
|
"evidence_gaps": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Evidence Gaps"
|
|
},
|
|
"implementation_date": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Implementation Date"
|
|
},
|
|
"implementation_status": {
|
|
"default": "NOT_IMPLEMENTED",
|
|
"title": "Implementation Status",
|
|
"type": "string"
|
|
},
|
|
"linked_evidence": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Linked Evidence"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Priority"
|
|
},
|
|
"related_controls": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Related Controls"
|
|
},
|
|
"responsible_department": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible Department"
|
|
},
|
|
"responsible_person": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible Person"
|
|
},
|
|
"review_date": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Date"
|
|
},
|
|
"review_frequency": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Frequency"
|
|
},
|
|
"type": {
|
|
"title": "Type",
|
|
"type": "string"
|
|
},
|
|
"verified_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verified At"
|
|
},
|
|
"verified_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verified By"
|
|
}
|
|
},
|
|
"required": [
|
|
"control_id",
|
|
"name",
|
|
"category",
|
|
"type"
|
|
],
|
|
"title": "TOMMeasureCreate",
|
|
"type": "object"
|
|
},
|
|
"TOMMeasureUpdate": {
|
|
"properties": {
|
|
"applicability": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Applicability"
|
|
},
|
|
"applicability_reason": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Applicability Reason"
|
|
},
|
|
"category": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Category"
|
|
},
|
|
"complexity": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Complexity"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"effectiveness_rating": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Effectiveness Rating"
|
|
},
|
|
"evidence_gaps": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Evidence Gaps"
|
|
},
|
|
"implementation_date": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Implementation Date"
|
|
},
|
|
"implementation_status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Implementation Status"
|
|
},
|
|
"linked_evidence": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Linked Evidence"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Priority"
|
|
},
|
|
"related_controls": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Related Controls"
|
|
},
|
|
"responsible_department": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible Department"
|
|
},
|
|
"responsible_person": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible Person"
|
|
},
|
|
"review_date": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Date"
|
|
},
|
|
"review_frequency": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Frequency"
|
|
},
|
|
"type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Type"
|
|
},
|
|
"verified_at": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verified At"
|
|
},
|
|
"verified_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Verified By"
|
|
}
|
|
},
|
|
"title": "TOMMeasureUpdate",
|
|
"type": "object"
|
|
},
|
|
"TOMStateBody": {
|
|
"properties": {
|
|
"state": {
|
|
"additionalProperties": true,
|
|
"title": "State",
|
|
"type": "object"
|
|
},
|
|
"tenantId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenantid"
|
|
},
|
|
"tenant_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
},
|
|
"version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Version"
|
|
}
|
|
},
|
|
"required": [
|
|
"state"
|
|
],
|
|
"title": "TOMStateBody",
|
|
"type": "object"
|
|
},
|
|
"TeamWorkloadItem": {
|
|
"description": "Workload distribution for a team or person.",
|
|
"properties": {
|
|
"completed_tasks": {
|
|
"title": "Completed Tasks",
|
|
"type": "integer"
|
|
},
|
|
"completion_rate": {
|
|
"title": "Completion Rate",
|
|
"type": "number"
|
|
},
|
|
"in_progress_tasks": {
|
|
"title": "In Progress Tasks",
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"pending_tasks": {
|
|
"title": "Pending Tasks",
|
|
"type": "integer"
|
|
},
|
|
"total_tasks": {
|
|
"title": "Total Tasks",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"pending_tasks",
|
|
"in_progress_tasks",
|
|
"completed_tasks",
|
|
"total_tasks",
|
|
"completion_rate"
|
|
],
|
|
"title": "TeamWorkloadItem",
|
|
"type": "object"
|
|
},
|
|
"TemplateUpdate": {
|
|
"properties": {
|
|
"content": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Content"
|
|
},
|
|
"title": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Title"
|
|
},
|
|
"type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Type"
|
|
}
|
|
},
|
|
"title": "TemplateUpdate",
|
|
"type": "object"
|
|
},
|
|
"TestCreate": {
|
|
"properties": {
|
|
"ai_system": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ai System"
|
|
},
|
|
"details": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Details"
|
|
},
|
|
"duration": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Duration"
|
|
},
|
|
"last_run": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Run"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"default": "pending",
|
|
"title": "Status",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "TestCreate",
|
|
"type": "object"
|
|
},
|
|
"TestUpdate": {
|
|
"properties": {
|
|
"ai_system": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ai System"
|
|
},
|
|
"details": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Details"
|
|
},
|
|
"duration": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Duration"
|
|
},
|
|
"last_run": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Run"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
"title": "TestUpdate",
|
|
"type": "object"
|
|
},
|
|
"TimelineEntryRequest": {
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"details": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Details"
|
|
}
|
|
},
|
|
"required": [
|
|
"action"
|
|
],
|
|
"title": "TimelineEntryRequest",
|
|
"type": "object"
|
|
},
|
|
"TrendDataPoint": {
|
|
"description": "A single data point for trend charts.",
|
|
"properties": {
|
|
"date": {
|
|
"title": "Date",
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Label"
|
|
},
|
|
"score": {
|
|
"title": "Score",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"date",
|
|
"score"
|
|
],
|
|
"title": "TrendDataPoint",
|
|
"type": "object"
|
|
},
|
|
"UpdateDocumentRequest": {
|
|
"properties": {
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"is_active": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Active"
|
|
},
|
|
"is_mandatory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Is Mandatory"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"sort_order": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Sort Order"
|
|
}
|
|
},
|
|
"title": "UpdateDocumentRequest",
|
|
"type": "object"
|
|
},
|
|
"UpdateExceptionCheck": {
|
|
"properties": {
|
|
"applies": {
|
|
"title": "Applies",
|
|
"type": "boolean"
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Notes"
|
|
}
|
|
},
|
|
"required": [
|
|
"applies"
|
|
],
|
|
"title": "UpdateExceptionCheck",
|
|
"type": "object"
|
|
},
|
|
"UpdateProjectRequest": {
|
|
"properties": {
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
}
|
|
},
|
|
"title": "UpdateProjectRequest",
|
|
"type": "object"
|
|
},
|
|
"UpdateVersionRequest": {
|
|
"properties": {
|
|
"content": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Content"
|
|
},
|
|
"summary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Summary"
|
|
},
|
|
"title": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Title"
|
|
}
|
|
},
|
|
"title": "UpdateVersionRequest",
|
|
"type": "object"
|
|
},
|
|
"UserConsentCreate": {
|
|
"properties": {
|
|
"consented": {
|
|
"default": true,
|
|
"title": "Consented",
|
|
"type": "boolean"
|
|
},
|
|
"document_id": {
|
|
"title": "Document Id",
|
|
"type": "string"
|
|
},
|
|
"document_type": {
|
|
"title": "Document Type",
|
|
"type": "string"
|
|
},
|
|
"document_version_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Document Version Id"
|
|
},
|
|
"ip_address": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Ip Address"
|
|
},
|
|
"user_agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "User Agent"
|
|
},
|
|
"user_id": {
|
|
"title": "User Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"user_id",
|
|
"document_id",
|
|
"document_type"
|
|
],
|
|
"title": "UserConsentCreate",
|
|
"type": "object"
|
|
},
|
|
"VVTActivityCreate": {
|
|
"properties": {
|
|
"business_function": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Business Function"
|
|
},
|
|
"created_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created By"
|
|
},
|
|
"data_flows": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Data Flows",
|
|
"type": "array"
|
|
},
|
|
"data_sources": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Data Sources",
|
|
"type": "array"
|
|
},
|
|
"data_subject_categories": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Data Subject Categories",
|
|
"type": "array"
|
|
},
|
|
"deployment_model": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Deployment Model"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"dpia_required": {
|
|
"default": false,
|
|
"title": "Dpia Required",
|
|
"type": "boolean"
|
|
},
|
|
"dsfa_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dsfa Id"
|
|
},
|
|
"last_reviewed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Reviewed At"
|
|
},
|
|
"legal_bases": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Legal Bases",
|
|
"type": "array"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"next_review_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Next Review At"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner"
|
|
},
|
|
"personal_data_categories": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Personal Data Categories",
|
|
"type": "array"
|
|
},
|
|
"protection_level": {
|
|
"default": "MEDIUM",
|
|
"title": "Protection Level",
|
|
"type": "string"
|
|
},
|
|
"purposes": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Purposes",
|
|
"type": "array"
|
|
},
|
|
"recipient_categories": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Recipient Categories",
|
|
"type": "array"
|
|
},
|
|
"responsible": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible"
|
|
},
|
|
"retention_period": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Retention Period",
|
|
"type": "object"
|
|
},
|
|
"status": {
|
|
"default": "DRAFT",
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"structured_toms": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Structured Toms",
|
|
"type": "object"
|
|
},
|
|
"systems": {
|
|
"default": [],
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"title": "Systems",
|
|
"type": "array"
|
|
},
|
|
"third_country_transfers": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Third Country Transfers",
|
|
"type": "array"
|
|
},
|
|
"tom_description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tom Description"
|
|
},
|
|
"vvt_id": {
|
|
"title": "Vvt Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"vvt_id",
|
|
"name"
|
|
],
|
|
"title": "VVTActivityCreate",
|
|
"type": "object"
|
|
},
|
|
"VVTActivityResponse": {
|
|
"properties": {
|
|
"business_function": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Business Function"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"created_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created By"
|
|
},
|
|
"data_flows": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Data Flows",
|
|
"type": "array"
|
|
},
|
|
"data_sources": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Data Sources",
|
|
"type": "array"
|
|
},
|
|
"data_subject_categories": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Data Subject Categories",
|
|
"type": "array"
|
|
},
|
|
"deployment_model": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Deployment Model"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"dpia_required": {
|
|
"default": false,
|
|
"title": "Dpia Required",
|
|
"type": "boolean"
|
|
},
|
|
"dsfa_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dsfa Id"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"last_reviewed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Reviewed At"
|
|
},
|
|
"legal_bases": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Legal Bases",
|
|
"type": "array"
|
|
},
|
|
"name": {
|
|
"title": "Name",
|
|
"type": "string"
|
|
},
|
|
"next_review_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Next Review At"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner"
|
|
},
|
|
"personal_data_categories": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Personal Data Categories",
|
|
"type": "array"
|
|
},
|
|
"protection_level": {
|
|
"default": "MEDIUM",
|
|
"title": "Protection Level",
|
|
"type": "string"
|
|
},
|
|
"purposes": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Purposes",
|
|
"type": "array"
|
|
},
|
|
"recipient_categories": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Recipient Categories",
|
|
"type": "array"
|
|
},
|
|
"responsible": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible"
|
|
},
|
|
"retention_period": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Retention Period",
|
|
"type": "object"
|
|
},
|
|
"status": {
|
|
"default": "DRAFT",
|
|
"title": "Status",
|
|
"type": "string"
|
|
},
|
|
"structured_toms": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Structured Toms",
|
|
"type": "object"
|
|
},
|
|
"systems": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Systems",
|
|
"type": "array"
|
|
},
|
|
"third_country_transfers": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Third Country Transfers",
|
|
"type": "array"
|
|
},
|
|
"tom_description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tom Description"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
},
|
|
"vvt_id": {
|
|
"title": "Vvt Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"vvt_id",
|
|
"name",
|
|
"created_at"
|
|
],
|
|
"title": "VVTActivityResponse",
|
|
"type": "object"
|
|
},
|
|
"VVTActivityUpdate": {
|
|
"properties": {
|
|
"business_function": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Business Function"
|
|
},
|
|
"created_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Created By"
|
|
},
|
|
"data_flows": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Data Flows"
|
|
},
|
|
"data_sources": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Data Sources"
|
|
},
|
|
"data_subject_categories": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Data Subject Categories"
|
|
},
|
|
"deployment_model": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Deployment Model"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Description"
|
|
},
|
|
"dpia_required": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dpia Required"
|
|
},
|
|
"dsfa_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dsfa Id"
|
|
},
|
|
"last_reviewed_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Reviewed At"
|
|
},
|
|
"legal_bases": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Legal Bases"
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Name"
|
|
},
|
|
"next_review_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Next Review At"
|
|
},
|
|
"owner": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Owner"
|
|
},
|
|
"personal_data_categories": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Personal Data Categories"
|
|
},
|
|
"protection_level": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Protection Level"
|
|
},
|
|
"purposes": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Purposes"
|
|
},
|
|
"recipient_categories": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Recipient Categories"
|
|
},
|
|
"responsible": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Responsible"
|
|
},
|
|
"retention_period": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Retention Period"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
},
|
|
"structured_toms": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Structured Toms"
|
|
},
|
|
"systems": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Systems"
|
|
},
|
|
"third_country_transfers": {
|
|
"anyOf": [
|
|
{
|
|
"items": {},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Third Country Transfers"
|
|
},
|
|
"tom_description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tom Description"
|
|
}
|
|
},
|
|
"title": "VVTActivityUpdate",
|
|
"type": "object"
|
|
},
|
|
"VVTAuditLogEntry": {
|
|
"properties": {
|
|
"action": {
|
|
"title": "Action",
|
|
"type": "string"
|
|
},
|
|
"changed_by": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Changed By"
|
|
},
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Entity Id"
|
|
},
|
|
"entity_type": {
|
|
"title": "Entity Type",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"new_values": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "New Values"
|
|
},
|
|
"old_values": {
|
|
"anyOf": [
|
|
{
|
|
"additionalProperties": true,
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Old Values"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"action",
|
|
"entity_type",
|
|
"created_at"
|
|
],
|
|
"title": "VVTAuditLogEntry",
|
|
"type": "object"
|
|
},
|
|
"VVTOrganizationResponse": {
|
|
"properties": {
|
|
"created_at": {
|
|
"format": "date-time",
|
|
"title": "Created At",
|
|
"type": "string"
|
|
},
|
|
"dpo_contact": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dpo Contact"
|
|
},
|
|
"dpo_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dpo Name"
|
|
},
|
|
"employee_count": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Employee Count"
|
|
},
|
|
"id": {
|
|
"title": "Id",
|
|
"type": "string"
|
|
},
|
|
"industry": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Industry"
|
|
},
|
|
"last_review_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Review Date"
|
|
},
|
|
"locations": {
|
|
"default": [],
|
|
"items": {},
|
|
"title": "Locations",
|
|
"type": "array"
|
|
},
|
|
"next_review_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Next Review Date"
|
|
},
|
|
"organization_name": {
|
|
"title": "Organization Name",
|
|
"type": "string"
|
|
},
|
|
"review_interval": {
|
|
"default": "annual",
|
|
"title": "Review Interval",
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Updated At"
|
|
},
|
|
"vvt_version": {
|
|
"default": "1.0",
|
|
"title": "Vvt Version",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"organization_name",
|
|
"created_at"
|
|
],
|
|
"title": "VVTOrganizationResponse",
|
|
"type": "object"
|
|
},
|
|
"VVTOrganizationUpdate": {
|
|
"properties": {
|
|
"dpo_contact": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dpo Contact"
|
|
},
|
|
"dpo_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Dpo Name"
|
|
},
|
|
"employee_count": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Employee Count"
|
|
},
|
|
"industry": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Industry"
|
|
},
|
|
"last_review_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Last Review Date"
|
|
},
|
|
"locations": {
|
|
"anyOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Locations"
|
|
},
|
|
"next_review_date": {
|
|
"anyOf": [
|
|
{
|
|
"format": "date",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Next Review Date"
|
|
},
|
|
"organization_name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Organization Name"
|
|
},
|
|
"review_interval": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Interval"
|
|
},
|
|
"vvt_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Vvt Version"
|
|
}
|
|
},
|
|
"title": "VVTOrganizationUpdate",
|
|
"type": "object"
|
|
},
|
|
"VVTStatsResponse": {
|
|
"properties": {
|
|
"approved_count": {
|
|
"title": "Approved Count",
|
|
"type": "integer"
|
|
},
|
|
"by_business_function": {
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
},
|
|
"title": "By Business Function",
|
|
"type": "object"
|
|
},
|
|
"by_status": {
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
},
|
|
"title": "By Status",
|
|
"type": "object"
|
|
},
|
|
"dpia_required_count": {
|
|
"title": "Dpia Required Count",
|
|
"type": "integer"
|
|
},
|
|
"draft_count": {
|
|
"title": "Draft Count",
|
|
"type": "integer"
|
|
},
|
|
"overdue_review_count": {
|
|
"default": 0,
|
|
"title": "Overdue Review Count",
|
|
"type": "integer"
|
|
},
|
|
"third_country_count": {
|
|
"title": "Third Country Count",
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"title": "Total",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"total",
|
|
"by_status",
|
|
"by_business_function",
|
|
"dpia_required_count",
|
|
"third_country_count",
|
|
"draft_count",
|
|
"approved_count"
|
|
],
|
|
"title": "VVTStatsResponse",
|
|
"type": "object"
|
|
},
|
|
"ValidationError": {
|
|
"properties": {
|
|
"loc": {
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
},
|
|
"title": "Location",
|
|
"type": "array"
|
|
},
|
|
"msg": {
|
|
"title": "Message",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"title": "Error Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"loc",
|
|
"msg",
|
|
"type"
|
|
],
|
|
"title": "ValidationError",
|
|
"type": "object"
|
|
},
|
|
"VendorConfigCreate": {
|
|
"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": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Measures",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a single TOM measure.",
|
|
"operationId": "create_measure_api_compliance_tom_measures_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TOMMeasureCreate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Measure",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/tom/measures/bulk": {
|
|
"post": {
|
|
"description": "Bulk upsert measures \u2014 used by deriveTOMs sync from frontend.",
|
|
"operationId": "bulk_upsert_measures_api_compliance_tom_measures_bulk_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TOMMeasureBulkBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Bulk Upsert Measures",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/tom/measures/{measure_id}": {
|
|
"put": {
|
|
"description": "Update a TOM measure.",
|
|
"operationId": "update_measure_api_compliance_tom_measures__measure_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "measure_id",
|
|
"required": true,
|
|
"schema": {
|
|
"format": "uuid",
|
|
"title": "Measure Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TOMMeasureUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Measure",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/tom/measures/{measure_id}/versions": {
|
|
"get": {
|
|
"description": "List all versions for a TOM measure.",
|
|
"operationId": "list_measure_versions_api_compliance_tom_measures__measure_id__versions_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "measure_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Measure Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenantId",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenantid"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Measure Versions",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/tom/measures/{measure_id}/versions/{version_number}": {
|
|
"get": {
|
|
"description": "Get a specific TOM measure version with full snapshot.",
|
|
"operationId": "get_measure_version_api_compliance_tom_measures__measure_id__versions__version_number__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "measure_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Measure Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_number",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Number",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenantId",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenantid"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Measure Version",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/tom/state": {
|
|
"delete": {
|
|
"description": "Clear TOM generator state for a tenant.",
|
|
"operationId": "delete_tom_state_api_compliance_tom_state_delete",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenantId",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenantid"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Tom State",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Load TOM generator state for a tenant.",
|
|
"operationId": "get_tom_state_api_compliance_tom_state_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenantId",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenantid"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Tom State",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Save TOM generator state with optimistic locking (version check).",
|
|
"operationId": "save_tom_state_api_compliance_tom_state_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TOMStateBody"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Save Tom State",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/tom/stats": {
|
|
"get": {
|
|
"description": "Return TOM statistics for a tenant.",
|
|
"operationId": "get_tom_stats_api_compliance_tom_stats_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Tom Stats",
|
|
"tags": [
|
|
"compliance",
|
|
"tom"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/blocked-sources": {
|
|
"get": {
|
|
"description": "List all blocked (Rule 3) sources.",
|
|
"operationId": "list_blocked_sources_api_compliance_v1_canonical_blocked_sources_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "List Blocked Sources",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/blocked-sources/cleanup": {
|
|
"post": {
|
|
"description": "Start cleanup workflow for blocked sources.\n\nThis marks all pending blocked sources for deletion.\nActual RAG chunk deletion and file removal is a separate manual step.",
|
|
"operationId": "start_cleanup_api_compliance_v1_canonical_blocked_sources_cleanup_post",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Start Cleanup",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/controls": {
|
|
"get": {
|
|
"description": "List all canonical controls, with optional filters.",
|
|
"operationId": "list_controls_api_compliance_v1_canonical_controls_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "severity",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Severity"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "domain",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Domain"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "release_state",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Release State"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Controls",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a new canonical control.",
|
|
"operationId": "create_control_api_compliance_v1_canonical_controls_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ControlCreateRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Control",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/controls-customer": {
|
|
"get": {
|
|
"description": "Get controls filtered for customer visibility.\n\nRule 3 controls have source_citation and source_original_text hidden.\ngeneration_metadata is NEVER shown to customers.",
|
|
"operationId": "get_controls_customer_view_api_compliance_v1_canonical_controls_customer_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "severity",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Severity"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "domain",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Domain"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Controls Customer View",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/controls/{control_id}": {
|
|
"delete": {
|
|
"description": "Delete a canonical control.",
|
|
"operationId": "delete_control_api_compliance_v1_canonical_controls__control_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "control_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Control",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get a single canonical control by its control_id (e.g. AUTH-001).",
|
|
"operationId": "get_control_api_compliance_v1_canonical_controls__control_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "control_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Control",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Update an existing canonical control (partial update).",
|
|
"operationId": "update_control_api_compliance_v1_canonical_controls__control_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "control_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ControlUpdateRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Control",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/controls/{control_id}/similarity-check": {
|
|
"post": {
|
|
"description": "Run the too-close detector against a source/candidate text pair.",
|
|
"operationId": "similarity_check_api_compliance_v1_canonical_controls__control_id__similarity_check_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "control_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SimilarityCheckRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Similarity Check",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/frameworks": {
|
|
"get": {
|
|
"description": "List all registered control frameworks.",
|
|
"operationId": "list_frameworks_api_compliance_v1_canonical_frameworks_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "List Frameworks",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/frameworks/{framework_id}": {
|
|
"get": {
|
|
"description": "Get a single framework by its framework_id.",
|
|
"operationId": "get_framework_api_compliance_v1_canonical_frameworks__framework_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "framework_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Framework Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Framework",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/frameworks/{framework_id}/controls": {
|
|
"get": {
|
|
"description": "List controls belonging to a framework.",
|
|
"operationId": "list_framework_controls_api_compliance_v1_canonical_frameworks__framework_id__controls_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "framework_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Framework Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "severity",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Severity"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "release_state",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Release State"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Framework Controls",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/generate": {
|
|
"post": {
|
|
"description": "Start a control generation run.",
|
|
"operationId": "start_generation_api_compliance_v1_canonical_generate_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GenerateRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GenerateResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Start Generation",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/generate/jobs": {
|
|
"get": {
|
|
"description": "List all generation jobs.",
|
|
"operationId": "list_jobs_api_compliance_v1_canonical_generate_jobs_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 20,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "offset",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Offset",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Jobs",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/generate/processed-stats": {
|
|
"get": {
|
|
"description": "Get processing statistics per collection.",
|
|
"operationId": "get_processed_stats_api_compliance_v1_canonical_generate_processed_stats_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Get Processed Stats",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/generate/review-queue": {
|
|
"get": {
|
|
"description": "Get controls that need manual review.",
|
|
"operationId": "get_review_queue_api_compliance_v1_canonical_generate_review_queue_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "release_state",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "needs_review",
|
|
"pattern": "^(needs_review|too_close|duplicate)$",
|
|
"title": "Release State",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"maximum": 200,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Review Queue",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/generate/review/{control_id}": {
|
|
"post": {
|
|
"description": "Complete review of a generated control.",
|
|
"operationId": "review_control_api_compliance_v1_canonical_generate_review__control_id__post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "control_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReviewRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Review Control",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/generate/status/{job_id}": {
|
|
"get": {
|
|
"description": "Get status of a generation job.",
|
|
"operationId": "get_job_status_api_compliance_v1_canonical_generate_status__job_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Job Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Job Status",
|
|
"tags": [
|
|
"compliance",
|
|
"control-generator"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/licenses": {
|
|
"get": {
|
|
"description": "Return the license matrix.",
|
|
"operationId": "list_licenses_api_compliance_v1_canonical_licenses_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "List Licenses",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/canonical/sources": {
|
|
"get": {
|
|
"description": "List all registered sources with permission flags.",
|
|
"operationId": "list_sources_api_compliance_v1_canonical_sources_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "List Sources",
|
|
"tags": [
|
|
"compliance",
|
|
"canonical-controls"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/compliance-scope": {
|
|
"get": {
|
|
"description": "Return the persisted compliance scope for a tenant, or 404 if not set.",
|
|
"operationId": "get_compliance_scope_api_compliance_v1_compliance_scope_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ComplianceScopeResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Compliance Scope",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-scope"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create or update the compliance scope for a tenant (UPSERT).",
|
|
"operationId": "upsert_compliance_scope_api_compliance_v1_compliance_scope_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ComplianceScopeRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ComplianceScopeResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Upsert Compliance Scope",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-scope"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/projects": {
|
|
"get": {
|
|
"description": "List all projects for the tenant.",
|
|
"operationId": "list_projects_api_compliance_v1_projects_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "include_archived",
|
|
"required": false,
|
|
"schema": {
|
|
"default": false,
|
|
"title": "Include Archived",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Projects",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a new compliance project.\n\nOptionally copies the company profile (companyProfile) from an existing\nproject's sdk_states into the new project's state. This allows a tenant\nto start a new project for a subsidiary with the same base data.",
|
|
"operationId": "create_project_api_compliance_v1_projects_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProjectRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Project",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/projects/{project_id}": {
|
|
"delete": {
|
|
"description": "Soft-delete (archive) a project.",
|
|
"operationId": "archive_project_api_compliance_v1_projects__project_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Archive Project",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get a single project by ID (tenant-scoped).",
|
|
"operationId": "get_project_api_compliance_v1_projects__project_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Project",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
},
|
|
"patch": {
|
|
"description": "Update project name/description.",
|
|
"operationId": "update_project_api_compliance_v1_projects__project_id__patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateProjectRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Project",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/projects/{project_id}/permanent": {
|
|
"delete": {
|
|
"description": "Permanently delete a project and all associated data.",
|
|
"operationId": "permanently_delete_project_api_compliance_v1_projects__project_id__permanent_delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Permanently Delete Project",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/projects/{project_id}/restore": {
|
|
"post": {
|
|
"description": "Restore an archived project back to active.",
|
|
"operationId": "restore_project_api_compliance_v1_projects__project_id__restore_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "project_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Project Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Restore Project",
|
|
"tags": [
|
|
"compliance",
|
|
"projects"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/wiki/articles": {
|
|
"get": {
|
|
"description": "List all wiki articles, optionally filtered by category.",
|
|
"operationId": "list_articles_api_compliance_v1_wiki_articles_get",
|
|
"parameters": [
|
|
{
|
|
"description": "Filter by category",
|
|
"in": "query",
|
|
"name": "category_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter by category",
|
|
"title": "Category Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Articles",
|
|
"tags": [
|
|
"compliance",
|
|
"wiki"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/wiki/articles/{article_id}": {
|
|
"get": {
|
|
"description": "Get a single wiki article by ID.",
|
|
"operationId": "get_article_api_compliance_v1_wiki_articles__article_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "article_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Article Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Article",
|
|
"tags": [
|
|
"compliance",
|
|
"wiki"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/wiki/categories": {
|
|
"get": {
|
|
"description": "List all wiki categories with article counts.",
|
|
"operationId": "list_categories_api_compliance_v1_wiki_categories_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "List Categories",
|
|
"tags": [
|
|
"compliance",
|
|
"wiki"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/v1/wiki/search": {
|
|
"get": {
|
|
"description": "Full-text search across wiki articles using PostgreSQL tsvector.",
|
|
"operationId": "search_wiki_api_compliance_v1_wiki_search_get",
|
|
"parameters": [
|
|
{
|
|
"description": "Search query",
|
|
"in": "query",
|
|
"name": "q",
|
|
"required": true,
|
|
"schema": {
|
|
"description": "Search query",
|
|
"minLength": 2,
|
|
"title": "Q",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Search Wiki",
|
|
"tags": [
|
|
"compliance",
|
|
"wiki"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/contracts": {
|
|
"get": {
|
|
"operationId": "list_contracts_api_compliance_vendor_compliance_contracts_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "vendor_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Vendor Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "skip",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Skip",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 100,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Contracts",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_contract_api_compliance_vendor_compliance_contracts_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Contract",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/contracts/{contract_id}": {
|
|
"delete": {
|
|
"operationId": "delete_contract_api_compliance_vendor_compliance_contracts__contract_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "contract_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Contract Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Contract",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_contract_api_compliance_vendor_compliance_contracts__contract_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "contract_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Contract Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Contract",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "update_contract_api_compliance_vendor_compliance_contracts__contract_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "contract_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Contract Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Contract",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/control-instances": {
|
|
"get": {
|
|
"operationId": "list_control_instances_api_compliance_vendor_compliance_control_instances_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "vendor_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Vendor Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "skip",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Skip",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 100,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Control Instances",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_control_instance_api_compliance_vendor_compliance_control_instances_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Control Instance",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/control-instances/{instance_id}": {
|
|
"delete": {
|
|
"operationId": "delete_control_instance_api_compliance_vendor_compliance_control_instances__instance_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "instance_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Instance Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Control Instance",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_control_instance_api_compliance_vendor_compliance_control_instances__instance_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "instance_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Instance Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Control Instance",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "update_control_instance_api_compliance_vendor_compliance_control_instances__instance_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "instance_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Instance Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Control Instance",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/controls": {
|
|
"get": {
|
|
"operationId": "list_controls_api_compliance_vendor_compliance_controls_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "domain",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Domain"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Controls",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_control_api_compliance_vendor_compliance_controls_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Control",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/controls/{control_id}": {
|
|
"delete": {
|
|
"operationId": "delete_control_api_compliance_vendor_compliance_controls__control_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "control_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Control Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Control",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/export": {
|
|
"post": {
|
|
"operationId": "export_report_api_compliance_vendor_compliance_export_post",
|
|
"responses": {
|
|
"501": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Export Report",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/export/{report_id}": {
|
|
"get": {
|
|
"operationId": "get_export_api_compliance_vendor_compliance_export__report_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "report_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Report Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
},
|
|
"501": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Get Export",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/export/{report_id}/download": {
|
|
"get": {
|
|
"operationId": "download_export_api_compliance_vendor_compliance_export__report_id__download_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "report_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Report Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
},
|
|
"501": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Download Export",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/findings": {
|
|
"get": {
|
|
"operationId": "list_findings_api_compliance_vendor_compliance_findings_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "vendor_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Vendor Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "severity",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Severity"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "skip",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Skip",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 100,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Findings",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_finding_api_compliance_vendor_compliance_findings_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Finding",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/findings/{finding_id}": {
|
|
"delete": {
|
|
"operationId": "delete_finding_api_compliance_vendor_compliance_findings__finding_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "finding_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Finding Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Finding",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_finding_api_compliance_vendor_compliance_findings__finding_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "finding_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Finding Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Finding",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "update_finding_api_compliance_vendor_compliance_findings__finding_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "finding_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Finding Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Finding",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/vendors": {
|
|
"get": {
|
|
"operationId": "list_vendors_api_compliance_vendor_compliance_vendors_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "riskLevel",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Risklevel"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "search",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Search"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "skip",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Skip",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 100,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Vendors",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "create_vendor_api_compliance_vendor_compliance_vendors_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Vendor",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/vendors/stats": {
|
|
"get": {
|
|
"operationId": "get_vendor_stats_api_compliance_vendor_compliance_vendors_stats_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Vendor Stats",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/vendors/{vendor_id}": {
|
|
"delete": {
|
|
"operationId": "delete_vendor_api_compliance_vendor_compliance_vendors__vendor_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "vendor_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Vendor Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Vendor",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "get_vendor_api_compliance_vendor_compliance_vendors__vendor_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "vendor_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Vendor Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Vendor",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "update_vendor_api_compliance_vendor_compliance_vendors__vendor_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "vendor_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Vendor Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Vendor",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vendor-compliance/vendors/{vendor_id}/status": {
|
|
"patch": {
|
|
"operationId": "patch_vendor_status_api_compliance_vendor_compliance_vendors__vendor_id__status_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "vendor_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Vendor Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"default": {},
|
|
"title": "Body",
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Patch Vendor Status",
|
|
"tags": [
|
|
"compliance",
|
|
"vendor-compliance"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/activities": {
|
|
"get": {
|
|
"description": "List all processing activities with optional filters.",
|
|
"operationId": "list_activities_api_compliance_vvt_activities_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "business_function",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Business Function"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "search",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Search"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "review_overdue",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Review Overdue"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/VVTActivityResponse"
|
|
},
|
|
"title": "Response List Activities Api Compliance Vvt Activities Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Activities",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a new processing activity.",
|
|
"operationId": "create_activity_api_compliance_vvt_activities_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTActivityCreate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTActivityResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Activity",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/activities/{activity_id}": {
|
|
"delete": {
|
|
"description": "Delete a processing activity.",
|
|
"operationId": "delete_activity_api_compliance_vvt_activities__activity_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "activity_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Activity Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Activity",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get a single processing activity by ID.",
|
|
"operationId": "get_activity_api_compliance_vvt_activities__activity_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "activity_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Activity Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTActivityResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Activity",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Update a processing activity.",
|
|
"operationId": "update_activity_api_compliance_vvt_activities__activity_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "activity_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Activity Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTActivityUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTActivityResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Activity",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/activities/{activity_id}/versions": {
|
|
"get": {
|
|
"description": "List all versions for a VVT activity.",
|
|
"operationId": "list_activity_versions_api_compliance_vvt_activities__activity_id__versions_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "activity_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Activity Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Activity Versions",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/activities/{activity_id}/versions/{version_number}": {
|
|
"get": {
|
|
"description": "Get a specific VVT activity version with full snapshot.",
|
|
"operationId": "get_activity_version_api_compliance_vvt_activities__activity_id__versions__version_number__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "activity_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Activity Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "path",
|
|
"name": "version_number",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Number",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Activity Version",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/audit-log": {
|
|
"get": {
|
|
"description": "Get the VVT audit trail.",
|
|
"operationId": "get_audit_log_api_compliance_vvt_audit_log_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "offset",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Offset",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/VVTAuditLogEntry"
|
|
},
|
|
"title": "Response Get Audit Log Api Compliance Vvt Audit Log Get",
|
|
"type": "array"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Audit Log",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/export": {
|
|
"get": {
|
|
"description": "Export all activities as JSON or CSV (semicolon-separated, DE locale).",
|
|
"operationId": "export_activities_api_compliance_vvt_export_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "format",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "json",
|
|
"pattern": "^(json|csv)$",
|
|
"title": "Format",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Export Activities",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/organization": {
|
|
"get": {
|
|
"description": "Load the VVT organization header for the given tenant.",
|
|
"operationId": "get_organization_api_compliance_vvt_organization_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/VVTOrganizationResponse"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Response Get Organization Api Compliance Vvt Organization Get"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Organization",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Create or update the VVT organization header.",
|
|
"operationId": "upsert_organization_api_compliance_vvt_organization_put",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTOrganizationUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTOrganizationResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Upsert Organization",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/compliance/vvt/stats": {
|
|
"get": {
|
|
"description": "Get VVT statistics summary.",
|
|
"operationId": "get_stats_api_compliance_vvt_stats_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Tenant Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VVTStatsResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Stats",
|
|
"tags": [
|
|
"compliance",
|
|
"compliance-vvt"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/audit-log": {
|
|
"get": {
|
|
"description": "Gibt das Audit-Log zur\u00fcck",
|
|
"operationId": "admin_get_audit_log_api_consent_admin_audit_log_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 1,
|
|
"minimum": 1,
|
|
"title": "Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "per_page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Per Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Audit Log",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/cookies/categories": {
|
|
"get": {
|
|
"description": "Gibt alle Cookie-Kategorien zur\u00fcck",
|
|
"operationId": "admin_get_cookie_categories_api_consent_admin_cookies_categories_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Cookie Categories",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Erstellt eine neue Cookie-Kategorie",
|
|
"operationId": "admin_create_cookie_category_api_consent_admin_cookies_categories_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateCookieCategoryRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Create Cookie Category",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/cookies/categories/{cat_id}": {
|
|
"delete": {
|
|
"description": "Deaktiviert eine Cookie-Kategorie",
|
|
"operationId": "admin_delete_cookie_category_api_consent_admin_cookies_categories__cat_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "cat_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Cat Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Delete Cookie Category",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Aktualisiert eine Cookie-Kategorie",
|
|
"operationId": "admin_update_cookie_category_api_consent_admin_cookies_categories__cat_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "cat_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Cat Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Request",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Update Cookie Category",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/documents": {
|
|
"get": {
|
|
"description": "Gibt alle Dokumente zur\u00fcck (inkl. inaktive)",
|
|
"operationId": "admin_get_documents_api_consent_admin_documents_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Documents",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Erstellt ein neues rechtliches Dokument",
|
|
"operationId": "admin_create_document_api_consent_admin_documents_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateDocumentRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Create Document",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/documents/{doc_id}": {
|
|
"delete": {
|
|
"description": "Deaktiviert ein rechtliches Dokument (Soft-Delete)",
|
|
"operationId": "admin_delete_document_api_consent_admin_documents__doc_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "doc_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Doc Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Delete Document",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Aktualisiert ein rechtliches Dokument",
|
|
"operationId": "admin_update_document_api_consent_admin_documents__doc_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "doc_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Doc Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateDocumentRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Update Document",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/documents/{doc_id}/versions": {
|
|
"get": {
|
|
"description": "Gibt alle Versionen eines Dokuments zur\u00fcck",
|
|
"operationId": "admin_get_versions_api_consent_admin_documents__doc_id__versions_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "doc_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Doc Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Versions",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/privacy/deletion-requests": {
|
|
"get": {
|
|
"description": "[Admin] Gibt alle L\u00f6schantr\u00e4ge zur\u00fcck.",
|
|
"operationId": "admin_get_deletion_requests_api_consent_admin_privacy_deletion_requests_get",
|
|
"parameters": [
|
|
{
|
|
"description": "Filter: pending, processing, completed",
|
|
"in": "query",
|
|
"name": "status",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter: pending, processing, completed",
|
|
"title": "Status"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 1,
|
|
"minimum": 1,
|
|
"title": "Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "per_page",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 20,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"title": "Per Page",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Deletion Requests",
|
|
"tags": [
|
|
"gdpr-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/privacy/deletion-requests/{request_id}/process": {
|
|
"post": {
|
|
"description": "[Admin] Bearbeitet einen L\u00f6schantrag.",
|
|
"operationId": "admin_process_deletion_request_api_consent_admin_privacy_deletion_requests__request_id__process_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "request_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Request Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Process Deletion Request",
|
|
"tags": [
|
|
"gdpr-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/privacy/export-pdf/{user_id}": {
|
|
"get": {
|
|
"description": "[Admin] Generiert PDF-Datenauskunft f\u00fcr einen beliebigen Nutzer.\n\nNur f\u00fcr Admins: Erm\u00f6glicht Export von Nutzerdaten f\u00fcr Support-Anfragen\noder Beh\u00f6rdenanfragen.",
|
|
"operationId": "admin_export_user_data_pdf_api_consent_admin_privacy_export_pdf__user_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "user_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "User Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Export User Data Pdf",
|
|
"tags": [
|
|
"gdpr-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/privacy/retention-stats": {
|
|
"get": {
|
|
"description": "[Admin] Gibt Statistiken \u00fcber Daten und L\u00f6schfristen zur\u00fcck.",
|
|
"operationId": "admin_get_retention_stats_api_consent_admin_privacy_retention_stats_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Retention Stats",
|
|
"tags": [
|
|
"gdpr-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/scheduled-publishing/process": {
|
|
"post": {
|
|
"description": "Verarbeitet alle f\u00e4lligen geplanten Ver\u00f6ffentlichungen.\nSollte von einem Cronjob regelm\u00e4\u00dfig aufgerufen werden.",
|
|
"operationId": "admin_process_scheduled_publishing_api_consent_admin_scheduled_publishing_process_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Process Scheduled Publishing",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/scheduled-versions": {
|
|
"get": {
|
|
"description": "Gibt alle f\u00fcr Ver\u00f6ffentlichung geplanten Versionen zur\u00fcck",
|
|
"operationId": "admin_get_scheduled_versions_api_consent_admin_scheduled_versions_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Scheduled Versions",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/statistics": {
|
|
"get": {
|
|
"description": "Gibt Statistiken \u00fcber Consents zur\u00fcck",
|
|
"operationId": "admin_get_statistics_api_consent_admin_statistics_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Statistics",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions": {
|
|
"post": {
|
|
"description": "Erstellt eine neue Dokumentversion",
|
|
"operationId": "admin_create_version_api_consent_admin_versions_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateVersionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Create Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/upload-word": {
|
|
"post": {
|
|
"description": "Konvertiert ein Word-Dokument (.docx) zu HTML.\nErfordert mammoth Library.",
|
|
"operationId": "upload_word_document_api_consent_admin_versions_upload_word_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_upload_word_document_api_consent_admin_versions_upload_word_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Upload Word Document",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}": {
|
|
"delete": {
|
|
"description": "L\u00f6scht eine Dokumentversion dauerhaft.\n\nNur Versionen im Status 'draft' oder 'rejected' k\u00f6nnen gel\u00f6scht werden.\nVer\u00f6ffentlichte Versionen m\u00fcssen stattdessen archiviert werden.\nDie Versionsnummer wird nach dem L\u00f6schen wieder frei.",
|
|
"operationId": "admin_delete_version_api_consent_admin_versions__version_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Delete Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Aktualisiert eine Dokumentversion (nur draft Status)",
|
|
"operationId": "admin_update_version_api_consent_admin_versions__version_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateVersionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Update Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/approval-history": {
|
|
"get": {
|
|
"description": "Gibt die Genehmigungshistorie einer Version zur\u00fcck",
|
|
"operationId": "admin_get_approval_history_api_consent_admin_versions__version_id__approval_history_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Get Approval History",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/approve": {
|
|
"post": {
|
|
"description": "Genehmigt eine Version (nur DSB).\n\nMit scheduled_publish_at kann ein Ver\u00f6ffentlichungszeitpunkt festgelegt werden.\nFormat: ISO 8601 (z.B. \"2026-01-01T00:00:00Z\")",
|
|
"operationId": "admin_approve_version_api_consent_admin_versions__version_id__approve_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ApprovalCommentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Approve Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/archive": {
|
|
"post": {
|
|
"description": "Archiviert eine Dokumentversion",
|
|
"operationId": "admin_archive_version_api_consent_admin_versions__version_id__archive_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Archive Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/compare": {
|
|
"get": {
|
|
"description": "Vergleicht Version mit aktuell ver\u00f6ffentlichter Version",
|
|
"operationId": "admin_compare_versions_api_consent_admin_versions__version_id__compare_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Compare Versions",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/publish": {
|
|
"post": {
|
|
"description": "Ver\u00f6ffentlicht eine Dokumentversion",
|
|
"operationId": "admin_publish_version_api_consent_admin_versions__version_id__publish_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Publish Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/reject": {
|
|
"post": {
|
|
"description": "Lehnt eine Version ab (nur DSB)",
|
|
"operationId": "admin_reject_version_api_consent_admin_versions__version_id__reject_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RejectRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Reject Version",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/admin/versions/{version_id}/submit-review": {
|
|
"post": {
|
|
"description": "Reicht eine Version zur DSB-Pr\u00fcfung ein",
|
|
"operationId": "admin_submit_for_review_api_consent_admin_versions__version_id__submit_review_post",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "version_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Version Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Admin Submit For Review",
|
|
"tags": [
|
|
"consent-admin"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/check/{document_type}": {
|
|
"get": {
|
|
"description": "Pr\u00fcft ob der Benutzer einem Dokument zugestimmt hat.\nGibt zur\u00fcck ob Zustimmung vorliegt und ob sie aktualisiert werden muss.",
|
|
"operationId": "check_consent_api_consent_check__document_type__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "document_type",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Document Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "language",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "de",
|
|
"title": "Language",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Check Consent",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/cookies": {
|
|
"post": {
|
|
"description": "Speichert die Cookie-Pr\u00e4ferenzen des Benutzers",
|
|
"operationId": "set_cookie_consent_api_consent_cookies_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CookieConsentRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Set Cookie Consent",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/cookies/categories": {
|
|
"get": {
|
|
"description": "Holt alle Cookie-Kategorien f\u00fcr das Cookie-Banner",
|
|
"operationId": "get_cookie_categories_api_consent_cookies_categories_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "language",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "de",
|
|
"title": "Language",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Cookie Categories",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/documents/{document_type}/latest": {
|
|
"get": {
|
|
"description": "Holt die aktuellste Version eines rechtlichen Dokuments",
|
|
"operationId": "get_latest_document_api_consent_documents__document_type__latest_get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "document_type",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Document Type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "language",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "de",
|
|
"title": "Language",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Latest Document",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/give": {
|
|
"post": {
|
|
"description": "Speichert die Zustimmung des Benutzers zu einem Dokument",
|
|
"operationId": "give_consent_api_consent_give_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConsentRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Give Consent",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/health": {
|
|
"get": {
|
|
"description": "Pr\u00fcft die Verbindung zum Consent Service",
|
|
"operationId": "consent_health_api_consent_health_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Consent Health",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/pending": {
|
|
"get": {
|
|
"description": "Gibt alle Dokumente zur\u00fcck, die noch Zustimmung ben\u00f6tigen.\nN\u00fctzlich f\u00fcr Anzeige beim Login oder in den Einstellungen.",
|
|
"operationId": "get_pending_consents_api_consent_pending_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "language",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "de",
|
|
"title": "Language",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Pending Consents",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/data-categories": {
|
|
"get": {
|
|
"description": "Gibt alle Datenkategorien mit ihren L\u00f6schfristen zur\u00fcck.\n\nDiese Information wird auch im PDF-Export angezeigt und gibt Nutzern\nTransparenz dar\u00fcber, welche Daten wie lange gespeichert werden.\n\nQuery Parameters:\n filter: 'essential' f\u00fcr Pflicht-Daten, 'optional' f\u00fcr Opt-in Daten",
|
|
"operationId": "get_data_categories_api_consent_privacy_data_categories_get",
|
|
"parameters": [
|
|
{
|
|
"description": "Filter: 'essential', 'optional', oder leer f\u00fcr alle",
|
|
"in": "query",
|
|
"name": "filter",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Filter: 'essential', 'optional', oder leer f\u00fcr alle",
|
|
"title": "Filter"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Data Categories",
|
|
"tags": [
|
|
"gdpr-privacy"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/data-categories/{category}": {
|
|
"get": {
|
|
"description": "Gibt Details zu einer spezifischen Datenkategorie zur\u00fcck.",
|
|
"operationId": "get_data_category_details_api_consent_privacy_data_categories__category__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "category",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Category",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Data Category Details",
|
|
"tags": [
|
|
"gdpr-privacy"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/delete": {
|
|
"post": {
|
|
"description": "GDPR Art. 17: Recht auf L\u00f6schung\nFordert die L\u00f6schung aller Benutzerdaten an.",
|
|
"operationId": "request_data_deletion_api_consent_privacy_delete_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DataDeletionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Request Data Deletion",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/export": {
|
|
"post": {
|
|
"description": "GDPR Art. 20: Recht auf Daten\u00fcbertragbarkeit\nFordert einen Export aller Benutzerdaten an.",
|
|
"operationId": "request_data_export_api_consent_privacy_export_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Request Data Export",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/export-html": {
|
|
"get": {
|
|
"description": "Generiert eine HTML-Datenauskunft (Preview oder Alternative zu PDF).\n\nReturns:\n HTML-Dokument mit allen gespeicherten Nutzerdaten",
|
|
"operationId": "export_user_data_html_api_consent_privacy_export_html_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"text/html": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Export User Data Html",
|
|
"tags": [
|
|
"gdpr-privacy"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/export-pdf": {
|
|
"post": {
|
|
"description": "Generiert eine PDF-Datenauskunft gem\u00e4\u00df DSGVO Art. 15.\n\nReturns:\n PDF-Dokument mit allen gespeicherten Nutzerdaten",
|
|
"operationId": "export_user_data_pdf_api_consent_privacy_export_pdf_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Export User Data Pdf",
|
|
"tags": [
|
|
"gdpr-privacy"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/my-data": {
|
|
"get": {
|
|
"description": "GDPR Art. 15: Auskunftsrecht\nGibt alle \u00fcber den Benutzer gespeicherten Daten zur\u00fcck.",
|
|
"operationId": "get_my_data_api_consent_privacy_my_data_get",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get My Data",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/privacy/request-deletion": {
|
|
"post": {
|
|
"description": "Reicht einen Antrag auf Datenl\u00f6schung ein (DSGVO Art. 17).\n\nDer Antrag wird protokolliert und innerhalb von 30 Tagen bearbeitet.\nBestimmte Daten m\u00fcssen aufgrund gesetzlicher Aufbewahrungsfristen\nm\u00f6glicherweise l\u00e4nger gespeichert werden.\n\nBody:\n reason: Optionaler Grund f\u00fcr die L\u00f6schung\n confirm: Muss true sein zur Best\u00e4tigung",
|
|
"operationId": "request_data_deletion_api_consent_privacy_request_deletion_post",
|
|
"parameters": [
|
|
{
|
|
"in": "header",
|
|
"name": "authorization",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Authorization"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeletionRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Request Data Deletion",
|
|
"tags": [
|
|
"gdpr-privacy"
|
|
]
|
|
}
|
|
},
|
|
"/api/consent/token/demo": {
|
|
"get": {
|
|
"description": "Generiert einen Demo-Token f\u00fcr nicht-authentifizierte Benutzer.\nDieser Token erm\u00f6glicht das Lesen von \u00f6ffentlichen Dokumenten.",
|
|
"operationId": "get_demo_token_api_consent_token_demo_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Get Demo Token",
|
|
"tags": [
|
|
"consent"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/blocked-content": {
|
|
"get": {
|
|
"description": "List blocked content entries.",
|
|
"operationId": "list_blocked_content_api_v1_admin_blocked_content_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "offset",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Offset",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "domain",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Domain"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "from",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "From"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "to",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "To"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Blocked Content",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/compliance-report": {
|
|
"get": {
|
|
"description": "Generate a compliance report for source policies.",
|
|
"operationId": "get_compliance_report_api_v1_admin_compliance_report_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Get Compliance Report",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/operations-matrix": {
|
|
"get": {
|
|
"description": "Get the full operations matrix.",
|
|
"operationId": "get_operations_matrix_api_v1_admin_operations_matrix_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Get Operations Matrix",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/operations/{operation_id}": {
|
|
"put": {
|
|
"description": "Update an operation in the matrix.",
|
|
"operationId": "update_operation_api_v1_admin_operations__operation_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "operation_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Operation Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OperationUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Operation",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/pii-rules": {
|
|
"get": {
|
|
"description": "List all PII rules with optional category filter.",
|
|
"operationId": "list_pii_rules_api_v1_admin_pii_rules_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "category",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Category"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Pii Rules",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create a new PII rule.",
|
|
"operationId": "create_pii_rule_api_v1_admin_pii_rules_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PIIRuleCreate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Pii Rule",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/pii-rules/{rule_id}": {
|
|
"delete": {
|
|
"description": "Delete a PII rule.",
|
|
"operationId": "delete_pii_rule_api_v1_admin_pii_rules__rule_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "rule_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Rule Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Pii Rule",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Update a PII rule.",
|
|
"operationId": "update_pii_rule_api_v1_admin_pii_rules__rule_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "rule_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Rule Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PIIRuleUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Pii Rule",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/policy-audit": {
|
|
"get": {
|
|
"description": "Get the audit trail for source policy changes.",
|
|
"operationId": "get_policy_audit_api_v1_admin_policy_audit_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 50,
|
|
"maximum": 500,
|
|
"minimum": 1,
|
|
"title": "Limit",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "offset",
|
|
"required": false,
|
|
"schema": {
|
|
"default": 0,
|
|
"minimum": 0,
|
|
"title": "Offset",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "entity_type",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Entity Type"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "from",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "From"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "to",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "To"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Policy Audit",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/policy-stats": {
|
|
"get": {
|
|
"description": "Get dashboard statistics for source policy.",
|
|
"operationId": "get_policy_stats_api_v1_admin_policy_stats_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Get Policy Stats",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/sources": {
|
|
"get": {
|
|
"description": "List all allowed sources with optional filters.",
|
|
"operationId": "list_sources_api_v1_admin_sources_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "active_only",
|
|
"required": false,
|
|
"schema": {
|
|
"default": false,
|
|
"title": "Active Only",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "source_type",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Source Type"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "license",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "License"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Sources",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Add a new allowed source.",
|
|
"operationId": "create_source_api_v1_admin_sources_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SourceCreate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Create Source",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/admin/sources/{source_id}": {
|
|
"delete": {
|
|
"description": "Remove an allowed source.",
|
|
"operationId": "delete_source_api_v1_admin_sources__source_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "source_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Source Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Source",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get a specific source.",
|
|
"operationId": "get_source_api_v1_admin_sources__source_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "source_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Source Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Source",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
},
|
|
"put": {
|
|
"description": "Update an existing source.",
|
|
"operationId": "update_source_api_v1_admin_sources__source_id__put",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "source_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Source Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SourceUpdate"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Update Source",
|
|
"tags": [
|
|
"source-policy"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/company-profile": {
|
|
"delete": {
|
|
"description": "Delete company profile for a tenant (DSGVO Recht auf Loeschung, Art. 17).",
|
|
"operationId": "delete_company_profile_api_v1_company_profile_delete",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Company Profile",
|
|
"tags": [
|
|
"company-profile"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get company profile for a tenant (optionally per project).",
|
|
"operationId": "get_company_profile_api_v1_company_profile_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyProfileResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Company Profile",
|
|
"tags": [
|
|
"company-profile"
|
|
]
|
|
},
|
|
"patch": {
|
|
"description": "Partial update for company profile.",
|
|
"operationId": "patch_company_profile_api_v1_company_profile_patch",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"additionalProperties": true,
|
|
"title": "Updates",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyProfileResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Patch Company Profile",
|
|
"tags": [
|
|
"company-profile"
|
|
]
|
|
},
|
|
"post": {
|
|
"description": "Create or update company profile (upsert).",
|
|
"operationId": "upsert_company_profile_api_v1_company_profile_post",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyProfileRequest"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyProfileResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Upsert Company Profile",
|
|
"tags": [
|
|
"company-profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/company-profile/audit": {
|
|
"get": {
|
|
"description": "Get audit log for company profile changes.",
|
|
"operationId": "get_audit_log_api_v1_company_profile_audit_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AuditListResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Audit Log",
|
|
"tags": [
|
|
"company-profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/company-profile/template-context": {
|
|
"get": {
|
|
"description": "Return flat dict for Jinja2 template substitution in document generation.",
|
|
"operationId": "get_template_context_api_v1_company_profile_template_context_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "project_id",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "Project Id"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Template Context",
|
|
"tags": [
|
|
"company-profile"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/import": {
|
|
"get": {
|
|
"description": "Alias: GET /v1/import \u2192 list documents (proxy-compatible URL).",
|
|
"operationId": "list_documents_root_api_v1_import_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocumentListResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Documents Root",
|
|
"tags": [
|
|
"document-import"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/import/analyze": {
|
|
"post": {
|
|
"description": "Upload and analyze a compliance document.",
|
|
"operationId": "analyze_document_api_v1_import_analyze_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_analyze_document_api_v1_import_analyze_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocumentAnalysisResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Analyze Document",
|
|
"tags": [
|
|
"document-import"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/import/documents": {
|
|
"get": {
|
|
"description": "List all imported documents for a tenant.",
|
|
"operationId": "list_documents_api_v1_import_documents_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DocumentListResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Documents",
|
|
"tags": [
|
|
"document-import"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/import/gap-analysis/{document_id}": {
|
|
"get": {
|
|
"description": "Get gap analysis for a specific document.",
|
|
"operationId": "get_gap_analysis_api_v1_import_gap_analysis__document_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "document_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Document Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Gap Analysis",
|
|
"tags": [
|
|
"document-import"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/import/{document_id}": {
|
|
"delete": {
|
|
"description": "Delete an imported document and its gap analysis.",
|
|
"operationId": "delete_document_api_v1_import__document_id__delete",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "document_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Document Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "header",
|
|
"name": "X-Tenant-ID",
|
|
"required": false,
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"title": "X-Tenant-Id"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Delete Document",
|
|
"tags": [
|
|
"document-import"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/screening": {
|
|
"get": {
|
|
"description": "List all screenings for a tenant.",
|
|
"operationId": "list_screenings_api_v1_screening_get",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "tenant_id",
|
|
"required": false,
|
|
"schema": {
|
|
"default": "default",
|
|
"title": "Tenant Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScreeningListResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "List Screenings",
|
|
"tags": [
|
|
"system-screening"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/screening/scan": {
|
|
"post": {
|
|
"description": "Upload a dependency file, generate SBOM, and scan for vulnerabilities.",
|
|
"operationId": "scan_dependencies_api_v1_screening_scan_post",
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Body_scan_dependencies_api_v1_screening_scan_post"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScreeningResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Scan Dependencies",
|
|
"tags": [
|
|
"system-screening"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/screening/{screening_id}": {
|
|
"get": {
|
|
"description": "Get a screening result by ID.",
|
|
"operationId": "get_screening_api_v1_screening__screening_id__get",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "screening_id",
|
|
"required": true,
|
|
"schema": {
|
|
"title": "Screening Id",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ScreeningResponse"
|
|
}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
},
|
|
"422": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/HTTPValidationError"
|
|
}
|
|
}
|
|
},
|
|
"description": "Validation Error"
|
|
}
|
|
},
|
|
"summary": "Get Screening",
|
|
"tags": [
|
|
"system-screening"
|
|
]
|
|
}
|
|
},
|
|
"/health": {
|
|
"get": {
|
|
"description": "Health check endpoint for load balancers and orchestration.",
|
|
"operationId": "health_health_get",
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
},
|
|
"description": "Successful Response"
|
|
}
|
|
},
|
|
"summary": "Health",
|
|
"tags": [
|
|
"system"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|