{ "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/template/to/pdf": { "summary": "PDF Template API", "description": "Generate dynamic PDF documents using a DOCX template and JSON object.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/template-to-pdf" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File", "JsonPayload" ], "type": "object", "properties": { "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" }, "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" }, "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" } }, "JsonPayload": { "type": "string", "description": "**Property Fields example:**\r\n\r\nJSON object containing values to be inserted into the **document's custom properties fields**.\r\n\r\n```json\r\n[\r\n {\r\n \"Name\": \"ProductName\",\r\n \"Value\": \"Acme Product\",\r\n \"Type\": \"string\"\r\n },\r\n {\r\n \"Name\": \"Price\",\r\n \"Value\": \"99.50 USD\",\r\n \"Type\": \"string\"\r\n },\r\n {\r\n \"Name\": \"Quantity\",\r\n \"Value\": 10,\r\n \"Type\": \"integer\"\r\n },\r\n {\r\n \"Name\": \"OrderDate\",\r\n \"Value\": \"2011-11-11\",\r\n \"Type\": \"datetime\"\r\n },\r\n {\r\n \"Name\": \"Paid\",\r\n \"Value\": true,\r\n \"Type\": \"boolean\"\r\n }\r\n]\r\n```\r\n\r\n**Placeholders example:**\r\n\r\nJSON object containing values to be inserted into the **document's placeholders**.\r\n```json\r\n[\r\n {\r\n \"Name\": \"name\",\r\n \"Value\": \"John\",\r\n \"Type\": \"string\"\r\n },\r\n {\r\n \"Name\": \"myImage\",\r\n \"ImageWidth\": 200,\r\n \"imageHeight\": 100,\r\n \"Value\": \"/9j/4AAQS...\",\r\n \"Type\": \"image\",\r\n \"Link\": \"https://www.convertapi.com/\"\r\n },\r\n {\r\n \"Name\": \"myCustomTable\",\r\n \"Type\": \"table\",\r\n \"TableData\": [\r\n [\"Row1Cell1\", \"Row1Cell2\", \"Row1Cell3\"],\r\n [\"Row2Cell1\", \"Row2Cell2\", \"\"]\r\n ]\r\n },\r\n {\r\n \"Name\": \"myHtml\",\r\n \"Value\": \"

Hello World!

Another paragraph here.

\",\r\n \"Type\": \"html\",\r\n \"Link\": \"https://www.example.com\"\r\n },\r\n {\r\n \"Name\": \"MyCondition\",\r\n \"Value\": \"false\",\r\n \"Type\": \"conditional\"\r\n }\r\n]\r\n```", "x-ca-featured": true, "x-ca-label": "JSON payload", "x-ca-group": "Options", "x-ca-type": "String", "x-ca-representation": "Default" }, "BindingMethod": { "enum": [ "properties", "placeholders" ], "type": "string", "description": "Choose the binding method. Select whether the converter should fill data from Word document properties fields or search for placeholders within the text.\n * `properties` - Property fields\n * `placeholders` - Placeholders", "default": "properties", "x-ca-featured": true, "x-ca-label": "Template binding method", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "properties": "Property fields", "placeholders": "Placeholders" } } } } } } }, "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": "Dynamic PDF API is a tool that allows you to dynamically generate PDF documents based on a MS Word (DOCX) template by injecting custom properties using a JSON object that contains your data. It's a game changer for anyone who wants to generate custom PDF documents on the fly. Using our DOCX Template API, you can effortlessly create stunning PDF documents like invoices, contracts, agreements, etc. It allows you to generate dynamic proposals or quotes using your desired DOCX template as a basis for the final PDF document.", "x-ca-meta-title": "Dynamic PDF API: Create dynamic PDFs with MS Word template and JSON - ConvertAPI", "x-ca-meta-description": "Dynamic PDF API is a tool that allows you to generate dynamic PDFs by injecting custom document variables into an MS Word template by passing a JSON object containing your data.", "x-ca-source-formats": "docx,dotx", "x-ca-destination-formats": "pdf", "x-ca-tags": [ "template", "document", "office", "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" } }