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

# reducto

> Document Intelligence API

**Server path:** `/reducto` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                | Description    |
| --------------------------------------------------- | -------------- |
| [`reducto_cancel_job`](#reducto_cancel_job)         | Cancel Job     |
| [`reducto_classify`](#reducto_classify)             | Classify       |
| [`reducto_edit`](#reducto_edit)                     | Edit           |
| [`reducto_edit_async`](#reducto_edit_async)         | Edit Async     |
| [`reducto_extract`](#reducto_extract)               | Extract        |
| [`reducto_extract_async`](#reducto_extract_async)   | Extract Async  |
| [`reducto_get_job`](#reducto_get_job)               | Retrieve Parse |
| [`reducto_list_jobs`](#reducto_list_jobs)           | Get Jobs       |
| [`reducto_parse`](#reducto_parse)                   | Parse          |
| [`reducto_parse_async`](#reducto_parse_async)       | Async Parse    |
| [`reducto_pipeline`](#reducto_pipeline)             | Pipeline       |
| [`reducto_pipeline_async`](#reducto_pipeline_async) | Pipeline Async |
| [`reducto_split`](#reducto_split)                   | Split          |
| [`reducto_split_async`](#reducto_split_async)       | Split Async    |
| [`reducto_upload`](#reducto_upload)                 | Upload         |

***

## reducto\_cancel\_job

Cancel Job

**Parameters:**

| Parameter | Type   | Required | Default | Description |
| --------- | ------ | -------- | ------- | ----------- |
| `job_id`  | string | Yes      | —       | Job Id      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "job_id": {
        "type": "string",
        "description": "Job Id"
      }
    },
    "required": [
      "PCID",
      "job_id"
    ]
  }
  ```
</Expandable>

***

## reducto\_classify

Classify

**Parameters:**

| Parameter               | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                                        |
| ----------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `classification_schema` | object\[] | No       | —       | A list of classification categories and their matching criteria.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |                                                                        |
| `document_metadata`     | string    | null     | No      | —                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Optional document-level metadata to include in classification prompts. |
| `input`                 | object    | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |                                                                        |
| `page_range`            | object    | No       | —       | 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.                                                                                                                                                                                                                                                                                                                                            |                                                                        |
| `persist_results`       | boolean   | No       | —       | If True, persist the results indefinitely. Defaults to False.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "classification_schema": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "category": {
              "type": "string",
              "description": "The category name/label that documents will be classified into (e.g., 'invoice', 'contract', 'receipt')."
            },
            "criteria": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "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'])."
            }
          },
          "required": [
            "category",
            "criteria"
          ]
        },
        "description": "A list of classification categories and their matching criteria."
      },
      "document_metadata": {
        "type": [
          "string",
          "null"
        ],
        "description": "Optional document-level metadata to include in classification prompts."
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "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."
      },
      "persist_results": {
        "type": "boolean",
        "description": "If True, persist the results indefinitely. Defaults to False."
      }
    },
    "required": [
      "PCID",
      "input"
    ]
  }
  ```
</Expandable>

***

## reducto\_edit

Edit

**Parameters:**

| Parameter           | Type      | Required | Default | Description                                                                                                                                                                                                                          |
| ------------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `document_url`      | object    | Yes      | —       | The URL of the document to be processed. You can provide one of the following: 1. A publicly available URL 2. A presigned S3 URL 3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document |
| `edit_instructions` | string    | Yes      | —       | The instructions for the edit.                                                                                                                                                                                                       |
| `edit_options`      | object    | No       | —       | Edit Options                                                                                                                                                                                                                         |
| `form_schema`       | object\[] | No       | —       | Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes. Only works for PDFs.                                                                                                                  |
| `priority`          | boolean   | No       | —       | 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.                                                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "document_url": {
        "description": "The URL of the document to be processed. You can provide one of the following: 1. A publicly available URL 2. A presigned S3 URL 3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document"
      },
      "edit_instructions": {
        "type": "string",
        "description": "The instructions for the edit."
      },
      "edit_options": {
        "type": "object",
        "description": "Edit Options",
        "properties": {
          "color": {
            "type": "string",
            "description": "The color to use for edits, in hex format."
          },
          "font_size": {
            "type": "number",
            "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": {
            "type": "string",
            "description": "The LLM provider to use for edit processing. If not specified, defaults to 'google'",
            "enum": [
              "openai",
              "anthropic",
              "google"
            ]
          },
          "enable_overflow_pages": {
            "type": "boolean",
            "description": "If True, creates overflow pages for text that doesn't fit in form fields. Defaults to False."
          },
          "flatten": {
            "type": "boolean",
            "description": "If True, flattens form fields after filling, converting them to static content. Defaults to False."
          }
        }
      },
      "form_schema": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "bbox": {
              "type": "object",
              "description": "The bbox value"
            },
            "description": {
              "type": "string",
              "description": "Description of the widget extracted from the document"
            },
            "type": {
              "type": "string",
              "enum": [
                "text",
                "checkbox",
                "radio",
                "dropdown",
                "barcode"
              ],
              "description": "Type of the form widget"
            },
            "fill": {
              "type": "boolean",
              "description": "If True (default), the system will attempt to fill this widget. If False, the widget will be created but intentionally left unfilled."
            },
            "value": {
              "type": "string",
              "description": "If provided, this value will be used directly instead of attempting to intelligently determine the field value."
            },
            "font_size": {
              "type": "number",
              "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."
            }
          },
          "required": [
            "bbox",
            "description",
            "type"
          ]
        },
        "description": "Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes. Only works for PDFs."
      },
      "priority": {
        "type": "boolean",
        "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."
      }
    },
    "required": [
      "PCID",
      "document_url",
      "edit_instructions"
    ]
  }
  ```
</Expandable>

***

## reducto\_edit\_async

Edit Async

**Parameters:**

| Parameter           | Type      | Required | Default | Description                                                                                                                                                                                                                          |
| ------------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `document_url`      | object    | Yes      | —       | The URL of the document to be processed. You can provide one of the following: 1. A publicly available URL 2. A presigned S3 URL 3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document |
| `edit_instructions` | string    | Yes      | —       | The instructions for the edit.                                                                                                                                                                                                       |
| `edit_options`      | object    | No       | —       | Edit Options                                                                                                                                                                                                                         |
| `form_schema`       | object\[] | No       | —       | Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes. Only works for PDFs.                                                                                                                  |
| `priority`          | boolean   | No       | —       | 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.                                                                     |
| `webhook`           | object    | No       | —       | The webhook value                                                                                                                                                                                                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "document_url": {
        "description": "The URL of the document to be processed. You can provide one of the following: 1. A publicly available URL 2. A presigned S3 URL 3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document"
      },
      "edit_instructions": {
        "type": "string",
        "description": "The instructions for the edit."
      },
      "edit_options": {
        "type": "object",
        "description": "Edit Options",
        "properties": {
          "color": {
            "type": "string",
            "description": "The color to use for edits, in hex format."
          },
          "font_size": {
            "type": "number",
            "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": {
            "type": "string",
            "description": "The LLM provider to use for edit processing. If not specified, defaults to 'google'",
            "enum": [
              "openai",
              "anthropic",
              "google"
            ]
          },
          "enable_overflow_pages": {
            "type": "boolean",
            "description": "If True, creates overflow pages for text that doesn't fit in form fields. Defaults to False."
          },
          "flatten": {
            "type": "boolean",
            "description": "If True, flattens form fields after filling, converting them to static content. Defaults to False."
          }
        }
      },
      "form_schema": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "bbox": {
              "type": "object",
              "description": "The bbox value"
            },
            "description": {
              "type": "string",
              "description": "Description of the widget extracted from the document"
            },
            "type": {
              "type": "string",
              "enum": [
                "text",
                "checkbox",
                "radio",
                "dropdown",
                "barcode"
              ],
              "description": "Type of the form widget"
            },
            "fill": {
              "type": "boolean",
              "description": "If True (default), the system will attempt to fill this widget. If False, the widget will be created but intentionally left unfilled."
            },
            "value": {
              "type": "string",
              "description": "If provided, this value will be used directly instead of attempting to intelligently determine the field value."
            },
            "font_size": {
              "type": "number",
              "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."
            }
          },
          "required": [
            "bbox",
            "description",
            "type"
          ]
        },
        "description": "Form schema for PDF forms. List of widgets with their types, descriptions, and bounding boxes. Only works for PDFs."
      },
      "priority": {
        "type": "boolean",
        "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."
      },
      "webhook": {
        "type": "object",
        "description": "The webhook value",
        "properties": {
          "mode": {
            "type": "string",
            "description": "The mode to use for webhook delivery. Defaults to 'disabled'. We recommend using 'svix' for production environments.",
            "enum": [
              "disabled",
              "svix",
              "direct"
            ]
          },
          "url": {
            "type": "string",
            "description": "The URL to send the webhook to (if using direct webhoook)."
          },
          "metadata": {
            "description": "JSON metadata included in webhook request body"
          },
          "channels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of Svix channels the message will be delivered down, omit to send to all channels."
          }
        }
      }
    },
    "required": [
      "PCID",
      "document_url",
      "edit_instructions"
    ]
  }
  ```
</Expandable>

***

## reducto\_extract

Extract

**Parameters:**

| Parameter | Type   | Required | Default | Description  |
| --------- | ------ | -------- | ------- | ------------ |
| `body`    | object | Yes      | —       | Request body |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "body"
    ]
  }
  ```
</Expandable>

***

## reducto\_extract\_async

Extract Async

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| -------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `async`        | object | No       | —       | The async value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `input`        | object | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |
| `instructions` | object | No       | —       | The instructions value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `parsing`      | object | No       | —       | The parsing value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `settings`     | object | No       | —       | The settings value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "async": {
        "type": "object",
        "description": "The async value",
        "properties": {
          "metadata": {
            "description": "JSON metadata included in webhook request body. Defaults to None."
          },
          "priority": {
            "type": "boolean",
            "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."
          },
          "webhook": {
            "description": "The webhook configuration for the asynchronous processing."
          }
        }
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "instructions": {
        "type": "object",
        "description": "The instructions value",
        "properties": {
          "schema": {
            "description": "The JSON schema to use for the extraction."
          },
          "system_prompt": {
            "type": "string",
            "description": "The system prompt to use for the extraction."
          }
        }
      },
      "parsing": {
        "type": "object",
        "description": "The parsing value",
        "properties": {
          "enhance": {
            "type": "object",
            "description": "The enhance value"
          },
          "retrieval": {
            "type": "object",
            "description": "The retrieval value"
          },
          "formatting": {
            "type": "object",
            "description": "The formatting value"
          },
          "spreadsheet": {
            "type": "object",
            "description": "The spreadsheet value"
          },
          "settings": {
            "type": "object",
            "description": "The settings value"
          }
        }
      },
      "settings": {
        "type": "object",
        "description": "The settings value",
        "properties": {
          "include_images": {
            "type": "boolean",
            "description": "If True, include images in the extraction."
          },
          "optimize_for_latency": {
            "type": "boolean",
            "description": "If True, jobs will be processed with a higher throughput and priority at a higher cost. Defaults to False."
          },
          "array_extract": {
            "type": "boolean",
            "description": "If True, use array extraction."
          },
          "deep_extract": {
            "type": "boolean",
            "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."
          },
          "citations": {
            "type": "object",
            "description": "The citations value"
          }
        }
      }
    },
    "required": [
      "PCID",
      "input"
    ]
  }
  ```
</Expandable>

***

## reducto\_get\_job

Retrieve Parse

**Parameters:**

| Parameter | Type   | Required | Default | Description |
| --------- | ------ | -------- | ------- | ----------- |
| `job_id`  | string | Yes      | —       | Job Id      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "job_id": {
        "type": "string",
        "description": "Job Id"
      }
    },
    "required": [
      "PCID",
      "job_id"
    ]
  }
  ```
</Expandable>

***

## reducto\_list\_jobs

Get Jobs

**Parameters:**

| Parameter         | Type    | Required | Default | Description                                                                                    |
| ----------------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------- |
| `exclude_configs` | boolean | No       | —       | Exclude raw\_config from response to reduce size                                               |
| `cursor`          | string  | No       | —       | Cursor for pagination. Use the next\_cursor from the previous response to fetch the next page. |
| `limit`           | integer | No       | —       | Maximum number of jobs to return per page. Defaults to 100, max 500.                           |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "exclude_configs": {
        "type": "boolean",
        "description": "Exclude raw_config from response to reduce size"
      },
      "cursor": {
        "type": "string",
        "description": "Cursor for pagination. Use the next_cursor from the previous response to fetch the next page."
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of jobs to return per page. Defaults to 100, max 500."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## reducto\_parse

Parse

**Parameters:**

| Parameter | Type   | Required | Default | Description  |
| --------- | ------ | -------- | ------- | ------------ |
| `body`    | object | Yes      | —       | Request body |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "body": {
        "description": "Request body"
      }
    },
    "required": [
      "PCID",
      "body"
    ]
  }
  ```
</Expandable>

***

## reducto\_parse\_async

Async Parse

**Parameters:**

| Parameter        | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `async`          | object | No       | —       | The async value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `enhance`        | object | No       | —       | The enhance value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `formatting`     | object | No       | —       | The formatting value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `input`          | object | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |
| `queue_priority` | string | No       | —       | Customer-facing queue priority for parse jobs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `retrieval`      | object | No       | —       | The retrieval value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `settings`       | object | No       | —       | The settings value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `spreadsheet`    | object | No       | —       | The spreadsheet value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "async": {
        "type": "object",
        "description": "The async value",
        "properties": {
          "metadata": {
            "description": "JSON metadata included in webhook request body. Defaults to None."
          },
          "priority": {
            "type": "boolean",
            "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."
          },
          "webhook": {
            "description": "The webhook configuration for the asynchronous processing."
          }
        }
      },
      "enhance": {
        "type": "object",
        "description": "The enhance value",
        "properties": {
          "agentic": {
            "type": "array",
            "description": "Agentic uses vision language models to enhance the accuracy of the output of different types of extraction. This will incur a cost and latency increase."
          },
          "summarize_figures": {
            "type": "boolean",
            "description": "If True, summarize figures using a small vision language model. Defaults to True."
          },
          "intelligent_ordering": {
            "type": "boolean",
            "description": "If True, use an advanced vision language model to improve reading order accuracy, with a small increase in latency. Defaults to False."
          }
        }
      },
      "formatting": {
        "type": "object",
        "description": "The formatting value",
        "properties": {
          "add_page_markers": {
            "type": "boolean",
            "description": "If True, add page markers to the output. Defaults to False. Useful for extracting data with page specific information."
          },
          "table_output_format": {
            "type": "string",
            "description": "The mode to use for table output. Defaults to dynamic, which returns md for simpler tables and html for more complex tables.",
            "enum": [
              "html",
              "json",
              "md",
              "jsonbbox",
              "dynamic",
              "csv"
            ]
          },
          "merge_tables": {
            "type": "boolean",
            "description": "A flag to indicate if consecutive tables with the same number of columns should be merged. Defaults to False."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "change_tracking",
                "highlight",
                "comments",
                "hyperlinks",
                "signatures",
                "ignore_watermarks"
              ]
            },
            "description": "A list of formatting to include in the output."
          }
        }
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "queue_priority": {
        "type": "string",
        "description": "Customer-facing queue priority for parse jobs.",
        "enum": [
          "auto",
          "batch"
        ]
      },
      "retrieval": {
        "type": "object",
        "description": "The retrieval value",
        "properties": {
          "chunking": {
            "type": "object",
            "description": "The chunking value"
          },
          "filter_blocks": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "Header",
                "Footer",
                "Title",
                "Section Header",
                "Page Number",
                "List Item",
                "Figure",
                "Table",
                "Key Value",
                "Text",
                "Comment",
                "Signature"
              ]
            },
            "description": "A list of block types to filter out from 'content' and 'embed' fields. By default, no blocks are filtered."
          },
          "embedding_optimized": {
            "type": "boolean",
            "description": "If True, use embedding optimized mode. Defaults to False."
          }
        }
      },
      "settings": {
        "type": "object",
        "description": "The settings value",
        "properties": {
          "ocr_system": {
            "type": "string",
            "description": "Standard is our best multilingual OCR system. Legacy only supports germanic languages and is available for backwards compatibility.",
            "enum": [
              "standard",
              "legacy"
            ]
          },
          "extraction_mode": {
            "type": "string",
            "description": "The mode to use for text extraction from PDFs. OCR mode uses optical character recognition only. Hybrid mode combines OCR with embedded PDF text for best accuracy (default).",
            "enum": [
              "ocr",
              "hybrid"
            ]
          },
          "force_url_result": {
            "type": "boolean",
            "description": "Force the result to be returned in URL form."
          },
          "force_file_extension": {
            "type": "string",
            "description": "Force the URL to be downloaded as a specific file extension (e.g. `.png`)."
          },
          "return_ocr_data": {
            "type": "boolean",
            "description": "If True, return OCR data in the result. Defaults to False."
          },
          "return_images": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "figure",
                "table",
                "page"
              ]
            },
            "description": "Whether to return images for the specified block types. 'page' returns full page images. By default, no images are returned."
          },
          "embed_pdf_metadata": {
            "type": "boolean",
            "description": "If True, embed OCR metadata into the returned PDF. Defaults to False."
          },
          "persist_results": {
            "type": "boolean",
            "description": "If True, persist the results indefinitely. Defaults to False."
          },
          "timeout": {
            "type": "number",
            "description": "The timeout for the job in seconds."
          },
          "page_range": {
            "description": "The page range to process (1-indexed). By default, the entire document is processed. For spreadsheets, you can also provide a list of sheet names."
          },
          "document_password": {
            "type": "string",
            "description": "Password to decrypt password-protected documents."
          }
        }
      },
      "spreadsheet": {
        "type": "object",
        "description": "The spreadsheet value",
        "properties": {
          "split_large_tables": {
            "type": "object",
            "description": "Split Large Tables"
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "cell_colors",
                "formula",
                "dropdowns"
              ]
            },
            "description": "Whether to include cell color, formula, and dropdown information in the output."
          },
          "clustering": {
            "type": "string",
            "description": "In a spreadsheet with different tables inside, we enable splitting up the tables by default. Accurate mode applies more powerful models for superior accuracy, at 5× the default per-cell rate. Disabling will register as one large table.",
            "enum": [
              "accurate",
              "fast",
              "disabled"
            ]
          },
          "exclude": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "hidden_sheets",
                "hidden_rows",
                "hidden_cols",
                "styling",
                "spreadsheet_images"
              ]
            },
            "description": "Whether to exclude hidden sheets, rows, or columns in the output."
          }
        }
      }
    },
    "required": [
      "PCID",
      "input"
    ]
  }
  ```
</Expandable>

***

## reducto\_pipeline

Pipeline

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `input`       | object | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |
| `pipeline_id` | string | Yes      | —       | The ID of the pipeline to use for the document.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `settings`    | object | No       | —       | Settings for pipeline execution that override pipeline defaults.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "pipeline_id": {
        "type": "string",
        "description": "The ID of the pipeline to use for the document."
      },
      "settings": {
        "type": "object",
        "description": "Settings for pipeline execution that override pipeline defaults.",
        "properties": {
          "document_password": {
            "type": "string",
            "description": "Password to decrypt password-protected documents."
          }
        }
      }
    },
    "required": [
      "PCID",
      "input",
      "pipeline_id"
    ]
  }
  ```
</Expandable>

***

## reducto\_pipeline\_async

Pipeline Async

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `async`       | object | No       | —       | The async value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `input`       | object | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |
| `pipeline_id` | string | Yes      | —       | The ID of the pipeline to use for the document.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `settings`    | object | No       | —       | Settings for pipeline execution that override pipeline defaults.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "async": {
        "type": "object",
        "description": "The async value",
        "properties": {
          "metadata": {
            "description": "JSON metadata included in webhook request body. Defaults to None."
          },
          "priority": {
            "type": "boolean",
            "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."
          },
          "webhook": {
            "description": "The webhook configuration for the asynchronous processing."
          }
        }
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "pipeline_id": {
        "type": "string",
        "description": "The ID of the pipeline to use for the document."
      },
      "settings": {
        "type": "object",
        "description": "Settings for pipeline execution that override pipeline defaults.",
        "properties": {
          "document_password": {
            "type": "string",
            "description": "Password to decrypt password-protected documents."
          }
        }
      }
    },
    "required": [
      "PCID",
      "input",
      "pipeline_id"
    ]
  }
  ```
</Expandable>

***

## reducto\_split

Split

**Parameters:**

| Parameter           | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `input`             | object    | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |
| `parsing`           | object    | No       | —       | The parsing value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `settings`          | object    | No       | —       | The settings value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `split_description` | object\[] | Yes      | —       | The configuration options for processing the document.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `split_rules`       | string    | No       | —       | The prompt that describes rules for splitting the document.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "parsing": {
        "type": "object",
        "description": "The parsing value",
        "properties": {
          "enhance": {
            "type": "object",
            "description": "The enhance value"
          },
          "retrieval": {
            "type": "object",
            "description": "The retrieval value"
          },
          "formatting": {
            "type": "object",
            "description": "The formatting value"
          },
          "spreadsheet": {
            "type": "object",
            "description": "The spreadsheet value"
          },
          "settings": {
            "type": "object",
            "description": "The settings value"
          }
        }
      },
      "settings": {
        "type": "object",
        "description": "The settings value",
        "properties": {
          "table_cutoff": {
            "type": "string",
            "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",
            "enum": [
              "truncate",
              "preserve"
            ]
          },
          "allow_page_overlap": {
            "type": "boolean",
            "description": "If True, a page can belong to multiple categories/partitions. If False, each page must belong to exactly one category. Defaults to True."
          }
        }
      },
      "split_description": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name value"
            },
            "description": {
              "type": "string",
              "description": "The description value"
            },
            "partition_key": {
              "type": "string",
              "description": "Partition Key"
            }
          },
          "required": [
            "name",
            "description"
          ]
        },
        "description": "The configuration options for processing the document."
      },
      "split_rules": {
        "type": "string",
        "description": "The prompt that describes rules for splitting the document."
      }
    },
    "required": [
      "PCID",
      "input",
      "split_description"
    ]
  }
  ```
</Expandable>

***

## reducto\_split\_async

Split Async

**Parameters:**

| Parameter           | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `async`             | object    | No       | —       | The async value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `input`             | object    | Yes      | —       | For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions |
| `parsing`           | object    | No       | —       | The parsing value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `settings`          | object    | No       | —       | The settings value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `split_description` | object\[] | Yes      | —       | The configuration options for processing the document.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `split_rules`       | string    | No       | —       | The prompt that describes rules for splitting the document.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "async": {
        "type": "object",
        "description": "The async value",
        "properties": {
          "metadata": {
            "description": "JSON metadata included in webhook request body. Defaults to None."
          },
          "priority": {
            "type": "boolean",
            "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."
          },
          "webhook": {
            "description": "The webhook configuration for the asynchronous processing."
          }
        }
      },
      "input": {
        "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:             1. A publicly available URL             2. A presigned S3 URL             3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document             4. A jobid:// prefixed URL obtained from a previous /parse invocation             5. A list of URLs (for multi-document pipelines, V3 API only)              For edit pipelines, this should be a string containing the edit instructions"
      },
      "parsing": {
        "type": "object",
        "description": "The parsing value",
        "properties": {
          "enhance": {
            "type": "object",
            "description": "The enhance value"
          },
          "retrieval": {
            "type": "object",
            "description": "The retrieval value"
          },
          "formatting": {
            "type": "object",
            "description": "The formatting value"
          },
          "spreadsheet": {
            "type": "object",
            "description": "The spreadsheet value"
          },
          "settings": {
            "type": "object",
            "description": "The settings value"
          }
        }
      },
      "settings": {
        "type": "object",
        "description": "The settings value",
        "properties": {
          "table_cutoff": {
            "type": "string",
            "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",
            "enum": [
              "truncate",
              "preserve"
            ]
          },
          "allow_page_overlap": {
            "type": "boolean",
            "description": "If True, a page can belong to multiple categories/partitions. If False, each page must belong to exactly one category. Defaults to True."
          }
        }
      },
      "split_description": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name value"
            },
            "description": {
              "type": "string",
              "description": "The description value"
            },
            "partition_key": {
              "type": "string",
              "description": "Partition Key"
            }
          },
          "required": [
            "name",
            "description"
          ]
        },
        "description": "The configuration options for processing the document."
      },
      "split_rules": {
        "type": "string",
        "description": "The prompt that describes rules for splitting the document."
      }
    },
    "required": [
      "PCID",
      "input",
      "split_description"
    ]
  }
  ```
</Expandable>

***

## reducto\_upload

Upload

**Parameters:**

| Parameter   | Type   | Required | Default | Description         |
| ----------- | ------ | -------- | ------- | ------------------- |
| `extension` | string | No       | —       | The extension value |
| `file`      | object | No       | —       | The file value      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "extension": {
        "type": "string",
        "description": "The extension value"
      },
      "file": {
        "description": "The file value"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>
