← Files KodaPDFARCHIVED FILE

openapi.json

24.2 KB · Nov 10, 2026 · 12:10 UTC

↓ Download file

{
  "openapi": "3.1.0",
  "info": {
    "title": "KodaPDF Document Suite API",
    "description": "Headless tools for document manipulation: conversion, compression, merging, splitting, protection, redaction, OCR, summarization, and translation.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://kodapdf.com",
      "description": "Production Server"
    }
  ],
  "paths": {
    "/api/mcp/tools/convert_document": {
      "post": {
        "summary": "Convert documents between formats (Word to PDF, PDF to Word, Excel to PDF, PowerPoint to PDF, Images to PDF, etc.).",
        "operationId": "convert_document",
        "description": "Convert documents between formats (Word to PDF, PDF to Word, Excel to PDF, PowerPoint to PDF, Images to PDF, etc.).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct public URL of the document to convert."
                  },
                  "target_format": {
                    "type": "string",
                    "description": "Target output format (e.g. 'pdf', 'docx', 'xlsx', 'pptx', 'jpg', 'png', 'txt')."
                  },
                  "source_format": {
                    "type": "string",
                    "description": "Optional source format. If omitted, inferred from the file URL."
                  }
                },
                "required": [
                  "file_url",
                  "target_format"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/compress_pdf": {
      "post": {
        "summary": "Reduce PDF file size while preserving high visual quality for web, email, or archiving.",
        "operationId": "compress_pdf",
        "description": "Reduce PDF file size while preserving high visual quality for web, email, or archiving.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file to compress."
                  },
                  "level": {
                    "type": "string",
                    "enum": [
                      "recommended",
                      "extreme",
                      "low"
                    ],
                    "description": "Compression intensity (default is 'recommended')."
                  }
                },
                "required": [
                  "file_url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/merge_pdfs": {
      "post": {
        "summary": "Merge multiple PDF documents sequentially into a single consolidated PDF.",
        "operationId": "merge_pdfs",
        "description": "Merge multiple PDF documents sequentially into a single consolidated PDF.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_urls": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of direct PDF URLs to merge in order (minimum 2 files)."
                  },
                  "output_file_name": {
                    "type": "string",
                    "description": "Optional name for the merged output file (e.g. 'Report.pdf')."
                  }
                },
                "required": [
                  "file_urls"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/split_pdf": {
      "post": {
        "summary": "Extract specific pages or page ranges from a PDF document into a new PDF.",
        "operationId": "split_pdf",
        "description": "Extract specific pages or page ranges from a PDF document into a new PDF.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file to split."
                  },
                  "page_ranges": {
                    "type": "string",
                    "description": "Page range to extract (e.g. '1-3, 5, 8-10' or 'all')."
                  }
                },
                "required": [
                  "file_url",
                  "page_ranges"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/protect_pdf": {
      "post": {
        "summary": "Lock and encrypt a PDF document with a secure password.",
        "operationId": "protect_pdf",
        "description": "Lock and encrypt a PDF document with a secure password.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF to protect."
                  },
                  "password": {
                    "type": "string",
                    "description": "The password to secure the document with."
                  }
                },
                "required": [
                  "file_url",
                  "password"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/unlock_pdf": {
      "post": {
        "summary": "Remove password security and editing restrictions from an encrypted PDF.",
        "operationId": "unlock_pdf",
        "description": "Remove password security and editing restrictions from an encrypted PDF.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the password-protected PDF."
                  },
                  "password": {
                    "type": "string",
                    "description": "The existing document password."
                  }
                },
                "required": [
                  "file_url",
                  "password"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/add_page_numbers": {
      "post": {
        "summary": "Insert clear page numbering across all pages of a PDF document.",
        "operationId": "add_page_numbers",
        "description": "Insert clear page numbering across all pages of a PDF document.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file."
                  },
                  "position": {
                    "type": "string",
                    "enum": [
                      "bottom-center",
                      "bottom-right",
                      "bottom-left",
                      "top-center",
                      "top-right",
                      "top-left"
                    ],
                    "description": "Position on the page."
                  },
                  "start_number": {
                    "type": "integer",
                    "description": "Starting page number (default 1)."
                  }
                },
                "required": [
                  "file_url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/add_watermark": {
      "post": {
        "summary": "Stamp a customized text watermark across all pages of a PDF.",
        "operationId": "add_watermark",
        "description": "Stamp a customized text watermark across all pages of a PDF.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file."
                  },
                  "text": {
                    "type": "string",
                    "description": "Watermark text (e.g. 'CONFIDENTIAL', 'DRAFT', or company name)."
                  },
                  "opacity": {
                    "type": "number",
                    "description": "Watermark opacity from 0.1 to 1.0 (default 0.3)."
                  }
                },
                "required": [
                  "file_url",
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/redact_pdf": {
      "post": {
        "summary": "Permanently redact and black out sensitive keywords, names, or regex patterns from a PDF.",
        "operationId": "redact_pdf",
        "description": "Permanently redact and black out sensitive keywords, names, or regex patterns from a PDF.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file."
                  },
                  "patterns": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Words, phrases, or numbers to black out permanently."
                  }
                },
                "required": [
                  "file_url",
                  "patterns"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/resize_pdf": {
      "post": {
        "summary": "Adjust and standardize PDF page dimensions to specific paper formats (A4, Letter, A3, etc.).",
        "operationId": "resize_pdf",
        "description": "Adjust and standardize PDF page dimensions to specific paper formats (A4, Letter, A3, etc.).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file."
                  },
                  "page_size": {
                    "type": "string",
                    "enum": [
                      "a4",
                      "letter",
                      "a3",
                      "legal"
                    ],
                    "description": "Desired paper size format."
                  }
                },
                "required": [
                  "file_url",
                  "page_size"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/extract_text_ocr": {
      "post": {
        "summary": "Extract full text and readable content from a PDF document or scanned image.",
        "operationId": "extract_text_ocr",
        "description": "Extract full text and readable content from a PDF document or scanned image.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF or image file."
                  }
                },
                "required": [
                  "file_url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/summarize_document": {
      "post": {
        "summary": "Generate an executive summary, key takeaways, and bulleted insights from a document.",
        "operationId": "summarize_document",
        "description": "Generate an executive summary, key takeaways, and bulleted insights from a document.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the document."
                  },
                  "focus_topic": {
                    "type": "string",
                    "description": "Optional topic or aspect to prioritize in the summary."
                  }
                },
                "required": [
                  "file_url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/translate_document": {
      "post": {
        "summary": "Translate the entire content of a document into another language while preserving format.",
        "operationId": "translate_document",
        "description": "Translate the entire content of a document into another language while preserving format.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file_url": {
                    "type": "string",
                    "description": "Direct URL of the PDF file."
                  },
                  "target_language": {
                    "type": "string",
                    "description": "Target language code (e.g. 'en', 'tr', 'es', 'de', 'fr', 'ja', 'zh')."
                  }
                },
                "required": [
                  "file_url",
                  "target_language"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    },
    "/api/mcp/tools/get_job_status": {
      "post": {
        "summary": "Check the processing status, progress, and download link of any KodaPDF operation.",
        "operationId": "get_job_status",
        "description": "Check the processing status, progress, and download link of any KodaPDF operation.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "job_id": {
                    "type": "string",
                    "description": "The UUID of the job to inspect."
                  }
                },
                "required": [
                  "job_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operation queued or completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "result": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation or processing error"
          }
        }
      }
    }
  }
}

SHA-256: 28c71dd8459d1e50cb84803f6906c7d51b51ba10603ea28237dbbd9356a60884