DocuPipe Classification API

The Classification API from DocuPipe — 6 operation(s) for classification.

Operations 6

POST /class Add a Class #
POST /class/edit Edit a Class #
DELETE /class/{class_id} Delete a Class #
GET /classes List Classes #
POST /classify/batch Classify Documents #
POST /copy/classification Copy a Class to Another Workspace #

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/docupanda:docupanda-classification-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

docupanda-classification-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DocuPipe Classification API
  version: '1.0'
servers:
- url: https://app.docupipe.ai
tags:
- name: Classification
paths:
  /class:
    post:
      tags:
      - Classification
      summary: Add a Class
      description: Add a new class to the taxonomy of classes, including name and description.
      operationId: post_add_class
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassAddRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassObject'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /class/edit:
    post:
      tags:
      - Classification
      summary: Edit a Class
      description: Edit an existing class's name or description. The classId is preserved, so every document, classification job, and workflow that references this class continues to work unchanged. Changing the description affects future classification behavior because the description is passed to the classifier as part of the taxonomy.
      operationId: post_edit_class
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditClassRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EditClassResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /class/{class_id}:
    delete:
      summary: Delete a Class
      description: Delete a class from the taxonomy of classes by providing the class ID.
      operationId: delete_class
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
          title: Class Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletionResponse'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Classification
  /classes:
    get:
      summary: List Classes
      description: List all classes that have been defined in the taxonomy.
      operationId: list_classes
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: include_unknown
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Unknown
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClassObject'
                title: Response List Classes Classes Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Classification
  /classify/batch:
    post:
      tags:
      - Classification
      summary: Classify Documents
      description: Classify a batch of one or multiple documents all at once by passing a list of document IDs, and an optional list of class IDs to use for classification. If no class IDs are provided, all classes will be used. To use the `unknown` class, either pass its classId ('unknown') or set the includeUnknown flag as True.
      operationId: post_classify_batch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassifyBatchRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassifyBatchResponse'
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientCreditsError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /copy/classification:
    post:
      tags:
      - Classification
      summary: Copy a Class to Another Workspace
      description: Duplicate one of your taxonomy classes into a different workspace. Provide the existing classId and the target workspaceId to create a copy with a new classId owned by the destination workspace.
      operationId: post_copy_classification
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassCopyRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassObject'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
components:
  schemas:
    DisplayMode:
      type: string
      enum:
      - auto
      - spatial
      - sections
      - image
      title: DisplayMode
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InsufficientCreditsError:
      properties:
        detail:
          items:
            type: string
          type: array
          title: Detail
          description: Explanation about the exhausted credits
      type: object
      required:
      - detail
      title: InsufficientCreditsError
    EditClassRequest:
      properties:
        classId:
          type: string
          title: Class ID
          description: Unique identifier of the class to edit.
        className:
          type: string
          title: Class Name
          description: New name to assign to the class. Omit or send null to leave unchanged. Cannot be empty.
        description:
          type: string
          title: Description
          description: New description to assign to the class. Omit or send null to leave unchanged. Send an empty string to clear. Used by the classifier when deciding which class fits a document.
      type: object
      required:
      - classId
      title: EditClassRequest
    ClassifyBatchResponse:
      properties:
        jobId:
          type: string
          title: Job ID
          description: ID of the batch classification job
        documentCount:
          type: integer
          title: Document Count
          description: Number of documents processed
        pageCount:
          type: integer
          title: Page Count
          description: Number of pages processed
        classificationJobIds:
          items:
            type: string
          type: array
          title: Classification Job IDs
          description: List of individual job IDs for each document's classify job
        status:
          $ref: '#/components/schemas/ProcessingStatus'
          title: Status
          description: Status of the batch classification job
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Timestamp of the classification job
      type: object
      required:
      - jobId
      - status
      title: ClassifyBatchResponse
    ProcessingStatus:
      type: string
      enum:
      - processing
      - completed
      - error
      title: ProcessingStatus
    EditClassResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the class was successfully edited.
      type: object
      required:
      - success
      title: EditClassResponse
    ClassCopyRequest:
      properties:
        classId:
          type: string
          title: Class ID
          description: Unique identifier of the class to copy.
        targetWorkspaceApiKey:
          type: string
          title: Target Workspace api key
          description: API key of the target workspace.
      type: object
      required:
      - classId
      - targetWorkspaceApiKey
      title: ClassCopyRequest
    ClassObject:
      properties:
        classId:
          type: string
          title: Class ID
          description: Unique identifier of the classification object.
        className:
          type: string
          title: Class Name
          description: Name of the class.
        description:
          type: string
          title: Description
          description: Description of the class.
        timestamp:
          type: string
          title: Timestamp
          description: Timestamp of the classification creation.
      type: object
      required:
      - classId
      - className
      title: ClassObject
      description: Public-facing representation of DocuPipeClass.
    ClassifyVersion:
      type: number
      enum:
      - 1
      - 1.1
      title: ClassifyVersion
    ClassifyBatchRequest:
      properties:
        documentIds:
          items:
            type: string
          type: array
          title: Document IDs
          description: List of document IDs to classify
        classIds:
          items:
            type: string
          type: array
          title: Class IDs
          description: List of class IDs to use for classification
        multiClass:
          type: boolean
          title: Multi-Class
          description: Whether to allow multiple classifications per document
          default: false
        includeUnknown:
          type: boolean
          title: Include Unknown
          description: Whether to include the 'unknown' class in the classification (only relevant if multiClass is false)
          default: true
        instructions:
          type: string
          title: Instructions
          description: Instructions for the AI on how to classify the documents
        useMetadata:
          type: boolean
          title: Use Metadata
          description: Whether to show each document's own metadata to the AI as additional context for its classification.
          default: false
        displayMode:
          $ref: '#/components/schemas/DisplayMode'
          title: Display Mode
          description: '*Advanced Feature*

            Mode of display to run. The options are:

            `auto`: AI decides how to display the document (default)

            `spatial`: Display text spatially, as it appears in the document

            `sections`: Display text from top to bottom as sections, with tables appearing as markdown

            `image`: Display as an image.'
          default: auto
        classifyVersion:
          $ref: '#/components/schemas/ClassifyVersion'
          title: Classify Version
          description: 'Version of the classify behavior. Supported values: 1.0, 1.1.'
          default: 1.1
      type: object
      required:
      - documentIds
      title: ClassifyBatchRequest
    ErrorResponse:
      properties:
        detail:
          items:
            type: string
          type: array
          title: Detail
          description: Details about the error
      type: object
      required:
      - detail
      title: ErrorResponse
    DeletionResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the deletion was successful or not.
      type: object
      required:
      - success
      title: DeletionResponse
    ClassAddRequest:
      properties:
        className:
          type: string
          title: Class Name
          description: Name of the class to be added.
        description:
          type: string
          title: Description
          description: Description of the class to be added. This will be used by the AI to classify documents.
      type: object
      required:
      - className
      title: ClassAddRequest
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer
x-provenance:
  method: searched
  source: https://docs.docupipe.ai/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.docupipe.ai/reference/apply_transformations.md
  - https://docs.docupipe.ai/reference/bulk_excel_download.md
  - https://docs.docupipe.ai/reference/bulk_ocr_download.md
  - https://docs.docupipe.ai/reference/bulk_original_download.md
  - https://docs.docupipe.ai/reference/bulk_xml_download.md
  - https://docs.docupipe.ai/reference/create_presigned_upload_url.md
  - https://docs.docupipe.ai/reference/create_transformation.md
  - https://docs.docupipe.ai/reference/delete_analyses.md
  - https://docs.docupipe.ai/reference/delete_class.md
  - https://docs.docupipe.ai/reference/delete_document.md
  - https://docs.docupipe.ai/reference/delete_documents.md
  - https://docs.docupipe.ai/reference/delete_endpoint.md
  - https://docs.docupipe.ai/reference/delete_jobs.md
  - https://docs.docupipe.ai/reference/delete_reviews.md
  - https://docs.docupipe.ai/reference/delete_schema.md
  - https://docs.docupipe.ai/reference/delete_standardization.md
  - https://docs.docupipe.ai/reference/delete_standardizations.md
  - https://docs.docupipe.ai/reference/delete_workflow.md
  - https://docs.docupipe.ai/reference/download_excel_url.md
  - https://docs.docupipe.ai/reference/download_ocr_url.md
  - https://docs.docupipe.ai/reference/download_original_url.md
  - https://docs.docupipe.ai/reference/download_public_url.md
  - https://docs.docupipe.ai/reference/generate_endpoint.md
  - https://docs.docupipe.ai/reference/get_account.md
  - https://docs.docupipe.ai/reference/get_analysis.md
  - https://docs.docupipe.ai/reference/get_convert_excel.md
  - https://docs.docupipe.ai/reference/get_document.md
  - https://docs.docupipe.ai/reference/get_document_detailed.md
  - https://docs.docupipe.ai/reference/get_document_summary.md
  - https://docs.docupipe.ai/reference/get_document_transformation_result.md
  - https://docs.docupipe.ai/reference/get_job.md
  - https://docs.docupipe.ai/reference/get_job_summary.md
  - https://docs.docupipe.ai/reference/get_portal_link.md
  - https://docs.docupipe.ai/reference/get_presigned_url.md
  - https://docs.docupipe.ai/reference/get_proposed_schemas.md
  - https://docs.docupipe.ai/reference/get_review_by_id.md
  - https://docs.docupipe.ai/reference/get_schema.md
  - https://docs.docupipe.ai/reference/get_schema_summary.md
  - https://docs.docupipe.ai/reference/get_standardization.md
  - https://docs.docupipe.ai/reference/get_standardization_pdf.md
  - https://docs.docupipe.ai/reference/get_standardization_review.md
  - https://docs.docupipe.ai/reference/get_standardization_summary.md
  - https://docs.docupipe.ai/reference/get_standardization_text.md
  - https://docs.docupipe.ai/reference/get_standardization_xml.md
  - https://docs.docupipe.ai/reference/get_transformation.md
  - https://docs.docupipe.ai/reference/get_transformation_result.md
  - https://docs.docupipe.ai/reference/get_webhook_endpoint.md
  - https://docs.docupipe.ai/reference/list_analyses.md
  - https://docs.docupipe.ai/reference/list_classes.md
  - https://docs.docupipe.ai/reference/list_datasets.md
  - https://docs.docupipe.ai/reference/list_documents.md
  - https://docs.docupipe.ai/reference/list_extractions.md
  - https://docs.docupipe.ai/reference/list_jobs.md
  - https://docs.docupipe.ai/reference/list_reviews.md
  - https://docs.docupipe.ai/reference/list_schemas.md
  - https://docs.docupipe.ai/reference/list_standardizations.md
  - https://docs.docupipe.ai/reference/list_transformations.md
  - https://docs.docupipe.ai/reference/list_webhook_endpoints.md
  - https://docs.docupipe.ai/reference/list_workflows.md
  - https://docs.docupipe.ai/reference/match_standardization.md
  - https://docs.docupipe.ai/reference/merged_excel_download.md
  - https://docs.docupipe.ai/reference/post_add_class.md
  - https://docs.docupipe.ai/reference/post_analyze_data.md
  - https://docs.docupipe.ai/reference/post_analyze_document.md
  - https://docs.docupipe.ai/reference/post_classify_batch.md
  - https://docs.docupipe.ai/reference/post_convert_excel.md
  - https://docs.docupipe.ai/reference/post_copy_classification.md
  - https://docs.docupipe.ai/reference/post_copy_schema.md
  - https://docs.docupipe.ai/reference/post_document.md
  - https://docs.docupipe.ai/reference/post_edit_class.md
  - https://docs.docupipe.ai/reference/post_edit_schema.md
  - https://docs.docupipe.ai/reference/post_merge.md
  - https://docs.docupipe.ai/reference/post_merge_standardizations.md
  - https://docs.docupipe.ai/reference/post_query.md
  - https://docs.docupipe.ai/reference/post_review_batch.md
  - https://docs.docupipe.ai/reference/post_schema.md
  - https://docs.docupipe.ai/reference/post_schema_autogenerate.md
  - https://docs.docupipe.ai/reference/post_split_document.md
  - https://docs.docupipe.ai/reference/post_standardize_batch_v2.md
  - https://docs.docupipe.ai/reference/post_standardize_v3.md
  - https://docs.docupipe.ai/reference/post_workflow_on_submit_document.md
  - https://docs.docupipe.ai/reference/run_workflow_v2.md
  - https://docs.docupipe.ai/reference/search_documents.md
  - https://docs.docupipe.ai/reference/search_schemas.md
  - https://docs.docupipe.ai/reference/search_standardizations.md
  - https://docs.docupipe.ai/reference/update_documents_dataset.md
  - https://docs.docupipe.ai/reference/update_documents_metadata.md
  - https://docs.docupipe.ai/reference/update_review.md
  - https://docs.docupipe.ai/reference/update_workflow.md
  - https://docs.docupipe.ai/reference/wait_for_jobs.md
  merge:
    pages: 90
    deduped: 553
    conflicts_kept_first: 0