{ "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": "File upload to the ConvertAPI file server", "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": "File download from the ConvertAPI file server", "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 uploaded 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 without receiving file", "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.\nIt is helpful to check the account balance status and other data.\nThe /user endpoint can be authenticated only with a secret.\nThe 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": "Usage statistics information", "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/web/to/pdf": { "summary": "WEB to PDF File Conversion API", "description": "The API for converting Web Pages to PDF files. \n Read more about the converter here: https://www.convertapi.com/web-to-pdf", "post": { "tags": [ "Conversion" ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "Url" ], "type": "object", "properties": { "StoreFile": { "type": "boolean", "description": "Store converted file on our secure server and provides download URL.", "default": false }, "FileName": { "type": "string", "description": "Converted output file name without extension. The extension will be added automatically." }, "Timeout": { "maximum": 1200, "minimum": 10, "type": "integer", "description": "Conversion timeout in seconds.", "default": 120 }, "ConversionDelay": { "maximum": 30, "minimum": 0, "type": "integer", "description": "Delay in seconds before page load and PDF creation. Sometimes useful to let web page fully load.", "default": 0 }, "AuthUsername": { "type": "string", "description": "HTTP authentication username. Could be used if conversion web page is protected with HTTP authentication." }, "AuthPassword": { "type": "string", "description": "HTTP authentication password. Could be used if conversion web page is protected with HTTP authentication." }, "AdBlock": { "type": "boolean", "description": "Block ads in converting page.", "default": false }, "CookieConsentBlock": { "type": "boolean", "description": "Tries to remove EU regulation required cookie warnings from web pages.", "default": false }, "Cookies": { "type": "string", "description": "Set additional cookies for the page request. Exaple: cookiename1=cookievalue1; cookiename2=cookievalue2; cookiename3=cookievalue3" }, "JavaScript": { "type": "boolean", "description": "Allow web pages to run JavaScript.", "default": true }, "WaitElement": { "type": "string", "description": "Element selector string of the DOM element. Converter will wait for this element to appear in DOM before conversion begins." }, "UserJs": { "type": "string", "description": "Execute provided JavaScript before conversion begins." }, "UserCss": { "type": "string", "description": "Apply additional CSS before conversion begins." }, "HideElements": { "type": "string", "description": "Element selector string of the DOM elements that needs to be hidden during conversion." }, "CssMediaType": { "type": "string", "description": "Use CSS media type in conversion process. The default screen and print media types are supported but not limited to these. The custom media type, like convertapi can be used too.", "default": "screen" }, "LoadLazyContent": { "type": "boolean", "description": "Load page images that loads only when they are visible.", "default": false }, "ViewportWidth": { "maximum": 4000, "minimum": 200, "type": "integer", "description": "Sets browser viewport width.", "default": 1366 }, "ViewportHeight": { "maximum": 4000, "minimum": 200, "type": "integer", "description": "Sets browser viewport height.", "default": 1024 }, "RespectViewport": { "type": "boolean", "description": "If true, the converter will generate PDF as the content looks like in the browser. If is set to false, the converter acts like Chrome print to PDF function.", "default": true }, "Scale": { "maximum": 200, "minimum": 10, "type": "integer", "description": "Set web page scale value in percentage.", "default": 100 }, "PageOrientation": { "enum": [ "portrait", "landscape" ], "type": "string", "description": "PDF page orientation.\n * `portrait` - Portrait\n * `landscape` - Landscape", "default": "portrait" }, "PageSize": { "enum": [ "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "b0", "b1", "b2", "b3", "b4", "b5", "letter", "legal", "ledger" ], "type": "string", "description": "PDF page size.\n * `a0` - A0 (841 × 1189 mm, 8.26 × 11.69 inches)\n * `a1` - A1 (594 × 841 mm, 23.4 × 33.1 inches)\n * `a2` - A2 (420 × 594 mm, 16.5 × 23.4 inches)\n * `a3` - A3 (298 × 420 mm, 11.7 × 16.5 inches)\n * `a4` - A4 (210 × 298 mm, 8.3 × 11.7 inches)\n * `a5` - A5 (148 × 210 mm, 5.8 × 8.3 inches)\n * `a6` - A6 (105 × 148 mm, 4.1 × 5.8 inches)\n * `a7` - A7 (74 × 105 mm, 2.9 × 4.1 inches)\n * `a8` - A8 (52 × 74 mm, 2.0 × 2.9 inches)\n * `a9` - A9 (37 × 52 mm, 1.5 × 2.0 inches)\n * `b0` - B0 (1000 × 1414 mm, 39.4 × 55.7 inches)\n * `b1` - B1 (707 × 1000 mm, 27.8 × 39.4 inches)\n * `b2` - B2 (500 × 707 mm, 19.7 × 27.8 inches)\n * `b3` - B3 (353 × 500 mm, 13.9 × 19.7 inches)\n * `b4` - B4 (250 × 353 mm, 9.8 × 13.9 inches)\n * `b5` - B5 (176 × 250 mm, 6.9 × 9.8 inches)\n * `letter` - Letter(216 × 279 mm, 8.5 × 11 inches)\n * `legal` - Legal(216 × 356 mm, 8.5 × 14 inches)\n * `ledger` - Ledger(432 × 279 mm, 17 × 11 inches)", "default": "letter" }, "PageWidth": { "maximum": 30000, "minimum": 10, "type": "integer", "description": "Custom page width in millimeters (mm). This option override PageSize option." }, "PageHeight": { "maximum": 30000, "minimum": 10, "type": "integer", "description": "Custom page height in millimeters (mm). This option override PageSize option." }, "MarginTop": { "maximum": 500, "minimum": 0, "type": "integer", "description": "Set the page top margin in millimeters (mm).", "default": 10 }, "MarginRight": { "maximum": 500, "minimum": 0, "type": "integer", "description": "Set the page right margin in millimeters (mm).", "default": 10 }, "MarginBottom": { "maximum": 500, "minimum": 0, "type": "integer", "description": "Set the page bottom margin in millimeters (mm).", "default": 10 }, "MarginLeft": { "maximum": 500, "minimum": 0, "type": "integer", "description": "Set the page left margin in millimeters (mm).", "default": 10 }, "PageRange": { "type": "string", "description": "Set page range. Example 1-10 or 1,2,5.", "default": "1-100" }, "Background": { "type": "boolean", "description": "Convert web page background.", "default": true }, "FixedElements": { "enum": [ "fixed", "absolute", "relative", "hide" ], "type": "string", "description": "Change fixed elements CSS 'position' property to adapt page for conversion.\n * `fixed` - Leave unchanged\n * `absolute` - Absolute\n * `relative` - Relative\n * `hide` - Hide", "default": "fixed" }, "Header": { "type": "string", "description": "" }, "Footer": { "type": "string", "description": "" }, "ShowElements": { "type": "string", "description": "Element selector string of the DOM elements that should be visible during conversion. Other elements will be hidden." }, "AvoidBreakElements": { "type": "string", "description": "CSS selector for the elements that pages should not break." }, "BreakBeforeElements": { "type": "string", "description": "CSS selector for the elements that should apply page break before it." }, "BreakAfterElements": { "type": "string", "description": "CSS selector for the elements that should apply page break after it." }, "CompressPDF": { "type": "boolean", "description": "It tries to produce smaller output files but requires Adobe Reader 6, released in 2003 or newer, to view created PDF files.", "default": false }, "Url": { "type": "string", "description": "URI of a web page to convert. If URI has special characters like ? or & they must be encoded.", "format": "uri" } } } } } }, "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": [ ] }, { "apiKey": [ ] }, { "token": [ ] }, { "basicAuth": [ ] }, { "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": "apiKey", "name": "secret", "in": "query" }, "apiKey": { "type": "apiKey", "name": "apikey", "in": "query" }, "token": { "type": "apiKey", "description": "[More information about the `Token`](https://www.convertapi.com/doc/auth#token)", "name": "token", "in": "query" }, "basicAuth": { "type": "http", "description": "[More information about the `Basic Authentication`](https://www.convertapi.com/doc/auth#basic-authentication)", "scheme": "basic" }, "jwt": { "type": "http", "description": "[More information about the `JWT`](https://www.convertapi.com/doc/auth#jwt-token)", "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" } }