Run Workflow
Run a workflow. A workflow is a sequence of steps that process files and data in a specific order to achieve a desired outcome. See Async Processing for a full guide on polling helpers and webhooks.
Pass file for a single document use case (more common), or package to process 2–50 files together as one package in a single run where context across files is used together to determine final output. Exactly one of file or package must be provided. See Package runs for details.
Polling with the SDK
The SDK provides a createAndPoll / create_and_poll method that handles polling automatically, returning when the run reaches a terminal state (PROCESSED, FAILED, CANCELLED, NEEDS_REVIEW, or REJECTED):
TypeScript
Python
Java
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
Headers
API version to use for the request. If you’re using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a 400 Bad Request or be set to a previous legacy version. See API Versioning for more details.
Request
The file to be processed. Supported file types can be found here. Files can be provided as a URL, an Extend file ID, or raw text. Mutually exclusive with package — provide one or the other. If you wish to process many files as independent runs, consider using the Batch Run Workflow endpoint.
A set of 2–50 files to process together in a single workflow run. Mutually exclusive with file — provide one or the other.
Predetermined outputs to be used for the workflow run. Generally not recommended for most use cases, however, can be useful in cases of overriding a classification in a workflow, or a subset of extraction fields when data is known. Not supported on package runs — a package run produces a single merged result across all files and cannot accept pre-supplied per-processor outputs.
An optional object that can be passed in to identify the run. It will be returned back to you in the response and webhooks. Maximum size is 10KB.
To categorize runs for billing and usage tracking, include extend:usage_tags with an array of string values (e.g., {"extend:usage_tags": ["production", "team-eng", "customer-123"]}). Tags must contain only alphanumeric characters, hyphens, and underscores; any special characters will be automatically removed.
Response
The type of object. In this case, it will always be "workflow_run".
The ID of the workflow run.
Example: "workflow_run_xKm9pNv3qWsY_jL2tR5Dh"
A summary representation of a workflow version (without steps).
A URL to view this workflow run in the Extend dashboard.
Example: "https://dashboard.extend.ai/workflows/workflow_run_xKm9pNv3qWsY_jL2tR5Dh"
The status of a workflow run:
"PENDING"- The workflow run is waiting to be processed"PROCESSING"- The workflow run is currently processing"NEEDS_REVIEW"- The workflow run requires manual review"REJECTED"- The workflow run was rejected during review"PROCESSED"- The workflow run completed successfully"FAILED"- The workflow run encountered an error"CANCELLED"- The workflow run was cancelled"CANCELLING"- The workflow run is being cancelled
The batch ID of the WorkflowRun. If this WorkflowRun was created as part of a batch of files, all runs in that batch will have the same batch ID.
Example: "batch_7Ws31-F5"
The time (in UTC) at which the workflow run was created. Will follow the RFC 3339 format. Will be null if the run hasn’t started yet.
Example: "2025-04-28T17:01:39.285Z"
The email address of the person who reviewed the workflow run. Will be null if the workflow run has not been reviewed.
Example: "jane.doe@example.com"
A note that is added if a workflow run is rejected.
Example: "Invalid invoice format"
The time (in UTC) at which the workflow run was reviewed. Will follow the RFC 3339 format. Will be null if the workflow run has not been reviewed.
Example: "2024-03-21T16:45:00Z"
The time (in UTC) at which the workflow run started executing. This will always be after the initialRunAt time. Will follow the RFC 3339 format. Will be null if the workflow run has not started executing.
Example: "2024-03-21T15:30:00Z"
The time (in UTC) that the workflow finished executing. Will follow the RFC 3339 format. Will be null if the workflow run has not finished executing.
Example: "2024-03-21T15:35:00Z"
Usage credits consumed by this workflow run, including a breakdown of every contributing child run.
Availability: Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.

