curl --request GET \
--url "${UNSTRUCTURED_API_URL}/api/v1/jobs/" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import ListJobsRequest
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.jobs.list_jobs(
request=ListJobsRequest()
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import ListJobsRequest
async def list_jobs():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.jobs.list_jobs_async(
request=ListJobsRequest()
)
print(response)
asyncio.run(list_jobs())
[
{
"id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"workflow_id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"workflow_name": "My ETL Workflow",
"status": "COMPLETED",
"created_at": "2026-01-01T00:00:00Z",
"runtime": "PT2M30S",
"input_file_ids": null,
"output_node_files": [
{
"node_id": "n1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"file_id": "output-001.json",
"node_type": "destination",
"node_subtype": "s3"
}
],
"job_type": "ephemeral"
}
]
Job
List jobs
Retrieve a list of jobs with optional filtering.
GET
/
api
/
v1
/
jobs
/
curl --request GET \
--url "${UNSTRUCTURED_API_URL}/api/v1/jobs/" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import ListJobsRequest
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.jobs.list_jobs(
request=ListJobsRequest()
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import ListJobsRequest
async def list_jobs():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.jobs.list_jobs_async(
request=ListJobsRequest()
)
print(response)
asyncio.run(list_jobs())
[
{
"id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"workflow_id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"workflow_name": "My ETL Workflow",
"status": "COMPLETED",
"created_at": "2026-01-01T00:00:00Z",
"runtime": "PT2M30S",
"input_file_ids": null,
"output_node_files": [
{
"node_id": "n1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"file_id": "output-001.json",
"node_type": "destination",
"node_subtype": "s3"
}
],
"job_type": "ephemeral"
}
]
Query parameters
string
Filter by workflow ID.
string
Filter by job status.
| Value | Description |
|---|---|
SCHEDULED | Job is queued to run. |
IN_PROGRESS | Job is currently running. |
COMPLETED | Job finished successfully. |
STOPPED | Job was manually stopped. |
FAILED | Job failed to complete. |
Response
string
required
Unique identifier for the job.
string
required
Unique identifier of the workflow that created this job.
string
required
Name of the workflow that created this job.
string
required
Job status.
| Value | Description |
|---|---|
SCHEDULED | Job is queued to run. |
IN_PROGRESS | Job is currently running. |
COMPLETED | Job finished successfully. |
STOPPED | Job was manually stopped. |
FAILED | Job failed to complete. |
string
required
ISO 8601 timestamp when the job was created.
string
ISO 8601 duration of the job run.
array
IDs of input files for this job.
array
Output file metadata objects. Each object includes
node_id, file_id, node_type, and node_subtype.string
Job type. Default:
ephemeral.curl --request GET \
--url "${UNSTRUCTURED_API_URL}/api/v1/jobs/" \
--header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import ListJobsRequest
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = client.jobs.list_jobs(
request=ListJobsRequest()
)
print(response)
import asyncio
import os
from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import ListJobsRequest
async def list_jobs():
client = UnstructuredClient(
api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
server_url=os.getenv("UNSTRUCTURED_API_URL"),
)
response = await client.jobs.list_jobs_async(
request=ListJobsRequest()
)
print(response)
asyncio.run(list_jobs())
[
{
"id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
"workflow_id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
"workflow_name": "My ETL Workflow",
"status": "COMPLETED",
"created_at": "2026-01-01T00:00:00Z",
"runtime": "PT2M30S",
"input_file_ids": null,
"output_node_files": [
{
"node_id": "n1a2b3c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
"file_id": "output-001.json",
"node_type": "destination",
"node_subtype": "s3"
}
],
"job_type": "ephemeral"
}
]
Was this page helpful?
⌘I

