{
  "openapi": "3.0.4",
  "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/fillable": {
      "summary": "PDF to Fillable PDF API",
      "description": "Make flat PDF forms fillable. Detects writing lines, empty table cells, check boxes and radio buttons, then adds form fields.",
      "post": {
        "tags": [
          "Conversion"
        ],
        "externalDocs": {
          "description": "Read more about the converter",
          "url": "https://www.convertapi.com/pdf-to-fillable"
        },
        "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 to convert. The parameter understands digits and the keywords even, odd and last. Example: 1,2,5-last.",
                    "default": "1-last",
                    "x-ca-featured": false,
                    "x-ca-label": "Page Range",
                    "x-ca-group": "Input",
                    "x-ca-type": "String",
                    "x-ca-representation": "Default"
                  },
                  "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"
                  },
                  "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 `False`, the conversion runs in memory and the file comes back in the API response: Base64 inside the JSON body by default, or as raw bytes when the request sends `Accept: application/octet-stream`. Nothing is written to disk or external storage, so 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": "Turn a flat PDF form into a fillable one. The converter reads the text and lines of each page, finds the places where a person would write, and adds AcroForm fields there:\nText fields on writing lines, empty table cells, labeled boxes, comb boxes and date slots such as __/__/____.\nCheck boxes and radio buttons on small squares, circles and ballot box characters. Yes and No boxes on one row become a radio group.\nDropdowns and list boxes where a select is printed with its arrow or its options.\nSignature fields on lines labeled \"Signature\". Date fields that show their format, such as MM/DD/YYYY, get date formatting in Acrobat and other viewers that run form scripts.\nEach field is named after its nearest label, which also becomes its tooltip. A field with no label nearby gets a generic name. The fields have no border and no background, so the page looks exactly as before until someone fills it in. Boxes and circles printed as checked start checked. To fill the new fields with data, use FDF to PDF, and to lock them afterwards, Flatten PDF.\nA PDF that already has form fields is returned unchanged, and so is a PDF where nothing to fill in is found. Use PageRange to add fields to some pages only. A password-protected PDF is opened with Password. When fields are added, the result is saved without encryption, and a PDF/A input loses its PDF/A identification, because form fields with scripts are not allowed in PDF/A. Scanned PDFs get no fields, because the detection needs the page's text and vector graphics.\n",
      "x-ca-overview-markdown": "Turn a flat PDF form into a fillable one. The converter reads the text and lines of each page, finds the places where a person would write, and adds AcroForm fields there:\r\n\r\n- **Text fields** on writing lines, empty table cells, labeled boxes, comb boxes and date slots such as `__/__/____`.\r\n- **Check boxes and radio buttons** on small squares, circles and ballot box characters. Yes and No boxes on one row become a radio group.\r\n- **Dropdowns and list boxes** where a select is printed with its arrow or its options.\r\n- **Signature fields** on lines labeled \"Signature\". Date fields that show their format, such as MM/DD/YYYY, get date formatting in Acrobat and other viewers that run form scripts.\r\n\r\nEach field is named after its nearest label, which also becomes its tooltip. A field with no label nearby gets a generic name. The fields have no border and no background, so the page looks exactly as before until someone fills it in. Boxes and circles printed as checked start checked. To fill the new fields with data, use [FDF to PDF](/pdf-to-fdf-import), and to lock them afterwards, [Flatten PDF](/pdf-to-flatten).\r\n\r\nA PDF that already has form fields is returned unchanged, and so is a PDF where nothing to fill in is found. Use `PageRange` to add fields to some pages only. A password-protected PDF is opened with `Password`. When fields are added, the result is saved without encryption, and a PDF/A input loses its PDF/A identification, because form fields with scripts are not allowed in PDF/A. Scanned PDFs get no fields, because the detection needs the page's text and vector graphics.\r\n",
      "x-ca-meta-title": "PDF to Fillable PDF API - Add Form Fields to Flat PDF Forms",
      "x-ca-meta-description": "Make a flat PDF form fillable with one API call. Finds writing lines, empty table cells, boxes, check boxes, radio buttons and signature lines, then adds named form fields that keep the page looking the same.",
      "x-ca-keywords": "pdf, fillable, fillable pdf, form, form fields, acroform, check box, radio button",
      "x-ca-source-formats": "pdf",
      "x-ca-destination-formats": "pdf",
      "x-ca-tags": [
        "pdf",
        "forms",
        "modify"
      ]
    }
  },
  "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"
  }
}