{ "openapi": "3.0.1", "info": { "title": "ConvertAPI", "description": "# High-Performance File Conversion API\nConvert Word, Excel, PowerPoint, HTML, PDF and Image formats with our powerful file conversion service.\nWe support more than [200 file types.]( https://www.convertapi.com/doc/file-formats)", "termsOfService": "https://www.convertapi.com/terms", "contact": { "url": "https://www.convertapi.com/support", "email": "support@convertapi.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "v2" }, "servers": [ { "url": "https://v2.convertapi.com" }, { "url": "https://eu-v2.convertapi.com" }, { "url": "https://uk-v2.convertapi.com" }, { "url": "https://us-v2.convertapi.com" }, { "url": "https://ca-v2.convertapi.com" }, { "url": "https://as-v2.convertapi.com" }, { "url": "https://au-v2.convertapi.com" } ], "paths": { "/convert/pdf/to/zugferd": { "summary": "PDF to ZUGFeRD API", "description": "Turn PDF invoices into ZUGFeRD e-invoices with AI data extraction. Outputs EN 16931 compliant PDF/A-3 with embedded invoice XML.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/pdf-to-zugferd" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "File": { "type": "string", "description": "File to be converted. Value can be URL or file content.", "format": "binary", "x-ca-featured": true, "x-ca-label": "File", "x-ca-group": "Input", "x-ca-type": "File", "x-ca-representation": "Default", "x-ca-allowed-extensions": [ "pdf" ] }, "FileName": { "type": "string", "description": "The `FileName` property defines the name of the output file(s) generated by the file conversion API, ensuring safe and\r\nunique file naming. It sanitizes input filenames to remove potentially harmful characters, automatically appends the\r\ncorrect file extension based on the target format, and includes an indexing feature to distinguish multiple output files\r\nfrom a single input. For example, converting `report.docx` to PDF format might result in `report.pdf` for a single file,\r\nor `report_0.pdf`, `report_1.pdf` for multiple files, ensuring each output file is uniquely identifiable.", "x-ca-featured": false, "x-ca-label": "Output file name", "x-ca-group": "Output", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "200" } }, "PageRange": { "type": "string", "description": "Set page range or individual pages to convert. Example 1-10 or 1,2,5. Regardless of the range specified, a maximum of 10 pages will be processed per conversion.", "default": "1-10", "x-ca-featured": false, "x-ca-label": "Page Range", "x-ca-group": "Input", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "2000" } }, "Password": { "type": "string", "description": "Sets the password to open protected PDF.", "x-ca-featured": false, "x-ca-label": "Open password", "x-ca-group": "Input", "x-ca-type": "String", "x-ca-representation": "Default" }, "AiMode": { "enum": [ "enhanced", "fast" ], "type": "string", "description": "Balances conversion speed against extraction accuracy. Enhanced uses an advanced reasoning AI model that reads complex invoice layouts with enhanced accuracy. Fast responds quicker and suits simple, clearly structured invoices.", "default": "fast", "x-ca-featured": true, "x-ca-label": "AI Mode", "x-ca-group": "AI Detection Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "enhanced": "Enhanced - enhanced extraction accuracy", "fast": "Fast - lower latency" } }, "ReadMode": { "enum": [ "auto", "textLayer", "image" ], "type": "string", "description": "Controls how PDF pages are read. Auto detects each page: pages with a text layer are read as exact text, scanned pages are read visually by the AI, so scanned and photographed invoices work without a separate OCR step. TextLayer trusts the embedded text only. Image renders every page as a picture, useful when the text layer is broken or incomplete.", "default": "auto", "x-ca-featured": false, "x-ca-label": "Read Mode", "x-ca-group": "AI Detection Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "auto": "Auto - detect per page", "textLayer": "Text layer only", "image": "Read pages as images" } }, "Timeout": { "maximum": 1200, "minimum": 10, "type": "integer", "description": "Conversion timeout in seconds.", "default": 900, "x-ca-featured": false, "x-ca-label": "Timeout", "x-ca-group": "Execution", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "1200" } }, "StoreFile": { "type": "boolean", "description": "When the `StoreFile` parameter is set to `True`, your converted file is written to ConvertAPI’s encrypted, temporary storage and made available via a time-limited secure download URL, valid for up to 3 hours. After this period, the file is permanently deleted.\r\n\r\nWhen `StoreFile` is set to `False`, conversion happens entirely in-memory. The raw file bytes are streamed back in the API response without touching disk or external storage, ensuring maximum security and zero persistence so that only you can access the content.\r\n", "default": false, "x-ca-featured": false, "x-ca-label": "Store file", "x-ca-group": "Output", "x-ca-type": "Bool", "x-ca-representation": "Default" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ConversionCost": { "type": "integer", "description": "This amount will be deducted from your balance after the conversion.", "format": "int32", "example": 1 }, "Files": { "type": "array", "items": { "type": "object", "properties": { "FileName": { "type": "string", "description": "Name of the converted file.", "example": "myfile.pdf" }, "FileExt": { "type": "string", "description": "File type (file name extension)", "example": "pdf" }, "FileSize": { "type": "integer", "description": "File size", "format": "int32", "example": 111955 }, "FileId": { "type": "string", "description": "File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "Url": { "type": "string", "description": "File URL", "example": "https://v2.convertapi.com/d/v01plsb72o0cmdooq90w4d1lnqsf6oy4/myfile.pdf" }, "FileData": { "type": "string", "description": "Base64 encoded file data", "format": "base64", "example": "JVBERi0xLjcKJb662+4KMSAwIG9iago8PC9UeXBlIC9DYXRhbG9n..." } } } } }, "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationjson-1" } } }, "multipart/mixed": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#multipartmixed" } }, "example": "--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f\nConversionCost: 1\nContent-Type: application/octet-stream\nContent-Disposition: attachment; filename=\"my_file.pdf\"; size=8475\n\n--FILE CONTENT--\n--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f--\n" }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationoctet-stream-1" } } } } }, "400": { "$ref": "#/components/responses/400" }, "401": { "$ref": "#/components/responses/401" }, "415": { "$ref": "#/components/responses/415" }, "500": { "$ref": "#/components/responses/500" }, "503": { "$ref": "#/components/responses/503" } }, "security": [ { "secret": [ ] }, { "token": [ ] }, { "jwt": [ ] } ] }, "x-ca-overview": "PDF to ZUGFeRD API turns an ordinary PDF invoice into a compliant ZUGFeRD e-invoice in a single call. AI reads the invoice and extracts the complete EN 16931 data set - seller and buyer details, VAT identifiers, invoice lines, tax breakdown, payment terms, and monetary totals - then builds the Cross Industry Invoice (CII) XML and embeds it into a PDF/A-3 copy of your document. Scanned and photographed invoices work out of the box: pages without a text layer are read visually by the AI, so no separate OCR step is needed. The result is a hybrid electronic invoice that meets the German B2B e-invoicing requirements and opens in any ZUGFeRD 2.x capable system. Automate compliant e-invoice creation directly from your accounting, billing, or ERP workflow.\n", "x-ca-overview-markdown": "PDF to ZUGFeRD API turns an ordinary PDF invoice into a compliant ZUGFeRD e-invoice in a single call. AI reads the invoice and extracts the complete EN 16931 data set - seller and buyer details, VAT identifiers, invoice lines, tax breakdown, payment terms, and monetary totals - then builds the Cross Industry Invoice (CII) XML and embeds it into a PDF/A-3 copy of your document. Scanned and photographed invoices work out of the box: pages without a text layer are read visually by the AI, so no separate OCR step is needed. The result is a hybrid electronic invoice that meets the German B2B e-invoicing requirements and opens in any ZUGFeRD 2.x capable system. Automate compliant e-invoice creation directly from your accounting, billing, or ERP workflow.\r\n", "x-ca-meta-title": "PDF to ZUGFeRD API - Convert PDF Invoices to ZUGFeRD E-Invoices", "x-ca-meta-description": "Convert ordinary PDF invoices to ZUGFeRD e-invoices with AI-powered data extraction. EN 16931 profile, PDF/A-3 output, scanned invoices supported without a separate OCR step.", "x-ca-keywords": "pdf, zugferd, e-invoice, einvoice, electronic invoice, factur-x, en 16931, cii, xml, invoice, ai, ocr", "x-ca-source-formats": "pdf", "x-ca-destination-formats": "pdf", "x-ca-tags": [ "einvoice", "ai", "pdf" ] } }, "components": { "schemas": { "fileId": { "maxLength": 32, "minLength": 32, "type": "string", "description": "Uploaded File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "error": { "type": "object", "properties": { "Code": { "type": "integer", "description": "Error message code", "format": "int32", "example": 4000 }, "Message": { "type": "string", "description": "Error message text", "example": "Parameter validation error." } }, "externalDocs": { "url": "https://www.convertapi.com/doc/response-codes" } } }, "responses": { "400": { "description": "Malformed request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "415": { "description": "File type error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "500": { "description": "Conversion failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "503": { "description": "Conversion rate limit error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": { "fileId": { "name": "fileId", "in": "path", "description": "File ID", "required": true, "schema": { "$ref": "#/components/schemas/fileId" } }, "src": { "name": "src", "in": "path", "description": "Source file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } }, "dst": { "name": "dst", "in": "path", "description": "Destination file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } } }, "headers": { "content-disposition": { "description": "File information ([docummentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition))", "schema": { "type": "string" } }, "file-name": { "description": "File name", "schema": { "type": "string" } }, "file-ext": { "description": "File name extension", "schema": { "type": "string" } }, "file-size": { "description": "File size", "schema": { "type": "integer" } } }, "securitySchemes": { "secret": { "type": "http", "description": "[Get `Secret`](https://www.convertapi.com/a/secret)", "scheme": "bearer" }, "token": { "type": "http", "description": "[Get `Token`](https://www.convertapi.com/a/api-tokens)", "scheme": "bearer" }, "jwt": { "type": "http", "description": "[Get `JWT`](https://www.convertapi.com/a/jwt-tokens)", "scheme": "bearer", "bearerFormat": "JWT" } } }, "tags": [ { "name": "Conversion", "description": "File Conversion API call", "externalDocs": { "description": "File Conversion related operations", "url": "https://www.convertapi.com/doc/content-types" } }, { "name": "File Server", "description": "ConvertAPI temporary file storage", "externalDocs": { "description": "File Server related operations", "url": "https://www.convertapi.com/doc/upload" } }, { "name": "User", "description": "API User", "externalDocs": { "description": "API User related operations", "url": "https://www.convertapi.com/doc/user" } } ], "externalDocs": { "description": "Find out more about ConvertAPI", "url": "https://www.convertapi.com/doc" } }