{ "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/crop": { "summary": "Crop PDF API", "description": "Crop PDF pages with margins, exact size, or auto-detect content area with page ranges and multiple measurement units.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/pdf-to-crop" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "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", "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" } }, "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" }, "PageRange": { "type": "string", "description": "Set page range to convert. Parameter understands digits and words: even, odd, last. Example: 1,2,5-last", "default": "1-last", "x-ca-featured": false, "x-ca-label": "Page Range", "x-ca-group": "Options", "x-ca-type": "String", "x-ca-representation": "Default" }, "CropMode": { "enum": [ "auto", "size", "margins" ], "type": "string", "description": "Defines how pages are cropped: automatic content detection, cropping by margins, or cropping to an exact size using width/height or paper size.", "default": "auto", "x-ca-featured": true, "x-ca-label": "Crop mode", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "auto": "Auto (detect content)", "size": "Size (width/height)", "margins": "Margins" } }, "MeasurementUnit": { "enum": [ "pt", "in", "mm", "cm" ], "type": "string", "description": "Specifies measurement unit to use for the page height and page width properties.", "default": "in", "x-ca-featured": false, "x-ca-label": "Measurement unit", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "pt": "Points", "in": "Inches", "mm": "Millimeters", "cm": "Centimeters" } }, "AutoStrategy": { "enum": [ "perPage", "uniform" ], "type": "string", "description": "Defines whether automatic cropping is applied per page or uniformly across all pages. Takes effect when `CropMode` is set to `Auto`.", "default": "uniform", "x-ca-featured": false, "x-ca-label": "Auto strategy", "x-ca-group": "Auto Crop Mode", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "perPage": "Per Page", "uniform": "Uniform" } }, "AutoPadding": { "maximum": 30000, "minimum": 0, "type": "number", "description": "Padding to add around detected content, using the selected measurement unit. Takes effect when `CropMode` is set to `Auto`.", "default": 0, "x-ca-featured": false, "x-ca-label": "Auto padding", "x-ca-group": "Auto Crop Mode", "x-ca-type": "Double", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "30000" } }, "Anchor": { "enum": [ "center", "topleft", "top", "topright", "left", "right", "bottom", "bottomright" ], "type": "string", "description": "Anchor position to place the crop rectangle when crop height and crop width are defined.", "default": "center", "x-ca-featured": false, "x-ca-label": "Anchor", "x-ca-group": "Size Crop Mode", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "center": "Center", "topleft": "Top Left", "top": "Top", "topright": "Top Right", "left": "Left", "right": "Right", "bottom": "Bottom", "bottomright": "Bottom Right" } }, "PageSize": { "enum": [ "custom", "a2", "a3", "a4", "a5", "a6", "letter", "legal" ], "type": "string", "description": "Crops each page to the selected standard page size. Set Crop width and/or Crop height to override it.", "default": "a4", "x-ca-featured": false, "x-ca-label": "Page size", "x-ca-group": "Size Crop Mode", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "custom": "Custom", "a2": "A2", "a3": "A3", "a4": "A4", "a5": "A5", "a6": "A6", "letter": "Letter", "legal": "Legal" } }, "PageOrientation": { "enum": [ "default", "portrait", "landscape" ], "type": "string", "description": "Set page orientation.", "default": "default", "x-ca-featured": false, "x-ca-label": "Page orientation", "x-ca-group": "Size Crop Mode", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "default": "Default", "portrait": "Portrait", "landscape": "Landscape" } }, "CropWidth": { "maximum": 30000, "minimum": 1, "type": "number", "description": "Width of the crop box, expressed in the selected measurement unit. Takes effect when `CropMode` is set to `Size`. When set, it overrides `PageSize` for the horizontal axis, leave it empty to crop the width to the selected `PageSize`.\r\n", "x-ca-featured": false, "x-ca-label": "Crop width", "x-ca-group": "Size Crop Mode", "x-ca-type": "Double", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "30000" } }, "CropHeight": { "maximum": 30000, "minimum": 1, "type": "number", "description": "Height of the crop box, expressed in the selected measurement unit. Takes effect when `CropMode` is set to `Size`. When set, it overrides `PageSize` for the vertical axis, leave it empty to crop the height to the selected `PageSize`.\r\n", "x-ca-featured": false, "x-ca-label": "Crop height", "x-ca-group": "Size Crop Mode", "x-ca-type": "Double", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "30000" } }, "VerticalMargin": { "maximum": 30000, "minimum": 0, "type": "number", "description": "Top and bottom margins to apply when defining the crop box, using the selected measurement unit. Takes effect when `CropMode` is set to `Margins`.", "default": 1, "x-ca-featured": false, "x-ca-label": "Vertical margin", "x-ca-group": "Margins Crop Mode", "x-ca-type": "Double", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "30000" } }, "HorizontalMargin": { "maximum": 30000, "minimum": 0, "type": "number", "description": "Left and right margins to apply when defining the crop box, using the selected measurement unit. Takes effect when `CropMode` is set to `Margins`.", "default": 1, "x-ca-featured": false, "x-ca-label": "Horizontal margin", "x-ca-group": "Margins Crop Mode", "x-ca-type": "Double", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "30000" } } } } } } }, "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": "The Crop PDF API lets you precisely trim PDF pages. Choose automatic content detection with optional padding, crop by exact width/height anchored to a page corner or center, or crop by setting horizontal/vertical margins. Combine with page ranges and measurement units (points, inches, millimeters, centimeters).\n", "x-ca-overview-markdown": "The Crop PDF API lets you precisely trim PDF pages. Choose automatic content detection with optional padding, crop by exact width/height anchored to a page corner or center, or crop by setting horizontal/vertical margins. Combine with page ranges and measurement units (points, inches, millimeters, centimeters).", "x-ca-meta-title": "Crop PDF API - Auto, Margins, or Exact Size Cropping", "x-ca-meta-description": "Crop PDF pages via API. Auto-detect content with padding, crop by margins, or set exact width/height with anchor. Supports page ranges and measurement units.", "x-ca-keywords": "", "x-ca-source-formats": "pdf", "x-ca-destination-formats": "pdf", "x-ca-tags": [ "modify", "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" } }