Run a workflow with a file. 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.
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):
Bearer authentication of the form Bearer <token>, where token is your auth token.
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 cancelledThe 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.
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.
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. If you wish to process more at a time, consider using the Batch Run Workflow endpoint.
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.