Cloudmersive Split Document API

Split Document operations of the Cloudmersive Document and Data Conversion API — 9 operation(s) served from https://api.cloudmersive.com and authenticated with the Apikey header. One Cloudmersive API key grants access to every API in the portfolio.

Operations 9

POST /convert/split/docx Split a single Word Document DOCX into Separate Documents by Page #
POST /convert/split/xlsx Split a single Excel XLSX into Separate Worksheets #
POST /convert/split/pptx Split a single PowerPoint Presentation PPTX into Separate Slides #
POST /convert/split/pptx/advanced Split a single PowerPoint Presentation PPTX into Separate Presentations #
POST /convert/split/pdf Split a PDF file into separate PDF files, one per page #
POST /convert/split/txt/by-line Split a single Text file (txt) into lines #
POST /convert/split/txt/by-string Split a single Text file (txt) by a string delimiter #
POST /convert/split/batch-job/create Split a single Document into Separate Documents by Page as a Batch Job #
GET /convert/split/batch-job/status Get the status and result of a Split Document Batch Job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudmersive:cloudmersive-splitdocument-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloudmersive-splitdocument-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: convertapi Split Document API
  description: Convert API lets you effortlessly convert file formats and types.
servers:
- url: http://localhost
tags:
- name: SplitDocument
paths:
  /convert/split/docx:
    post:
      tags:
      - SplitDocument
      summary: Split a single Word Document DOCX into Separate Documents by Page
      description: Split a Word DOCX Document, comprised of multiple pages into separate Word DOCX document files, with each containing exactly one page.
      operationId: SplitDocument_Docx
      parameters:
      - name: returnDocumentContents
        in: header
        description: Set to true to return the contents of each Worksheet directly, set to false to only return URLs to each resulting document.  Default is true.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitDocxDocumentResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitDocxDocumentResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitDocxDocumentResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitDocxDocumentResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/xlsx:
    post:
      tags:
      - SplitDocument
      summary: Split a single Excel XLSX into Separate Worksheets
      description: Split an Excel XLSX Spreadsheet, comprised of multiple Worksheets (or Tabs) into separate Excel XLSX spreadsheet files, with each containing exactly one Worksheet.
      operationId: SplitDocument_Xlsx
      parameters:
      - name: returnDocumentContents
        in: header
        description: Set to true to return the contents of each Worksheet directly, set to false to only return URLs to each resulting worksheet.  Default is true.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitXlsxWorksheetResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitXlsxWorksheetResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitXlsxWorksheetResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitXlsxWorksheetResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/pptx:
    post:
      tags:
      - SplitDocument
      summary: Split a single PowerPoint Presentation PPTX into Separate Slides
      description: Split an PowerPoint PPTX Presentation, comprised of multiple slides into separate PowerPoint PPTX presentation files, with each containing exactly one slide.
      operationId: SplitDocument_Pptx
      parameters:
      - name: returnDocumentContents
        in: header
        description: Set to true to return the contents of each presentation directly, set to false to only return URLs to each resulting presentation.  Default is true.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitPptxPresentationResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitPptxPresentationResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitPptxPresentationResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitPptxPresentationResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/pptx/advanced:
    post:
      tags:
      - SplitDocument
      summary: Split a single PowerPoint Presentation PPTX into Separate Presentations
      description: Split a PowerPoint PPTX Presentation, comprised of multiple slides into separate PowerPoint PPTX presentations of customizeable size.
      operationId: SplitDocument_PptxAdvanced
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PptxSplitAdvancedResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/PptxSplitAdvancedResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/PptxSplitAdvancedResponse'
            text/xml:
              schema:
                $ref: '#/components/schemas/PptxSplitAdvancedResponse'
      security:
      - Apikey: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PptxSplitAdvancedRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/PptxSplitAdvancedRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/PptxSplitAdvancedRequest'
          text/xml:
            schema:
              $ref: '#/components/schemas/PptxSplitAdvancedRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PptxSplitAdvancedRequest'
        required: true
  /convert/split/pdf:
    post:
      tags:
      - SplitDocument
      summary: Split a PDF file into separate PDF files, one per page
      description: Split an input PDF file into separate pages, comprised of one PDF file per page.
      operationId: SplitDocument_PdfByPage
      parameters:
      - name: returnDocumentContents
        in: header
        description: Set to true to directly return all of the document contents in the DocumentContents field; set to false to return contents as temporary URLs (more efficient for large operations).  Default is false.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitPdfResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitPdfResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitPdfResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitPdfResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/txt/by-line:
    post:
      tags:
      - SplitDocument
      summary: Split a single Text file (txt) into lines
      description: Split a Text (txt) Document by line, returning each line separately in order. Supports multiple types of newlines.
      operationId: SplitDocument_TxtByLine
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByLinesResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByLinesResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByLinesResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByLinesResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/txt/by-string:
    post:
      tags:
      - SplitDocument
      summary: Split a single Text file (txt) by a string delimiter
      description: Split a Text (txt) Document by a string delimiter, returning each component of the string as an array of strings.
      operationId: SplitDocument_TxtByString
      parameters:
      - name: splitDelimiter
        in: header
        description: Required; String to split up the input file on
        required: true
        schema:
          type: string
      - name: skipEmptyElements
        in: header
        description: Optional; If true, empty elements will be skipped in the output
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByStringResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByStringResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByStringResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitTextDocumentByStringResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/batch-job/create:
    post:
      tags:
      - SplitDocument
      summary: Split a single Document into Separate Documents by Page as a Batch Job
      description: Split a Document (PPTX supported), comprised of multiple pages into separate files, with each containing exactly one page. This API is designed for large jobs that could take a long time to create and so runs as a batch job that returns a Job ID that you can use with the GetAsyncJobStatus API to check on the status of the Job and ultimately get the output result. This API automatically detects the document type and then performs the split by using the document type-specific API needed to perform the split. This API is only available for Cloudmersive Managed Instance and Private Cloud deployments.
      operationId: SplitDocument_BatchJobCreate
      parameters:
      - name: returnDocumentContents
        in: header
        description: Set to true to return the contents of each presentation directly, set to false to only return URLs to each resulting presentation.  Default is true.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitBatchJobCreateResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SplitBatchJobCreateResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/SplitBatchJobCreateResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/SplitBatchJobCreateResult'
      security:
      - Apikey: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                inputFile:
                  type: string
                  description: Input file to perform the operation on.
                  format: binary
              required:
              - inputFile
  /convert/split/batch-job/status:
    get:
      tags:
      - SplitDocument
      summary: Get the status and result of a Split Document Batch Job
      description: Returns the result of the Async Job - possible states can be STARTED or COMPLETED. This API is only available for Cloudmersive Managed Instance and Private Cloud deployments.
      operationId: SplitDocument_GetAsyncJobStatus
      parameters:
      - name: AsyncJobID
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobStatusResult'
            text/json:
              schema:
                $ref: '#/components/schemas/JobStatusResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/JobStatusResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/JobStatusResult'
      security:
      - Apikey: []
components:
  schemas:
    TextDocumentElement:
      description: A single element of a Text document
      type: object
      properties:
        ElementNumber:
          format: int32
          description: The 1-based line index of the element
          type: integer
        ElementContents:
          description: The text contents of a single element of a text file
          type: string
    PdfDocument:
      description: A single PDF file corresponding to one page in the original document
      type: object
      properties:
        PageNumber:
          format: int32
          description: Page number of the converted page, starting with 1 for the first page
          type: integer
        URL:
          description: URL to the PDF file of this worksheet; file is stored in an in-memory cache and will be deleted
          type: string
        DocumentContents:
          format: byte
          description: If returnDocumentContents is set to true, will contain the contents of the document; otherwise will be set to null and the document contents will be available via the URL parameter
          type: string
    SplitXlsxWorksheetResult:
      description: The result of splitting a spreadsheet into individual Excel XLSX worksheets
      type: object
      properties:
        ResultWorksheets:
          type: array
          items:
            $ref: '#/components/schemas/WorksheetResult'
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
    PptxSplitAdvancedRequest:
      description: Request to split a PowerPoint presentation
      type: object
      properties:
        InputFile:
          format: byte
          description: Input file
          type: string
        SlidesPerPresentation:
          format: int32
          description: Slides per presentation for result
          type: integer
    PresentationAdvancedResult:
      description: A single PowerPoint PPTX file corresponding to one worksheet (tab) in the original spreadsheet
      type: object
      properties:
        SlideNumber:
          format: int32
          description: Presentation number of the converted page, starting with 1 for the left-most worksheet
          type: integer
        PresentationContents:
          format: byte
          description: Contents of the presentation in bytes
          type: string
    SplitPptxPresentationResult:
      description: The result of splitting a presentation into individual PowerPoint PPTX slides
      type: object
      properties:
        ResultPresentations:
          type: array
          items:
            $ref: '#/components/schemas/PresentationResult'
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
    TextDocumentLine:
      description: A single line of a Text document
      type: object
      properties:
        LineNumber:
          format: int32
          description: The 1-based line index of the line
          type: integer
        LineContents:
          description: The text contents of a single line of a text file
          type: string
    PresentationResult:
      description: A single PowerPoint PPTX file corresponding to one slide in the original presentation
      type: object
      properties:
        SlideNumber:
          format: int32
          description: Worksheet number of the converted page, starting with 1 for the left-most worksheet
          type: integer
        URL:
          description: URL to the PPTX file of this slide; file is stored in an in-memory cache and will be deleted
          type: string
        PresentationContents:
          format: byte
          description: Contents of the presentation in bytes
          type: string
    SplitDocumentResult:
      description: A single Word DOCX file corresponding to one page in the original document
      type: object
      properties:
        PageNumber:
          format: int32
          description: Page number of the converted page, starting with 1 for the first page
          type: integer
        URL:
          description: URL to the DOCX file of this slide; file is stored in an in-memory cache and will be deleted
          type: string
        DocumentContents:
          format: byte
          description: Contents of the document in bytes
          type: string
    SplitBatchJobCreateResult:
      description: Result of performing a split document batch job
      type: object
      properties:
        Successful:
          description: True if successful, false otherwise
          type: boolean
        AsyncJobID:
          description: When creating a job, an Async Job ID is returned.  Use the GetAsyncJobStatus API to check on the status of this job using the AsyncJobID and get the result when it finishes
          type: string
    SplitDocxDocumentResult:
      description: The result of splitting a Word document into individual Word DOCX pages
      type: object
      properties:
        ResultDocuments:
          type: array
          items:
            $ref: '#/components/schemas/SplitDocumentResult'
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
    SplitTextDocumentByLinesResult:
      description: The result of splitting a Text document into separate lines
      type: object
      properties:
        ResultLines:
          type: array
          items:
            $ref: '#/components/schemas/TextDocumentLine'
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
        LineCount:
          format: int32
          description: The count of lines in the text file
          type: integer
    SplitPdfResult:
      description: Result of performing a PDF file split operation
      type: object
      properties:
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
        Documents:
          description: PDF documents as output
          type: array
          items:
            $ref: '#/components/schemas/PdfDocument'
    SplitTextDocumentByStringResult:
      description: The result of splitting a Text document into separate elements
      type: object
      properties:
        ResultElements:
          type: array
          items:
            $ref: '#/components/schemas/TextDocumentElement'
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
        ElementCount:
          format: int32
          description: The count of elements in the text file
          type: integer
    JobStatusResult:
      description: Result of performing a batch job operation
      type: object
      properties:
        Successful:
          description: True if the operation to check the status of the job was successful, false otherwise
          type: boolean
        AsyncJobStatus:
          description: Returns the job status of the Async Job, if applicable.  Possible states are STARTED and COMPLETED
          type: string
        AsyncJobID:
          description: When the job exceeds 25 pages, an Async Job ID is returned.  Use the CheckPdfOcrJobStatus API to check on the status of this job using the AsyncJobID and get the result when it finishes
          type: string
        PptxResult:
          $ref: '#/components/schemas/SplitPptxPresentationResult'
          description: PowerPoint split result (if applicable)
        ErrorMessage:
          description: Error message (if any)
          type: string
    PptxSplitAdvancedResponse:
      description: Result of splitting a single PowerPoint Presentation PPTX into Separate Presentations
      type: object
      properties:
        ResultPresentations:
          type: array
          items:
            $ref: '#/components/schemas/PresentationAdvancedResult'
        Successful:
          description: True if the operation was successful, false otherwise
          type: boolean
    WorksheetResult:
      description: A single Excel XLSX file corresponding to one worksheet (tab) in the original spreadsheet
      type: object
      properties:
        WorksheetNumber:
          format: int32
          description: Worksheet number of the converted page, starting with 1 for the left-most worksheet
          type: integer
        WorksheetName:
          description: The name of the worksheet
          type: string
        URL:
          description: URL to the XLSX file of this worksheet; file is stored in an in-memory cache and will be deleted
          type: string
        WorksheetContents:
          format: byte
          description: Contents of the worksheet in bytes
          type: string
  securitySchemes:
    Apikey:
      type: apiKey
      description: API Key Authentication
      name: Apikey
      in: header
x-provenance:
  method: harvested
  publisher: Cloudmersive
  source: https://api.cloudmersive.com/convert/docs/v1/swagger
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)