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

# Get workflow

> Retrieve detailed information for a specific workflow by its ID.

## Path parameters

<ParamField path="workflow_id" type="string" required>
  The unique identifier of the workflow.
</ParamField>

## Response

<ResponseField name="id" type="string" required>
  Unique identifier for the workflow.
</ResponseField>

<ResponseField name="name" type="string" required>
  Workflow name.
</ResponseField>

<ResponseField name="workflow_type" type="string" required>
  Workflow type: `custom` or `auto`.
</ResponseField>

<ResponseField name="status" type="string" required>
  Workflow state: `active`, `inactive`, or `paused`.
</ResponseField>

<ResponseField name="created_at" type="string" required>
  ISO 8601 timestamp when the workflow was created.
</ResponseField>

<ResponseField name="source_id" type="string">
  Source connector ID.
</ResponseField>

<ResponseField name="destination_id" type="string">
  Destination connector ID.
</ResponseField>

<ResponseField name="schedule" type="string">
  Repeating run schedule.
</ResponseField>

<ResponseField name="workflow_nodes" type="array">
  Workflow processing pipeline nodes.

  For more information on workflow nodes, see [Workflow nodes](/api-reference/workflow/nodes/overview).
</ResponseField>

<ResponseField name="template_id" type="string">
  ID of the workflow template used to create this workflow.
</ResponseField>

<ResponseField name="reprocess_all" type="boolean">
  Whether all documents are reprocessed on every run.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp when the workflow was last updated.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url "${UNSTRUCTURED_API_URL}/api/v1/workflows/f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c" \
    --header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
  ```

  ```python Python SDK theme={null}
  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)
  ```

  ```python Python SDK (async) theme={null}
  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())
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
    "name": "my-workflow",
    "workflow_type": "auto",
    "status": "active",
    "source_id": "7f3e2a1b-4c5d-6e7f-8a9b-0c1d2e3f4a5b",
    "destination_id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
    "schedule": "daily",
    "workflow_nodes": null,
    "template_id": null,
    "reprocess_all": false,
    "created_at": "2026-04-29T10:00:00Z",
    "updated_at": null
  }
  ```
</ResponseExample>
