---
title: "Get Job per-file processing status"
method: GET
path: "/api/v1/jobs/{job_id}/file-status"
tags: ["jobs"]
---

# Get Job per-file processing status

`GET /api/v1/jobs/{job_id}/file-status`

## Request

- Base URL: `https://platform-api.transform.unstructured.io` (the document declares no server; this is the origin it was published from)
- URL: `https://platform-api.transform.unstructured.io/api/v1/jobs/{job_id}/file-status`
- Auth: none declared
- TypeScript: <https://skmtc.dev/unstructured/apis/platform-api/docs/api/v1/jobs/:job_id/file-status/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve the processing status of every file in a job: one entry per file, carrying its status for the whole job and the workflow step it currently sits at. Complements `/jobs/{job_id}/details`, which reports the same work as per-node counts, and `/jobs/{job_id}/failed-files`, which covers failures only. Call this endpoint at most 12 times per minute for each job and API key or JWT identity. For source-listed files, filter by `discovered_by_node_id`; that subset is complete when `index_finished` is true and `truncated` is false. Read the job status alongside this response because a failed source also counts as finished.

## Path parameters

- `job_id` string, uuid, required

## Headers

- `unstructured-api-key` string, nullable

## Response `200`

Successful Response

- JobFileStatuses: Every file's processing status for one job.
  - `id` string, uuid, required
  - `files` FileStatus[], required
    - `record_id` string, required: The source connector's identifier for the file. Usually a UUID derived from the path, but connector-defined: elsewhere a path or a document id.
    - `document` string, required
    - `status` 'READY' | 'IN_PROGRESS' | 'SUCCESS' | 'FAILURE', required: A record's status across the whole workflow. Narrower than a node's status: a record is never TERMINATED, because a file skipped at every node by incremental dedup still counts as processed.
    - `error` string, nullable: Failure reason from the node the file is at, if any.
    - `time_elapsed` number, nullable: Seconds across the whole workflow. Set only once the file finishes.
    - `current_node` FileStatusNode: The workflow step a file currently sits at, and its state there. Identity only: join ``id`` against the workflow's DAG for the node's name, type and settings.
      - `id` string, required
      - `status` string, required: READY, IN_PROGRESS, SUCCESS, FAILURE or TERMINATED. Wider than the file's own status: TERMINATED under a SUCCESS file means the file was skipped.
      - `tries` integer
      - `time_elapsed` number, nullable: Seconds this file has spent at this node.
    - `discovered_by_node_id` string, nullable: Id of the workflow step that introduced this file. Identity only, join it against the workflow's DAG. Null when the data plane does not report it.
  - `truncated` boolean: True when the data plane hit its per-job file cap, so this is a subset of the job's files rather than all of them. The cap selects files in id order, so the subset is arbitrary -- treat an absent file as unknown, not as missing.
  - `index_finished` boolean, nullable: True once no source connector is still listing files, so no further files will arrive from one. A source whose node failed counts as finished. A listing that failed while its node is still live does not: it is retried, so a failed job can end with this false. Read the job's own status alongside it. Not a promise that this list is final: a workflow step can still introduce files afterwards, which discovered_by_node_id (on each file) tells apart from what a source listed. Null when the job cannot say, which today means a resident job, or when the data plane does not report it.
  - `generated_at` string, date-time, nullable: When the data plane produced the underlying report; it trails live execution.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/unstructured/apis/platform-api.md) - [All operations](https://skmtc.dev/unstructured/apis/platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/unstructured/apis/platform-api/revisions/16b4542093db?raw)
