{
  "openapi": "3.1.0",
  "info": {
    "title": "Reducto API (Legacy)",
    "version": "v1.12.2-198-g2586471718b0"
  },
  "servers": [
    {
      "url": "https://platform.reducto.ai"
    }
  ],
  "paths": {
    "/parse": {
      "post": {
        "summary": "Parse",
        "operationId": "parse_parse_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ParseConfigNew"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ParseResponse"
                    },
                    {
                      "$ref": "#/components/schemas/AsyncParseResponse"
                    }
                  ],
                  "title": "Response Parse Parse Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/parse_async": {
      "post": {
        "summary": "Async Parse",
        "operationId": "async_parse_parse_async_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AsyncParseConfigNew"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncParseResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/extract": {
      "post": {
        "summary": "Extract",
        "operationId": "extract_extract_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtractConfigNew"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ExtractResponse"
                    },
                    {
                      "$ref": "#/components/schemas/V3ExtractResponse"
                    }
                  ],
                  "title": "Response Extract Extract Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/extract_async": {
      "post": {
        "summary": "Extract Async",
        "operationId": "extract_async_extract_async_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AsyncExtractConfigNew"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncExtractResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/split": {
      "post": {
        "summary": "Split",
        "operationId": "split_split_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/split_async": {
      "post": {
        "summary": "Split Async",
        "operationId": "split_async_split_async_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/config__v2__AsyncSplitConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncSplitResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/edit": {
      "post": {
        "summary": "Edit",
        "operationId": "edit_edit_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/edit_async": {
      "post": {
        "summary": "Edit Async",
        "operationId": "edit_async_edit_async_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AsyncEditConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncEditResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/pipeline": {
      "post": {
        "summary": "Pipeline",
        "operationId": "pipeline_pipeline_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PipelineConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/pipeline_async": {
      "post": {
        "summary": "Pipeline Async",
        "operationId": "pipeline_async_pipeline_async_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AsyncPipelineConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncPipelineResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/classify": {
      "post": {
        "summary": "Classify",
        "operationId": "classify_classify_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClassifyConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClassifyResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/job/{job_id}": {
      "get": {
        "summary": "Retrieve Parse",
        "operationId": "retrieve_parse_job__job_id__get",
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Job Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/AsyncJobResponse"
                    },
                    {
                      "$ref": "#/components/schemas/EnhancedAsyncJobResponse"
                    }
                  ],
                  "title": "Response Retrieve Parse Job  Job Id  Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete Parse Job",
        "description": "Asynchronously delete a job's stored artifacts.\n\nMarks the job as mid-deletion (retrieval returns 409 until cleanup\nfinishes, then 410) and enqueues the streaq cleanup task.",
        "operationId": "delete_parse_job_job__job_id__delete",
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Job Id"
            }
          },
          {
            "name": "include_persisted",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Also delete long-retention persisted artifacts for this job.",
              "default": false,
              "title": "Include Persisted"
            },
            "description": "Also delete long-retention persisted artifacts for this job."
          }
        ],
        "responses": {
          "202": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteJobResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/cancel/{job_id}": {
      "post": {
        "summary": "Cancel Job",
        "operationId": "cancel_job_cancel__job_id__post",
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Job Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "summary": "Get Jobs",
        "operationId": "get_jobs_jobs_get",
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "exclude_configs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Exclude raw_config from response to reduce size",
              "default": false,
              "title": "Exclude Configs"
            },
            "description": "Exclude raw_config from response to reduce size"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cursor for pagination. Use the next_cursor from the previous response to fetch the next page.",
              "title": "Cursor"
            },
            "description": "Cursor for pagination. Use the next_cursor from the previous response to fetch the next page."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 500,
              "minimum": 1,
              "description": "Maximum number of jobs to return per page. Defaults to 100, max 500.",
              "default": 100,
              "title": "Limit"
            },
            "description": "Maximum number of jobs to return per page. Defaults to 100, max 500."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/upload": {
      "post": {
        "summary": "Upload",
        "operationId": "upload_upload_post",
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "extension",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Extension"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_upload_upload_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/upload/{file_id}": {
      "delete": {
        "summary": "Delete Uploaded File",
        "operationId": "delete_uploaded_file_upload__file_id__delete",
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "file_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "File Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteUploadResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/configure_webhook": {
      "post": {
        "summary": "Webhook Portal",
        "operationId": "webhook_portal_configure_webhook_post",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "title": "Response Webhook Portal Configure Webhook Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "SkippableHTTPBearer": []
          }
        ]
      }
    },
    "/version": {
      "get": {
        "summary": "Get Version",
        "operationId": "get_version_version_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "title": "Response Get Version Version Get"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AdvancedCitationsConfig": {
        "properties": {
          "numerical_confidence": {
            "type": "boolean",
            "title": "Numerical Confidence",
            "description": "If True, enable numeric citation confidence scores. Defaults to False.",
            "default": false
          },
          "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": "AdvancedCitationsConfig"
      },
      "AdvancedProcessingOptions": {
        "properties": {
          "ocr_system": {
            "type": "string",
            "enum": [
              "highres",
              "multilingual",
              "combined",
              "reducto",
              "legacy"
            ],
            "title": "Ocr System",
            "description": "The OCR system to use. Highres is recommended for documents with English characters. Legacy uses an alternative OCR backend.",
            "default": "highres"
          },
          "table_output_format": {
            "type": "string",
            "enum": [
              "html",
              "json",
              "md",
              "jsonbbox",
              "dynamic",
              "ai_json",
              "csv"
            ],
            "title": "Table Output Format",
            "description": "The mode to use for table output. Dynamic returns md for simpler tables and html for more complex tables.",
            "default": "html"
          },
          "merge_tables": {
            "type": "boolean",
            "title": "Merge Tables",
            "description": "A flag to indicate if consecutive tables with the same number of columns should be merged across breaks and spaces.",
            "default": false
          },
          "include_formula_information": {
            "type": "boolean",
            "title": "Include Formula Information",
            "description": "If True, preserve formula information in spreadsheet cells by wrapping text with LaTeX formula commands during parsing.",
            "default": false
          },
          "include_color_information": {
            "type": "boolean",
            "title": "Include Color Information",
            "description": "If True, preserve Excel cell colours in the extracted spreadsheet text using LaTeX colour commands.",
            "default": false
          },
          "include_dropdown_information": {
            "type": "boolean",
            "title": "Include Dropdown Information",
            "description": "If True, include dropdown options and the selected value when rendering spreadsheet cells.",
            "default": false
          },
          "continue_hierarchy": {
            "type": "boolean",
            "title": "Continue Hierarchy",
            "description": "A flag to indicate if the hierarchy of the document should be continued from chunk to chunk.",
            "default": true
          },
          "keep_line_breaks": {
            "type": "boolean",
            "title": "Keep Line Breaks",
            "description": "If line breaks should be preserved in the text.",
            "default": false
          },
          "page_range": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PageRange"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/PageRange"
                },
                "type": "array"
              },
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "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.",
            "default": {}
          },
          "force_file_extension": {
            "type": "string",
            "title": "Force File Extension",
            "description": "Force the URL to be downloaded as a specific file extension (e.g. .png)."
          },
          "large_table_chunking": {
            "$ref": "#/components/schemas/LargeTableChunkingConfig",
            "description": "The configuration options for large table chunking (currently only supported on spreadsheet and CSV files).",
            "default": {
              "enabled": true,
              "size": 50
            }
          },
          "spreadsheet_table_clustering": {
            "type": "string",
            "enum": [
              "default",
              "disabled",
              "intelligent"
            ],
            "title": "Spreadsheet Table Clustering",
            "description": "In a spreadsheet with different tables inside, we enable splitting up the tables by default. Intelligent mode applies more powerful models for superior accuracy, at 5× the default per-cell rate. Disabling will register as one large table.",
            "default": "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."
          },
          "add_page_markers": {
            "type": "boolean",
            "title": "Add Page Markers",
            "description": "If True, add page markers to the output (e.g. [[PAGE 1 BEGINS HERE]] and [[PAGE 1 ENDS HERE]] added as blocks to the content). Defaults to False.",
            "default": false
          },
          "remove_text_formatting": {
            "type": "boolean",
            "title": "Remove Text Formatting",
            "description": "If True, remove text formatting from the output (e.g. hyphens for list items). Defaults to False.",
            "default": false
          },
          "return_ocr_data": {
            "type": "boolean",
            "title": "Return Ocr Data",
            "description": "If True, return OCR data in the result. Defaults to False.",
            "default": false
          },
          "document_password": {
            "type": "string",
            "title": "Document Password",
            "description": "Password to decrypt password-protected documents."
          },
          "filter_line_numbers": {
            "type": "boolean",
            "title": "Filter Line Numbers",
            "description": "If True, filter out line numbers from the output. Defaults to False.",
            "default": false
          },
          "read_comments": {
            "type": "boolean",
            "title": "Read Comments",
            "description": "If True, pull in PDF comments from the document. Defaults to False.",
            "default": false
          },
          "persist_results": {
            "type": "boolean",
            "title": "Persist Results",
            "description": "If True, persist the results indefinitely. Defaults to False.",
            "default": false
          },
          "exclude_hidden_sheets": {
            "type": "boolean",
            "title": "Exclude Hidden Sheets",
            "description": "Skip hidden sheets in Excel files. Defaults to False.",
            "default": false
          },
          "exclude_hidden_rows_cols": {
            "type": "boolean",
            "title": "Exclude Hidden Rows Cols",
            "description": "Skip hidden rows and cols in Excel files. Defaults to False.",
            "default": false
          },
          "enable_change_tracking": {
            "type": "boolean",
            "title": "Enable Change Tracking",
            "description": "Enables model-based detection of underlines and strikethroughs, adding <u>/<s> tags to OCR text. Works with any extraction mode. Defaults to False.",
            "default": false
          },
          "enable_highlight_detection": {
            "type": "boolean",
            "title": "Enable Highlight Detection",
            "description": "If True, enable highlight detection. Highlighted text will be surrounded by <mark> tags in the output. Defaults to False.",
            "default": false
          },
          "ignore_watermarks": {
            "type": "boolean",
            "title": "Ignore Watermarks",
            "description": "If True, ignore and remove watermarks from OCR output. Defaults to False.",
            "default": false
          }
        },
        "type": "object",
        "title": "AdvancedProcessingOptions"
      },
      "AgentExtractConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "If agent extraction should be used for extraction.",
            "default": false
          }
        },
        "type": "object",
        "title": "AgentExtractConfig"
      },
      "ArrayExtractConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Array extraction allows you to extract long lists of information from lengthy documents. It makes parallel calls on overlapping sections of the document.",
            "default": false
          },
          "mode": {
            "type": "string",
            "enum": [
              "auto",
              "legacy",
              "no_overlap"
            ],
            "title": "Mode",
            "description": "The array extraction version to use.",
            "default": "legacy"
          },
          "pages_per_segment": {
            "type": "integer",
            "title": "Pages Per Segment",
            "description": "Length of each segment, in pages, for parallel calls with array extraction.",
            "default": 10
          }
        },
        "type": "object",
        "title": "ArrayExtractConfig"
      },
      "AsyncEditConfig": {
        "properties": {
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n"
          },
          "edit_instructions": {
            "type": "string",
            "title": "Edit Instructions",
            "description": "The instructions for the edit."
          },
          "edit_options": {
            "$ref": "#/components/schemas/EditOptions",
            "default": {
              "color": "#FF0000",
              "enable_overflow_pages": false,
              "flatten": false
            }
          },
          "form_schema": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/EditWidget"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Form Schema",
            "description": "Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes. Only works for PDFs."
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": false
          },
          "webhook": {
            "$ref": "#/components/schemas/WebhookConfigNew",
            "default": {
              "mode": "disabled",
              "channels": []
            }
          }
        },
        "type": "object",
        "required": [
          "document_url",
          "edit_instructions"
        ],
        "title": "AsyncEditConfig"
      },
      "AsyncEditResponse": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "job_id"
        ],
        "title": "AsyncEditResponse"
      },
      "AsyncExtractConfigNew": {
        "properties": {
          "options": {
            "$ref": "#/components/schemas/BaseProcessingOptions"
          },
          "advanced_options": {
            "$ref": "#/components/schemas/AdvancedProcessingOptions"
          },
          "experimental_options": {
            "$ref": "#/components/schemas/ExperimentalProcessingOptions"
          },
          "schema": {
            "title": "Schema",
            "description": "The JSON schema to use for extraction."
          },
          "system_prompt": {
            "type": "string",
            "title": "System Prompt",
            "description": "A system prompt to use for the extraction. This is a general prompt that is applied to the entire document before any other prompts.",
            "default": "Be precise and thorough."
          },
          "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
          },
          "force_url_result": {
            "type": "boolean",
            "title": "Force Url Result",
            "description": "Force the endpoint result to be returned in URL form.",
            "default": false
          },
          "generate_citations": {
            "type": "boolean",
            "title": "Generate Citations",
            "description": "If citations should be generated for the extracted content.",
            "default": false
          },
          "array_extract": {
            "$ref": "#/components/schemas/ArrayExtractConfig",
            "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). The configuration options for array extract.",
            "default": {
              "enabled": false,
              "mode": "legacy",
              "pages_per_segment": 10
            }
          },
          "use_chunking": {
            "type": "boolean",
            "title": "Use Chunking",
            "description": "If chunking should be used for the extraction. Defaults to False.",
            "default": false
          },
          "include_images": {
            "type": "boolean",
            "title": "Include Images",
            "description": "If images should be passed directly for extractions. Can only be enabled for documents with less than 10 pages. Defaults to False.",
            "default": false
          },
          "spreadsheet_agent": {
            "type": "boolean",
            "title": "Spreadsheet Agent",
            "description": "If spreadsheet agent should be used for extraction.",
            "default": false
          },
          "experimental_table_citations": {
            "type": "boolean",
            "title": "Experimental Table Citations",
            "description": "If table citations should be generated for the extracted content.",
            "default": true
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": false
          },
          "citations_options": {
            "$ref": "#/components/schemas/AdvancedCitationsConfig",
            "description": "The configuration options for citations.",
            "default": {
              "numerical_confidence": false,
              "parent_block": "full"
            }
          },
          "agent_extract": {
            "$ref": "#/components/schemas/AgentExtractConfig",
            "description": "The configuration options for agent extract",
            "default": {
              "enabled": false
            }
          },
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n4. A job_id (jobid://) or a list of job_ids (jobid://) obtained from a previous /parse endpoint\n"
          },
          "webhook": {
            "$ref": "#/components/schemas/WebhookConfigNew",
            "default": {
              "mode": "disabled",
              "channels": []
            }
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "schema",
          "document_url"
        ],
        "title": "AsyncExtractConfigNew"
      },
      "AsyncExtractResponse": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "job_id"
        ],
        "title": "AsyncExtractResponse"
      },
      "AsyncJobResponse": {
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "Pending",
              "Completed",
              "Failed",
              "Idle"
            ],
            "title": "Status"
          },
          "result": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ParseResponse"
                  },
                  {
                    "$ref": "#/components/schemas/ExtractResponse"
                  },
                  {
                    "$ref": "#/components/schemas/SplitResponse"
                  },
                  {
                    "$ref": "#/components/schemas/EditResponse"
                  },
                  {
                    "$ref": "#/components/schemas/PipelineResponse"
                  },
                  {
                    "$ref": "#/components/schemas/V3ExtractResponse"
                  },
                  {
                    "$ref": "#/components/schemas/ClassifyResponse"
                  }
                ],
                "discriminator": {
                  "propertyName": "response_type",
                  "mapping": {
                    "classify": "#/components/schemas/ClassifyResponse",
                    "edit": "#/components/schemas/EditResponse",
                    "extract": "#/components/schemas/ExtractResponse",
                    "parse": "#/components/schemas/ParseResponse",
                    "pipeline": "#/components/schemas/PipelineResponse",
                    "split": "#/components/schemas/SplitResponse",
                    "v3_extract": "#/components/schemas/V3ExtractResponse"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Result"
          },
          "progress": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Progress"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "status"
        ],
        "title": "AsyncJobResponse"
      },
      "AsyncParseConfigNew": {
        "properties": {
          "options": {
            "$ref": "#/components/schemas/BaseProcessingOptions"
          },
          "advanced_options": {
            "$ref": "#/components/schemas/AdvancedProcessingOptions"
          },
          "experimental_options": {
            "$ref": "#/components/schemas/ExperimentalProcessingOptions"
          },
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document"
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": false
          },
          "webhook": {
            "$ref": "#/components/schemas/WebhookConfigNew",
            "default": {
              "mode": "disabled",
              "channels": []
            }
          },
          "queue_priority": {
            "$ref": "#/components/schemas/QueuePriority",
            "description": "Queue priority. 'batch' places the job in a lower-priority queue that runs when spare GPU capacity is available. 'auto' (alias: 'standard') uses the default queue.",
            "default": "auto"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "document_url"
        ],
        "title": "AsyncParseConfigNew"
      },
      "AsyncParseResponse": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "job_id"
        ],
        "title": "AsyncParseResponse"
      },
      "AsyncPipelineConfig": {
        "properties": {
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n            1. A publicly available URL\n            2. A presigned S3 URL\n            3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n            4. [API-131] A list of URLs (for multi-document pipelines, V3 API only)\n"
          },
          "pipeline_id": {
            "type": "string",
            "title": "Pipeline Id",
            "description": "The ID of the pipeline to use for the document."
          },
          "settings": {
            "$ref": "#/components/schemas/PipelineSettings",
            "default": {}
          },
          "webhook": {
            "$ref": "#/components/schemas/WebhookConfigNew",
            "default": {
              "mode": "disabled",
              "channels": []
            }
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": false
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "document_url",
          "pipeline_id"
        ],
        "title": "AsyncPipelineConfig"
      },
      "AsyncPipelineResponse": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "job_id"
        ],
        "title": "AsyncPipelineResponse"
      },
      "AsyncSplitResponse": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "job_id"
        ],
        "title": "AsyncSplitResponse"
      },
      "BaseProcessingOptions": {
        "properties": {
          "ocr_mode": {
            "type": "string",
            "enum": [
              "standard",
              "agentic"
            ],
            "title": "Ocr Mode",
            "description": "The mode to use for OCR. Agentic mode adds an extra pass, correcting any table/text mistakes at a small cost.",
            "default": "standard"
          },
          "extraction_mode": {
            "type": "string",
            "enum": [
              "ocr",
              "metadata",
              "hybrid"
            ],
            "title": "Extraction Mode",
            "description": "The mode to use for extraction. Metadata/hybrid are only recommended with high quality metadata embeddings.",
            "default": "ocr"
          },
          "chunking": {
            "$ref": "#/components/schemas/ChunkingConfig",
            "description": "The configuration options for chunking. Chunking is commonly used for RAG usecases.",
            "default": {
              "chunk_mode": "variable",
              "chunk_overlap": 0
            }
          },
          "table_summary": {
            "$ref": "#/components/schemas/TableSummaryConfig",
            "description": "The configuration options for table summarization.",
            "default": {
              "enabled": false
            }
          },
          "figure_summary": {
            "$ref": "#/components/schemas/FigureSummaryConfig",
            "description": "The configuration options for figure summarization."
          },
          "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 from chunk content. Pass blocks to filter them from content. By default, no blocks are filtered.",
            "default": []
          },
          "force_url_result": {
            "type": "boolean",
            "title": "Force Url Result",
            "description": "Force the result to be returned in URL form (by default only used for very large responses).",
            "default": false
          }
        },
        "type": "object",
        "title": "BaseProcessingOptions"
      },
      "Body_upload_upload_post": {
        "properties": {
          "file": {
            "anyOf": [
              {
                "type": "string",
                "contentMediaType": "application/octet-stream"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File"
          }
        },
        "type": "object",
        "title": "Body_upload_upload_post"
      },
      "BoundingBox": {
        "properties": {
          "left": {
            "type": "number",
            "title": "Left"
          },
          "top": {
            "type": "number",
            "title": "Top"
          },
          "width": {
            "type": "number",
            "title": "Width"
          },
          "height": {
            "type": "number",
            "title": "Height"
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "The page number of the bounding box (1-indexed)."
          },
          "original_page": {
            "type": "integer",
            "title": "Original Page",
            "description": "The page number in the original document of the bounding box (1-indexed)."
          }
        },
        "type": "object",
        "required": [
          "left",
          "top",
          "width",
          "height",
          "page"
        ],
        "title": "BoundingBox"
      },
      "CategoryConfidence": {
        "properties": {
          "category": {
            "type": "string",
            "title": "Category"
          },
          "confidence": {
            "type": "number",
            "title": "Confidence"
          },
          "criteria_confidence": {
            "items": {
              "$ref": "#/components/schemas/CriteriaConfidence"
            },
            "type": "array",
            "title": "Criteria Confidence"
          }
        },
        "type": "object",
        "required": [
          "category",
          "confidence",
          "criteria_confidence"
        ],
        "title": "CategoryConfidence",
        "description": "Confidence result for a category."
      },
      "ChunkingConfig": {
        "properties": {
          "chunk_mode": {
            "type": "string",
            "enum": [
              "variable",
              "section",
              "page",
              "block",
              "disabled",
              "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": "variable"
          },
          "chunk_size": {
            "type": "integer",
            "title": "Chunk Size",
            "description": "The approximate size of chunks (in characters) that the document will be split into. Defaults to None, 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": "ChunkingConfig"
      },
      "CitationParentBlockMode": {
        "type": "string",
        "enum": [
          "full",
          "bbox_only"
        ],
        "title": "CitationParentBlockMode",
        "description": "How much of the source parse block to embed on each citation's ``parentBlock``.\n\n``FULL`` embeds the verbatim source-block HTML in ``parentBlock.content``.\n``BBOX_ONLY`` returns ``parentBlock.content`` as an empty string while\nkeeping ``parentBlock.bbox`` and all citation-level fields — on table-heavy\nschemas the same source block is re-embedded into every citation that\npoints into it, so the content can dominate the response (90%+ of bytes)\nwhile being redundant with the parse output."
      },
      "ClassificationCategory": {
        "properties": {
          "category": {
            "type": "string",
            "title": "Category",
            "description": "The category name/label that documents will be classified into (e.g., 'invoice', 'contract', 'receipt')."
          },
          "criteria": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Criteria",
            "description": "A list of criteria, keywords, or descriptions that define what characteristics a document must have to be classified into this category (e.g., ['contains billing information', 'has itemized charges'])."
          }
        },
        "type": "object",
        "required": [
          "category",
          "criteria"
        ],
        "title": "ClassificationCategory",
        "description": "A single classification category with its matching criteria."
      },
      "ClassifyConfig": {
        "properties": {
          "force_url_result": {
            "type": "boolean",
            "title": "Force Url Result",
            "description": "Force the endpoint result to be returned in URL form.",
            "default": false
          },
          "input": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Input",
            "description": "The URL of the document to be classified. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document"
          },
          "classification_schema": {
            "items": {
              "$ref": "#/components/schemas/ClassificationCategory"
            },
            "type": "array",
            "title": "Classification Schema",
            "description": "A list of classification categories and their matching criteria.",
            "default": []
          },
          "page_range": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PageRange"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/PageRange"
                },
                "type": "array"
              },
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Range",
            "description": "The page range to process (1-indexed). By default, the first 5 pages are used. If more than 25 pages are selected, only the first 25 (after sorting) are used. Only applies to PDFs; ignored for other document types."
          },
          "document_metadata": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Document Metadata",
            "description": "Optional document-level metadata to include in classification prompts."
          }
        },
        "type": "object",
        "required": [
          "input"
        ],
        "title": "ClassifyConfig"
      },
      "ClassifyResponse": {
        "properties": {
          "response_type": {
            "type": "string",
            "const": "classify",
            "title": "Response Type",
            "default": "classify"
          },
          "job_id": {
            "type": "string",
            "title": "Job Id"
          },
          "result": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClassifyResponseCategory"
              },
              {
                "$ref": "#/components/schemas/UrlResult"
              }
            ],
            "title": "Result"
          },
          "response_confidence": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseConfidence"
              },
              {
                "type": "null"
              }
            ]
          },
          "usage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClassifyUsage"
              },
              {
                "type": "null"
              }
            ]
          },
          "duration": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration",
            "description": "The duration of the classify request in seconds."
          }
        },
        "type": "object",
        "required": [
          "job_id",
          "result"
        ],
        "title": "ClassifyResponse",
        "description": "Response from classify job - returned when polling /job/{job_id}"
      },
      "ClassifyResponseCategory": {
        "properties": {
          "category": {
            "type": "string",
            "title": "Category"
          }
        },
        "type": "object",
        "required": [
          "category"
        ],
        "title": "ClassifyResponseCategory"
      },
      "ClassifyUsage": {
        "properties": {
          "num_pages": {
            "type": "integer",
            "title": "Num Pages"
          },
          "num_categories": {
            "type": "integer",
            "title": "Num Categories"
          },
          "credits": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credits"
          }
        },
        "type": "object",
        "required": [
          "num_pages",
          "num_categories"
        ],
        "title": "ClassifyUsage"
      },
      "CriteriaConfidence": {
        "properties": {
          "criterion": {
            "type": "string",
            "title": "Criterion"
          },
          "confidence": {
            "type": "string",
            "enum": [
              "high",
              "low"
            ],
            "title": "Confidence"
          }
        },
        "type": "object",
        "required": [
          "criterion",
          "confidence"
        ],
        "title": "CriteriaConfidence",
        "description": "Confidence result for a single criterion."
      },
      "DeepSplit": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "pages": {
            "items": {
              "$ref": "#/components/schemas/DeepSplitPageEvidence"
            },
            "type": "array",
            "title": "Pages"
          },
          "partitions": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/DeepSplitPartition"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partitions"
          }
        },
        "type": "object",
        "required": [
          "name",
          "pages"
        ],
        "title": "DeepSplit"
      },
      "DeepSplitPageEvidence": {
        "properties": {
          "page_number": {
            "type": "integer",
            "title": "Page Number"
          },
          "evidence": {
            "type": "string",
            "title": "Evidence"
          },
          "confidence": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "high",
                  "medium",
                  "low"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence"
          }
        },
        "type": "object",
        "required": [
          "page_number",
          "evidence"
        ],
        "title": "DeepSplitPageEvidence"
      },
      "DeepSplitPartition": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "pages": {
            "items": {
              "$ref": "#/components/schemas/DeepSplitPageEvidence"
            },
            "type": "array",
            "title": "Pages"
          }
        },
        "type": "object",
        "required": [
          "name",
          "pages"
        ],
        "title": "DeepSplitPartition"
      },
      "DeepSplitResult": {
        "properties": {
          "splits": {
            "items": {
              "$ref": "#/components/schemas/DeepSplit"
            },
            "type": "array",
            "title": "Splits"
          }
        },
        "type": "object",
        "required": [
          "splits"
        ],
        "title": "DeepSplitResult"
      },
      "DeleteJobResponse": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "job_id"
        ],
        "title": "DeleteJobResponse"
      },
      "DeleteUploadResponse": {
        "properties": {
          "file_id": {
            "type": "string",
            "title": "File Id"
          }
        },
        "type": "object",
        "required": [
          "file_id"
        ],
        "title": "DeleteUploadResponse"
      },
      "EditConfig": {
        "properties": {
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n"
          },
          "edit_instructions": {
            "type": "string",
            "title": "Edit Instructions",
            "description": "The instructions for the edit."
          },
          "edit_options": {
            "$ref": "#/components/schemas/EditOptions",
            "default": {
              "color": "#FF0000",
              "enable_overflow_pages": false,
              "flatten": false
            }
          },
          "form_schema": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/EditWidget"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Form Schema",
            "description": "Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes. Only works for PDFs."
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": true
          }
        },
        "type": "object",
        "required": [
          "document_url",
          "edit_instructions"
        ],
        "title": "EditConfig"
      },
      "EditOptions": {
        "properties": {
          "color": {
            "type": "string",
            "pattern": "^#[0-9A-Fa-f]{6}$",
            "title": "Color",
            "description": "The color to use for edits, in hex format.",
            "default": "#FF0000"
          },
          "font_size": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 72,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Font Size",
            "description": "The font size (in points) to use for filled text fields. If not specified, font size is automatically calculated based on field dimensions."
          },
          "llm_provider_preference": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "openai",
                  "anthropic",
                  "google"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Provider Preference",
            "description": "The LLM provider to use for edit processing. If not specified, defaults to 'google'"
          },
          "enable_overflow_pages": {
            "type": "boolean",
            "title": "Enable Overflow Pages",
            "description": "If True, creates overflow pages for text that doesn't fit in form fields. Defaults to False.",
            "default": false
          },
          "flatten": {
            "type": "boolean",
            "title": "Flatten",
            "description": "If True, flattens form fields after filling, converting them to static content. Defaults to False.",
            "default": false
          }
        },
        "type": "object",
        "title": "EditOptions"
      },
      "EditResponse": {
        "properties": {
          "response_type": {
            "type": "string",
            "const": "edit",
            "title": "Response Type",
            "default": "edit"
          },
          "document_url": {
            "type": "string",
            "title": "Document Url",
            "description": "Presigned URL to download the edited document."
          },
          "form_schema": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/EditWidget"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Form Schema",
            "description": "Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes."
          },
          "usage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ParseUsage"
              },
              {
                "type": "null"
              }
            ],
            "description": "Usage information for the edit operation, including number of pages and credits charged."
          }
        },
        "type": "object",
        "required": [
          "document_url"
        ],
        "title": "EditResponse"
      },
      "EditWidget": {
        "properties": {
          "bbox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "Bounding box coordinates of the widget"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "description": "Description of the widget extracted from the document"
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "checkbox",
              "radio",
              "dropdown",
              "barcode"
            ],
            "title": "Type",
            "description": "Type of the form widget"
          },
          "fill": {
            "type": "boolean",
            "title": "Fill",
            "description": "If True (default), the system will attempt to fill this widget. If False, the widget will be created but intentionally left unfilled.",
            "default": true
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value",
            "description": "If provided, this value will be used directly instead of attempting to intelligently determine the field value."
          },
          "font_size": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 72,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Font Size",
            "description": "Font size in points for this specific field. Takes priority over the global font_size in EditOptions. If not set, falls back to the global font_size, then to auto-calculated sizing."
          }
        },
        "type": "object",
        "required": [
          "bbox",
          "description",
          "type"
        ],
        "title": "EditWidget"
      },
      "EnhancedAsyncJobResponse": {
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "Pending",
              "Completed",
              "Failed",
              "Idle"
            ],
            "title": "Status"
          },
          "result": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ParseResponse"
                  },
                  {
                    "$ref": "#/components/schemas/ExtractResponse"
                  },
                  {
                    "$ref": "#/components/schemas/SplitResponse"
                  },
                  {
                    "$ref": "#/components/schemas/EditResponse"
                  },
                  {
                    "$ref": "#/components/schemas/PipelineResponse"
                  },
                  {
                    "$ref": "#/components/schemas/V3ExtractResponse"
                  },
                  {
                    "$ref": "#/components/schemas/ClassifyResponse"
                  }
                ],
                "discriminator": {
                  "propertyName": "response_type",
                  "mapping": {
                    "classify": "#/components/schemas/ClassifyResponse",
                    "edit": "#/components/schemas/EditResponse",
                    "extract": "#/components/schemas/ExtractResponse",
                    "parse": "#/components/schemas/ParseResponse",
                    "pipeline": "#/components/schemas/PipelineResponse",
                    "split": "#/components/schemas/SplitResponse",
                    "v3_extract": "#/components/schemas/V3ExtractResponse"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "title": "Result"
          },
          "progress": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Progress"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "Parse",
                  "Extract",
                  "Split",
                  "Edit",
                  "Pipeline",
                  "Classify"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          },
          "num_pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Num Pages"
          },
          "total_pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Pages"
          },
          "source": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "duration": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "raw_config": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Raw Config"
          },
          "bucket": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Bucket"
          }
        },
        "type": "object",
        "required": [
          "status"
        ],
        "title": "EnhancedAsyncJobResponse"
      },
      "EnrichConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "If enabled, a large language/vision model will be used to postprocess the extracted content. Note: enabling enrich requires tables be outputted in markdown format. Defaults to False.",
            "default": false
          },
          "mode": {
            "type": "string",
            "enum": [
              "standard",
              "page",
              "table",
              "table_auto"
            ],
            "title": "Mode",
            "description": "The mode to use for enrichment. Defaults to standard",
            "default": "standard"
          },
          "prompt": {
            "type": "string",
            "title": "Prompt",
            "description": "Add information to the prompt for enrichment."
          }
        },
        "type": "object",
        "title": "EnrichConfig"
      },
      "ErrorCode": {
        "type": "string",
        "enum": [
          "TIMEOUT",
          "CUSTOMER_TIMEOUT",
          "INTERNAL_ERROR",
          "SERVICE_UNAVAILABLE",
          "GPU_ALLOCATION_ERROR",
          "GPU_POOL_SATURATED",
          "BATCH_QUEUE_FULL",
          "JOB_STATE_ERROR",
          "DOCUMENT_CORRUPT",
          "DOCUMENT_UNSUPPORTED",
          "DOCUMENT_TOO_LARGE",
          "IMAGE_TOO_LARGE",
          "IMAGE_TOO_SMALL",
          "IMAGE_INVALID_ASPECT_RATIO",
          "DOCUMENT_PASSWORD_PROTECTED",
          "FORM_FILL_FAILED",
          "INTERNAL_INVARIANT_VIOLATION",
          "CONTEXT_WINDOW_EXCEEDED",
          "PROCESSING_FAILED",
          "INFERENCE_METHOD_UNSUPPORTED",
          "SUBPROCESS_CRASHED",
          "BATCH_ORPHANED",
          "OVERSIZED_RESULT",
          "LLM_OUTPUT_PARSE_FAILED",
          "LLM_PROVIDER_ERROR",
          "INVALID_CONFIG",
          "INVALID_SCHEMA",
          "AUTH_ERROR",
          "NOT_APPLICABLE",
          "REGION_UNAVAILABLE",
          "NOT_FOUND",
          "JOB_DELETION_IN_PROGRESS",
          "JOB_DELETED",
          "JOB_NOT_COMPLETE",
          "JOB_CANCELLED",
          "RATE_LIMIT",
          "CELL_COUNT_EXCEEDED"
        ],
        "title": "ErrorCode",
        "description": "Machine-readable error names returned in API error responses.\n\nEach member maps to a category (Transient / Processing / Input) and\na default HTTP status code defined in ``ERROR_CODE_DEFAULTS``.\nThe enum value is the string customers see in the ``error.name`` field."
      },
      "ErrorDetail": {
        "properties": {
          "code": {
            "type": "integer",
            "title": "Code"
          },
          "name": {
            "$ref": "#/components/schemas/ErrorCode"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "job_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Job Id"
          }
        },
        "type": "object",
        "required": [
          "code",
          "name",
          "message"
        ],
        "title": "ErrorDetail",
        "description": "Structured error body returned to customers.\n\nMatches the format specified in ``ERROR_POLICY.md``."
      },
      "ExperimentalProcessingOptions": {
        "properties": {
          "enrich": {
            "$ref": "#/components/schemas/EnrichConfig",
            "description": "The configuration options for enrichment.",
            "default": {
              "enabled": false,
              "mode": "standard"
            }
          },
          "layout_enrichment": {
            "type": "boolean",
            "title": "Layout Enrichment",
            "description": "Layout enrichment is a beta feature that improves our layout and reading order performance at the cost of increased latency. Defaults to False.",
            "default": false
          },
          "enable_checkboxes": {
            "type": "boolean",
            "title": "Enable Checkboxes",
            "description": "Use an experimental checkbox detection model to add checkboxes to the output, defaults to False",
            "default": false
          },
          "enable_equations": {
            "type": "boolean",
            "title": "Enable Equations",
            "description": "Use an experimental equation detection model to add equations to the output, defaults to False",
            "default": false
          },
          "rotate_pages": {
            "type": "boolean",
            "title": "Rotate Pages",
            "description": "Use an orientation model to detect and rotate pages as needed, defaults to True",
            "default": true
          },
          "rotate_figures": {
            "type": "boolean",
            "title": "Rotate Figures",
            "description": "Use an orientation model to detect and rotate figures as needed, defaults to False",
            "default": false
          },
          "enable_scripts": {
            "type": "boolean",
            "title": "Enable Scripts",
            "description": "Add <sub> tag around subscripts and <sup> tag around superscripts, defaults to False",
            "default": false
          },
          "return_figure_images": {
            "type": "boolean",
            "title": "Return Figure Images",
            "description": "If figure images should be returned in the result. Defaults to False.",
            "default": false
          },
          "return_table_images": {
            "type": "boolean",
            "title": "Return Table Images",
            "description": "If table images should be returned in the result. Defaults to False.",
            "default": false
          },
          "return_page_images": {
            "type": "boolean",
            "title": "Return Page Images",
            "description": "If full page images should be returned in the result. Defaults to False.",
            "default": false
          },
          "layout_model": {
            "type": "string",
            "enum": [
              "default",
              "beta"
            ],
            "title": "Layout Model",
            "description": "The layout model to use for the document. This will be deprecated in the future.",
            "default": "default"
          },
          "embed_text_metadata_pdf": {
            "type": "boolean",
            "title": "Embed Text Metadata Pdf",
            "description": "If extracted OCR text metadata should be embedded back into the returned PDF, overwriting any existing text. 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. 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
          },
          "detect_signatures": {
            "type": "boolean",
            "title": "Detect Signatures",
            "description": "If True, detect signatures in the document. Defaults to False.",
            "default": false
          },
          "danger_filter_wide_boxes": {
            "type": "boolean",
            "title": "Danger Filter Wide Boxes",
            "description": "You probably shouldn't use this. If True, filter out boxes with width greater than 50% of the document width. Defaults to False. You probably don't want to use this.",
            "default": false
          },
          "user_specified_timeout_seconds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Specified Timeout Seconds",
            "description": "A user specified timeout, defaults to None"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "ExperimentalProcessingOptions"
      },
      "ExtractConfigNew": {
        "properties": {
          "options": {
            "$ref": "#/components/schemas/BaseProcessingOptions"
          },
          "advanced_options": {
            "$ref": "#/components/schemas/AdvancedProcessingOptions"
          },
          "experimental_options": {
            "$ref": "#/components/schemas/ExperimentalProcessingOptions"
          },
          "schema": {
            "title": "Schema",
            "description": "The JSON schema to use for extraction."
          },
          "system_prompt": {
            "type": "string",
            "title": "System Prompt",
            "description": "A system prompt to use for the extraction. This is a general prompt that is applied to the entire document before any other prompts.",
            "default": "Be precise and thorough."
          },
          "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
          },
          "force_url_result": {
            "type": "boolean",
            "title": "Force Url Result",
            "description": "Force the endpoint result to be returned in URL form.",
            "default": false
          },
          "generate_citations": {
            "type": "boolean",
            "title": "Generate Citations",
            "description": "If citations should be generated for the extracted content.",
            "default": false
          },
          "array_extract": {
            "$ref": "#/components/schemas/ArrayExtractConfig",
            "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). The configuration options for array extract.",
            "default": {
              "enabled": false,
              "mode": "legacy",
              "pages_per_segment": 10
            }
          },
          "use_chunking": {
            "type": "boolean",
            "title": "Use Chunking",
            "description": "If chunking should be used for the extraction. Defaults to False.",
            "default": false
          },
          "include_images": {
            "type": "boolean",
            "title": "Include Images",
            "description": "If images should be passed directly for extractions. Can only be enabled for documents with less than 10 pages. Defaults to False.",
            "default": false
          },
          "spreadsheet_agent": {
            "type": "boolean",
            "title": "Spreadsheet Agent",
            "description": "If spreadsheet agent should be used for extraction.",
            "default": false
          },
          "experimental_table_citations": {
            "type": "boolean",
            "title": "Experimental Table Citations",
            "description": "If table citations should be generated for the extracted content.",
            "default": true
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": true
          },
          "citations_options": {
            "$ref": "#/components/schemas/AdvancedCitationsConfig",
            "description": "The configuration options for citations.",
            "default": {
              "numerical_confidence": false,
              "parent_block": "full"
            }
          },
          "agent_extract": {
            "$ref": "#/components/schemas/AgentExtractConfig",
            "description": "The configuration options for agent extract",
            "default": {
              "enabled": false
            }
          },
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n4. A job_id (jobid://) or a list of job_ids (jobid://) obtained from a previous /parse endpoint\n"
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "schema",
          "document_url"
        ],
        "title": "ExtractConfigNew"
      },
      "ExtractResponse": {
        "properties": {
          "response_type": {
            "type": "string",
            "const": "extract",
            "title": "Response Type",
            "default": "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."
          },
          "result": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UrlResult"
              }
            ],
            "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. If force_url_result is True, this is returned as a URL result."
          },
          "citations": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UrlResult"
              },
              {
                "type": "null"
              }
            ],
            "title": "Citations",
            "description": "The citations corresponding to the extracted response. If force_url_result is True and citations are present, this is returned as a URL result."
          },
          "response_confidence": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Confidence",
            "description": "Optional deep extract confidence metadata containing document-level confidence plus a mirrored leaf-level confidence tree."
          }
        },
        "type": "object",
        "required": [
          "usage",
          "result",
          "citations"
        ],
        "title": "ExtractResponse"
      },
      "ExtractSplitResponse": {
        "properties": {
          "split_name": {
            "type": "string",
            "title": "Split Name"
          },
          "page_range": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Page Range"
          },
          "partition": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partition"
          },
          "result": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ExtractResponse"
              },
              {
                "$ref": "#/components/schemas/V3ExtractResponse"
              }
            ],
            "title": "Result"
          }
        },
        "type": "object",
        "required": [
          "split_name",
          "page_range",
          "result"
        ],
        "title": "ExtractSplitResponse",
        "description": "This is the response format for Extract -> Split Pipelines"
      },
      "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"
          }
        },
        "type": "object",
        "required": [
          "num_pages",
          "num_fields"
        ],
        "title": "ExtractUsage"
      },
      "FigureSummaryConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "If figure summarization should be performed.",
            "default": false
          },
          "prompt": {
            "type": "string",
            "title": "Prompt",
            "description": "Add information to the prompt for figure summarization. Note any visual cues that should be incorporated. Example: 'When provided a diagram, extract all of the figure content verbatim.'"
          },
          "override": {
            "type": "boolean",
            "title": "Override",
            "description": "If the figure summary prompt should override our default prompt.",
            "default": false
          },
          "advanced_chart_agent": {
            "type": "boolean",
            "title": "Advanced Chart Agent",
            "description": "If True, use the advanced chart agent. Defaults to False.",
            "default": false
          }
        },
        "type": "object",
        "title": "FigureSummaryConfig"
      },
      "FullResult": {
        "properties": {
          "type": {
            "type": "string",
            "const": "full",
            "title": "Type",
            "description": "type = 'full'"
          },
          "chunks": {
            "items": {
              "$ref": "#/components/schemas/ParseChunk"
            },
            "type": "array",
            "title": "Chunks"
          },
          "ocr": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OCRResult"
              },
              {
                "type": "null"
              }
            ]
          },
          "custom": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Custom"
          }
        },
        "type": "object",
        "required": [
          "type",
          "chunks"
        ],
        "title": "FullResult"
      },
      "GranularConfidence": {
        "properties": {
          "extract_confidence": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extract Confidence"
          },
          "parse_confidence": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parse Confidence"
          }
        },
        "type": "object",
        "title": "GranularConfidence"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "JobsResponse": {
        "properties": {
          "jobs": {
            "items": {
              "$ref": "#/components/schemas/SingleJob"
            },
            "type": "array",
            "title": "Jobs",
            "description": "List of jobs with their job_id, status, type, raw_config, created_at, num_pages and duration"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor to fetch the next page of results. If null, there are no more results."
          }
        },
        "type": "object",
        "required": [
          "jobs"
        ],
        "title": "JobsResponse"
      },
      "LargeTableChunkingConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "If large tables should be chunked into smaller tables, currently only supported on spreadsheet and CSV files.",
            "default": true
          },
          "size": {
            "type": "integer",
            "title": "Size",
            "description": "The max row/column size for a table to be chunked. Defaults to 50. Header rows/columns are persisted based on heuristics.",
            "default": 50
          }
        },
        "type": "object",
        "title": "LargeTableChunkingConfig"
      },
      "MergedTable": {
        "properties": {
          "content": {
            "type": "string",
            "title": "Content",
            "description": "The original content of a table before merge_tables merged it."
          },
          "bbox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "The original bounding box of a table before merge_tables merged it."
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url",
            "description": "(Experimental) The URL of the image for this original table fragment. Only populated when settings.return_images includes 'table'."
          }
        },
        "type": "object",
        "required": [
          "content",
          "bbox"
        ],
        "title": "MergedTable"
      },
      "OCRLine": {
        "properties": {
          "text": {
            "type": "string",
            "title": "Text"
          },
          "bbox": {
            "$ref": "#/components/schemas/BoundingBox"
          },
          "confidence": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence",
            "description": "OCR confidence score between 0 and 1, where 1 indicates highest confidence"
          },
          "chunk_index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chunk Index",
            "description": "The index of the chunk that the line belongs to."
          },
          "rotation": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rotation",
            "description": "The rotation angle in degrees, from 0 to 360, counterclockwise."
          }
        },
        "type": "object",
        "required": [
          "text",
          "bbox"
        ],
        "title": "OCRLine"
      },
      "OCRResult": {
        "properties": {
          "words": {
            "items": {
              "$ref": "#/components/schemas/OCRWord"
            },
            "type": "array",
            "title": "Words"
          },
          "lines": {
            "items": {
              "$ref": "#/components/schemas/OCRLine"
            },
            "type": "array",
            "title": "Lines"
          }
        },
        "type": "object",
        "required": [
          "words",
          "lines"
        ],
        "title": "OCRResult"
      },
      "OCRWord": {
        "properties": {
          "text": {
            "type": "string",
            "title": "Text"
          },
          "bbox": {
            "$ref": "#/components/schemas/BoundingBox"
          },
          "confidence": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence",
            "description": "OCR confidence score between 0 and 1, where 1 indicates highest confidence"
          },
          "chunk_index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chunk Index",
            "description": "The index of the chunk that the word belongs to."
          },
          "rotation": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rotation",
            "description": "The rotation angle in degrees, from 0 to 360, counterclockwise."
          }
        },
        "type": "object",
        "required": [
          "text",
          "bbox"
        ],
        "title": "OCRWord"
      },
      "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"
      },
      "ParseBlock": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Header",
              "Footer",
              "Title",
              "Section Header",
              "Page Number",
              "List Item",
              "Figure",
              "Table",
              "Key Value",
              "Text",
              "Comment",
              "Signature"
            ],
            "title": "Type",
            "description": "The type of block extracted from the document."
          },
          "bbox": {
            "$ref": "#/components/schemas/BoundingBox",
            "description": "The bounding box of the block extracted from the document."
          },
          "content": {
            "type": "string",
            "title": "Content",
            "description": "The content of the block extracted from the document."
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url",
            "description": "(Experimental) The URL of the image associated with the block."
          },
          "chart_data": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chart Data",
            "description": "(Experimental) The URL/link to chart data JSON for figure blocks processed by chart agent."
          },
          "confidence": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence",
            "description": "The confidence for the block. It is either low or high and takes into account factors like OCR and table structure",
            "default": "low"
          },
          "granular_confidence": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/GranularConfidence"
              },
              {
                "type": "null"
              }
            ],
            "description": "Granular confidence scores for the block. It is a dictionary of confidence scores for the block. The confidence scores will not be None if the user has enabled numeric confidence scores."
          },
          "merged_tables": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/MergedTable"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Merged Tables",
            "description": "Original table fragments that were combined into this table by merge_tables."
          },
          "extra": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra",
            "description": "Extra metadata fields for the block. Fields like 'is_chart' will only appear when set to True."
          }
        },
        "type": "object",
        "required": [
          "type",
          "bbox",
          "content"
        ],
        "title": "ParseBlock"
      },
      "ParseChunk": {
        "properties": {
          "content": {
            "type": "string",
            "title": "Content",
            "description": "The content of the chunk extracted from the document."
          },
          "embed": {
            "type": "string",
            "title": "Embed",
            "description": "Chunk content optimized for embedding and retrieval."
          },
          "enriched": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enriched",
            "description": "The enriched content of the chunk extracted from the document."
          },
          "enrichment_success": {
            "type": "boolean",
            "title": "Enrichment Success",
            "description": "Whether the enrichment was successful.",
            "default": false
          },
          "blocks": {
            "items": {
              "$ref": "#/components/schemas/ParseBlock"
            },
            "type": "array",
            "title": "Blocks"
          }
        },
        "type": "object",
        "required": [
          "content",
          "embed",
          "enriched",
          "blocks"
        ],
        "title": "ParseChunk"
      },
      "ParseConfigNew": {
        "properties": {
          "options": {
            "$ref": "#/components/schemas/BaseProcessingOptions"
          },
          "advanced_options": {
            "$ref": "#/components/schemas/AdvancedProcessingOptions"
          },
          "experimental_options": {
            "$ref": "#/components/schemas/ExperimentalProcessingOptions"
          },
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document"
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": true
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "document_url"
        ],
        "title": "ParseConfigNew"
      },
      "ParseResponse": {
        "properties": {
          "response_type": {
            "type": "string",
            "const": "parse",
            "title": "Response Type",
            "default": "parse"
          },
          "job_id": {
            "type": "string",
            "title": "Job Id"
          },
          "duration": {
            "type": "number",
            "title": "Duration",
            "description": "The duration of the parse request in seconds."
          },
          "pdf_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pdf Url",
            "description": "The storage URL of the converted PDF file."
          },
          "studio_link": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Studio Link",
            "description": "The link to the studio pipeline for the document."
          },
          "usage": {
            "$ref": "#/components/schemas/ParseUsage"
          },
          "result": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FullResult"
              },
              {
                "$ref": "#/components/schemas/UrlResult"
              }
            ],
            "title": "Result",
            "description": "The response from the document processing service. Note that there can be two types of responses, Full Result and URL Result. This is due to limitations on the max return size on HTTPS. If the response is too large, it will be returned as a presigned URL in the URL response. You should handle this in your application."
          }
        },
        "type": "object",
        "required": [
          "job_id",
          "duration",
          "usage",
          "result"
        ],
        "title": "ParseResponse"
      },
      "ParseUsage": {
        "properties": {
          "num_pages": {
            "type": "integer",
            "title": "Num Pages"
          },
          "credits": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credits"
          },
          "credit_breakdown": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "propertyNames": {
                  "enum": [
                    "page",
                    "html_page",
                    "docx_native_page",
                    "chart_agent",
                    "spreadsheet_cells",
                    "billable_spreadsheet_pages",
                    "agentic",
                    "complex",
                    "enrich_table",
                    "figure_summary",
                    "table_summary",
                    "key_value",
                    "agentic_text",
                    "promptable_agentic_text",
                    "reducto_lite_page"
                  ]
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credit Breakdown"
          },
          "page_billing_breakdown": {
            "anyOf": [
              {
                "additionalProperties": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "page",
                      "html_page",
                      "docx_native_page",
                      "agentic",
                      "complex",
                      "chart_agent",
                      "spreadsheet_cells",
                      "billable_spreadsheet_pages",
                      "enrich_table",
                      "figure_summary",
                      "table_summary",
                      "key_value",
                      "agentic_text",
                      "promptable_agentic_text",
                      "reducto_lite_page"
                    ]
                  },
                  "type": "array"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Billing Breakdown",
            "description": "Per-page breakdown of features used. Maps 1-indexed page numbers (as strings) to the list of billing features applied on that page (e.g. 'page', 'complex', 'chart_agent')."
          },
          "non_empty_cell_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Non Empty Cell Count",
            "description": "Total non-empty cells across all sheets. Only set for spreadsheet inputs."
          }
        },
        "type": "object",
        "required": [
          "num_pages"
        ],
        "title": "ParseUsage"
      },
      "PipelineConfig": {
        "properties": {
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n            1. A publicly available URL\n            2. A presigned S3 URL\n            3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n            4. [API-131] A list of URLs (for multi-document pipelines, V3 API only)\n"
          },
          "pipeline_id": {
            "type": "string",
            "title": "Pipeline Id",
            "description": "The ID of the pipeline to use for the document."
          },
          "settings": {
            "$ref": "#/components/schemas/PipelineSettings",
            "default": {}
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "document_url",
          "pipeline_id"
        ],
        "title": "PipelineConfig"
      },
      "PipelineResponse": {
        "properties": {
          "response_type": {
            "type": "string",
            "const": "pipeline",
            "title": "Response Type",
            "default": "pipeline"
          },
          "job_id": {
            "type": "string",
            "title": "Job Id"
          },
          "usage": {
            "$ref": "#/components/schemas/ParseUsage"
          },
          "result": {
            "$ref": "#/components/schemas/PipelineResult"
          }
        },
        "type": "object",
        "required": [
          "job_id",
          "usage",
          "result"
        ],
        "title": "PipelineResponse"
      },
      "PipelineResult": {
        "properties": {
          "parse": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ParseResponse"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ParseResponse"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parse"
          },
          "extract": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ExtractSplitResponse"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/ExtractResponse"
              },
              {
                "$ref": "#/components/schemas/V3ExtractResponse"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extract"
          },
          "split": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SplitResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "edit": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EditResponse"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "parse",
          "extract",
          "split"
        ],
        "title": "PipelineResult"
      },
      "PipelineSettings": {
        "properties": {
          "document_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Document Password",
            "description": "Password to decrypt password-protected documents."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "title": "PipelineSettings",
        "description": "Settings for pipeline execution that override pipeline defaults."
      },
      "QueuePriority": {
        "type": "string",
        "enum": [
          "auto",
          "standard",
          "batch"
        ],
        "title": "QueuePriority",
        "description": "Customer-facing queue priority for parse jobs.\n\n``AUTO`` and ``STANDARD`` are wire-level synonyms — both mean \"default\nqueue.\"  Downstream code only branches on ``BATCH``, so the difference\nis purely lexical.  Both values are first-class enum members so a\nrolling deploy is safe in either direction: a pre-#6134 pod (enum =\n``{auto, batch}``) and a post-fix pod (enum = ``{auto, standard, batch}``)\ncan both deserialise payloads the other produces.\n\nMigration plan (three stages, each a separate PR fully deployed before\nthe next):\n\n1. **Widen** *(this PR)*: enum = ``{AUTO, STANDARD, BATCH}``,\n   ``default=AUTO``.  Compatible with the still-running pre-#6134\n   prod pods after yesterday's rollback.\n2. **Flip default**: same enum, ``default=STANDARD``.  Ship after\n   stage 1 is everywhere.\n3. **Narrow** *(future, optional)*: drop ``AUTO`` once every Redis\n   payload and SDK has migrated.  Until then it stays as an\n   accepted alias."
      },
      "ResponseConfidence": {
        "properties": {
          "categories": {
            "items": {
              "$ref": "#/components/schemas/CategoryConfidence"
            },
            "type": "array",
            "title": "Categories"
          }
        },
        "type": "object",
        "required": [
          "categories"
        ],
        "title": "ResponseConfidence",
        "description": "Overall confidence breakdown for classification response."
      },
      "SingleJob": {
        "properties": {
          "job_id": {
            "type": "string",
            "title": "Job Id"
          },
          "status": {
            "type": "string",
            "enum": [
              "Pending",
              "Completed",
              "Failed",
              "Idle",
              "InProgress",
              "Completing",
              "Cancelled"
            ],
            "title": "Status"
          },
          "type": {
            "type": "string",
            "enum": [
              "Parse",
              "Extract",
              "Split",
              "Edit",
              "Pipeline",
              "Classify"
            ],
            "title": "Type"
          },
          "raw_config": {
            "type": "string",
            "title": "Raw Config"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "source": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Source"
          },
          "num_pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Num Pages"
          },
          "total_pages": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Pages"
          },
          "duration": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration"
          },
          "bucket": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "title": "Bucket"
          }
        },
        "type": "object",
        "required": [
          "job_id",
          "status",
          "type",
          "raw_config",
          "created_at",
          "num_pages",
          "total_pages",
          "duration"
        ],
        "title": "SingleJob"
      },
      "Split": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "pages": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Pages"
          },
          "conf": {
            "type": "string",
            "enum": [
              "high",
              "low"
            ],
            "title": "Conf",
            "default": "low"
          },
          "partitions": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SplitPartition"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partitions"
          }
        },
        "type": "object",
        "required": [
          "name",
          "pages"
        ],
        "title": "Split"
      },
      "SplitCategory": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "partition_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Partition Key"
          }
        },
        "type": "object",
        "required": [
          "name",
          "description"
        ],
        "title": "SplitCategory"
      },
      "SplitConfig": {
        "properties": {
          "options": {
            "$ref": "#/components/schemas/BaseProcessingOptions"
          },
          "advanced_options": {
            "$ref": "#/components/schemas/AdvancedProcessingOptions"
          },
          "experimental_options": {
            "$ref": "#/components/schemas/ExperimentalProcessingOptions"
          },
          "split_description": {
            "items": {
              "$ref": "#/components/schemas/SplitCategory"
            },
            "type": "array",
            "title": "Split Description",
            "description": "The configuration options for processing the document."
          },
          "split_rules": {
            "type": "string",
            "title": "Split Rules",
            "description": "The prompt that describes rules for splitting the document.",
            "default": "Split the document into the applicable sections. Sections may only overlap at their first and last page if at all."
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": false
          },
          "deep_split": {
            "type": "boolean",
            "title": "Deep Split",
            "default": false
          },
          "include_confidence": {
            "type": "boolean",
            "title": "Include Confidence",
            "default": false
          },
          "force_url_result": {
            "type": "boolean",
            "title": "Force Url Result",
            "description": "Force the endpoint result to be returned in URL form.",
            "default": false
          },
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n4. A job_id (jobid://) or a list of job_ids (jobid://) obtained from a previous /parse endpoint\n"
          },
          "split_options": {
            "$ref": "#/components/schemas/SplitOptions",
            "default": {
              "table_cutoff": "truncate",
              "allow_page_overlap": true,
              "auto_partition": true
            }
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "split_description",
          "document_url"
        ],
        "title": "SplitConfig"
      },
      "SplitOptions": {
        "properties": {
          "table_cutoff": {
            "type": "string",
            "enum": [
              "truncate",
              "preserve"
            ],
            "title": "Table Cutoff",
            "description": "If tables should be truncated to the first few rows or if all content should be preserved. truncate improves latency, preserve is recommended for cases where partition_key is being used and the partition_key may be included within the table. Defaults to truncate",
            "default": "truncate"
          },
          "allow_page_overlap": {
            "type": "boolean",
            "title": "Allow Page Overlap",
            "description": "If True, a page can belong to multiple categories/partitions. If False, each page must belong to exactly one category. Defaults to True.",
            "default": true
          },
          "auto_partition": {
            "type": "boolean",
            "title": "Auto Partition",
            "description": "If True (default), deep split may split a category into partitions even when that category has no configured partition_key. If False, categories without a partition_key are never partitioned, so partitioning happens only where you explicitly configured a partition_key.",
            "default": true
          }
        },
        "type": "object",
        "title": "SplitOptions"
      },
      "SplitPartition": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "pages": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Pages"
          },
          "conf": {
            "type": "string",
            "enum": [
              "high",
              "low"
            ],
            "title": "Conf",
            "default": "low"
          }
        },
        "type": "object",
        "required": [
          "name",
          "pages"
        ],
        "title": "SplitPartition"
      },
      "SplitResponse": {
        "properties": {
          "response_type": {
            "type": "string",
            "const": "split",
            "title": "Response Type",
            "default": "split"
          },
          "usage": {
            "$ref": "#/components/schemas/ParseUsage"
          },
          "result": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SplitResult"
              },
              {
                "$ref": "#/components/schemas/DeepSplitResult"
              },
              {
                "$ref": "#/components/schemas/UrlResult"
              }
            ],
            "title": "Result",
            "description": "The split result. If force_url_result is True, this is returned as a URL result."
          }
        },
        "type": "object",
        "required": [
          "usage",
          "result"
        ],
        "title": "SplitResponse"
      },
      "SplitResult": {
        "properties": {
          "section_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Section Mapping"
          },
          "splits": {
            "items": {
              "$ref": "#/components/schemas/Split"
            },
            "type": "array",
            "title": "Splits"
          }
        },
        "type": "object",
        "required": [
          "section_mapping",
          "splits"
        ],
        "title": "SplitResult"
      },
      "TableSummaryConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "If table summarization should be performed.",
            "default": false
          },
          "prompt": {
            "type": "string",
            "title": "Prompt",
            "description": "Add information to the prompt for table summarization."
          }
        },
        "type": "object",
        "title": "TableSummaryConfig"
      },
      "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"
      },
      "UrlResult": {
        "properties": {
          "type": {
            "type": "string",
            "const": "url",
            "title": "Type",
            "description": "type = 'url'"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "result_id": {
            "type": "string",
            "title": "Result Id"
          }
        },
        "type": "object",
        "required": [
          "type",
          "url",
          "result_id"
        ],
        "title": "UrlResult"
      },
      "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"
      },
      "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"
      },
      "WebhookConfigNew": {
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "disabled",
              "svix",
              "direct"
            ],
            "title": "Mode",
            "description": "The mode to use for webhook delivery. Defaults to 'disabled'. We recommend using 'svix' for production environments.",
            "default": "disabled"
          },
          "url": {
            "type": "string",
            "title": "Url",
            "description": "The URL to send the webhook to (if using direct webhoook)."
          },
          "metadata": {
            "title": "Metadata",
            "description": "JSON metadata included in webhook request body"
          },
          "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": "WebhookConfigNew"
      },
      "config__v2__AsyncSplitConfig": {
        "properties": {
          "options": {
            "$ref": "#/components/schemas/BaseProcessingOptions"
          },
          "advanced_options": {
            "$ref": "#/components/schemas/AdvancedProcessingOptions"
          },
          "experimental_options": {
            "$ref": "#/components/schemas/ExperimentalProcessingOptions"
          },
          "split_description": {
            "items": {
              "$ref": "#/components/schemas/SplitCategory"
            },
            "type": "array",
            "title": "Split Description",
            "description": "The configuration options for processing the document."
          },
          "split_rules": {
            "type": "string",
            "title": "Split Rules",
            "description": "The prompt that describes rules for splitting the document.",
            "default": "Split the document into the applicable sections. Sections may only overlap at their first and last page if at all."
          },
          "priority": {
            "type": "boolean",
            "title": "Priority",
            "description": "If True, attempts to process the job with priority if the user has priority processing budget available; by default, sync jobs are prioritized above async jobs.",
            "default": false
          },
          "deep_split": {
            "type": "boolean",
            "title": "Deep Split",
            "default": false
          },
          "include_confidence": {
            "type": "boolean",
            "title": "Include Confidence",
            "default": false
          },
          "force_url_result": {
            "type": "boolean",
            "title": "Force Url Result",
            "description": "Force the endpoint result to be returned in URL form.",
            "default": false
          },
          "document_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/UploadResponse"
              }
            ],
            "title": "Document Url",
            "description": "The URL of the document to be processed. You can provide one of the following:\n1. A publicly available URL\n2. A presigned S3 URL\n3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n4. A job_id (jobid://) or a list of job_ids (jobid://) obtained from a previous /parse endpoint\n"
          },
          "split_options": {
            "$ref": "#/components/schemas/SplitOptions",
            "default": {
              "table_cutoff": "truncate",
              "allow_page_overlap": true,
              "auto_partition": true
            }
          },
          "webhook": {
            "$ref": "#/components/schemas/WebhookConfigNew",
            "default": {
              "mode": "disabled",
              "channels": []
            }
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "split_description",
          "document_url"
        ],
        "title": "AsyncSplitConfig"
      }
    },
    "securitySchemes": {
      "SkippableHTTPBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}