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

# The ProcessorRun object

The ProcessorRun object is the core object of processor runs, and is returned by the [Run Processor](/api-reference/endpoint/run_processor) endpoint as well as the [Get Processor Run](/api-reference/endpoint/get_processor_run) endpoint.
These objects also represent a single output of a workflow run, which would typically have a list of multiple processor runs for chained processors.

The object represents a single run of a processor and contains all the information about the run, including the output data, the processor that was run, and the status of the run.

<Expandable title="properties" defaultOpen>
  <ResponseField name="object" type="string">
    The type of response, will always be "document\_processor\_run".
  </ResponseField>

  {" "}

  <ResponseField name="id" type="string">
    The unique identifier for this processor run.
  </ResponseField>

  {" "}

  <ResponseField name="mergedProcessors" type="array">
    An array of processors that were merged to create this output. Will be an
    empty array unless this output was the result of a MergeExtraction step in a
    workflow.

    <Expandable title="properties">
      <ResponseField name="processorId" type="string">
        The ID of the merged processor.
      </ResponseField>

      <ResponseField name="processorVersionId" type="string">
        The ID of the specific processor version that was merged.
      </ResponseField>

      <ResponseField name="processorName" type="string">
        The name of the merged processor.
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="output" type="object">
    The final output, either reviewed or initial.

    Conforms to the shape of [output types](/api-reference/guides/output_types) and depends on the processor type and configuration shape.
  </ResponseField>

  {" "}

  <ResponseField name="processorId" type="string">
    The ID of the processor used for this run.
  </ResponseField>

  {" "}

  <ResponseField name="processorVersionId" type="string">
    The ID of the specific processor version used.
  </ResponseField>

  {" "}

  <ResponseField name="processorName" type="string">
    The name of the processor.
  </ResponseField>

  {" "}

  <ResponseField name="status" type="string">
    The current status of the processor run (e.g., "PROCESSING", "PROCESSED",
    "FAILED").
  </ResponseField>

  {" "}

  <ResponseField name="failureReason" type="string">
    If the run failed, indicates the reason for failure.
  </ResponseField>

  {" "}

  <ResponseField name="failureMessage" type="string">
    If the run failed, provides a detailed message about the failure.
  </ResponseField>

  {" "}

  <ResponseField name="metadata" type="object">
    Any metadata that was provided when creating the processor run.
  </ResponseField>

  {" "}

  <ResponseField name="reviewed" type="boolean">
    Indicates whether the run has been reviewed.
  </ResponseField>

  {" "}

  <ResponseField name="edited" type="boolean">
    Indicates whether the run results have been edited.
  </ResponseField>

  {" "}

  <ResponseField name="edits" type="object">
    Contains any edits made to the processor output.

    <Expandable title="properties">
      <ResponseField name="fieldName" type="object">
        For each edited field:

        <ResponseField name="originalValue" type="any">
          The original value before editing.
        </ResponseField>

        <ResponseField name="editedValue" type="any">
          The value after editing.
        </ResponseField>

        <ResponseField name="fieldType" type="string">
          The type of the field.
        </ResponseField>

        <ResponseField name="notes" type="string">
          Any notes added during editing.
        </ResponseField>
      </ResponseField>
    </Expandable>
  </ResponseField>

  {" "}

  <ResponseField name="type" type="string">
    The type of processor (e.g., "EXTRACT", "CLASSIFY").
  </ResponseField>

  {" "}

  <ResponseField name="config" type="object">
    The configuration used for this processor run.
  </ResponseField>

  {" "}

  <ResponseField name="initialOutput" type="object">
    The initial output from the processor.
  </ResponseField>

  {" "}

  <ResponseField name="reviewedOutput" type="object">
    The output after review, if any.
  </ResponseField>

  <ResponseField name="files" type="array">
    Details of the processed files.

    If this was a file generated from a splitter processor, this will be the sub file.

    See the [File object](/api-reference/objects/file) for more details.
  </ResponseField>

  <ResponseField name="url" type="string">
    URL to view the processor run.
  </ResponseField>
</Expandable>

<ResponseExample>
  ```json Example Response theme={null}
  {
    "object": "document_processor_run",
    "id": "dpr_1234",
    "output": { // Will be null until the run is processed
      // Output object - see “Processor output types” for details
    },
    "processorId": "dp_5678",
    "processorVersionId": "dpv_91011",
    "processorName": "Invoice Extractor",
    "status": "PROCESSED",
    "metadata": {
      "internal_id": "id_1234"
    },
    "reviewed": false,
    "edited": false,
    "edits": null,
    "type": "EXTRACT",
    "mergedProcessors": [],
    "config": {
      // Config object - see “Processor configs” for details
    },
    "files": [
      {
        "name": "example.pdf",
        // Other file fields, which can be found in the File object page
      }
    ],
    "url": "https://dashboard.extend.app/runs/dpr_1234"
  }
  ```
</ResponseExample>
