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
Filter by workflow ID.
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
Unique identifier for the job.
Unique identifier of the workflow that created this job.
Name of the workflow that created this job.
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. |
ISO 8601 timestamp when the job was created.
ISO 8601 duration of the job run.
IDs of input files for this job.
Output file metadata objects. Each object includes
node_id, file_id, node_type, and node_subtype.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

