> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reducto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Reducto Extract API pulls structured fields from any document using a schema you define or schemaless configuration.

# Extract



## OpenAPI

````yaml openapi.json post /extract
openapi: 3.1.0
info:
  title: Reducto API
  version: v1.12.12-114-g9808b824f237
servers:
  - url: https://platform.reducto.ai
security: []
paths:
  /extract:
    post:
      summary: Extract
      operationId: extract_extract_post
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/SyncExtractConfig'
                - $ref: '#/components/schemas/AsyncExtractConfig'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/V3ExtractResponse'
                  - $ref: '#/components/schemas/AsyncExtractResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - SkippableHTTPBearer: []
components:
  schemas:
    SyncExtractConfig:
      properties:
        input:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
            - $ref: '#/components/schemas/UploadResponse'
          title: Input
          description: >-
            For parse/split/extract pipelines, the URL of the document to be
            processed. You can provide one of the following:
                        1. A publicly available URL
                        2. A presigned S3 URL
                        3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document
                        4. A jobid:// prefixed URL obtained from a previous /parse invocation
                        5. A list of URLs (for multi-document pipelines, V3 API only)

                        For edit pipelines, this should be a string containing the edit instructions 
        parsing:
          $ref: '#/components/schemas/ParseOptions'
          description: >-
            The configuration options for parsing the document. If you are
            passing in a jobid:// URL for the file, then this configuration will
            be ignored.
          default:
            enhance:
              advanced_chart_agent: false
              agentic: []
              intelligent_ordering: false
              summarize_figures: true
            retrieval:
              chunking:
                chunk_mode: disabled
                chunk_overlap: 0
              embedding_optimized: false
              filter_blocks: []
            formatting:
              add_page_markers: false
              include: []
              merge_tables: false
              table_output_format: dynamic
            spreadsheet:
              clustering: accurate
              exclude: []
              include: []
              split_large_tables:
                enabled: true
                size: 50
            settings:
              embed_pdf_metadata: false
              embed_pdf_metadata_dpi: 100
              extract_document_properties: false
              extraction_mode: hybrid
              force_url_result: false
              hybrid_vpc: {}
              ocr_system: standard
              persist_results: false
              return_images: []
              return_ocr_data: false
        instructions:
          $ref: '#/components/schemas/Instructions'
          description: The instructions to use for the extraction.
          default:
            schema: {}
            system_prompt: Be precise and thorough.
        settings:
          $ref: '#/components/schemas/ExtractSettings'
          description: The settings to use for the extraction.
          default:
            include_images: false
            optimize_for_latency: false
            force_url_result: false
            array_extract: false
            deep_extract: false
            citations:
              enabled: false
              numerical_confidence: true
              parent_block: full
      type: object
      required:
        - input
      title: SyncExtractConfig
    AsyncExtractConfig:
      properties:
        async:
          $ref: '#/components/schemas/config__v3__AsyncConfig'
          description: >-
            The configuration options for asynchronous processing (default
            synchronous).
          default:
            priority: false
        input:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
            - $ref: '#/components/schemas/UploadResponse'
          title: Input
          description: >-
            For parse/split/extract pipelines, the URL of the document to be
            processed. You can provide one of the following:
                        1. A publicly available URL
                        2. A presigned S3 URL
                        3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document
                        4. A jobid:// prefixed URL obtained from a previous /parse invocation
                        5. A list of URLs (for multi-document pipelines, V3 API only)

                        For edit pipelines, this should be a string containing the edit instructions 
        parsing:
          $ref: '#/components/schemas/ParseOptions'
          description: >-
            The configuration options for parsing the document. If you are
            passing in a jobid:// URL for the file, then this configuration will
            be ignored.
          default:
            enhance:
              advanced_chart_agent: false
              agentic: []
              intelligent_ordering: false
              summarize_figures: true
            retrieval:
              chunking:
                chunk_mode: disabled
                chunk_overlap: 0
              embedding_optimized: false
              filter_blocks: []
            formatting:
              add_page_markers: false
              include: []
              merge_tables: false
              table_output_format: dynamic
            spreadsheet:
              clustering: accurate
              exclude: []
              include: []
              split_large_tables:
                enabled: true
                size: 50
            settings:
              embed_pdf_metadata: false
              embed_pdf_metadata_dpi: 100
              extract_document_properties: false
              extraction_mode: hybrid
              force_url_result: false
              hybrid_vpc: {}
              ocr_system: standard
              persist_results: false
              return_images: []
              return_ocr_data: false
        instructions:
          $ref: '#/components/schemas/Instructions'
          description: The instructions to use for the extraction.
          default:
            schema: {}
            system_prompt: Be precise and thorough.
        settings:
          $ref: '#/components/schemas/ExtractSettings'
          description: The settings to use for the extraction.
          default:
            include_images: false
            optimize_for_latency: false
            force_url_result: false
            array_extract: false
            deep_extract: false
            citations:
              enabled: false
              numerical_confidence: true
              parent_block: full
        queue_priority:
          $ref: '#/components/schemas/QueuePriority'
          description: >-
            Queue priority. 'batch' places the job in a lower-priority queue for
            non-urgent bulk work. 'auto' (alias: 'standard') uses the default
            queue.
          default: auto
      type: object
      required:
        - input
      title: AsyncExtractConfig
    V3ExtractResponse:
      properties:
        response_type:
          type: string
          const: v3_extract
          title: Response Type
          default: v3_extract
        job_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Job Id
        usage:
          $ref: '#/components/schemas/ExtractUsage'
        studio_link:
          anyOf:
            - type: string
            - type: 'null'
          title: Studio Link
          description: The link to the studio pipeline for the document.
        confidence:
          anyOf:
            - type: string
              enum:
                - high
                - low
            - type: 'null'
          title: Confidence
          description: Optional document-level deep extract confidence label.
        confidence_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Confidence Reason
          description: Optional explanation for the document-level confidence label.
        result:
          anyOf:
            - {}
            - items: {}
              type: array
          title: Result
          description: >-
            The extracted response in your provided schema. This is a list of
            dictionaries. If disable_chunking is True (default), then it will be
            a list of length one.
      type: object
      required:
        - usage
        - result
      title: V3ExtractResponse
    AsyncExtractResponse:
      properties:
        job_id:
          type: string
          title: Job Id
      type: object
      required:
        - job_id
      title: AsyncExtractResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UploadResponse:
      properties:
        file_id:
          type: string
          title: File Id
        presigned_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Presigned Url
      type: object
      required:
        - file_id
      title: UploadResponse
    ParseOptions:
      properties:
        enhance:
          $ref: '#/components/schemas/Enhance'
          default:
            agentic: []
            advanced_chart_agent: false
            summarize_figures: true
            intelligent_ordering: false
        retrieval:
          $ref: '#/components/schemas/Retrieval'
          default:
            chunking:
              chunk_mode: disabled
              chunk_overlap: 0
            filter_blocks: []
            embedding_optimized: false
        formatting:
          $ref: '#/components/schemas/Formatting'
          default:
            add_page_markers: false
            table_output_format: dynamic
            merge_tables: false
            include: []
        spreadsheet:
          $ref: '#/components/schemas/Spreadsheet'
          default:
            split_large_tables:
              enabled: true
              size: 50
            include: []
            clustering: accurate
            exclude: []
        settings:
          $ref: '#/components/schemas/Settings'
          default:
            ocr_system: standard
            extraction_mode: hybrid
            force_url_result: false
            return_ocr_data: false
            return_images: []
            embed_pdf_metadata: false
            extract_document_properties: false
            embed_pdf_metadata_dpi: 100
            persist_results: false
            hybrid_vpc: {}
      type: object
      title: ParseOptions
    Instructions:
      properties:
        schema:
          title: Schema
          description: The JSON schema to use for the extraction.
          default: {}
        system_prompt:
          type: string
          title: System Prompt
          description: The system prompt to use for the extraction.
          default: Be precise and thorough.
      type: object
      title: Instructions
    ExtractSettings:
      properties:
        include_images:
          type: boolean
          title: Include Images
          description: If True, include images in the extraction.
          default: false
        optimize_for_latency:
          type: boolean
          title: Optimize For Latency
          description: >-
            If True, jobs will be processed with a higher throughput and
            priority at a higher cost. Defaults to False.
          default: false
        force_url_result:
          type: boolean
          title: Force Url Result
          description: Force the endpoint result to be returned in URL form.
          default: false
        array_extract:
          type: boolean
          title: Array Extract
          description: >-
            Deprecated: prefer deep_extract, which supersedes array extraction
            for complex and long (array-heavy) extractions via an agentic loop
            (at higher cost and latency). If True, use array extraction.
          default: false
        deep_extract:
          type: boolean
          title: Deep Extract
          description: >-
            If True, use Deep Extract, an agentic extraction mode that
            iteratively refines its output to achieve near-perfect accuracy.
            Best for complex documents where accuracy is critical.
          default: false
        citations:
          $ref: '#/components/schemas/Citations'
          description: The citations to use for the extraction.
          default:
            enabled: false
            numerical_confidence: true
            parent_block: full
        page_range:
          anyOf:
            - $ref: '#/components/schemas/PageRange'
            - items:
                $ref: '#/components/schemas/PageRange'
              type: array
            - items:
                type: integer
              type: array
            - items:
                type: string
              type: array
            - type: 'null'
          title: Page Range
          description: >-
            The page range to extract from (1-indexed). By default, the entire
            document is used. For spreadsheets, you can also provide a list of
            sheet names.
      type: object
      title: ExtractSettings
    config__v3__AsyncConfig:
      properties:
        metadata:
          title: Metadata
          description: JSON metadata included in webhook request body. Defaults to None.
        priority:
          type: boolean
          title: Priority
          description: >-
            Workers poll the priority queue ahead of the standard queue, so
            priority jobs start sooner when there is queued work; sync jobs are
            prioritized above async jobs by default.
          default: false
        webhook:
          anyOf:
            - $ref: '#/components/schemas/SvixWebhookConfig'
            - $ref: '#/components/schemas/DirectWebhookConfig'
            - type: 'null'
          title: Webhook
          description: The webhook configuration for the asynchronous processing.
      type: object
      title: AsyncConfig
    QueuePriority:
      type: string
      enum:
        - auto
        - standard
        - batch
      title: QueuePriority
      description: >-
        Customer-facing queue priority for parse jobs.


        ``AUTO`` and ``STANDARD`` are wire-level synonyms — both mean "default

        queue."  Downstream code only branches on ``BATCH``, so the difference

        is purely lexical.  Both values are first-class enum members so a

        rolling deploy is safe in either direction: a pre-#6134 pod (enum =

        ``{auto, batch}``) and a post-fix pod (enum = ``{auto, standard,
        batch}``)

        can both deserialise payloads the other produces.


        Migration plan (three stages, each a separate PR fully deployed before

        the next):


        1. **Widen** *(this PR)*: enum = ``{AUTO, STANDARD, BATCH}``,
           ``default=AUTO``.  Compatible with the still-running pre-#6134
           prod pods after yesterday's rollback.
        2. **Flip default**: same enum, ``default=STANDARD``.  Ship after
           stage 1 is everywhere.
        3. **Narrow** *(future, optional)*: drop ``AUTO`` once every Redis
           payload and SDK has migrated.  Until then it stays as an
           accepted alias.
    ExtractUsage:
      properties:
        num_pages:
          type: integer
          title: Num Pages
        num_fields:
          type: integer
          title: Num Fields
        credits:
          anyOf:
            - type: number
            - type: 'null'
          title: Credits
        extract_mode:
          anyOf:
            - type: string
              enum:
                - super_agent
                - extract
                - spreadsheet_agent
            - type: 'null'
          title: Extract Mode
        usage_breakdown:
          anyOf:
            - $ref: '#/components/schemas/ExtractUsageBreakdown'
            - type: 'null'
          description: >-
            Raw usage quantities. Only set for accounts on the new pricing
            model; credit fields are omitted for those accounts.
      type: object
      required:
        - num_pages
        - num_fields
      title: ExtractUsage
    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
    Enhance:
      properties:
        agentic:
          items:
            anyOf:
              - $ref: '#/components/schemas/TableAgentic'
              - $ref: '#/components/schemas/FigureAgentic'
              - $ref: '#/components/schemas/TextAgentic'
          type: array
          title: Agentic
          description: >-
            For legacy Parse, agentic processing uses vision language models to
            improve text, table, or figure extraction. With r-1, use agentic
            processing for custom prompts or advanced chart extraction. Agentic
            processing adds latency.
          default: []
        advanced_chart_agent:
          type: boolean
          title: Advanced Chart Agent
          description: >-
            If True, run advanced chart extraction on figures classified as
            charts, without requiring a figure-scoped agentic entry. Returns
            full structured series data (chart_data) plus a reconstruction image
            re-drawn from that data. Higher latency. Defaults to False.
          default: false
        summarize_figures:
          type: boolean
          title: Summarize Figures
          description: >-
            For legacy Parse, if True, summarize figures using a separate vision
            language model. r-1 generates figure descriptions natively and
            ignores this setting. Defaults to True.
          default: true
        intelligent_ordering:
          type: boolean
          title: Intelligent Ordering
          description: >-
            For legacy Parse, if True, use an advanced vision language model to
            improve reading order accuracy, with a small increase in latency.
            r-1 handles reading order natively and ignores this setting.
            Defaults to False.
          default: false
      type: object
      title: Enhance
    Retrieval:
      properties:
        chunking:
          $ref: '#/components/schemas/Chunking'
          default:
            chunk_mode: disabled
            chunk_overlap: 0
        filter_blocks:
          items:
            type: string
            enum:
              - Header
              - Footer
              - Title
              - Section Header
              - Page Number
              - List Item
              - Figure
              - Table
              - Key Value
              - Text
              - Comment
              - Signature
          type: array
          title: Filter Blocks
          description: >-
            A list of block types to filter out from 'content' and 'embed'
            fields. By default, no blocks are filtered.
          default: []
        embedding_optimized:
          type: boolean
          title: Embedding Optimized
          description: If True, use embedding optimized mode. Defaults to False.
          default: false
      type: object
      title: Retrieval
    Formatting:
      properties:
        add_page_markers:
          type: boolean
          title: Add Page Markers
          description: >-
            If True, add page markers to the output. Defaults to False. Useful
            for extracting data with page specific information.
          default: false
        table_output_format:
          type: string
          enum:
            - html
            - json
            - md
            - jsonbbox
            - dynamic
            - csv
          title: Table Output Format
          description: >-
            The table output format. Defaults to dynamic, which returns md for
            simpler tables and html for more complex tables. r-1 does not
            support jsonbbox.
          default: dynamic
        merge_tables:
          type: boolean
          title: Merge Tables
          description: >-
            A flag to indicate if consecutive tables with the same number of
            columns should be merged. Defaults to False.
          default: false
        include:
          items:
            type: string
            enum:
              - change_tracking
              - highlight
              - comments
              - hyperlinks
              - signatures
              - ignore_watermarks
          type: array
          title: Include
          description: >-
            For legacy Parse, the formatting details to include in the output.
            r-1 handles highlights, signatures, and watermarks natively and
            ignores those values.
          default: []
      type: object
      title: Formatting
    Spreadsheet:
      properties:
        split_large_tables:
          $ref: '#/components/schemas/SplitLargeTables'
          default:
            enabled: true
            size: 50
        include:
          items:
            type: string
            enum:
              - cell_colors
              - formula
              - dropdowns
          type: array
          title: Include
          description: >-
            Whether to include cell color, formula, and dropdown information in
            the output.
          default: []
        clustering:
          type: string
          enum:
            - accurate
            - fast
            - disabled
          title: Clustering
          description: >-
            In a spreadsheet with different tables inside, we enable splitting
            up the tables by default. Accurate mode applies more powerful models
            for superior accuracy, at 5× the default per-cell rate. Disabling
            will register as one large table.
          default: accurate
        exclude:
          items:
            type: string
            enum:
              - hidden_sheets
              - hidden_rows
              - hidden_cols
              - styling
              - spreadsheet_images
          type: array
          title: Exclude
          description: Whether to exclude hidden sheets, rows, or columns in the output.
          default: []
        max_cell_count:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
          title: Max Cell Count
          description: >-
            Maximum total non-empty cells allowed across all sheets. If
            exceeded, the request is rejected with a 422 error. Set to null to
            disable the limit. Defaults to null.
      type: object
      title: Spreadsheet
    Settings:
      properties:
        ocr_system:
          type: string
          enum:
            - standard
            - legacy
          title: Ocr System
          description: >-
            The OCR system for legacy Parse. Standard is the best multilingual
            OCR system. Legacy supports Germanic languages and remains available
            for backwards compatibility. r-1 uses native full-page processing
            and ignores this setting. Defaults to standard.
          default: standard
        extraction_mode:
          type: string
          enum:
            - ocr
            - hybrid
          title: Extraction Mode
          description: >-
            The text extraction method for legacy Parse. OCR uses optical
            character recognition only. Hybrid combines OCR with embedded PDF
            text. r-1 uses native full-page processing and ignores this setting.
            Defaults to hybrid.
          default: hybrid
        force_url_result:
          type: boolean
          title: Force Url Result
          description: Force the result to be returned in URL form.
          default: false
        force_file_extension:
          anyOf:
            - type: string
            - type: 'null'
          title: Force File Extension
          description: >-
            Force the URL to be downloaded as a specific file extension (e.g.
            `.png`).
        return_ocr_data:
          type: boolean
          title: Return Ocr Data
          description: If True, return OCR data in the result. Defaults to False.
          default: false
        return_images:
          items:
            type: string
            enum:
              - figure
              - table
              - page
          type: array
          title: Return Images
          description: >-
            Whether to return images for the specified block types. 'page'
            returns full page images. By default, no images are returned.
          default: []
        embed_pdf_metadata:
          type: boolean
          title: Embed Pdf Metadata
          description: >-
            If True, embed OCR metadata into the returned PDF. Defaults to
            False.
          default: false
        extract_document_properties:
          type: boolean
          title: Extract Document Properties
          description: >-
            If True, return properties embedded in the original document.
            Defaults to False.
          default: false
        embed_pdf_metadata_dpi:
          type: integer
          maximum: 250
          minimum: 50
          title: Embed Pdf Metadata Dpi
          description: >-
            Render DPI used when rasterizing the source PDF before embedding the
            OCR text layer (only applies when ``embed_pdf_metadata`` is True).
            Lower values produce dramatically smaller output PDFs; higher values
            preserve more detail when zoomed past 200%. Defaults to 100 (good
            for on-screen viewing); raise toward the source scan DPI for crisper
            output. Min 50, max 250.
          default: 100
        persist_results:
          type: boolean
          title: Persist Results
          description: If True, persist the results indefinitely. Defaults to False.
          default: false
        tenant_throttling:
          anyOf:
            - $ref: '#/components/schemas/TenantThrottling'
            - type: 'null'
          description: >-
            Per-tenant throttling for multi-tenant applications. Tag each
            request with your tenant's id to bound how much of your account's
            concurrency a single tenant can consume. Account-level throttles
            still apply.
        timeout:
          anyOf:
            - type: number
            - type: 'null'
          title: Timeout
          description: The timeout for the job in seconds.
        page_range:
          anyOf:
            - $ref: '#/components/schemas/PageRange'
            - items:
                $ref: '#/components/schemas/PageRange'
              type: array
            - items:
                type: integer
              type: array
            - items:
                type: string
              type: array
            - type: 'null'
          title: Page Range
          description: >-
            The page range to process (1-indexed). By default, the entire
            document is processed. For spreadsheets, you can also provide a list
            of sheet names.
        document_password:
          anyOf:
            - type: string
            - type: 'null'
          title: Document Password
          description: Password to decrypt password-protected documents.
        hybrid_vpc:
          $ref: '#/components/schemas/HybridVpcSettings'
          description: Hybrid VPC request-scoped settings.
          default: {}
        model:
          anyOf:
            - type: string
              enum:
                - r-1
                - legacy
            - type: 'null'
          title: Model
          description: >-
            The parse model to use. 'r-1' is the R-1 full-page parse model,
            which parses each page in a single generation. 'legacy' is the
            previous parsing pipeline. Defaults to 'legacy' unless your
            organization was created on the r-1 plan, in which case it defaults
            to 'r-1'.
      type: object
      title: Settings
    Citations:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: If True, include citations in the extraction.
          default: false
        numerical_confidence:
          type: boolean
          title: Numerical Confidence
          description: >-
            If True, enable numeric citation confidence scores. Defaults to
            True.
          default: true
        parent_block:
          $ref: '#/components/schemas/CitationParentBlockMode'
          description: >-
            How much of the source parse block to embed on each citation's
            parentBlock. 'full' (default) embeds the verbatim source-block HTML
            in parentBlock.content. 'bbox_only' suppresses parentBlock.content
            (returned as an empty string) while keeping parentBlock.bbox and all
            citation-level fields — this can drastically shrink responses on
            table-heavy schemas where the same source block is cited many times.
          default: full
      type: object
      title: Citations
    PageRange:
      properties:
        start:
          anyOf:
            - type: integer
            - type: 'null'
          title: Start
          description: The page number to start processing from (1-indexed).
        end:
          anyOf:
            - type: integer
            - type: 'null'
          title: End
          description: The page number to stop processing at (1-indexed).
      type: object
      title: PageRange
    SvixWebhookConfig:
      properties:
        mode:
          type: string
          const: svix
          title: Mode
          default: svix
        channels:
          items:
            type: string
          type: array
          title: Channels
          description: >-
            A list of Svix channels the message will be delivered down, omit to
            send to all channels.
      type: object
      title: SvixWebhookConfig
    DirectWebhookConfig:
      properties:
        mode:
          type: string
          const: direct
          title: Mode
          default: direct
        url:
          type: string
          title: Url
      type: object
      required:
        - url
      title: DirectWebhookConfig
    ExtractUsageBreakdown:
      properties:
        extract_model:
          type: string
          enum:
            - Extract
            - Deep Extract
          title: Extract Model
        tier:
          type: string
          enum:
            - Default
            - Batch
          title: Tier
          default: Default
        extract_pages:
          type: integer
          title: Extract Pages
          default: 0
        extract_fields:
          type: integer
          title: Extract Fields
          default: 0
        ocr_pages:
          type: integer
          title: Ocr Pages
          default: 0
        charts:
          type: integer
          title: Charts
          default: 0
        prompted_blocks:
          type: integer
          title: Prompted Blocks
          default: 0
      type: object
      required:
        - extract_model
      title: ExtractUsageBreakdown
      description: >-
        Raw extract quantities for accounts on the new pricing model.


        ``extract_fields`` is reported but not billed at launch. The add-on

        quantities (``ocr_pages``, ``charts``, ``prompted_blocks``) come from
        the

        parse bundled into the extract job; its page cost is covered by

        ``extract_pages`` but its add-ons are billed separately. ``tier`` is

        "Batch" when the job ran on the batch queue, which takes the batch

        discount on the rate card.
    TableAgentic:
      properties:
        scope:
          type: string
          const: table
          title: Scope
        prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: Prompt
          description: Custom prompt for table agentic.
        mode:
          type: string
          enum:
            - default
            - auto
            - max
          title: Mode
          description: >-
            Mode for table agentic: 'default' selectively applies enrichment
            only to tables likely to benefit, and 'max' runs enrichment on all
            tables.
          default: default
      type: object
      required:
        - scope
      title: TableAgentic
    FigureAgentic:
      properties:
        scope:
          type: string
          const: figure
          title: Scope
        prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: Prompt
          description: Custom prompt for figure agentic.
        advanced_chart_agent:
          type: boolean
          title: Advanced Chart Agent
          description: >-
            If True, run advanced chart extraction on figures classified as
            charts: an agentic extractor that returns full structured series
            data (chart_data) plus a reconstruction image re-drawn from that
            data (extra.chart_reconstruction). Higher latency. Defaults to
            False.
          default: false
        return_overlays:
          type: boolean
          title: Return Overlays
          description: >-
            If True, return overlays for the figure. This is so you can use the
            overlays to double check the quality of the extraction
          default: false
      type: object
      required:
        - scope
      title: FigureAgentic
    TextAgentic:
      properties:
        scope:
          type: string
          const: text
          title: Scope
        prompt:
          anyOf:
            - type: string
            - type: 'null'
          title: Prompt
          description: >-
            Custom instructions for agentic text. Note: This only applies to
            form regions (key-value).
      type: object
      required:
        - scope
      title: TextAgentic
    Chunking:
      properties:
        chunk_mode:
          type: string
          enum:
            - variable
            - section
            - page
            - disabled
            - block
            - page_sections
          title: Chunk Mode
          description: >-
            Choose how to partition chunks. Variable mode chunks by character
            length and visual context. Section mode chunks by section headers.
            Page mode chunks according to pages. Page sections mode chunks first
            by page, then by sections within each page. Disabled returns one
            single chunk.
          default: disabled
        chunk_size:
          anyOf:
            - type: integer
            - type: 'null'
          title: Chunk Size
          description: >-
            The approximate size of chunks (in characters) that the document
            will be split into. Defaults to null, in which case the chunk size
            is variable between 250 - 1500 characters.
        chunk_overlap:
          type: integer
          title: Chunk Overlap
          description: >-
            Number of characters of overlap to include from adjacent chunks.
            Defaults to 0.
          default: 0
      type: object
      title: Chunking
    SplitLargeTables:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: If True, split large tables into smaller tables. Defaults to True.
          default: true
        size:
          anyOf:
            - type: integer
            - $ref: '#/components/schemas/SplitLargeTableSizes'
          title: Size
          description: >-
            The size of the tables to split into. Defaults to 50. Use 'row' and
            'column' to independently specify the number of rows and columns to
            include when splitting. If you only want to split by rows or
            columns, set the other value to None.
          default: 50
      type: object
      title: SplitLargeTables
    TenantThrottling:
      properties:
        tenant_id:
          type: string
          maxLength: 256
          minLength: 1
          title: Tenant Id
          description: >-
            Your identifier for the tenant (customer, workspace, organization)
            this request belongs to. Used only for noisy-neighbor throttling
            inside your account.
        max_share:
          type: number
          maximum: 1
          exclusiveMinimum: 0
          title: Max Share
          description: >-
            Maximum fraction of your account's concurrency ceiling this tenant
            may use, between 0 (exclusive) and 1. Defaults to 0.5.
          default: 0.5
      type: object
      required:
        - tenant_id
      title: TenantThrottling
    HybridVpcSettings:
      properties:
        environment:
          anyOf:
            - type: string
            - type: 'null'
          title: Environment
          description: >-
            Named Hybrid VPC environment to use for this request. Only applies
            when your organization has Hybrid VPC environments configured.
      type: object
      title: HybridVpcSettings
    CitationParentBlockMode:
      type: string
      enum:
        - full
        - bbox_only
      title: CitationParentBlockMode
      description: >-
        How much of the source parse block to embed on each citation's
        ``parentBlock``.


        ``FULL`` embeds the verbatim source-block HTML in
        ``parentBlock.content``.

        ``BBOX_ONLY`` returns ``parentBlock.content`` as an empty string while

        keeping ``parentBlock.bbox`` and all citation-level fields — on
        table-heavy

        schemas the same source block is re-embedded into every citation that

        points into it, so the content can dominate the response (90%+ of bytes)

        while being redundant with the parse output.
    SplitLargeTableSizes:
      properties:
        row:
          anyOf:
            - type: integer
            - type: 'null'
          title: Row
          description: >-
            The number of rows to include in each chunk when splitting large
            tables. Does not chunk rows if set to None.
        column:
          anyOf:
            - type: integer
            - type: 'null'
          title: Column
          description: >-
            The number of columns to include in each chunk when splitting large
            tables. Does not chunk columns if set to None.
      type: object
      title: SplitLargeTableSizes
  securitySchemes:
    SkippableHTTPBearer:
      type: http
      scheme: bearer

````