# ✅ Validate invoice file (FacturX, UBL, CII) Validate an invoice file without submitting it for processing. Supports validation of multiple e-invoicing formats: - FacturX: Validates PDF structure and embedded XML against FacturX standards - UBL: Validates XML against UBL schema - CII: Validates XML against Cross Industry Invoice schema All formats are checked for EN16931 compliance. Returns detailed validation results with specific error messages and suggestions. Endpoint: POST /invoicing/files/validate Version: 1.0.0 ## Header parameters: - `X-PDP-Client-Id` (string, required) ID of the PDP Client for which the operation is performed ## Request fields (multipart/form-data): - `file` (string, required) Invoice file (FacturX PDF, UBL XML, CII XML) ## Response 200 fields (application/json): - `is_valid` (boolean, required) Whether the invoice file is valid - `file_name` (string, required) Original file name - `file_size` (integer, required) File size in bytes - `detected_format` (any) Detected file format (FacturX, UBL, CII) - `format_version` (any) Detected format version - `pdf_valid` (boolean, required) Whether the PDF component is valid - `xml_valid` (boolean, required) Whether the XML component is valid - `issues` (array, required) List of validation issues found - `issues.field_path` (string, required) JSON path to the problematic field (e.g., 'seller.postal_address.country_code') - `issues.error_code` (string, required) Machine-readable error code (e.g., 'INVALID_COUNTRY_CODE') - `issues.error_message` (string, required) Human-readable error message - `issues.severity` (string, required) Issue severity: 'error', 'warning', or 'info' - `issues.suggested_value` (any) Suggested correct value if applicable - `total_errors` (integer, required) Total number of errors - `total_warnings` (integer, required) Total number of warnings - `extracted_data` (any) Extracted invoice data if validation succeeds - `en16931_invoice` (any) Complete EN16931-compliant invoice if validation succeeds - `summary` (string, required) Human-readable validation summary ## Response 400 fields (application/json): - `error` (string, required) - `code` (integer, required) - `trace_id` (string, required) ## Response 401 fields (application/json): - `error` (string, required) - `code` (integer, required) - `trace_id` (string, required) ## Response 422 fields