---
title: "List document versions"
method: GET
path: "/v1beta/documents/{document_id}/versions"
tags: ["Versions"]
---

# List document versions

`GET /v1beta/documents/{document_id}/versions`

List versions for a document with cursor-based pagination.

## Path parameters

- `document_id` string, required — Document ID to list versions for. Pattern: doc_[0-9a-hjkmnp-tv-z]{26}

## Query parameters

- `page_token` string — Opaque pagination token from a previous response. Pass next_page_token or prev_page_token from a previous response to continue pagination. Empty or omitted for the first page.
- `page_size` integer — Maximum number of items to return per page (1-100). Default: 50.

## Response `200`

Success

- ListVersionsResponse — ListVersionsResponse contains a page of versions.
  - `items` Version[] — List of versions.
    - `created_at` string, date-time, required — Timestamp when version was created.
    - `created_by` Subject, required — Subject is a lightweight reference to either a user or a bot. Used in embedded fields like created_by. For full details, call GetUser or GetBot with the subject's id. subject_type_matches_id_prefix // id prefix must match type (user_ for user, bot_ for bot)
      - `id` string, required — Unique ID. user_xxx for users, bot_xxx for bots.
      - `name` string, required — Display name of the user or bot.
      - `type` 'user' | 'bot', required
    - `description` string, nullable — Description of changes in this version.
    - `document_id` string, required — Parent document ID. Pattern: doc_[0-9a-hjkmnp-tv-z]{26}
    - `id` string, required — Unique ID for the version. Pattern: ver_[0-9a-hjkmnp-tv-z]{26}
    - `processing_status` 'processing' | 'ready' | 'failed', required
    - `title` string, nullable — Optional version title.
    - `url` string, uri, required — URL for accessing this version on Factify.
  - `pagination` Pagination, required — Pagination contains cursor-based pagination metadata. Follows Google AIP-158 for pagination field naming.
    - `has_more` boolean — Whether there are more results in the forward direction.
    - `next_page_token` string — Token to retrieve the next page of results. Empty if there are no more results in the forward direction.
    - `prev_page_token` string — Token to retrieve the previous page of results. Empty if this is the first page.

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication failed - missing or invalid API key
- `403` — Authorization failed - valid key but insufficient permissions
- `404` — Resource not found
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.net/factify-inc/apis/factify-api.md) · [All operations](https://skmtc.net/factify-inc/apis/factify-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/factify-inc/factify-api/revisions/8baabdfb82bf/schema)
