---
title: "List document users"
method: GET
path: "/documents/{document}/users"
tags: ["Document Operations"]
---

# List document users

`GET /documents/{document}/users`

<small>Requires an API token with the **Document Reader** role.</small>

Lists a [document's](/#documents) [document users](/#document-users) - everyone who has access to the
document, each with their access level (`role`). Users who are also [signatories](/#signatories) appear here
with `is_signatory` set to `true`; their signing details are available via the
[List signatories](/operations/v1.documents.signatories.index) endpoint.

## Path parameters

- `document` string, required

## Query parameters

- `role` 'owner' | 'collaborator' | 'viewer' — The representation of a document user's access level in the external API. Internally the access level is held in the document user's roles (where a plain viewer simply has no role); the external API always exposes it as one of these three values.

## Response `200`

Array of `DocumentUserResource`

- object
  - `data` DocumentUserResource[], required
    - `uuid` string, required
    - `first_name` string, nullable, required
    - `last_name` string, nullable, required
    - `email` string, nullable, required
    - `title` string, nullable, required
    - `party_uuid` string, nullable, required — UUID of the [party](/#parties) the user belongs to, if any
    - `has_account_user` boolean, required — `true` if the document user has a fynk user belonging to your account
    - `role` 'owner' | 'collaborator' | 'viewer', required — The representation of a document user's access level in the external API. Internally the access level is held in the document user's roles (where a plain viewer simply has no role); the external API always exposes it as one of these three values.
    - `is_signatory` boolean, required — `true` if the user is also a [signatory](/#signatories) of the document. Use the signatory endpoints to manage this
    - `personal_link` ShareableLinkResource
      - `uuid` string, required
      - `url` string, required — The link URL. Treat it like a secret: anyone who has the URL can access the document with it
      - `expires_at` string, date-time, nullable, required — When the link stops working. `null` means the link never expires
      - `message` string, nullable, required — A personal message shown when the link is opened. Always `null` for public links
      - `created_at` string, date-time, nullable, required

## Other responses

- `401` — Unauthenticated
- `403` — Authorization error
- `404` — Not found
- `422` — Validation error

---

[API](https://skmtc.dev/fynk/apis/fynk-api-reference.md) · [All operations](https://skmtc.dev/fynk/apis/fynk-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fynk/fynk-api-reference/revisions/9657a6757f59/schema)
