---
title: "Get a file revision"
method: GET
path: "/files/{fileId}/revisions/{revisionId}"
tags: ["File Revisions"]
---

# Get a file revision

`GET /files/{fileId}/revisions/{revisionId}`

## Request

- Base URL: `https://public-api.process.st/api/v1.1`
- URL: `https://public-api.process.st/api/v1.1/files/{fileId}/revisions/{revisionId}`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns a version of a file, including a link to download its document. If the download link expires, get the revision again for a new link. You need edit access to view a draft.

## Path parameters

- `fileId` string, required
- `revisionId` string, required

## Response `200`

- PublicApiFileRevisionResponse
  - `data` object, required
    - `id` string, required: The ID of the Revision
    - `createdDate` string, date-time, required: When the resource was first created. ISO-8601 UTC.
    - `createdBy` object, required: User who created the resource.
      - `id` string, required: The resource's ID.
      - `email` string, required: The user's email address (also their login identifier).
      - `username` string, required: The user's display name (e.g. `Jane Doe`).
    - `updatedDate` string, date-time, required: When the resource was last modified. ISO-8601 UTC.
    - `updatedBy` object, required: User who last modified the resource.
      - `id` string, required: The resource's ID.
      - `email` string, required: The user's email address (also their login identifier).
      - `username` string, required: The user's display name (e.g. `Jane Doe`).
    - `fileId` string, required
    - `version` string, required: Revision version number; monotonically increasing per template.
    - `status` 'Draft' | 'Finished' | 'Revised', required: Status of this revision. `Draft` — being edited; not yet published. `Finished` — currently published version (only one Finished revision per workflow/page at a time). `Revised` — was previously the published version but has been replaced by a newer Finished revision.
    - `changeType` 'Material' | 'NonMaterial', required: Whether the changes in this revision are significant. `Material` — substantial changes; bumps the major version (e.g. `1.3` → `2.0`). `NonMaterial` — minor edits like wording or typo fixes; bumps the minor version (e.g. `1.3` → `1.4`).
    - `changeExplanation` string
    - `document` object, required
      - `filename` string
      - `contentType` string, required
      - `sizeBytes` integer, required
      - `downloadUrl` string, required: Authorized document URL. It may expire; fetch this revision again to refresh it.
    - `links` object[]: Navigable HATEOAS links to related resources. Each entry has a `name` (RFC-5988 relation), an `href` URL, and a `type` (`Api` or `App`).
      - `name` string, required: Standard link relation name (RFC 5988) indicating this link's role. Common values include `self`, `edit`, `related`, `previous`, `next`.
      - `href` string, required: URL of the linked resource.
      - `rel` 'Approval Task' | 'Approvals' | 'Assignees' | 'Comment' | 'Data Set Records' | 'Data Sets' | 'Form Field Values' | 'Subject Task' | 'Task' | 'Tasks' | 'Users' | 'Webhook' | 'Workflow' | 'Workflow Run': Optional. The kind of resource this link points to (e.g. `Workflow`, `Task`, `Comment`).
      - `type` 'Api' | 'App', required: Whether this link targets an API endpoint or a Process Street app URL. `Api` — a callable API endpoint you can fetch directly. `App` — a browser-facing URL in the Process Street UI.
  - `links` object[]: Pagination links. When the result has more pages, look for an entry with `name: "next"` — its `href` is the URL to fetch the next page. Absence of `next` means there are no more pages. For single-resource responses this array is typically empty.
    - `name` string, required: Standard link relation name (RFC 5988) indicating this link's role. Common values include `self`, `edit`, `related`, `previous`, `next`.
    - `href` string, required: URL of the linked resource.
    - `rel` 'Approval Task' | 'Approvals' | 'Assignees' | 'Comment' | 'Data Set Records' | 'Data Sets' | 'Form Field Values' | 'Subject Task' | 'Task' | 'Tasks' | 'Users' | 'Webhook' | 'Workflow' | 'Workflow Run': Optional. The kind of resource this link points to (e.g. `Workflow`, `Task`, `Comment`).
    - `type` 'Api' | 'App', required: Whether this link targets an API endpoint or a Process Street app URL. `Api` — a callable API endpoint you can fetch directly. `App` — a browser-facing URL in the Process Street UI.

## Other responses

- `default`

## Changes

- **2026-10-30** `5f56e80f02f5`: 2 info
  - added the optional property `data/changeExplanation` to the response with the `200` status
  - added the required property `data/changeType` to the response with the `200` status
- **2026-10-30** `292a565ad8bc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/process/apis/process-street-public-api/changes/files/:fileId/revisions/:revisionId/get.md)

---

[API](https://skmtc.dev/process/apis/process-street-public-api.md) - [All operations](https://skmtc.dev/process/apis/process-street-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/process/apis/process-street-public-api/revisions/78ea0b3f3b40?raw)
