DocuPipe Schema API

The Schema API from DocuPipe — 8 operation(s) for schema.

Operations 9

POST /schema Add a New Schema #
POST /schema/autogenerate AutoGenerate a Schema #
POST /schema/copy Copy a Schema to Another Workspace #
POST /schema/edit Edit a Schema #
DELETE /schema/{schema_id} Delete a Schema #
GET /schema/{schema_id} Retrieve a Schema #
GET /schemas List Schemas #
GET /schemas/search Search Schemas #
GET /schemas/summary Get Schema Count #

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-schema-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-schema-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DocuPipe Schema API
  version: '1.0'
servers:
- url: https://app.docupipe.ai
tags:
- name: Schema
paths:
  /schema:
    post:
      tags:
      - Schema
      summary: Add a New Schema
      description: Create a new schema manually by posting a valid JSON schema. The schema should be a valid JSON schema that represents the structured output you want to extract from documents.
      operationId: post_schema
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostSchemaRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddUpdateSchemaResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientCreditsError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /schema/autogenerate:
    post:
      tags:
      - Schema
      summary: AutoGenerate a Schema
      description: Generate a schema based on a list of documents. Leave the instructions empty if you want the AI to use its best judgment, or provide instructions to indicate your preference to how the schema should be generated. Best results are achieved when you provide a varied list of documents that represent the full range of type of documents you expect to process, and when you provide clear instructions to what you expect the schema to capture and how you want it to be structured.
      operationId: post_schema_autogenerate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoGenerateSchemaRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutoGenerateSchemaResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientCreditsError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /schema/copy:
    post:
      tags:
      - Schema
      summary: Copy a Schema to Another Workspace
      description: Duplicate one of your schemas into another workspace that you administer. Pass the existing schemaId and the api key of the target workspace; the schema content and metadata are cloned as-is and assigned a new schemaId for the destination workspace.
      operationId: post_copy_schema
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopySchemaRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schema'
        '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: []
  /schema/edit:
    post:
      tags:
      - Schema
      summary: Edit a Schema
      description: 'Edit a schema by providing a schema ID and the parameters you want to edit. This does not create a new schema, but rather updates the existing schema. Changing the schema name is purely cosmetic, but changing the description and guidelines will affect the behavior of the schema for future standardizations. The things you can edit are:


        1. `schemaName` - The name of the schema

        2. `description` - The description of the schema

        3. `guidelines` - The guidelines for the schema


        **Note:** The `guidelines` field has a maximum length of 50,000 characters.'
      operationId: post_edit_schema
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditSchemaRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EditSchemaResponse'
        '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: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /schema/{schema_id}:
    delete:
      summary: Delete a Schema
      description: Delete a schema by its id.
      operationId: delete_schema
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: schema_id
        in: path
        required: true
        schema:
          type: string
          title: Schema 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
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Schema
    get:
      summary: Retrieve a Schema
      operationId: get_schema
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: schema_id
        in: path
        required: true
        schema:
          type: string
          title: Schema Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: Retrieve an existing schema by providing the schema's ID.
      tags:
      - Schema
  /schemas:
    get:
      summary: List Schemas
      operationId: list_schemas
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          description: The maximum number of schemas to return. Maximum is 1000
          default: 20
          title: Limit
        description: The maximum number of schemas to return. Maximum is 1000
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          description: The number of schemas to skip (to paginate through the data)
          default: 0
          title: Offset
        description: The number of schemas to skip (to paginate through the data)
      - name: exclude_payload
        in: query
        required: false
        schema:
          type: boolean
          description: Whether to exclude the jsonSchema payload
          default: true
          title: Exclude Payload
        description: Whether to exclude the jsonSchema payload
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Schema'
                title: Response List Schemas Schemas Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: List all of your schemas. The output here includes the jsonSchema data as well.
      tags:
      - Schema
  /schemas/search:
    get:
      summary: Search Schemas
      description: Search schemas by schema name or schema ID using case-insensitive partial matching.
      operationId: search_schemas
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: query
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 50
          description: Search query to match against schema name or schema ID
          title: Query
        description: Search query to match against schema name or schema ID
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 500
          minimum: 1
          description: Maximum number of results to return (1-500)
          default: 100
          title: Limit
        description: Maximum number of results to return (1-500)
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of results to skip for pagination
          default: 0
          title: Offset
        description: Number of results to skip for pagination
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Schema'
                title: Response Search Schemas Schemas Search Get
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Schema
  /schemas/summary:
    get:
      tags:
      - Schema
      summary: Get Schema Count
      description: Get the total number of schemas for the authenticated user.
      operationId: get_schema_summary
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchemaSummary'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
components:
  schemas:
    AutoGenerateSchemaRequest:
      properties:
        schemaName:
          type: string
          title: Schema Name
          description: Name of the schema to be defined. For example rental contracts
        documentIds:
          items:
            type: string
          type: array
          title: Document IDs
          description: List of document IDs to use for schema generation.
        dataset:
          type: string
          title: Dataset
          description: The dataset to which the documents belong.
        instructions:
          type: string
          title: Create Instructions
          description: Instructions on how to create the schema.
          examples:
          - Create a schema that includes the rental amount as a number, and currency as a separate currency code string.
        guidelines:
          type: string
          title: Apply Guidelines
          description: Guidelines to apply to the schema to documents when standardizing.
          examples:
          - The doctor signature is always on the last page, at the bottom right corner.
        standardizeUsingSchema:
          type: boolean
          title: Standardize Using Schema
          description: Whether to standardize the input documents using the newly created schema after generation.Note that standardizing documents costs credits just as if you had called the `/standardize` endpoint directly
          default: true
        standardizationMode:
          $ref: '#/components/schemas/StdMode'
          title: Standardization Mode
          description: '*Advanced Feature*

            Mode of standardization to run, if standardizing using the schema.'
          default: default
        schemaVersion:
          $ref: '#/components/schemas/AutogenSchemaVersion'
          title: Schema Version
          description: '*Advanced Feature*

            Version of the schema generation behavior. Supported values: 1.0, 1.1, 1.2.'
          default: 1.1
      type: object
      title: AutoGenerateSchemaRequest
    StdMode:
      type: string
      enum:
      - default
      - sectionBased
      - spatial
      title: StdMode
    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
    EditSchemaRequest:
      properties:
        schemaId:
          type: string
          title: Schema ID
          description: Unique identifier of the schema which we are editing.
        schemaName:
          type: string
          title: Schema Name
          description: New name to assign to the schema.
        description:
          type: string
          title: Description
          description: New description to assign to the schema.
        guidelines:
          type: string
          title: Guidelines
          description: New guidelines to assign to the schema.
      type: object
      required:
      - schemaId
      title: EditSchemaRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AddUpdateSchemaResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the schema was successfully added.
        schemaId:
          type: string
          title: Schema ID
          description: Unique identifier of the new schema.
        jobId:
          type: string
          title: Job ID
          description: Unique identifier of the job that made the schema.
        timestamp:
          type: string
          title: Timestamp
          description: Timestamp of the creation of the schema.
      type: object
      required:
      - success
      - schemaId
      - jobId
      - timestamp
      title: AddUpdateSchemaResponse
    InsufficientCreditsError:
      properties:
        detail:
          items:
            type: string
          type: array
          title: Detail
          description: Explanation about the exhausted credits
      type: object
      required:
      - detail
      title: InsufficientCreditsError
    CopySchemaRequest:
      properties:
        schemaId:
          type: string
          title: Schema ID
          description: Unique identifier of the schema to copy.
        targetWorkspaceApiKey:
          type: string
          title: Target Workspace API key
          description: API key of the target workspace to copy the schema to.
      type: object
      required:
      - schemaId
      - targetWorkspaceApiKey
      title: CopySchemaRequest
    PostSchemaRequest:
      properties:
        schemaName:
          type: string
          title: Schema Name
          description: Name of the new schema.
        jsonSchema:
          additionalProperties: true
          type: object
          title: JSON Schema
          description: The new JSON schema to add. Must be a valid JSON schema (https://json-schema.org/).
        guidelines:
          type: string
          title: Guidelines
          description: Guidelines to apply to the schema to documents when standardizing.
      type: object
      required:
      - schemaName
      - jsonSchema
      title: PostSchemaRequest
    ProcessingStatus:
      type: string
      enum:
      - processing
      - completed
      - error
      title: ProcessingStatus
    SchemaSummary:
      properties:
        totalSchemas:
          type: integer
          title: Total Schemas
          description: Total number of schemas.
      type: object
      required:
      - totalSchemas
      title: SchemaSummary
    Schema:
      properties:
        schemaId:
          type: string
          title: Schema ID
          description: Unique identifier of the schema.
        schemaName:
          type: string
          title: Schema Name
          description: Name of the schema.
          default: unnamed
        origin:
          type: string
          title: Origin
          description: Where this schema was created.
        sourceDocumentId:
          type: string
          title: Source Document ID
          description: Document ID used as the primary sample when this schema was created.
        sourceDocumentName:
          type: string
          title: Source Document Name
          description: Document name used as the primary sample when this schema was created.
        sourceChatId:
          type: string
          title: Source Chat ID
          description: Chat session that originally created this schema, if any.
        fieldPreview:
          items:
            type: string
          type: array
          title: Field Preview
          description: Short list of schema field names for picker/list rows.
        jsonSchema:
          additionalProperties: true
          type: object
          title: JSON Schema
          description: The JSON schema that defines the structure of the data.
        guidelines:
          type: string
          title: Guidelines
          description: Guidelines for the schema.
        jobId:
          type: string
          title: Job ID
          description: Unique identifier of the job that last modified the schema.
        timestamp:
          type: string
          title: Timestamp
          description: Timestamp of the schema creation.
      type: object
      required:
      - schemaId
      title: Schema
      description: Public-facing representation of DocuPipeSchema.
    AutogenSchemaVersion:
      type: number
      enum:
      - 1
      - 1.1
      - 1.2
      title: AutogenSchemaVersion
    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
    EditSchemaResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the schema was successfully edited.
      type: object
      required:
      - success
      title: EditSchemaResponse
    AutoGenerateSchemaResponse:
      properties:
        jobId:
          type: string
          title: Job ID
          description: Unique identifier for the autogenerate schema job.
        status:
          $ref: '#/components/schemas/ProcessingStatus'
          title: Job Status
          description: Current status of the job.
        schemaId:
          type: string
          title: Schema ID
          description: Unique identifier for the schema being generated. The schema is only available when the job is completed.
        schemaName:
          type: string
          title: Schema Name
          description: Name of the schema being generated.
        standardizationIds:
          items:
            type: string
          type: array
          title: Standardization IDs
          description: List of standardization IDs for the documents used to generate the schema. These will only become available after schema generation is complete, and only if standardizeUsingSchema is set to true.
        standardizationJobIds:
          items:
            type: string
          type: array
          title: Standardization Job IDs
          description: List of standardization job IDs for the documents used to generate the schema. These will only become available after schema generation is complete, and only if standardizeUsingSchema is set to true.
      type: object
      required:
      - jobId
      - status
      - schemaId
      title: AutoGenerateSchemaResponse
  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