/developers
Developer docsAtom Files ↗
← API referenceFile intelligence · API access unavailable
API REFERENCE / FILE INTELLIGENCE

GET /v1/files/{file_id}/processing

Read detected file type and per-output processing progress for a content version.

Request fields

LocationFieldTypeRequiredDescription
HeaderAuthorizationstringYesCredential scoped to the authorized resource.
Pathfile_idstringYesStable Atom file ID.
Queryversion_idstringRecommendedPin the processing report to an immutable content version.

Request example

Example request
GET /v1/files/file_789/processing?version_id=ver_012
Authorization: Bearer <scoped token>

HTTP status codes

StatusMeaning
200 OKSuccess response shown below.
400 Bad RequestInvalid version ID.
401 UnauthorizedMissing, expired, or invalid credential.
403 ForbiddenCredential is valid but lacks the required scope or role.
404 Not FoundFile or version is not visible to this caller.
429 Too Many RequestsRate limit reached; honor Retry-After when provided.
503 Service UnavailableService temporarily unavailable; retry safely.

Response fields

FieldTypeExample
file_idstringfile_789
version_idstringver_012
policy_revisionstringproc_rev_007
detected_typeobject{…}
detected_type.media_typestringapplication/pdf
detected_type.familystring (extensible)document
Examples · extensibleimageaudiovideodocumentspreadsheet
detected_type.detectionstringcontent_and_metadata
outputsobject[][3 shown]
outputs[].kindstring (extensible)page_ocr
Examples · extensiblethumbnailpage_ocrtranscriptpage_summarydocument_summaryvisual_embedding
outputs[].statestring (enum)ready
Allowed values · closed enumnot_applicabledisabledqueuedrunningpartialreadyfailedstale
outputs[].completed_unitsinteger12
outputs[].total_unitsinteger12
outputs[].artifact_countinteger12
outputs[].updated_atstring (date-time)2026-10-20T18:02:00Z

Response example

Example response
200 OK
Content-Type: application/json

{
  "file_id": "file_789",
  "version_id": "ver_012",
  "policy_revision": "proc_rev_007",
  "detected_type": {
    "media_type": "application/pdf",
    "family": "document",
    "detection": "content_and_metadata"
  },
  "outputs": [
    {
      "kind": "page_ocr",
      "state": "ready",
      "completed_units": 12,
      "total_units": 12,
      "artifact_count": 12,
      "updated_at": "2026-10-20T18:02:00Z"
    },
    {
      "kind": "page_summary",
      "state": "partial",
      "completed_units": 4,
      "total_units": 12,
      "artifact_count": 4,
      "updated_at": "2026-10-20T18:03:00Z"
    },
    {
      "kind": "document_summary",
      "state": "queued",
      "completed_units": 0,
      "total_units": 1,
      "artifact_count": 0,
      "updated_at": "2026-10-20T18:03:00Z"
    }
  ]
}

How it works

There is no single file-wide complete flag. Every enabled output reports its own state: not_applicable, disabled, queued, running, partial, ready, failed, or stale. A new file version has independent processing state; old results must not appear current.