{ "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": { "/upload": { "post": { "tags": [ "File Server" ], "summary": "Upload file", "description": "When source files require multiple conversions, optimizing performance is possible by uploading the file once and then performing multiple conversions without the need for re-uploading.\nThe uploaded file is securely stored on the convertapi.com server for a maximum period of 3 hours and can be accessed through a unique secret URL with a UUID.\nIn conversion requests, the file can be referenced using the File ID, which is generated upon successful file upload.\n", "externalDocs": { "url": "https://www.convertapi.com/doc/upload" }, "parameters": [ { "name": "filename", "in": "query", "description": "File name.\nRequired if the header field `content-disposition` is not set.\n", "schema": { "type": "string" }, "example": "myfile.pdf" }, { "name": "content-disposition", "in": "header", "description": "This header field is used to determine the file name.\n**Required** if query parameter `filename` is not set.\nQuery parameter `filename` overrides this parameter.\n", "schema": { "type": "string" }, "example": "Content-Disposition: inline; filename=\"myfile.pdf\"" }, { "name": "fileId", "in": "query", "description": "Custom ID for the file that is uploaded. Lowercase alphanumeric character string.", "schema": { "$ref": "#/components/schemas/fileId" }, "example": "25811safe8e61dd3f51ef00ee5f58b92" }, { "name": "url", "in": "query", "description": "Remote file URL. The URL of the file you want to upload and store on the ConvertAPI file server.\nIf the file is accessible by the URL, it can be uploaded directly from its location by passing the URL instead of the file itself.\n", "schema": { "type": "string", "format": "uri" }, "example": "https://example.com/myfile.pdf" }, { "name": "headername", "in": "query", "description": "Remote file request header field name (used exclusively in conjunction with the `url` parameter).", "schema": { "type": "string" }, "example": "header-field-name" }, { "name": "headervalue", "in": "query", "description": "Remote file request header field value (used exclusively in conjunction with the `url` and `headername` parameters).", "schema": { "type": "string" }, "example": "Header field value" } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "description": "The file to upload", "format": "binary" } } }, "example": "There can be only one part with file data.\n```http\n[POST]\nhttps://v2.convertapi.com/upload \nContent-Type: multipart/form-data; boundary=----7MA4YWxkTrZu0gW\n\n------7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"file\"; filename=\"my_file.doc\"\n\n--FILE DATA--\n------7MA4YWxkTrZu0gW--\n```\n" }, "application/octet-stream": { "schema": { "type": "string", "format": "binary" }, "example": "```http\n[POST]\nhttps://v2.convertapi.com/upload \nContent-Disposition: inline; filename=\"my_file.doc\"\n\n--FILE DATA--\n```\n" } } }, "responses": { "200": { "description": "The file to upload", "content": { "application/json": { "schema": { "type": "object", "properties": { "FileName": { "type": "string", "example": "myfile.docx" }, "FileExt": { "type": "string", "example": "docx" }, "FileSize": { "type": "integer", "format": "int32", "example": "1026736" }, "FileId": { "type": "string", "example": "9shcxkk4zvesuzl2xavmg9afqbr2ty62" }, "Url": { "type": "string", "format": "uri", "example": "https://v2.convertapi.com/d/9shcxkk4zvesuzl2xavmg9afqbr2ty62" } } } }, "text/plain": { "schema": { "format": "string", "example": "9shcxkk4zvesuzl2xavmg9afqbr2ty62" } } } }, "400": { "description": "File request with an invalid file ID" }, "415": { "description": "The file type is not supported" }, "500": { "description": "Unable to store or download remote file" } } } }, "/d/{fileId}": { "get": { "tags": [ "File Server" ], "summary": "Download file", "operationId": "download", "parameters": [ { "$ref": "#/components/parameters/fileId" }, { "name": "download", "in": "query", "description": "- `attachment` - download a file\n- `inline` - view file in a web browser\n", "schema": { "enum": [ "attachment", "inline" ], "type": "string" } } ], "responses": { "200": { "description": "Success", "headers": { "content-disposition": { "$ref": "#/components/headers/content-disposition" }, "file-name": { "$ref": "#/components/headers/file-name" }, "file-ext": { "$ref": "#/components/headers/file-ext" }, "file-size": { "$ref": "#/components/headers/file-size" } }, "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } }, "404": { "description": "File not found" } } }, "delete": { "tags": [ "File Server" ], "summary": "Delete file", "description": "If the file is no longer required it can be deleted. Otherwise, it will be automatically deleted after 3 hours.", "parameters": [ { "$ref": "#/components/parameters/fileId" } ], "responses": { "200": { "description": "File deleted successfuly" }, "404": { "description": "File not found" } } }, "head": { "tags": [ "File Server" ], "summary": "Get file information", "parameters": [ { "$ref": "#/components/parameters/fileId" } ], "responses": { "200": { "description": "Success", "headers": { "content-disposition": { "$ref": "#/components/headers/content-disposition" }, "file-name": { "$ref": "#/components/headers/file-name" }, "file-ext": { "$ref": "#/components/headers/file-ext" }, "file-size": { "$ref": "#/components/headers/file-size" } } }, "404": { "description": "File not found" } } } }, "/user": { "get": { "tags": [ "User" ], "summary": "User information", "description": "The endpoint returns information about a user account. It is helpful to check the account balance status and other data. The endpoint can be authenticated only with a secret, the token is not accepted.\n", "externalDocs": { "url": "https://www.convertapi.com/doc/user" }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "Active": { "type": "boolean", "description": "User can perform conversions" }, "Email": { "type": "string", "description": "User email", "example": "user@example.com" }, "Secret": { "type": "string", "description": "Authentication secret", "example": "1XKrszdaFZH33WTh" }, "ApiKey": { "type": "integer", "description": "Authentication API key", "format": "int64", "example": 842679918 }, "ConversionsTotal": { "type": "integer", "description": "Plan conversion count", "format": "int64", "example": 5000 }, "ConversionsConsumed": { "type": "integer", "description": "Conversions consumed", "format": "int64", "example": 458 }, "SecondsLeft": { "type": "integer", "format": "int64", "deprecated": true }, "FullName": { "type": "string", "description": "User full name", "example": "John Wick" } } } } } }, "401": { "$ref": "#/components/responses/401" } }, "security": [ { "secret": [ ] } ] } }, "/user/statistic": { "get": { "tags": [ "User" ], "summary": "Statistics", "description": "The endpoint that returns information about your usage statistics based on the date range.", "externalDocs": { "url": "https://www.convertapi.com/doc/user" }, "parameters": [ { "name": "startDate", "in": "query", "description": "Conversions from date", "required": true, "schema": { "type": "string" }, "example": "2023-09-01" }, { "name": "endDate", "in": "query", "description": "Conversions to date", "required": true, "schema": { "type": "string" }, "example": "2023-09-30" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "Result": { "type": "boolean", "description": "Is conversion successful" }, "CreatedAt": { "type": "string", "description": "Conversion time" }, "ExecutionTime": { "type": "integer", "description": "Conversion duration", "format": "int32" }, "Converter": { "type": "string", "description": "File converter name" }, "SourceFormat": { "type": "string", "description": "Source file format (docx, pdf, jpg etc.)" }, "DestinationFormat": { "type": "string", "description": "Destination file format (docx, pdf, jpg etc.)" }, "Ip": { "type": "string", "description": "File conversion request origin IP" }, "Source": { "type": "string", "description": "Source file name" }, "Error": { "type": "string", "description": "Conversion error message" } } } } }, "text/csv": { "schema": { "type": "string" } } } }, "400": { "$ref": "#/components/responses/400" } }, "security": [ { "secret": [ ] } ] } }, "/convert/pdf/to/watermark": { "summary": "Watermark PDF API", "description": "Watermark PDF files. Stamp a PDF with the text. \n Read more about the converter here: https://www.convertapi.com/pdf-to-watermark", "post": { "tags": [ "Conversion" ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File", "Text" ], "type": "object", "properties": { "Timeout": { "maximum": 1200, "minimum": 10, "type": "integer", "description": "Conversion timeout in seconds.", "default": 900 }, "StoreFile": { "type": "boolean", "description": "Store converted file on our secure server and provides download URL.", "default": false }, "File": { "type": "string", "description": "File to be converted. Value can be URL or file content.", "format": "binary" }, "FileName": { "type": "string", "description": "" }, "Password": { "type": "string", "description": "Sets the password to open protected documents." }, "Text": { "type": "string", "description": "" }, "FontName": { "enum": [ "Arial", "Bahnschrift", "Calibri", "Cambria", "Consolas", "Constantia", "Courier New", "Georgia", "Tahoma", "Times New Roman", "Verdana" ], "type": "string", "description": "Specifies the watermark font name. Contact us if you are looking for a specific font for a watermark that is missing from the list.\n * `Arial` - Arial\n * `Bahnschrift` - Bahnschrift\n * `Calibri` - Calibri\n * `Cambria` - Cambria\n * `Consolas` - Consolas\n * `Constantia` - Constantia\n * `Courier New` - Courier New\n * `Georgia` - Georgia\n * `Tahoma` - Tahoma\n * `Times New Roman` - Times New Roman\n * `Verdana` - Verdana", "default": "Arial" }, "FontSize": { "maximum": 200, "minimum": 1, "type": "integer", "description": "Specifies the watermark font size.", "default": 40 }, "FontColor": { "type": "string", "description": "Specifies the watermark font color.", "default": "#ffffff" }, "StrokeColor": { "type": "string", "description": "Specifies font stroke color.", "default": "#271851" }, "StrokeWidth": { "maximum": 200, "minimum": 0, "type": "integer", "description": "Specifies the stroke width.", "default": 1 }, "FontEmbed": { "type": "boolean", "description": "Specifies whether fonts should be embedded.", "default": true }, "FontSubset": { "type": "boolean", "description": "Specifies whether fonts should be subset.", "default": true }, "FontEncoding": { "type": "string", "description": "Specifies the font encoding." }, "TextRenderingMode": { "enum": [ "filltext", "stroketext", "fillstroke", "invisible" ], "type": "string", "description": "Specifies the text rendering mode.\n * `filltext` - fill text without stroke\n * `stroketext` - stroke text without fill\n * `fillstroke` - fill and stroke\n * `invisible` - invisible", "default": "fillstroke" }, "Rotate": { "maximum": 360, "minimum": 0, "type": "integer", "description": "Specifies the watermark rotation angle in degrees.", "default": 0 }, "PageRange": { "type": "string", "description": "Set page range. Example 1-10 or 1,2,5.", "default": "1-2000" }, "Opacity": { "maximum": 100, "minimum": 0, "type": "integer", "description": "Specifies watermark opacity level.", "default": 100 }, "Style": { "enum": [ "stamp", "watermark" ], "type": "string", "description": "Specifies watermark style, stamp or watermark. The stamp is placed over page content and watermark under page content.\n * `stamp` - stamp\n * `watermark` - watermark", "default": "stamp" }, "GoToLink": { "type": "string", "description": "Specifies the web address to go when the watermark is clicked." }, "GoToPage": { "type": "string", "description": "Specifies the page number to go when the watermark is clicked." }, "PageRotation": { "type": "boolean", "description": "Specifies whether to use the page rotation parameter when placing watermark.", "default": false }, "CropBox": { "type": "boolean", "description": "Specifies whether to use the page crop box to position watermark.", "default": false }, "HorizontalAlignment": { "enum": [ "left", "center", "right" ], "type": "string", "description": "Specifies the horizontal watermark alignment.\n * `left` - left\n * `center` - center\n * `right` - right", "default": "center" }, "VerticalAlignment": { "enum": [ "top", "center", "bottom" ], "type": "string", "description": "Specifies the vertical watermark alignment.\n * `top` - top\n * `center` - center\n * `bottom` - bottom", "default": "center" }, "PositionX": { "maximum": 10000, "minimum": 1, "type": "integer", "description": "Specifies the watermark X coordinate. If set overrides property HorizontalAlignment." }, "PositionY": { "maximum": 10000, "minimum": 1, "type": "integer", "description": "Specifies the watermark Y coordinate. If set overrides property VerticalAlignment." }, "PositionUnit": { "enum": [ "pt", "in", "mm", "cm" ], "type": "string", "description": "Specifies measurement unit to use for the PositionX and PositionY properties.\n * `pt` - points\n * `in` - inches\n * `mm` - millimeters\n * `cm` - centimeters", "default": "pt" }, "PdfVersion": { "enum": [ "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "2.0" ], "type": "string", "description": "Set PDF version.\n * `1.2` - Acrobat 3 (PDF 1.2)\n * `1.3` - Acrobat 4 (PDF 1.3)\n * `1.4` - Acrobat 5 (PDF 1.4)\n * `1.5` - Acrobat 6 (PDF 1.5)\n * `1.6` - Acrobat 7 (PDF 1.6)\n * `1.7` - Acrobat 8 (PDF 1.7)\n * `1.8` - Acrobat 9 (PDF 1.7, e-level 3)\n * `2.0` - Acrobat DC (PDF 2.0)", "default": "1.5" }, "PdfResolution": { "maximum": 2400, "minimum": 10, "type": "integer", "description": "Set PDF resolution.", "default": 300 }, "PdfTitle": { "type": "string", "description": "Provide a value to customize the PDF title. Otherwise, the default document title will be used. Use single quotes and a space (' ') to remove the title." }, "PdfSubject": { "type": "string", "description": "Provide a value to customize the PDF subject. Otherwise, the default document subject will be used. Use single quotes and a space (' ') to remove the subject." }, "PdfAuthor": { "type": "string", "description": "Provide a value to customize the PDF author. Otherwise, the default document author will be used. Use single quotes and a space (' ') to remove the author." }, "PdfKeywords": { "type": "string", "description": "Provide a value to customize the PDF keywords. Otherwise, the default document keywords will be used. Use single quotes and a space (' ') to remove the keywords." }, "OpenPage": { "maximum": 3000, "minimum": 1, "type": "integer", "description": "Set the page number at which the PDF document should open.", "default": 1 }, "OpenZoom": { "enum": [ "Default", "ActualSize", "FitPage", "FitWidth", "FitHeight", "FitVisible", "25", "50", "75", "100", "125", "150", "200", "400", "800", "1600", "2400", "3200", "6400" ], "type": "string", "description": "Set the default zoom percentage for when you open PDF files .\n * `Default` - Default\n * `ActualSize` - Actual Size\n * `FitPage` - Fit Page\n * `FitWidth` - Fit Width\n * `FitHeight` - Fit Height\n * `FitVisible` - Fit Visible\n * `25` - 25%\n * `50` - 50%\n * `75` - 75%\n * `100` - 100%\n * `125` - 125%\n * `150` - 150%\n * `200` - 200%\n * `400` - 400%\n * `800` - 800%\n * `1600` - 1600%\n * `2400` - 2400%\n * `3200` - 3200%\n * `6400` - 6400%", "default": "Default" }, "RotatePage": { "enum": [ "Disabled", "ByPage", "All" ], "type": "string", "description": "Automatically rotate pages based on the orientation of the text. By Page option will rotate each page based on the direction of the text on that page. All option will rotate all pages in the document based on the orientation of the majority of text.\n * `Disabled` - Disabled\n * `ByPage` - By Page\n * `All` - All", "default": "ByPage" }, "EmbedFonts": { "type": "boolean", "description": "Embed fonts in PDF.", "default": true }, "SubsetFonts": { "type": "boolean", "description": "Include in the output PDF document only the font characters that are used in the original document.", "default": true }, "SubsetFontsThreshold": { "maximum": 100, "minimum": 0, "type": "integer", "description": "Sets the Subset Fonts threshold. If the percentage of used characters, compared with total characters of the particular font, exceeds this threshold, the entire font is embedded.", "default": 100 }, "ColorSpace": { "enum": [ "Default", "RGB", "CMYK", "Gray" ], "type": "string", "description": "Set PDF color space.\n * `Default` - Default\n * `RGB` - RGB\n * `CMYK` - CMYK\n * `Gray` - Gray", "default": "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": [ ] } ] } } }, "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" } }