curl --request GET \
--url "${UNSTRUCTURED_API_URL}/api/v1/workflows/f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import GetWorkflowRequest
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.workflows.get_workflow(
request=GetWorkflowRequest(
workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
)
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import GetWorkflowRequest
async def get_workflow():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.workflows.get_workflow_async(
request=GetWorkflowRequest(
workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
)
)
print(response)
asyncio.run(get_workflow())
{
"id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"name": "my-workflow",
"key": "my-workflow-a1b2c3",
"workflow_type": "custom",
"status": "active",
"sources": ["7f3e2a1b-4c5d-6e7f-8a9b-0c1d2e3f4a5b"],
"destinations": ["1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"],
"workflow_nodes": [
{
"name": "Partition",
"type": "partition",
"subtype": "vlm",
"settings": {}
}
],
"schedule": {"crontab_entries": [{"cron_expression": "0 0 * * *"}]},
"reprocess_all": false,
"skip_preflight": false,
"edit_lock": null,
"created_at": "2026-04-29T10:00:00Z",
"updated_at": null
}
Workflow
Get workflow
Retrieve detailed information for a specific workflow by its ID.
GET
/
api
/
v1
/
workflows
/
{workflow_id}
curl --request GET \
--url "${UNSTRUCTURED_API_URL}/api/v1/workflows/f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import GetWorkflowRequest
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.workflows.get_workflow(
request=GetWorkflowRequest(
workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
)
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import GetWorkflowRequest
async def get_workflow():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.workflows.get_workflow_async(
request=GetWorkflowRequest(
workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
)
)
print(response)
asyncio.run(get_workflow())
{
"id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"name": "my-workflow",
"key": "my-workflow-a1b2c3",
"workflow_type": "custom",
"status": "active",
"sources": ["7f3e2a1b-4c5d-6e7f-8a9b-0c1d2e3f4a5b"],
"destinations": ["1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"],
"workflow_nodes": [
{
"name": "Partition",
"type": "partition",
"subtype": "vlm",
"settings": {}
}
],
"schedule": {"crontab_entries": [{"cron_expression": "0 0 * * *"}]},
"reprocess_all": false,
"skip_preflight": false,
"edit_lock": null,
"created_at": "2026-04-29T10:00:00Z",
"updated_at": null
}
Path parameters
string
required
The unique identifier of the workflow.
Response
string
required
Unique identifier for the workflow.
string
required
Workflow name.
string
Workflow type, when available:
custom, basic, advanced, or platinum.string
required
Workflow state:
active or inactive.string
required
ISO 8601 timestamp when the workflow was created.
object
Repeating run schedule, with
crontab_entries containing cron_expression values.array
required
Workflow processing pipeline nodes.For more information on workflow nodes, see Workflow nodes.
boolean
true reprocesses all source documents on every run. With false, supported source connectors can skip unchanged documents. Other connectors still reprocess all documents.string
ISO 8601 timestamp when the workflow was last updated.
array
required
Source connector IDs bound to the workflow.
array
required
Destination connector IDs bound to the workflow.
string
Workspace-scoped workflow identifier.
boolean
true skips job preflight checks. false uses the default preflight behavior.object
Edit lock details while someone edits the workflow in the console. Updates and deletes by other users return HTTP 423 until the editor saves or the lock expires.
curl --request GET \
--url "${UNSTRUCTURED_API_URL}/api/v1/workflows/f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import GetWorkflowRequest
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.workflows.get_workflow(
request=GetWorkflowRequest(
workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
)
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import GetWorkflowRequest
async def get_workflow():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.workflows.get_workflow_async(
request=GetWorkflowRequest(
workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c"
)
)
print(response)
asyncio.run(get_workflow())
{
"id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"name": "my-workflow",
"key": "my-workflow-a1b2c3",
"workflow_type": "custom",
"status": "active",
"sources": ["7f3e2a1b-4c5d-6e7f-8a9b-0c1d2e3f4a5b"],
"destinations": ["1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"],
"workflow_nodes": [
{
"name": "Partition",
"type": "partition",
"subtype": "vlm",
"settings": {}
}
],
"schedule": {"crontab_entries": [{"cron_expression": "0 0 * * *"}]},
"reprocess_all": false,
"skip_preflight": false,
"edit_lock": null,
"created_at": "2026-04-29T10:00:00Z",
"updated_at": null
}
Was this page helpful?

