> ## 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.

# Get Processor Run

> Retrieve details about a specific processor run, including its status, outputs, and any edits made during review.

A common use case for this endpoint is to poll for the status and final output of an async processor run when using the [Run Processor](/api-reference/endpoint/run_processor) endpoint. For instance, if you do not want to not configure webhooks to receive the output via completion/failure events.

### URL Parameters

<ParamField path="id" type="string" required>
  The unique identifier of the processor run to retrieve.
</ParamField>

### Response

<ResponseField name="success" type="boolean">
  A true or false value indicating whether the request was successful.
</ResponseField>

<ResponseField name="processorRun" type="object">
  Details about the requested processor run. See the [ProcessorRun
  object](/api-reference/objects/processor_run) for more details.
</ResponseField>

<RequestExample>
  ```bash Example Request with cURL theme={null}
  curl --location --request GET 'https://api-prod.extend.app/processor_runs/dpr_1234' \
  --header 'Authorization: Bearer <API_TOKEN>'
  ```

  ```javascript Node.js theme={null}
  const axios = require("axios");

  const getProcessorRun = async (processorRunId) => {
    try {
      const response = await axios.get(
        `https://api-prod.extend.app/processor_runs/${processorRunId}`,
        {
          headers: {
            Authorization: "Bearer <API_TOKEN>",
          },
        }
      );

      console.log("Processor run details:", response.data);
    } catch (error) {
      if (error.response?.status === 404) {
        console.error("Processor run not found");
      } else {
        console.error("Error:", error.response?.data || error.message);
      }
    }
  };

  getProcessorRun("dpr_1234");
  ```

  ```python Python theme={null}
  import requests

  def get_processor_run(processor_run_id):
      url = f"https://api-prod.extend.app/processor_runs/{processor_run_id}"
      headers = {
          "Authorization": "Bearer <API_TOKEN>"
      }

      try:
          response = requests.get(url, headers=headers)
          response.raise_for_status()
          print("Processor run details:", response.json())
      except requests.exceptions.HTTPError as e:
          if e.response.status_code == 404:
              print("Processor run not found")
          else:
              print("Error:", e)
      except requests.exceptions.RequestException as e:
          print("Error:", e)

  get_processor_run('dpr_1234')
  ```
</RequestExample>

<ResponseExample>
  ```json Example Response theme={null}
  {
    "success": true,
    "processorRun": {
      "object": "document_processor_run",
      "id": "dpr_1234",
      "processorId": "dp_5678",
      "processorVersionId": "dpv_91011",
      "processorName": "Invoice Extractor",
      "status": "PROCESSED",
      "metadata": {
        "internal_id": "id_1234"
      },
      "reviewed": true,
      "edited": true,
      "edits": {
        "total_amount": {
          "originalValue": "1000.00",
          "editedValue": "1100.00",
          "fieldType": "currency",
          "notes": "Corrected after tax calculation"
        }
      },
      "type": "EXTRACT",
      "config": {
        // Config object - see “Processor configs” for details
      },
      "initialOutput": {
        // Output object - see “Processor output types” for details
      },
      "reviewedOutput": {
        // Output object - see “Processor output types” for details
      },
      "output": {
        // Output object - see “Processor output types” for details
      },
      "files": [
        {
          "name": "invoice.pdf"
        }
      ],
      "url": "https://platform.extend.app/processor-runs/dpr_1234"
    }
  }
  ```
</ResponseExample>
