---
title: "Call the getDocuments MCP tool"
method: POST
path: "/api/v1/actions/getDocuments"
tags: ["Actions"]
---

# Call the getDocuments MCP tool

`POST /api/v1/actions/getDocuments`

## Request

- Base URL: `https://app.reachium.io`
- URL: `https://app.reachium.io/api/v1/actions/getDocuments`
- Auth: HTTP bearer

List the workspace's documents (id, title, status) to pick one for attachResourceToPost or createLeadMagnetCampaign, or to find a document_id to edit with updateDocument. The default listing includes private drafts (each marked status private_draft) alongside published pages - pass include_private:false to narrow to PUBLIC documents only, the set attachResourceToPost accepts. Archived (retired) documents are excluded by default and the result notes how many were; include_archived:true lists them flagged archived:true (updateDocument archive:false brings one back). To create a new one, call createDocument; to revise an existing one, call updateDocument (editing a public document changes its LIVE page immediately); to retire one without deleting, updateDocument archive:true; to permanently remove one, call deleteDocument (irreversible, and it refuses while any campaign still references the document as its lead magnet). Pass document_id to READ one document back as markdown with its sections and images before editing it with updateDocument edits.

Called through the Actions bridge: the response is that tool's own result, wrapped as `{ data: <tool result> }` under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE `data`, never remapped to an HTTP status (see the templated `/api/v1/actions/{toolName}` operation above for the full protocol, and `x-mcp-actions` for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `limit` integer: How many recent documents to return.
  - `include_private` boolean: Defaults to true: the listing includes private (not yet published) drafts, each marked status 'private_draft'. Pass false to list only PUBLIC documents, the set attachResourceToPost accepts.
  - `include_archived` boolean: Defaults to false: archived (retired) documents are excluded, and the result notes how many were. Pass true to list them too, each flagged archived:true.
  - `folder` string: List only the documents filed in this folder, by folder id or (case-insensitive) name; pass 'root' for unfiled documents. The listing result always carries `folders` (every folder with id, name, parent_id) and each row's folder / folder_id.
  - `document_id` string, uuid: Read ONE document back in full: returns content_markdown (the body as markdown, including ![caption](url) image lines), sections (1-based heading index, level, text - use section_index in updateDocument edits), images, and seconds_since_last_save. Ignores limit/include_private. Do this BEFORE partial edits so you edit what is actually there.

## Response `200`

The result of calling this tool.

- object
  - `data` unknown, required
  - `error` unknown, required

## Other responses

- `400`: The request body was not a JSON object (code invalid_request), or Idempotency-Key is malformed (code invalid_idempotency_key).
- `401`: Missing or invalid API key. Send `Authorization: Bearer rmcp_...` (code unauthorized).
- `403`: This tool is out of the key’s granted scope (code insufficient_scope).
- `409`: This Idempotency-Key has an unresolved in-flight or ambiguous result (code request_in_flight). Reconcile before using a new key.
- `422`: This Idempotency-Key was already used with a different request body (code idempotency_key_reuse).
- `429`: Rate limited: shared `mcp:ip:{ip}` (600/60s) or `mcp:key:{keyId}` (120/60s) bucket, the SAME buckets the MCP endpoint uses (code rate_limited).
- `500`: Unhandled server error (code internal_error).

---

[API](https://skmtc.dev/reachium/apis/reachium-api.md) · [All operations](https://skmtc.dev/reachium/apis/reachium-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reachium/apis/reachium-api/revisions/11682826692b?raw)
