DocuPipe · Schema

Document

Public-facing representation of DocuPipeDocument.

Artificial IntelligenceDocument ExtractionDocument IntelligenceIntelligent Document ProcessingOCRDocument AI

Properties

Name Type Description
documentId string Unique identifier of the document.
dataset string Name of the dataset to which the document belongs.
classified boolean Whether the document has been classified.
classIds array List of class IDs assigned to the document. If classified is False, this will be None.
filename string Name of the document file.
fileType object Type of the document file.
fileExtension object Extension of the document file.
originalFileExtension object extension of the originally uploaded file, before any conversion (e.g. html, docx). none if no conversion occurred.
fileSizeMb number Size of the stored document file in MB.
result object Result of the document analysis if completed.
numPages integer Number of pages in the document.
language string Dominant language of the document.
metadata object Metadata associated with the document. This is a user-defined dictionary that can have any properties.
status object Current status of the document processing (deprecated, will be removed in future versions).
parentDocumentId string Unique identifier of the parent document, if this document was created by splitting another document.
parentDocumentPages array List of page numbers from the parent document that make up this document (zero indexed).
timestamp string Timestamp of the document creation.
transformedData object Output of the transformation chain applied to this structured document (csv, xlsx, xls, json or xml), if any. Returned when fetching a single document; null in document lists.
transformationIds array Ordered transformations that produced transformedData.
transformationReceipt object Hashes identifying the input, code, context and output of the applied transformation chain.
View JSON Schema on GitHub

JSON Schema

docupanda-document-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/docupanda/main/json-schema/docupanda-document-schema.json",
  "title": "Document",
  "description": "Public-facing representation of DocuPipeDocument.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/docupanda-docupipe-openapi.yml#/components/schemas/Document",
  "properties": {
    "documentId": {
      "type": "string",
      "title": "Document ID",
      "description": "Unique identifier of the document."
    },
    "dataset": {
      "type": "string",
      "title": "Dataset",
      "description": "Name of the dataset to which the document belongs."
    },
    "classified": {
      "type": "boolean",
      "title": "Classified",
      "description": "Whether the document has been classified.",
      "default": false
    },
    "classIds": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Class IDs",
      "description": "List of class IDs assigned to the document. If classified is False, this will be None."
    },
    "filename": {
      "type": "string",
      "title": "Document filename",
      "description": "Name of the document file."
    },
    "fileType": {
      "$ref": "#/$defs/FileType",
      "title": "File Type",
      "description": "Type of the document file."
    },
    "fileExtension": {
      "$ref": "#/$defs/FileExtension",
      "title": "File Extension",
      "description": "Extension of the document file."
    },
    "originalFileExtension": {
      "$ref": "#/$defs/FileExtension",
      "title": "Original File Extension",
      "description": "extension of the originally uploaded file, before any conversion (e.g. html, docx). none if no conversion occurred."
    },
    "fileSizeMb": {
      "type": "number",
      "title": "File Size",
      "description": "Size of the stored document file in MB."
    },
    "result": {
      "$ref": "#/$defs/ParsingResults",
      "title": "Analysis Result",
      "description": "Result of the document analysis if completed."
    },
    "numPages": {
      "type": "integer",
      "title": "Number of Pages",
      "description": "Number of pages in the document."
    },
    "language": {
      "type": "string",
      "title": "Language",
      "description": "Dominant language of the document."
    },
    "metadata": {
      "additionalProperties": true,
      "type": "object",
      "title": "Metadata",
      "description": "Metadata associated with the document. This is a user-defined dictionary that can have any properties."
    },
    "status": {
      "$ref": "#/$defs/ProcessingStatus",
      "title": "Processing Status",
      "description": "Current status of the document processing (deprecated, will be removed in future versions)."
    },
    "parentDocumentId": {
      "type": "string",
      "title": "Parent Document ID",
      "description": "Unique identifier of the parent document, if this document was created by splitting another document."
    },
    "parentDocumentPages": {
      "items": {
        "type": "integer"
      },
      "type": "array",
      "title": "Parent Document Pages",
      "description": "List of page numbers from the parent document that make up this document (zero indexed)."
    },
    "timestamp": {
      "type": "string",
      "title": "Timestamp",
      "description": "Timestamp of the document creation."
    },
    "transformedData": {
      "title": "Transformed Data",
      "description": "Output of the transformation chain applied to this structured document (csv, xlsx, xls, json or xml), if any. Returned when fetching a single document; null in document lists."
    },
    "transformationIds": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Transformation IDs",
      "description": "Ordered transformations that produced transformedData."
    },
    "transformationReceipt": {
      "additionalProperties": true,
      "type": "object",
      "title": "Transformation Receipt",
      "description": "Hashes identifying the input, code, context and output of the applied transformation chain."
    }
  },
  "type": "object",
  "required": [
    "documentId"
  ],
  "$defs": {
    "AnalyzedPage": {
      "properties": {
        "sections": {
          "items": {
            "$ref": "#/$defs/Section"
          },
          "type": "array",
          "title": "Sections",
          "description": "A list of parsed sections in the page.",
          "default": []
        },
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Text",
          "description": "The text content of the page - a concatenation of the text in all sections."
        },
        "pageNum": {
          "type": "integer",
          "title": "Page Number",
          "description": "The number of this page in document (zero indexed).",
          "default": 0
        },
        "orientation": {
          "$ref": "#/$defs/Orientation",
          "description": "Orientation of the page.",
          "default": "normal"
        }
      },
      "type": "object",
      "title": "AnalyzedPage",
      "description": "Public-facing representation of DocuPipeAnalyzedPage."
    },
    "FileExtension": {
      "type": "string",
      "enum": [
        "pdf",
        "png",
        "jpeg",
        "webp",
        "tiff",
        "jp2",
        "txt",
        "json",
        "xml",
        "html",
        "doc",
        "docx",
        "csv",
        "xlsx",
        "xls",
        "eml"
      ],
      "title": "FileExtension"
    },
    "FileType": {
      "type": "string",
      "enum": [
        "pdf",
        "image",
        "text",
        "json",
        "html",
        "word",
        "table"
      ],
      "title": "FileType"
    },
    "HeaderType": {
      "type": "string",
      "enum": [
        "paragraph",
        "h1",
        "h2",
        "h3",
        "h4",
        "h5",
        "h6"
      ],
      "title": "HeaderType"
    },
    "Orientation": {
      "type": "string",
      "enum": [
        "normal",
        "clockwise",
        "counter_clockwise",
        "upside_down"
      ],
      "title": "Orientation"
    },
    "ParsingResults": {
      "properties": {
        "pages": {
          "items": {
            "$ref": "#/$defs/AnalyzedPage"
          },
          "type": "array",
          "title": "Pages",
          "description": "A list of parsed pages in the document.",
          "default": []
        },
        "numPages": {
          "type": "integer",
          "title": "Number of Pages",
          "description": "The number of pages in the document.",
          "default": 0
        },
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Text",
          "description": "The text content of the document."
        },
        "language": {
          "type": "string",
          "title": "Language",
          "description": "The dominant language of the document."
        }
      },
      "type": "object",
      "title": "ParsingResults"
    },
    "ProcessingStatus": {
      "type": "string",
      "enum": [
        "processing",
        "completed",
        "error"
      ],
      "title": "ProcessingStatus"
    },
    "Section": {
      "properties": {
        "type": {
          "$ref": "#/$defs/SectionType",
          "title": "Type",
          "description": "The type of the section (text, table, image)"
        },
        "text": {
          "type": "string",
          "title": "Text",
          "description": "The text content of the section"
        },
        "bbox": {
          "items": {
            "type": "number"
          },
          "type": "array",
          "title": "Bounding Box",
          "description": "Bounding box of the section in the format [x1, y1, x2, y2], in percentage units [0, 1] within the page"
        },
        "header": {
          "$ref": "#/$defs/HeaderType",
          "title": "Header Type",
          "description": "For text sections, the type of header: paragraph (default), h1 - h6"
        },
        "tableList": {
          "items": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": "array",
          "title": "Table List",
          "description": "For table sections, a list of lists representing the table. The outer list represents rows, the inner lists represent column values in those rows. The first row is the header.If there is no header, the first row is a list of empty strings."
        }
      },
      "type": "object",
      "required": [
        "type",
        "text",
        "bbox"
      ],
      "title": "Section"
    },
    "SectionType": {
      "type": "string",
      "enum": [
        "text",
        "table",
        "image"
      ],
      "title": "SectionType"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/docupanda-document"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.