---
title: "Get document timeline"
method: GET
path: "/v1beta/documents/{document_id}/timeline"
tags: ["Timelines"]
---

# Get document timeline

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

Retrieves timeline events for a document. Admins see all events; viewers see only their own.

## Path parameters

- `document_id` string, required

## Query parameters

- `cursor` string
- `page_size` integer

## Response `200`

Success

- GetTimelineResponse
  - `events` TimelineEvent[]
    - `event_id` string, uuid
    - `event_type` 'comment_created' | 'comment_updated' | 'thread_created' | 'thread_updated' | 'approval_voted' | 'approval_started' | 'approval_terminated' | 'document_loaded' | 'approval_ready' | 'approval_submitted' | 'approval_skip_dissemination' | 'document_created' | 'document_updated' | 'comment_deleted' | 'document_user_access_granted' | 'document_user_access_revoked' | 'document_entry_page_downloaded' | 'document_version_uploaded' | 'document_printed' | 'document_settings_access_changed' | 'annotation_added' | 'annotation_edited' | 'annotation_deleted' | 'annotation_resolved'
    - `occurred_at` string, date-time
    - `payload` Struct — `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, `Struct` might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language. The JSON representation for `Struct` is JSON object.
  - `has_more` boolean
  - `next_cursor` string, nullable

## 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

## Changes

- **2026-04-05** `d8f618d61435` — 1 breaking, 24 warning, 25 info
  - the `events/items/event_type` response's property type/format changed from `string`/`` to ``/`` for status `200`
  - added the new `annotation_added` enum value to the `events/items/event_type` response property for the response status `200`
  - added the new `annotation_deleted` enum value to the `events/items/event_type` response property for the response status `200`
  - added the new `annotation_edited` enum value to the `events/items/event_type` response property for the response status `200`
  - …46 more
- **2026-03-19** `ebe16ef03cb2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/factify-inc/apis/factify-api/changes/v1beta/documents/:document_id/timeline/get.md)

---

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