---
title: "List Team documents"
method: GET
path: "/api/team/v1/documents"
tags: ["Team documents"]
---

# List Team documents

`GET /api/team/v1/documents`

## Request

- Base URL: `https://mdflow.cz`
- URL: `https://mdflow.cz/api/team/v1/documents`
- Auth: HTTP bearer

Lists documents across every Team workspace the token can read, most recently updated first, without bodies. Pass `?workspace_id=` to stay inside one workspace. Pass `?ids=` with up to 10 comma-separated document UUIDs to fetch exactly those documents with their bodies in one request — the batch read the Team MCP server uses for topic retrieval. Ids the token cannot read are silently left out.

## Query parameters

- `workspace_id` string, uuid
- `ids` string

## Response `200`

Team document list. Items carry `body` only when `ids` was passed.

- union[]
  - union
    - TeamDocumentListItem
      - `id` string, uuid, required
      - `workspace_id` string, uuid, required: The Team workspace this document belongs to. Never changes.
      - `folder_id` string, uuid, nullable, required: Containing folder, or null for a document at the workspace root.
      - `title` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - TeamDocument
      - `id` string, uuid, required
      - `workspace_id` string, uuid, required: The Team workspace this document belongs to. Never changes.
      - `folder_id` string, uuid, nullable, required: Containing folder, or null for a document at the workspace root.
      - `title` string, required
      - `body` string, required: Markdown document body.
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required

## Other responses

- `400`: workspace_id is not a UUID, or ids is empty, longer than 10 entries, or contains a non-UUID.
- `401`: Missing, malformed, invalid, or revoked Team access token — including a personal `mdf_` token sent to a Team route, and a token whose creator has left the team. The body includes a `message` with Team token guidance, and the response carries a `WWW-Authenticate` challenge.
- `403`: The Team access token is valid but the operation exceeds its effective access: a write from a read-only token or from a creator whose current workspace permission is read-only, a write while the Team account is not active (setup, grace, or read_only), or any request while the account is being deleted. No plan check is involved — eligibility comes from the Team seat. The body includes a `message` with guidance.
- `404`: The workspace is outside the token's grant or the creator's current access. MDflow does not reveal whether it exists.
- `429`: The token or authenticated user exceeded a 60 requests per minute rate limit.
- `500`: Unexpected server error, or the live membership lookup failed. Retry rather than discarding the token — this is never a revocation signal.

---

[API](https://skmtc.dev/mdflow/apis/mdflow-public-api.md) · [All operations](https://skmtc.dev/mdflow/apis/mdflow-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mdflow/apis/mdflow-public-api/revisions/3691fc5d1688?raw)
