DocuPipe Review API

The Review API from DocuPipe — 6 operation(s) for review.

Operations 7

GET /review Retrieve review by standardization ID #
POST /review/batch Generate a Visual Review #
GET /review/{review_id} Retrieve a Review by ID #
GET /review/{review_id}/presigned-url Generate a Presigned URL for a Review #
POST /review/{review_id}/update Update a Review #
GET /reviews List Reviews #
DELETE /reviews Delete Reviews #

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-review-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-review-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DocuPipe Review API
  version: '1.0'
servers:
- url: https://app.docupipe.ai
tags:
- name: Review
paths:
  /review:
    get:
      summary: Retrieve review by standardization ID
      operationId: get_standardization_review
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: review_id
        in: query
        required: false
        schema:
          type: string
          title: Review Id
      - name: standardization_id
        in: query
        required: false
        schema:
          type: string
          title: Standardization Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Review'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      description: This endpoint is used to retrieve a review object by its associated standardization ID.
      tags:
      - Review
  /review/batch:
    post:
      tags:
      - Review
      summary: Generate a Visual Review
      description: '**Deprecated.** For new integrations, set `citations: true` on `POST /v3/standardize` (or on a workflow''s `standardizeStep` / `classifyStandardizeStep`) instead. Every field then gets a bounding box and a high, medium or low confidence while it is extracted, for 3 credits per page with the extraction included, and the result is retrieved the same way, with `GET /review?standardization_id=...`. Citations always run at standard effort. This endpoint keeps working for existing integrations.


        This endpoint is used to generate a visual review of the standardization results. For every value in the standardization payload, we generate a confidence score and a list of locations, where a location is page number and x1,y1,x2,y2 bounding box coordinate on that page, designating the top left and lower right corner of the bounding box. This indicates where in the document the value was found.'
      operationId: post_review_batch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StandardizationReviewRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchReviewResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
  /review/{review_id}:
    get:
      summary: Retrieve a Review by ID
      description: This endpoint is used to retrieve a review object its unique ID
      operationId: get_review_by_id
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: review_id
        in: path
        required: true
        schema:
          type: string
          title: Review Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Review'
        '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:
      - Review
  /review/{review_id}/presigned-url:
    get:
      summary: Generate a Presigned URL for a Review
      description: This endpoint generates a presigned URL containing a signature and expiration time for accessing or acting on a review.
      operationId: get_presigned_url
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: review_id
        in: path
        required: true
        schema:
          type: string
          title: Review Id
      - name: expiry_hours
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
            minimum: 1
          - type: 'null'
          title: Expiry in Hours
          description: How many hours the presigned URL should remain valid. If omitted, the link will never expire.
        description: How many hours the presigned URL should remain valid. If omitted, the link will never expire.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReviewPresignedUrlResponse'
        '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:
      - Review
  /review/{review_id}/update:
    post:
      summary: Update a Review
      description: This endpoint is used to update a review object with new data or status.
      operationId: update_review
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: review_id
        in: path
        required: true
        schema:
          type: string
          title: Review Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateReviewRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateReviewResponse'
        '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:
      - Review
  /reviews:
    get:
      summary: List Reviews
      operationId: list_reviews
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      parameters:
      - name: include_data
        in: query
        required: false
        schema:
          type: boolean
          description: Whether to include the data payload in the response
          default: false
          title: Include Data
        description: Whether to include the data payload in the response
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          description: The maximum number of reviews to return. Maximum is 1000
          default: 20
          title: Limit
        description: The maximum number of reviews to return. Maximum is 1000
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          description: The number of reviews to skip (to paginate through the data)
          default: 0
          title: Offset
        description: The number of reviews to skip (to paginate through the data)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Review'
                title: Response List Reviews Reviews 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'
      description: This endpoint is used to list all review objects.
      tags:
      - Review
    delete:
      summary: Delete Reviews
      operationId: delete_reviews
      security:
      - APIKeyHeader: []
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteReviewsRequest'
      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'
      description: This endpoint is used to delete multiple review object. You can pass a length 1 list of review IDs to delete a single review.
      tags:
      - Review
components:
  schemas:
    ReviewStatusEnum:
      type: string
      enum:
      - unverified
      - verified
      - rejected
      title: ReviewStatusEnum
    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
    DeleteReviewsRequest:
      properties:
        reviewIds:
          items:
            type: string
          type: array
          title: Review IDs
          description: Unique identifiers of the review objects to be deleted.
      type: object
      required:
      - reviewIds
      title: DeleteReviewsRequest
      description: "Request for the delete review endpoint\n    "
    StandardizationReviewRequest:
      properties:
        standardizationIds:
          items:
            type: string
          type: array
          title: Standardization ID
          description: Unique identifier of the standardization object.
        reviewInstructions:
          anyOf:
          - type: string
          - type: 'null'
          title: Review Instructions
          description: Instructions for the review process. You may optionally specify which fields you want to localize, and give the AI tips to improve review performance
        highGranularity:
          type: boolean
          title: High Granularity
          description: When enabled, the review will locate individual sub-fields within compound items (e.g. each field within a line item). This provides more precise bounding boxes but costs 4 credits/page instead of 2.
          default: false
      type: object
      required:
      - standardizationIds
      title: StandardizationReviewRequest
      description: "Request to standardize a document\n    "
    FieldMetadata:
      properties:
        page:
          type: integer
          title: Page
          description: 1-indexed page of the document this value was extracted from.
        confidence:
          type: string
          title: Confidence
          description: 'Confidence in the extracted value and its location on the page: ''high'', ''medium'' or ''low''.'
        boundingBoxes:
          items:
            items:
              type: number
            type: array
          type: array
          title: Bounding Boxes
          description: Where this value sits on the page, as [x1, y1, x2, y2] normalized to 0-1 of page width and height, with the origin at the top left.
      type: object
      title: FieldMetadata
      description: 'Public-facing per-field extraction metadata. Anything not declared here stays internal: the stored record

        also carries how each box was located and why its confidence is what it is, which is our diagnostics rather

        than something a caller should build on.'
    UpdateReviewRequest:
      properties:
        data:
          additionalProperties: true
          type: object
          title: Data
          description: The data to update the review with. This should be a dictionary with the same structure as the review object. If omitted, the data will not be updated.
        reviewStatus:
          $ref: '#/components/schemas/ReviewStatusEnum'
          title: Review Status
          description: Use this field to indicate whether the posted object is verified to be correct, incorrect, or not yet fully verified.
      type: object
      required:
      - reviewStatus
      title: UpdateReviewRequest
    ReviewPresignedUrlResponse:
      properties:
        url:
          type: string
          title: Url
      type: object
      required:
      - url
      title: ReviewPresignedUrlResponse
    Review:
      properties:
        standardizationId:
          type: string
          title: Standardization ID
          description: Unique identifier of the standardization object.
        documentId:
          type: string
          title: Document ID
          description: Unique identifier of the document.
        data:
          additionalProperties: true
          type: object
          title: Reviewed Payload
          description: "An exact copy of the original standardization JSON object, except every value is replaced with a dictionary with the following values:\n- **value**: The original value\n- **review**:\n   - **page**: The page number on which the value was found\n   - **confidence**: The confidence score of the value extraction\n   - **boundingBox**: The bounding box of the value on the page. These will be normalized coordinates 0..1 for the page size, in the format x1y1x2y2:\n      - **x1**: The x-coordinate of the top left start of the bounding box\n      - **y1**: The y-coordinate of the top left start of the bounding box\n      - **x2**: The width of the bottom right of the bounding box\n      - **y2**: The height of the bottom right of the bounding box\n"
        schemaId:
          type: string
          title: Schema ID
          description: Unique identifier of the schema used for standardization.
        schemaName:
          type: string
          title: Schema Name
          description: Name of the schema used for standardization.
        jobId:
          type: string
          title: Job ID
          description: Unique identifier of the job that created the standardization.
        dataset:
          type: string
          title: Dataset
          description: Name of the dataset to which the document belongs
        filename:
          type: string
          title: Filename
          description: Name of the file that was standardized.
        displayMode:
          $ref: '#/components/schemas/DisplayMode'
          title: Display Mode
          description: Display mode actually used during standardization.
        timestamp:
          type: string
          title: Timestamp
          description: Timestamp of the standardization job.
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
          description: Metadata associated with the document that originated this standardization. This just echoes any metadata you have previously posted on document creation.
        fieldMetadata:
          additionalProperties:
            $ref: '#/components/schemas/FieldMetadata'
          type: object
          title: Field Metadata
          description: Per-field extraction metadata, keyed by dot-path into the extracted data (e.g. 'lineItems.3.amount'). Gives the page, the location on it, and how reliably that location could be determined.
        transformedData:
          title: Transformed Data
          description: Output of the transformation chain applied to this standardization, if any. Unlike data, this need not conform to the schema.
        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.
        reviewId:
          type: string
          title: Review ID
          description: Unique identifier of the review object.
        reviewState:
          $ref: '#/components/schemas/ReviewStatusEnum'
          title: Review State
          description: State of the review. Can be 'unverified', 'verified' or 'rejected'. Unverified means the review is AI-generated and has not been reviewed by a human. Verified means the review has been reviewed by a human and approved. Rejected means the review has been reviewed by a human and marked as incorrect.
          default: unverified
      type: object
      required:
      - standardizationId
      - documentId
      title: Review
    UpdateReviewResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the review update was successful.
          default: true
        reviewId:
          type: string
          title: Review ID
          description: Unique identifier of the review object.
      type: object
      required:
      - reviewId
      title: UpdateReviewResponse
    BatchReviewResponse:
      properties:
        jobIds:
          items:
            type: string
          type: array
          title: Job IDs
          description: Unique identifiers of the jobs.
        reviewIds:
          items:
            type: string
          type: array
          title: Review IDs
          description: Unique identifiers of the review objects which will be generated.
        standardizationIds:
          items:
            type: string
          type: array
          title: Standardization IDs
          description: Unique identifiers of the standardization objects under review.
      type: object
      required:
      - jobIds
      - reviewIds
      - standardizationIds
      title: BatchReviewResponse
    DeletionResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the deletion was successful or not.
      type: object
      required:
      - success
      title: DeletionResponse
    ErrorResponse:
      properties:
        detail:
          items:
            type: string
          type: array
          title: Detail
          description: Details about the error
      type: object
      required:
      - detail
      title: ErrorResponse
  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