# Documentize API > Programmatic document processing for AI agents and developers: convert, merge, split, compress, OCR, extract, secure, and apply AI to PDF and other documents. Exposed as an MCP server and a REST API. ## How it works Most operations are asynchronous. A tool returns a JSON task descriptor whose `folderName` is the task ID. Poll `GetTaskStatus` (or `POST https://api.documentize.app/webapi/process_status/{id}`) until `statusCode` is `200`, then download the result from each `sharedFiles[].uploadFileName`. `GetTaskStatus` and `GetNextAppSuggestions` return immediately. ## Connect - **MCP server:** `https://api.documentize.app/webapi/mcp` (Streamable HTTP). Invoke the tools below with the MCP `tools/call` method. - **REST API:** each operation is also `POST https://api.documentize.app/webapi/`, taking the document as multipart `files` (or a public URL) plus the parameters listed on each tool page as query fields. ## Document operations - [Compress document](docs/compress-document.md): Compress a PDF to reduce its file size. Returns a task ID. - [Convert document](docs/convert-document.md): Convert a document from one format to another (PDF↔DOCX, PDF↔PPTX, PDF↔HTML, images, etc.). Returns a task ID; poll GetTaskStatus for the download link. - [Merge documents](docs/merge-documents.md): Merge multiple documents into one. Returns a task ID; poll GetTaskStatus for the download link. - [Remove pages](docs/remove-pages.md): Remove specific pages from a PDF. Returns a task ID. - [Resize document](docs/resize-document.md): Resize PDF pages to a standard page size. Returns a task ID. - [Rotate document](docs/rotate-document.md): Rotate pages in a document. Returns a task ID. - [Split document](docs/split-document.md): Split a PDF by page ranges, bookmarks, or fixed size. Returns a task ID. ## Security - [Lock document](docs/lock-document.md): Lock/encrypt a PDF with a password. Returns a task ID. - [Sign document](docs/sign-document.md): Digitally sign a document. Returns a task ID. - [Unlock document](docs/unlock-document.md): Unlock/decrypt a password-protected PDF. Returns a task ID. - [Verify signature](docs/verify-signature.md): Verify digital signatures on a document. Returns a task ID. ## Content extraction - [Extract form data](docs/extract-form-data.md): Extract form field data from a fillable PDF form. Returns a task ID. - [Extract images](docs/extract-images.md): Extract all embedded images from a document. Returns a task ID. - [Extract metadata](docs/extract-metadata.md): Extract document metadata: author, title, creation date, keywords, etc. Returns a task ID. - [Extract text](docs/extract-text.md): Extract all text content from a document. Returns a task ID. - [Make searchable](docs/make-searchable.md): Make a scanned PDF text-searchable using OCR. Returns a task ID. - [Parse document](docs/parse-document.md): Parse document structure: annotations, bookmarks, tables, etc. Returns a task ID. - [Run OCR](docs/run-ocr.md): Run OCR on a scanned document or image to extract text as a new PDF. Returns a task ID. - [Search in document](docs/search-in-document.md): Search for text within a document. Returns a task ID. ## Form & structure - [Add table](docs/add-table.md): Import a table from an Excel/CSV file and embed it into a PDF. Returns a task ID. - [Add TOC](docs/add-toc.md): Add a table of contents (TOC) to a PDF based on its headings/bookmarks. Returns a task ID. - [Flatten document](docs/flatten-document.md): Flatten form fields and annotations in a PDF (makes them non-editable). Returns a task ID. ## AI-powered - [Add illustrations](docs/add-illustrations.md): Add AI-generated illustrations to a document (ideal for children's books). Returns a task ID. - [Analyze resume](docs/analyze-resume.md): Analyze a resume/CV, optionally comparing it against a job description. Returns a task ID. - [Chat with document](docs/chat-with-document.md): Ask an AI questions about a document's content (RAG chat). Returns a task ID. - [Generate abstract](docs/generate-abstract.md): Generate an abstract/summary of a document using AI. Returns a task ID. - [Generate checklist](docs/generate-checklist.md): Generate a checklist from document content using AI. Returns a task ID. - [Generate SVG](docs/generate-svg.md): Generate an SVG image from a text prompt using AI. Returns a task ID. - [Generate table of contents](docs/generate-table-of-contents.md): Generate a structured table of contents for a document using AI. Returns a task ID. ## Optional - [Get next app suggestions](docs/get-next-app-suggestions.md): Suggest logical next processing steps after an operation (e.g. after converting to PDF, suggests compress or sign). - [Get task status](docs/get-task-status.md): Check the status of a document processing task. Returns JSON with statusCode and, when complete (statusCode=200), a sharedFiles array where each entry has fileName (display name) and uploadFileName (S3 pre-signed download URL).