{
  "item": [
    {
      "name": "validation",
      "description": "",
      "item": [
        {
          "id": "702ba871-8588-4a63-8d6f-5c046f921b34",
          "name": "Valider une facture Factur-X",
          "request": {
            "name": "Valider une facture Factur-X",
            "description": {
              "content": "Valide une facture électronique au format **Factur-X** (PDF ou XML).\n\n## 🔐 Authentification\n\nCet endpoint supporte trois méthodes d'authentification :\n\n1. **JWT Dashboard** : `Authorization: Bearer <jwt>` (utilisateurs connectés)\n2. **API Key** : `X-API-Key: <key>` ou `Authorization: Bearer <api_key>` (clients externes)\n3. **Refresh Token** : Cookie `refresh_token` (renouvellement automatique)\n\n## 📥 Formats supportés\n\n- **PDF Factur-X** : PDF avec XML embarqué conforme EN16931\n- **XML standalone** : Fichier XML Factur-X seul\n\n## ✅ Validations effectuées\n\n1. **Validation PDF/A-3** : Vérifie la conformité PDF/A-3 (si PDF)\n2. **Validation structure Factur-X** : Vérifie les pièces jointes et métadonnées XMP (si PDF)\n3. **Validation XSD** : Vérifie la structure XML contre le schéma XSD\n4. **Validation Schematron** : Vérifie les règles métier EN16931\n\n## 📤 Réponses possibles\n\n### Succès (200 OK) - Format unifié (par défaut)\n```json\n{\n  \"valid\": true,\n  \"validatedAt\": \"2025-12-27T12:23:51.676602+00:00\",\n  \"filename\": \"invoice.xml\",\n  \"profile\": \"EN16931\",\n  \"durationMs\": 124,\n  \"summary\": { \"errorCount\": 0, \"warningCount\": 0 },\n  \"issues\": [],\n  \"stages\": {\n    \"pdfa\": { \"passed\": true, \"skipped\": true, \"skip_reason\": \"XML file - PDF/A validation not applicable\", \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] },\n    \"facturx_pdf\": { \"passed\": true, \"skipped\": true, \"skip_reason\": \"XML file - PDF checks not applicable\", \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] },\n    \"xsd\": { \"passed\": true, \"skipped\": false, \"skip_reason\": null, \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] },\n    \"schematron\": { \"passed\": true, \"skipped\": false, \"skip_reason\": null, \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] }\n  },\n  \"errors\": [],\n  \"warnings\": []\n}\n```\n\n### Succès (200 OK) - Format legacy (?legacy=true)\n```json\n{\n  \"valid\": true,\n  \"errors\": [],\n  \"warnings\": [],\n  \"profile\": \"EN16931\",\n  \"message\": \"Validation completed\"\n}\n```\n\n### Validation échouée (200 OK avec valid=false)\n```json\n{\n  \"valid\": false,\n  \"validatedAt\": \"2025-12-27T12:23:51.676602+00:00\",\n  \"filename\": \"invoice.xml\",\n  \"profile\": \"EN16931\",\n  \"durationMs\": 124,\n  \"summary\": { \"errorCount\": 1, \"warningCount\": 0 },\n  \"issues\": [\n    {\n      \"code\": \"XSD_VALIDATION_ERROR\",\n      \"severity\": \"error\",\n      \"stage\": \"xsd\",\n      \"message\": \"Missing required element: InvoiceNumber\",\n      \"line\": 42,\n      \"expected\": \"InvoiceNumber\",\n      \"actual\": null,\n      \"location\": \"line 42\",\n      \"ruleId\": null,\n      \"xpath\": \"/Invoice/ID\"\n    }\n  ],\n  \"stages\": {\n    \"pdfa\": { \"passed\": true, \"skipped\": true, \"skip_reason\": \"XML file - PDF/A validation not applicable\", \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] },\n    \"facturx_pdf\": { \"passed\": true, \"skipped\": true, \"skip_reason\": \"XML file - PDF checks not applicable\", \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] },\n    \"xsd\": { \"passed\": false, \"skipped\": false, \"skip_reason\": null, \"error_count\": 1, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] },\n    \"schematron\": { \"passed\": true, \"skipped\": false, \"skip_reason\": null, \"error_count\": 0, \"warning_count\": 0, \"info_count\": 0, \"issues\": [] }\n  },\n  \"errors\": [],\n  \"warnings\": []\n}\n```\n\n### Erreur fichier vide (400 Bad Request)\n```json\n{\n  \"detail\": \"Empty file\"\n}\n```\n\n## 🌍 Internationalisation\n\nUtilisez le header **Accept-Language** pour obtenir les messages en français:\n- `Accept-Language: en` (par défaut)\n- `Accept-Language: fr`\n\n## 💾 Stockage\n\nLe fichier est stocké temporairement sur R2/stockage local pour traçabilité.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "validate"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "description": {
                    "content": "",
                    "type": "text/plain"
                  },
                  "key": "legacy",
                  "value": "false"
                },
                {
                  "disabled": false,
                  "description": {
                    "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                    "type": "text/plain"
                  },
                  "key": "lang",
                  "value": "fr"
                }
              ],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": {
                  "content": "",
                  "type": "text/plain"
                },
                "key": "x-api-key",
                "value": "<string>"
              },
              {
                "key": "Content-Type",
                "value": "multipart/form-data"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "description": {
                    "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                    "type": "text/plain"
                  },
                  "key": "file",
                  "value": "<string>",
                  "type": "text"
                }
              ]
            },
            "auth": null
          },
          "response": [
            {
              "id": "66bc2213-80f6-4aaa-95a0-cdf6ae586e2d",
              "name": "Validation effectuée (succès ou échec)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"valid\": true,\n  \"target\": {\n    \"requested\": \"en16931\",\n    \"executed\": \"en16931\",\n    \"status\": \"verified\",\n    \"missing_inputs\": [],\n    \"not_run_reason\": null\n  },\n  \"validatedAt\": \"2026-04-28T10:00:00.000Z\",\n  \"filename\": \"invoice.xml\",\n  \"profile\": \"EN16931\",\n  \"durationMs\": 124,\n  \"summary\": {\n    \"errorCount\": 0,\n    \"warningCount\": 0\n  },\n  \"issues\": [],\n  \"stages\": {\n    \"pdfa\": {\n      \"passed\": true,\n      \"skipped\": true,\n      \"skip_reason\": \"XML file - PDF/A validation not applicable\",\n      \"error_count\": 0,\n      \"warning_count\": 0,\n      \"info_count\": 0,\n      \"issues\": []\n    },\n    \"facturx_pdf\": {\n      \"passed\": true,\n      \"skipped\": true,\n      \"skip_reason\": \"XML file - PDF checks not applicable\",\n      \"error_count\": 0,\n      \"warning_count\": 0,\n      \"info_count\": 0,\n      \"issues\": []\n    },\n    \"xsd\": {\n      \"passed\": true,\n      \"skipped\": false,\n      \"error_count\": 0,\n      \"warning_count\": 0,\n      \"info_count\": 0,\n      \"issues\": []\n    },\n    \"schematron\": {\n      \"passed\": true,\n      \"skipped\": false,\n      \"error_count\": 0,\n      \"warning_count\": 0,\n      \"info_count\": 0,\n      \"issues\": []\n    }\n  },\n  \"errors\": [],\n  \"warnings\": []\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "18eb561a-a29d-4cb3-9932-0cc173f564ac",
              "name": "Fichier vide ou invalide",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "32d58049-0c6a-464d-9c28-abc236309436",
              "name": "Quota dépassé (quota_exceeded)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "f4872c3a-b0ff-4283-ad8a-2080c423d82a",
              "name": "Fichier trop volumineux (file_too_large)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Request Entity Too Large",
              "code": 413,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "e406df6a-b2ae-4ce1-b500-087a1f0f67ba",
              "name": "Type de fichier non supporté (unsupported_media_type)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unsupported Media Type",
              "code": 415,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "cf50a845-99c4-4a10-a289-f0352f8afe99",
              "name": "Validation Error",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"detail\": [\n    {\n      \"loc\": [\n        \"<string>\",\n        \"<string>\"\n      ],\n      \"msg\": \"<string>\",\n      \"type\": \"<string>\",\n      \"input\": \"\",\n      \"ctx\": {}\n    },\n    {\n      \"loc\": [\n        \"<string>\",\n        \"<string>\"\n      ],\n      \"msg\": \"<string>\",\n      \"type\": \"<string>\",\n      \"input\": \"\",\n      \"ctx\": {}\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "fa019e9e-2028-4f37-b313-749ab2db4369",
              "name": "Rate limit dépassé (rate_limit_exceeded)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "0be6fde6-4767-4287-998b-bb9c44bdb641",
              "name": "Erreur serveur (stockage, traitement)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Internal Server Error",
              "code": 500,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "2091e40c-f8b2-42af-8091-be92aa3a0cbc",
              "name": "Validation engine indisponible (service_unavailable)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "validate"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "legacy",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header if not specified.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) Fichier XML ou PDF Factur-X à valider (limite configurable via MAX_UPLOAD_SIZE_BYTES)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Service Unavailable",
              "code": 503,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "extract",
      "description": "",
      "item": [
        {
          "id": "25f7a70c-3c4a-47a1-b05a-169d3e7f09b3",
          "name": "Extract Factur-X XML from PDF",
          "request": {
            "name": "Extract Factur-X XML from PDF",
            "description": {
              "content": "Extracts the embedded Factur-X XML from a PDF file.\n\n## Features\n\n1. **XML Extraction**: Extracts the embedded XML attachment from Factur-X PDFs\n2. **Profile Detection**: Automatically detects the Factur-X profile (MINIMUM, BASIC_WL, BASIC, EN16931, EXTENDED)\n3. **Optional Validation**: Validates the extracted XML against XSD/Schematron rules\n\n## Authentication\n\nRequires authentication via:\n- `X-API-Key: <api_key>` header, OR\n- `Authorization: Bearer <jwt>` header\n\n## Query Parameters\n\n- `validate=true`: Run full validation on extracted XML (1 facture traitée au total)\n- `lang=en|fr`: Language for response messages\n\n## Response\n\nReturns base64-encoded extracted XML with metadata:\n- `xml`: Base64-encoded XML content\n- `xmlSize`: Size of XML in bytes\n- `profile`: Detected Factur-X profile\n- `durationMs`: Extraction time in milliseconds\n- `validation`: Optional validation report (if validate=true)\n\n## Quota Usage\n\n- Par défaut : 1 facture traitée\n- Avec `validate=true` : 1 facture traitée",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "extract"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "description": {
                    "content": "Run validation after extraction (1 invoice processed)",
                    "type": "text/plain"
                  },
                  "key": "validate",
                  "value": "false"
                },
                {
                  "disabled": false,
                  "description": {
                    "content": "Response language (en or fr). Falls back to Accept-Language header.",
                    "type": "text/plain"
                  },
                  "key": "lang",
                  "value": "fr"
                }
              ],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": {
                  "content": "",
                  "type": "text/plain"
                },
                "key": "x-api-key",
                "value": "<string>"
              },
              {
                "key": "Content-Type",
                "value": "multipart/form-data"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "description": {
                    "content": "(Required) PDF file to extract XML from (Factur-X format)",
                    "type": "text/plain"
                  },
                  "key": "file",
                  "value": "<string>",
                  "type": "text"
                }
              ]
            },
            "auth": null
          },
          "response": [
            {
              "id": "282dda3b-2897-4cc7-b75f-1206294d0be2",
              "name": "XML extracted successfully",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "60ee6ded-5ee3-4f2d-ad8f-d14757467048",
              "name": "Invalid request",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "ab01ea8d-93c9-44de-ab67-3b2e1c8d37c9",
              "name": "Authentication required",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "30ca8413-0104-4680-9a7f-ad774e21d498",
              "name": "Quota exceeded",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "79fa2954-7e5c-4e74-95c5-d2cbd4e660b8",
              "name": "File too large",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Request Entity Too Large",
              "code": 413,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "3c22137a-0653-49d4-a92b-b4cea8a9cd6f",
              "name": "Unsupported media type (non-PDF file)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unsupported Media Type",
              "code": 415,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "9a3332e1-d0a1-42d8-af31-219a93ee3a03",
              "name": "PDF without Factur-X XML",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "9e576404-bb4c-4226-b61f-ae5a829175cc",
              "name": "Rate limit exceeded",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "0906724f-53df-48d2-b045-d67360ab3974",
              "name": "Service unavailable",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "extract"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Run validation after extraction (1 invoice processed)",
                        "type": "text/plain"
                      },
                      "key": "validate",
                      "value": "false"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to extract XML from (Factur-X format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Service Unavailable",
              "code": 503,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "repair",
      "description": "",
      "item": [
        {
          "id": "77c6d9d1-758c-43b6-a51d-fbe492ceedab",
          "name": "Repair Factur-X XML",
          "request": {
            "name": "Repair Factur-X XML",
            "description": {
              "content": "Repairs a Factur-X XML file to fix common EN16931 validation issues.\n\n## Three-Phase Workflow\n\n1. **Validate BEFORE**: Capture the initial validation state\n2. **Apply Repairs**: Apply deterministic repair rules\n3. **Validate AFTER**: Verify that repairs improved validity\n\n## Repair Rules Applied\n\n- **R001**: Date format correction (YYYY-MM-DD -> YYYYMMDD)\n- **R002**: Decimal format correction (comma -> dot separator)\n- **R005**: Namespace prefix/URI fixes\n- **R006**: Required schemeID attributes\n- **R007**: Currency code casing (eur -> EUR)\n- **R008**: Missing required elements (constraint-gated)\n\n## Authentication\n\nRequires authentication via:\n- `X-API-Key: <api_key>` header, OR\n- `Authorization: Bearer <jwt>` header\n\n## Idempotency\n\nUse `Idempotency-Key` header to ensure safe retries:\n- Same key + same payload = same response (cached)\n- Same key + different payload = 409 Conflict\n\n## Constraints\n\nControl repair behavior via the `constraints` form field (JSON):\n```json\n{\n  \"max_changes_allowed\": 10,\n  \"do_not_modify_amounts\": true,\n  \"do_not_invent_missing_parties\": true,\n  \"target_profile\": \"EN16931\"\n}\n```\n\n## Response\n\nReturns base64-encoded repaired XML with before/after validation reports\nand a diff summary of all changes made.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "repair"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "description": {
                    "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                    "type": "text/plain"
                  },
                  "key": "target_profile",
                  "value": "MINIMUM"
                },
                {
                  "disabled": false,
                  "description": {
                    "content": "Response language (en or fr). Falls back to Accept-Language header.",
                    "type": "text/plain"
                  },
                  "key": "lang",
                  "value": "fr"
                }
              ],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": {
                  "content": "Idempotency key for safe retries (recommended for production use)",
                  "type": "text/plain"
                },
                "key": "Idempotency-Key",
                "value": "<string>"
              },
              {
                "disabled": false,
                "description": {
                  "content": "",
                  "type": "text/plain"
                },
                "key": "x-api-key",
                "value": "<string>"
              },
              {
                "key": "Content-Type",
                "value": "multipart/form-data"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "description": {
                    "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                    "type": "text/plain"
                  },
                  "key": "file",
                  "value": "<string>",
                  "type": "text"
                },
                {
                  "description": {
                    "content": "",
                    "type": "text/plain"
                  },
                  "key": "constraints",
                  "value": "<string>",
                  "type": "text"
                }
              ]
            },
            "auth": null
          },
          "response": [
            {
              "id": "2aff462b-2b2f-4201-8889-fbe61cc06cc5",
              "name": "XML repaired successfully",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "3799bf89-ffe0-4657-bcdc-7cb728db7949",
              "name": "Invalid request",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "be907e5a-3236-465a-9512-a7eeedfbeaf3",
              "name": "Quota exceeded",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "539f59bd-cfb0-4969-9a96-e038ba125dc1",
              "name": "Idempotency conflict",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "527dc044-c5b7-44f8-8fd0-28e2a698871a",
              "name": "File too large",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Request Entity Too Large",
              "code": 413,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "e249eefe-e69d-4285-991d-8942298601cd",
              "name": "Unsupported media type (non-XML file)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unsupported Media Type",
              "code": 415,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "eef4468b-77c8-43a7-8815-9adff85ec7a7",
              "name": "Unprocessable entity",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "e257fadf-199c-47b3-86d3-570a8a0260d6",
              "name": "Rate limit exceeded",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "53ef3a85-86e9-4e79-9716-61d118b8004d",
              "name": "Service unavailable",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "repair"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Target Factur-X profile for repair. If not specified, auto-detected from XML.",
                        "type": "text/plain"
                      },
                      "key": "target_profile",
                      "value": "MINIMUM"
                    },
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) XML file to repair (Factur-X/EN16931 format)",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "constraints",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Service Unavailable",
              "code": 503,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "convert",
      "description": "",
      "item": [
        {
          "id": "9bb004cf-6919-408a-904f-c20b2986fc00",
          "name": "Convert PDF to Factur-X PDF/A-3",
          "request": {
            "name": "Convert PDF to Factur-X PDF/A-3",
            "description": {
              "content": "Converts a PDF invoice to a Factur-X compliant PDF/A-3 document.\n\n## Conversion Workflow\n\n1. **Scan Detection**: Determines if PDF is native text or scanned image\n2. **Data Extraction**: Extracts invoice data (text parsing or OCR)\n3. **XML Generation**: Creates EN16931-compliant Factur-X XML\n4. **PDF/A-3 Generation**: Embeds XML into PDF/A-3 format\n5. **Validation**: Validates the complete Factur-X document\n\n## Authentication\n\nRequires authentication via:\n- `X-API-Key: <api_key>` header, OR\n- `Authorization: Bearer <jwt>` header\n\n## Idempotency\n\nUse `Idempotency-Key` header to ensure safe retries:\n- Same key + same payload = same response (cached)\n- Same key + different payload = 409 Conflict\n\n## Options\n\nControl conversion behavior via the `options` form field (JSON):\n```json\n{\n  \"output_profile\": \"EN16931\",\n  \"lang\": \"en\",\n  \"confidence_mode\": \"strict\",\n  \"seller_hint\": \"FR\",\n  \"buyer_hint\": \"DE\"\n}\n```\n\n### Confidence Mode\n- `strict` (default): Reject OCR results with confidence < 70%\n- `lenient`: Accept low confidence with warning in response\n\n## Response\n\nReturns the generated Factur-X PDF/A-3 with embedded XML and validation report.\nPDF is base64-encoded in the response. Use the `xml` field for the embedded XML.\n\n## Quota Usage\n\n- Native text PDF: 5 units\n- Scanned PDF (OCR): 5-15 units based on page count",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "api",
                "v1",
                "convert"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [
                {
                  "disabled": false,
                  "description": {
                    "content": "Response language (en or fr). Falls back to Accept-Language header.",
                    "type": "text/plain"
                  },
                  "key": "lang",
                  "value": "fr"
                }
              ],
              "variable": []
            },
            "header": [
              {
                "disabled": false,
                "description": {
                  "content": "Idempotency key for safe retries (recommended for production use)",
                  "type": "text/plain"
                },
                "key": "Idempotency-Key",
                "value": "<string>"
              },
              {
                "disabled": false,
                "description": {
                  "content": "",
                  "type": "text/plain"
                },
                "key": "x-api-key",
                "value": "<string>"
              },
              {
                "key": "Content-Type",
                "value": "multipart/form-data"
              },
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "description": {
                    "content": "(Required) PDF file to convert to Factur-X format",
                    "type": "text/plain"
                  },
                  "key": "file",
                  "value": "<string>",
                  "type": "text"
                },
                {
                  "description": {
                    "content": "",
                    "type": "text/plain"
                  },
                  "key": "options",
                  "value": "<string>",
                  "type": "text"
                },
                {
                  "description": {
                    "content": "",
                    "type": "text/plain"
                  },
                  "key": "invoice_data",
                  "value": "<string>",
                  "type": "text"
                }
              ]
            },
            "auth": null
          },
          "response": [
            {
              "id": "9ad0a069-6f19-488b-81b8-9e057b72464f",
              "name": "PDF converted successfully",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "d6eab585-eea4-4aeb-a567-5262e8e0f615",
              "name": "Conversion accepted for async processing",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Accepted",
              "code": 202,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "0588821d-05b6-4e8b-a3be-aad8317e54bc",
              "name": "Invalid request",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Bad Request",
              "code": 400,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "0aece07e-ff32-4879-bb6a-8ddb523cfe3d",
              "name": "Authentication required",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unauthorized",
              "code": 401,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "b4c76c1b-5da6-498e-9bae-0cc3ca6a2bc5",
              "name": "Quota exceeded",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Payment Required",
              "code": 402,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "d6a288a1-2264-417b-9c73-888c95ebe40c",
              "name": "Idempotency conflict",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Conflict",
              "code": 409,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "7a6b7bb7-a112-42d1-aa30-51efb1819489",
              "name": "File too large",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Request Entity Too Large",
              "code": 413,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "eda3c679-3e6b-4d01-8987-d372e6d3f4de",
              "name": "Unsupported media type (non-PDF file)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unsupported Media Type",
              "code": 415,
              "header": [],
              "cookie": [],
              "_postman_previewlanguage": "text"
            },
            {
              "id": "6870bf17-8397-435f-b6fd-fdf8195238ae",
              "name": "Unprocessable entity",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Unprocessable Entity (WebDAV) (RFC 4918)",
              "code": 422,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "36578dce-1792-47ad-9dfc-6f83829f3674",
              "name": "Rate limit exceeded",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Too Many Requests",
              "code": 429,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "71c41708-3edf-4b9b-980b-490f7aec8706",
              "name": "Service unavailable (OCR or PDF generation)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Service Unavailable",
              "code": 503,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            },
            {
              "id": "e5f7b737-9c39-4668-97bf-0b71e530f28a",
              "name": "Timeout (OCR or PDF generation)",
              "originalRequest": {
                "url": {
                  "path": [
                    "api",
                    "v1",
                    "convert"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [
                    {
                      "disabled": false,
                      "description": {
                        "content": "Response language (en or fr). Falls back to Accept-Language header.",
                        "type": "text/plain"
                      },
                      "key": "lang",
                      "value": "fr"
                    }
                  ],
                  "variable": []
                },
                "header": [
                  {
                    "disabled": false,
                    "description": {
                      "content": "Idempotency key for safe retries (recommended for production use)",
                      "type": "text/plain"
                    },
                    "key": "Idempotency-Key",
                    "value": "<string>"
                  },
                  {
                    "disabled": false,
                    "description": {
                      "content": "",
                      "type": "text/plain"
                    },
                    "key": "x-api-key",
                    "value": "<string>"
                  },
                  {
                    "key": "Content-Type",
                    "value": "multipart/form-data"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "description": {
                        "content": "(Required) PDF file to convert to Factur-X format",
                        "type": "text/plain"
                      },
                      "key": "file",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "options",
                      "value": "<string>",
                      "type": "text"
                    },
                    {
                      "description": {
                        "content": "",
                        "type": "text/plain"
                      },
                      "key": "invoice_data",
                      "value": "<string>",
                      "type": "text"
                    }
                  ]
                }
              },
              "status": "Gateway Timeout",
              "code": 504,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "name": "meta",
      "description": "",
      "item": [
        {
          "id": "9af9f101-bdb7-437e-a075-c942955b07ee",
          "name": "Public metadata (source of truth)",
          "request": {
            "name": "Public metadata (source of truth)",
            "description": {
              "content": "Public, read-only metadata used as a single source of truth for versions, artefacts, limits, and plan quotas.",
              "type": "text/plain"
            },
            "url": {
              "path": [
                "meta"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "body": {},
            "auth": null
          },
          "response": [
            {
              "id": "2e197d14-ed16-455f-9199-4dfd5106af2e",
              "name": "Successful Response",
              "originalRequest": {
                "url": {
                  "path": [
                    "meta"
                  ],
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/json"
                  }
                ],
                "method": "GET",
                "body": {}
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"build\": {\n    \"commit_sha\": \"<string>\",\n    \"build_date\": \"<string>\",\n    \"env\": \"<string>\"\n  },\n  \"validation_engine\": {\n    \"artifacts\": [\n      {\n        \"kind\": \"<string>\",\n        \"path\": \"<string>\",\n        \"sha256\": \"<string>\",\n        \"size_bytes\": \"<integer>\",\n        \"version_declared\": \"<string>\",\n        \"version_detected\": \"<string>\",\n        \"origin\": \"<string>\"\n      },\n      {\n        \"kind\": \"<string>\",\n        \"path\": \"<string>\",\n        \"sha256\": \"<string>\",\n        \"size_bytes\": \"<integer>\",\n        \"version_declared\": \"<string>\",\n        \"version_detected\": \"<string>\",\n        \"origin\": \"<string>\"\n      }\n    ],\n    \"pdfa\": {\n      \"provider\": \"<string>\",\n      \"configured\": \"<boolean>\",\n      \"version\": \"<string>\"\n    }\n  },\n  \"limits\": {\n    \"max_upload_size_bytes\": \"<integer>\",\n    \"accepted_formats\": [\n      \"<string>\",\n      \"<string>\"\n    ],\n    \"rate_limit_enabled\": \"<boolean>\",\n    \"rate_limit_requests_per_minute\": \"<integer>\",\n    \"rate_limit_mode\": \"<string>\"\n  },\n  \"capabilities\": {\n    \"supports_facturx_108_xsd\": \"<boolean>\",\n    \"supports_en16931_compiled_xslt\": \"<boolean>\",\n    \"supports_pdfa_via_verapdf\": \"<boolean>\",\n    \"facturx_108_schematron_guaranteed\": \"<boolean>\",\n    \"supports_extract\": true,\n    \"supports_repair\": false,\n    \"supports_convert\": false\n  },\n  \"links\": {\n    \"generated_at\": \"<string>\",\n    \"docs\": \"<string>\",\n    \"openapi\": \"<string>\",\n    \"changelog\": \"<string>\",\n    \"status\": \"<string>\"\n  },\n  \"plans\": [\n    {\n      \"code\": \"<string>\",\n      \"name\": \"<string>\",\n      \"monthly_quota\": \"<integer>\",\n      \"price\": \"\"\n    },\n    {\n      \"code\": \"<string>\",\n      \"name\": \"<string>\",\n      \"monthly_quota\": \"<integer>\",\n      \"price\": \"\"\n    }\n  ]\n}",
              "cookie": [],
              "_postman_previewlanguage": "json"
            }
          ],
          "event": [],
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          }
        }
      ]
    },
    {
      "id": "67c72b33-406b-4985-a21d-1230d642fe7c",
      "name": "Health",
      "request": {
        "name": "Health",
        "description": {
          "content": "Health check endpoint with database ping.\n\nReturns:\n    - {\"status\": \"ok\", \"db\": \"ok\"} if all systems operational\n    - {\"status\": \"degraded\", \"db\": \"error\"} with 503 if DB unavailable",
          "type": "text/plain"
        },
        "url": {
          "path": [
            "health"
          ],
          "host": [
            "{{baseUrl}}"
          ],
          "query": [],
          "variable": []
        },
        "header": [
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
        "method": "GET",
        "body": {},
        "auth": null
      },
      "response": [
        {
          "id": "e3d50b83-d5ab-4362-8767-526750ddd506",
          "name": "Successful Response",
          "originalRequest": {
            "url": {
              "path": [
                "health"
              ],
              "host": [
                "{{baseUrl}}"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "method": "GET",
            "body": {}
          },
          "status": "OK",
          "code": 200,
          "header": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "body": "",
          "cookie": [],
          "_postman_previewlanguage": "json"
        }
      ],
      "event": [],
      "protocolProfileBehavior": {
        "disableBodyPruning": true
      }
    }
  ],
  "event": [],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.facturxapi.com"
    }
  ],
  "info": {
    "_postman_id": "f129c0d5-ab89-4d2a-8741-c887fdd86676",
    "name": "FacturX API — Public endpoints",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Public Postman collection for FacturX API: validate, extract, convert, repair, meta and health. Internal dashboard, billing, admin and webhook routes are intentionally excluded."
  }
}
