{ "openapi": "3.0.1", "info": { "title": "Policy Agent Api", "description": "API to manage Policy Agent operations", "version": "1.0" }, "servers": [ { "url": "/policyagent" } ], "paths": { "/api/v1/document/{extractionId}/{documentId}/download": { "get": { "tags": [ "Document" ], "summary": "Download Policy Document", "description": "Get a presigned URL to download the uploaded policy document", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DownloadDocumentResponse" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/document": { "post": { "tags": [ "Document" ], "summary": "Upload Policy Document", "description": "Upload policy docuemnt", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UploadDocumentRequest" } ] } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UploadDocumentResponse" } } } } } } }, "/api/v1/extraction": { "post": { "tags": [ "Extraction" ], "summary": "Create Extraction", "description": "Endpoint for creating policy agent extraction", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/AddExtractionRequest" } ] } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddExtractionResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } }, "get": { "tags": [ "Extraction" ], "summary": "Get All Extractions", "description": "Endpoint for getting all policy agent extractions", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ExtractionDto" } } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{id}": { "delete": { "tags": [ "Extraction" ], "summary": "Delete Extraction", "description": "Endpoint for deleting a policy agent extraction by id", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "204": { "description": "No Content" }, "404": { "description": "Not Found" }, "409": { "description": "Conflict" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } }, "get": { "tags": [ "Extraction" ], "summary": "Get Extraction", "description": "Endpoint for getting policy agent extraction by id", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtractionDto" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/history": { "get": { "tags": [ "Extraction" ], "summary": "Get Extraction History", "description": "Endpoint for getting policy agent extraction history with document details", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 1 } }, { "name": "pageSize", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 5 } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtractionHistoryResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/version": { "get": { "tags": [ "Extraction" ], "summary": "Get extraction record schema version", "description": "Returns ExtractionVersions.Current — the extraction record schema version. Legacy records may omit version; consumers should treat null as version 1.", "parameters": [ { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtractionVersionResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{id}/status": { "put": { "tags": [ "Extraction" ], "summary": "Update Extraction Status", "description": "Endpoint for updating policy agent extraction status", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/UpdateExtractionStatusApiRequest" } ] } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "404": { "description": "Not Found" }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateExtractionStatusResponse" } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/compare": { "get": { "tags": [ "Requirements" ], "summary": "Compare Extracted Requirements with Policy Fields", "description": "Returns a pre-computed comparison between extracted requirements and policy fields, with the reviewer's latest persisted overlay merged over each row.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ReviewedComparisonItem" } } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/compare/export": { "post": { "tags": [ "Requirements" ], "summary": "Export Policy Comparison to Excel", "description": "Generates an Excel export of the stored comparison results and returns a presigned download URL.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExportComparisonResponse" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/requirements/export": { "post": { "tags": [ "Requirements" ], "summary": "Export Extracted Requirements to Excel", "description": "Generates an Excel export of the extracted policy requirements and returns a presigned download URL.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExportRequirementsResponse" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/requirements": { "get": { "tags": [ "Requirements" ], "summary": "Get All Extracted Requirements", "description": "Endpoint for getting all extracted requirements from S3 by extraction id", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ExtractedRequirementsResponse" } } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/requirements": { "get": { "tags": [ "Requirements" ], "summary": "Get Extracted Requirements", "description": "Endpoint for getting extracted requirements from S3 by extraction id and document id", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExtractedRequirementsResponse" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/push-policy-draft/{businessProcessId}": { "get": { "tags": [ "Requirements" ], "summary": "Get Push Status", "description": "Returns the status and per-item outcomes of a push-to-workspace business process.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "businessProcessId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushStatusResponse" } } } }, "404": { "description": "Not Found" }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/requirements/{comparisonId}/history": { "get": { "tags": [ "Requirements" ], "summary": "Requirement Review History", "description": "Returns the full version series (audit trail) for a comparison row with computed before/after diffs.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "comparisonId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetRequirementReviewHistoryResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/requirements/{comparisonId}/keep-fenergo-value": { "post": { "tags": [ "Requirements" ], "summary": "Keep the Fenergo Value for a Requirement Review", "description": "Appends a FenergoValueKept version so the comparison row is decided but excluded from the future push-to-workspace payload. Any prior reviewer edits are discarded — the row reads its baseline Fenergo values.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "comparisonId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeepFenergoValueResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/push-policy-draft": { "post": { "tags": [ "Requirements" ], "summary": "Push Approved Requirements to a Policy Workspace", "description": "Dispatches the approved/pre-accepted comparison rows for one document to a Fenergo Policy workspace. Create-only: rows that already carry a target Policy id are included as Skipped.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/PushRequirementsApiRequest" } ] } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "404": { "description": "Not Found" }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "202": { "description": "Accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PushRequirementsResponse" } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/requirements/{comparisonId}/reset": { "post": { "tags": [ "Requirements" ], "summary": "Reset a Requirement Review", "description": "Appends a Reset tombstone so the comparison row falls back to its S3 baseline.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "comparisonId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResetRequirementReviewResponse" } } } }, "403": { "description": "Access to resource is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": { }, "messages": [ { "message": "Access denied. Following permissions are required: Permission1, Permission2", "type": "Forbidden", "errorCode": "Error Code" } ] } } } }, "401": { "description": "User is not authorized to perform this request", "content": { "application/json": { "example": { "message": "Unauthorized" } } } }, "500": { "description": "Internal server exception. Please, contact your provider.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ObjectServiceResponse" }, "example": { "data": null, "messages": [ { "message": "Internal server exception. Please, contact your provider.", "type": "Error", "errorCode": "INTERNAL_SERVER_ERROR" } ] } } } } } } }, "/api/v1/extraction/{extractionId}/document/{documentId}/requirements/{comparisonId}/review": { "put": { "tags": [ "Requirements" ], "summary": "Update and Approve a Requirement Review", "description": "Persists a reviewer's edits to a comparison row as a new, version-numbered overlay row.", "parameters": [ { "name": "extractionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "documentId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "comparisonId", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-TENANT-ID", "in": "header", "description": "The UiD of the tenant representing organization", "required": true, "schema": { "type": "string" }, "example": "b11f8be3-f29b-4959-8964-956d4af7c468" } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SaveRequirementReviewApiRequest" } ] } } }, "required": true }, "responses": { "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SaveRequirementReviewResponse" } } } } } } } }, "components": { "schemas": { "AddExtractionRequest": { "type": "object", "properties": { "documentName": { "type": "string", "nullable": true } }, "additionalProperties": false }, "AddExtractionResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "ComparisonAgentOutput": { "type": "object", "properties": { "comparisonSummary": { "type": "string", "nullable": true }, "matchType": { "allOf": [ { "$ref": "#/components/schemas/ComparisonMatchType" } ], "nullable": true }, "policyFieldClassification": { "allOf": [ { "$ref": "#/components/schemas/PolicyFieldClassification" } ], "nullable": true } }, "additionalProperties": false }, "ComparisonConfigData": { "type": "object", "properties": { "fieldName": { "type": "string", "nullable": true }, "fieldType": { "allOf": [ { "$ref": "#/components/schemas/FieldTypeInfo" } ], "nullable": true }, "validationRules": { "nullable": true }, "jurisdictionIds": { "type": "array", "items": { "type": "string" }, "nullable": true }, "entityPolicyId": { "type": "string", "nullable": true }, "fieldId": { "type": "string", "nullable": true }, "dataKey": { "type": "string", "nullable": true }, "defaultValue": { "type": "string", "nullable": true }, "order": { "type": "integer", "format": "int32", "nullable": true }, "lockDetails": { "nullable": true }, "documentRequirementName": { "type": "string", "nullable": true }, "documentRequirementDescription": { "type": "string", "nullable": true }, "acceptableDocumentTypes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "documentRequirementId": { "type": "string", "nullable": true }, "documentRequirementVersion": { "type": "integer", "format": "int32", "nullable": true }, "relatedPartyName": { "type": "string", "nullable": true }, "partyTypes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "relatedPartyEntityTypes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "uboThreshold": { "type": "number", "format": "double", "nullable": true }, "idvOn": { "type": "boolean", "nullable": true }, "idvName": { "type": "string", "nullable": true }, "idvTooltip": { "type": "string", "nullable": true }, "idvValidationRules": { "nullable": true }, "relatedPartyRequirementId": { "type": "string", "nullable": true }, "relatedPartyRequirementVersion": { "type": "integer", "format": "int32", "nullable": true }, "targetEntities": { "type": "array", "items": { "type": "string" }, "nullable": true }, "description": { "type": "string", "nullable": true }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ComparisonReference" }, "nullable": true }, "jurisdictionNames": { "type": "array", "items": { "type": "string" }, "nullable": true }, "tooltipDescription": { "type": "string", "nullable": true }, "entityPolicyName": { "type": "string", "nullable": true }, "categories": { "type": "array", "items": { "type": "string" }, "nullable": true }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "ComparisonExtractedData": { "type": "object", "properties": { "fieldName": { "type": "string", "nullable": true }, "fieldType": { "allOf": [ { "$ref": "#/components/schemas/FieldTypeInfo" } ], "nullable": true }, "validationRules": { "nullable": true }, "documentRequirementName": { "type": "string", "nullable": true }, "documentRequirementDescription": { "type": "string", "nullable": true }, "relatedPartyName": { "type": "string", "nullable": true }, "partyTypes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "relatedPartyEntityTypes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "uboThreshold": { "type": "number", "format": "double", "nullable": true }, "idvOn": { "type": "boolean", "nullable": true }, "idvName": { "type": "string", "nullable": true }, "idvTooltip": { "type": "string", "nullable": true }, "idvValidationRules": { "nullable": true }, "targetEntities": { "type": "array", "items": { "type": "string" }, "nullable": true }, "description": { "type": "string", "nullable": true }, "references": { "type": "array", "items": { "$ref": "#/components/schemas/ComparisonReference" }, "nullable": true }, "jurisdictionNames": { "type": "array", "items": { "type": "string" }, "nullable": true }, "tooltipDescription": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ComparisonItem": { "type": "object", "properties": { "requirementType": { "allOf": [ { "$ref": "#/components/schemas/RequirementType" } ] }, "comparisonId": { "type": "string", "nullable": true }, "entityType": { "allOf": [ { "$ref": "#/components/schemas/EntityType" } ], "nullable": true }, "pageReferences": { "type": "array", "items": { "$ref": "#/components/schemas/PageReferenceDto" }, "nullable": true }, "policyExtractionId": { "type": "string", "nullable": true }, "policyExtractionRequirementIds": { "type": "array", "items": { "type": "string" }, "nullable": true }, "policyAgentData": { "allOf": [ { "$ref": "#/components/schemas/ComparisonAgentOutput" } ], "nullable": true }, "extractedData": { "allOf": [ { "$ref": "#/components/schemas/ComparisonExtractedData" } ], "nullable": true }, "policyConfigData": { "allOf": [ { "$ref": "#/components/schemas/ComparisonConfigData" } ], "nullable": true } }, "additionalProperties": false }, "ComparisonMatchType": { "enum": [ "Exact", "Equivalent", "Different", "FenergoPolicy", "New" ], "type": "string" }, "ComparisonReference": { "type": "object", "properties": { "note": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true }, "url": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ConfidenceLevel": { "enum": [ "High", "Medium", "Low" ], "type": "string" }, "DocumentStatus": { "enum": [ 0, 1, 2 ], "type": "integer", "format": "int32" }, "DownloadDocumentResponse": { "type": "object", "properties": { "presignedUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "EntityType": { "enum": [ "Individual", "Company", "Trust", "Other", "EntityGroup" ], "type": "string" }, "ErrorDetails": { "required": [ "code" ], "type": "object", "properties": { "code": { "allOf": [ { "$ref": "#/components/schemas/ExtractionErrorCode" } ] }, "data": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "ExportComparisonResponse": { "type": "object", "properties": { "presignedUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ExportRequirementsResponse": { "type": "object", "properties": { "presignedUrl": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ExtractedRequirementsResponse": { "type": "object", "properties": { "documentId": { "type": "string", "nullable": true }, "documentName": { "type": "string", "nullable": true }, "version": { "type": "string", "nullable": true }, "requirements": { "type": "array", "items": { "$ref": "#/components/schemas/SimplifiedRequirement" }, "nullable": true } }, "additionalProperties": false }, "ExtractionDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdDate": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "nullable": true }, "lastUpdatedDate": { "type": "string", "format": "date-time" }, "lastUpdatedBy": { "type": "string", "nullable": true }, "status": { "allOf": [ { "$ref": "#/components/schemas/ExtractionStatus" } ] }, "documentName": { "type": "string", "nullable": true }, "version": { "type": "integer", "format": "int32", "nullable": true }, "errorDetails": { "allOf": [ { "$ref": "#/components/schemas/ErrorDetails" } ], "nullable": true }, "pushBusinessProcessId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "ExtractionErrorCode": { "enum": [ "Unknown", "PageLimitExceeded", "KnowledgeBaseInactive", "UnreadableDocument", "KnowledgeBaseSyncTimeout" ], "type": "string" }, "ExtractionHistoryDocumentDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "fileName": { "type": "string", "nullable": true }, "jurisdictions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "status": { "allOf": [ { "$ref": "#/components/schemas/DocumentStatus" } ] }, "downloadAvailable": { "type": "boolean" } }, "additionalProperties": false }, "ExtractionHistoryItemDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdDate": { "type": "string", "format": "date-time" }, "createdBy": { "type": "string", "nullable": true }, "status": { "allOf": [ { "$ref": "#/components/schemas/ExtractionStatus" } ] }, "documents": { "type": "array", "items": { "$ref": "#/components/schemas/ExtractionHistoryDocumentDto" }, "nullable": true }, "documentName": { "type": "string", "nullable": true }, "version": { "type": "integer", "format": "int32", "nullable": true }, "errorDetails": { "allOf": [ { "$ref": "#/components/schemas/ErrorDetails" } ], "nullable": true } }, "additionalProperties": false }, "ExtractionHistoryResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ExtractionHistoryItemDto" }, "nullable": true }, "totalCount": { "type": "integer", "format": "int32" }, "page": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "ExtractionStatus": { "enum": [ 0, 1, 2, 3, 4, 5 ], "type": "integer", "format": "int32" }, "ExtractionVersionResponse": { "type": "object", "properties": { "current": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "FieldTypeInfo": { "type": "object", "properties": { "fieldType": { "type": "string", "nullable": true }, "fieldTypeId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "GetRequirementReviewHistoryResponse": { "type": "object", "properties": { "comparisonId": { "type": "string", "nullable": true }, "versions": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementReviewHistoryEntry" }, "nullable": true } }, "additionalProperties": false }, "HttpValidationProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true }, "errors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "nullable": true } }, "additionalProperties": { } }, "KeepFenergoValueResponse": { "type": "object", "properties": { "comparisonId": { "type": "string", "nullable": true }, "version": { "type": "integer", "format": "int32" }, "review": { "allOf": [ { "$ref": "#/components/schemas/RequirementReviewDto" } ], "nullable": true } }, "additionalProperties": false }, "ObjectServiceResponse": { "type": "object", "properties": { "data": { "description": "The service response DTO", "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceResponseMessage" }, "description": "List of Fenergo.Nebula.Platform.Core.Models.Response.ServiceResponseMessage associated to the service response", "nullable": true } }, "additionalProperties": false, "description": "Service response data" }, "PageReferenceDto": { "type": "object", "properties": { "visualPageNumber": { "type": "integer", "format": "int32" }, "physicalPageNumber": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "PolicyFieldClassification": { "enum": [ "PolicyField", "DocumentRequirement", "RelatedPartyRequirement" ], "type": "string" }, "PushItemDto": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "comparisonId": { "type": "string", "nullable": true }, "requirementName": { "type": "string", "nullable": true }, "commandName": { "type": "string", "nullable": true }, "status": { "allOf": [ { "$ref": "#/components/schemas/PushItemStatus" } ] }, "policyResourceId": { "type": "string", "format": "uuid", "nullable": true }, "message": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PushItemStatus": { "enum": [ "Pending", "InProgress", "Done", "Error", "Skipped" ], "type": "string" }, "PushMessageDto": { "type": "object", "properties": { "message": { "type": "string", "nullable": true }, "messageType": { "type": "string", "nullable": true } }, "additionalProperties": false }, "PushRequirementsApiRequest": { "type": "object", "properties": { "entityType": { "type": "string", "nullable": true }, "entityPolicyId": { "type": "string", "format": "uuid" }, "workspaceId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "PushRequirementsResponse": { "type": "object", "properties": { "businessProcessId": { "type": "string", "format": "uuid" }, "requirementCount": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "PushStatusResponse": { "type": "object", "properties": { "businessProcessId": { "type": "string", "format": "uuid" }, "status": { "type": "string", "nullable": true }, "totalCount": { "type": "integer", "format": "int32" }, "doneCount": { "type": "integer", "format": "int32" }, "errorCount": { "type": "integer", "format": "int32" }, "skippedCount": { "type": "integer", "format": "int32" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/PushItemDto" }, "nullable": true }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/PushMessageDto" }, "nullable": true } }, "additionalProperties": false }, "RequirementFieldChange": { "type": "object", "properties": { "field": { "type": "string", "nullable": true }, "before": { "type": "string", "nullable": true }, "after": { "type": "string", "nullable": true } }, "additionalProperties": false }, "RequirementMapping": { "enum": [ "ClientSpecific", "Equivalent" ], "type": "string" }, "RequirementReviewDto": { "type": "object", "properties": { "version": { "type": "integer", "format": "int32" }, "changeType": { "allOf": [ { "$ref": "#/components/schemas/ReviewChangeType" } ] }, "mapping": { "allOf": [ { "$ref": "#/components/schemas/RequirementMapping" } ], "nullable": true }, "mandatory": { "type": "boolean", "nullable": true }, "requirementName": { "type": "string", "nullable": true }, "jurisdictions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "notes": { "type": "string", "nullable": true }, "fenergoTargetFieldId": { "type": "string", "nullable": true }, "reviewedBy": { "type": "string", "nullable": true }, "reviewedDate": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "RequirementReviewHistoryEntry": { "type": "object", "properties": { "version": { "type": "integer", "format": "int32" }, "changeType": { "allOf": [ { "$ref": "#/components/schemas/ReviewChangeType" } ] }, "snapshot": { "allOf": [ { "$ref": "#/components/schemas/RequirementReviewDto" } ], "nullable": true }, "reviewedBy": { "type": "string", "nullable": true }, "reviewedDate": { "type": "string", "format": "date-time" }, "changes": { "type": "array", "items": { "$ref": "#/components/schemas/RequirementFieldChange" }, "nullable": true } }, "additionalProperties": false }, "RequirementType": { "enum": [ "PolicyField", "Document", "RelatedParty" ], "type": "string" }, "ResetRequirementReviewResponse": { "type": "object", "properties": { "comparisonId": { "type": "string", "nullable": true }, "version": { "type": "integer", "format": "int32", "nullable": true }, "wasReset": { "type": "boolean" } }, "additionalProperties": false }, "ReviewChangeType": { "enum": [ "Approved", "Reset", "FenergoValueKept" ], "type": "string" }, "ReviewedComparisonItem": { "type": "object", "properties": { "comparison": { "allOf": [ { "$ref": "#/components/schemas/ComparisonItem" } ], "nullable": true }, "review": { "allOf": [ { "$ref": "#/components/schemas/RequirementReviewDto" } ], "nullable": true } }, "additionalProperties": false }, "SaveRequirementReviewApiRequest": { "type": "object", "properties": { "mapping": { "allOf": [ { "$ref": "#/components/schemas/RequirementMapping" } ] }, "mandatory": { "type": "boolean" }, "requirementName": { "type": "string", "nullable": true }, "jurisdictions": { "type": "array", "items": { "type": "string" }, "nullable": true }, "notes": { "type": "string", "nullable": true }, "fenergoTargetFieldId": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SaveRequirementReviewResponse": { "type": "object", "properties": { "comparisonId": { "type": "string", "nullable": true }, "version": { "type": "integer", "format": "int32" }, "review": { "allOf": [ { "$ref": "#/components/schemas/RequirementReviewDto" } ], "nullable": true } }, "additionalProperties": false }, "ServiceResponseMessage": { "type": "object", "properties": { "message": { "type": "string", "description": "The message", "nullable": true, "example": "Success" }, "type": { "type": "string", "description": "Type of the message\r\nOne of Info, Warning, Error, Forbidden", "nullable": true, "example": "Info" }, "errorCode": { "type": "string", "description": "Error Code", "nullable": true, "example": "INTERNAL_SERVER_ERROR" } }, "additionalProperties": false, "description": "The message associated to the service response" }, "SimplifiedRequirement": { "type": "object", "properties": { "requirementId": { "type": "string", "nullable": true }, "requirementName": { "type": "string", "nullable": true }, "requirementType": { "allOf": [ { "$ref": "#/components/schemas/RequirementType" } ] }, "fieldType": { "type": "string", "nullable": true }, "entityType": { "allOf": [ { "$ref": "#/components/schemas/EntityType" } ] }, "confidenceLevel": { "allOf": [ { "$ref": "#/components/schemas/ConfidenceLevel" } ] }, "confidenceExplanation": { "type": "string", "nullable": true }, "applicableSubtypes": { "type": "array", "items": { "type": "string" }, "nullable": true }, "pageReferences": { "type": "array", "items": { "$ref": "#/components/schemas/PageReferenceDto" }, "nullable": true }, "targetEntities": { "type": "array", "items": { "type": "string" }, "nullable": true }, "jurisdictions": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "UpdateExtractionStatusApiRequest": { "type": "object", "properties": { "status": { "allOf": [ { "$ref": "#/components/schemas/ExtractionStatus" } ] }, "sendWebSocketNotification": { "type": "boolean", "nullable": true }, "errorDetails": { "allOf": [ { "$ref": "#/components/schemas/ErrorDetails" } ], "nullable": true } }, "additionalProperties": false }, "UpdateExtractionStatusResponse": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "allOf": [ { "$ref": "#/components/schemas/ExtractionStatus" } ] } }, "additionalProperties": false }, "UploadDocumentRequest": { "type": "object", "properties": { "fileName": { "type": "string", "nullable": true }, "extractionId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "UploadDocumentResponse": { "type": "object", "properties": { "presignedUrl": { "type": "string", "nullable": true }, "id": { "type": "string", "format": "uuid" } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "Please insert JWT with Bearer into field", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }