# Documents and approvals MCP tools

This page documents **25 tools** in the documents and approvals group. Return to the [complete MCP tool reference](/docs/developers/api/mcp/tools) to browse another group.

Select a tool to inspect its schemas and behavior. Schema links open the exact definition in GitHub.

### `listMeasureDocuments` — List Measure Documents

List documents linked to a measure.

- **Input:** [`ListMeasureDocumentsInput`](/docs)
- **Output:** [`ListMeasureDocumentsOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L14797–L14808 ↗](/docs)

### `listControlDocuments` — List Control Documents

List documents linked to a control.

- **Input:** [`ListControlDocumentsInput`](/docs)
- **Output:** [`ListControlDocumentsOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15649–L15660 ↗](/docs)

### `listDocuments` — List Documents

List documents for the organization. By default only ACTIVE documents are returned; pass status filter to include ARCHIVED.

- **Input:** [`ListDocumentsInput`](/docs)
- **Output:** [`ListDocumentsOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15793–L15804 ↗](/docs)

### `getDocument` — Get Document

Get a document by ID.

- **Input:** [`GetDocumentInput`](/docs)
- **Output:** [`GetDocumentOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15805–L15816 ↗](/docs)

### `addDocument` — Add Document

Add a new document to the organization.

- **Input:** [`AddDocumentInput`](/docs)
- **Output:** [`AddDocumentOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L15817–L15828 ↗](/docs)

### `updateDocument` — Update Document

Update an existing document.

- **Input:** [`UpdateDocumentInput`](/docs)
- **Output:** [`UpdateDocumentOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15829–L15840 ↗](/docs)

### `deleteDocumentDraft` — Delete Document Draft

Delete the latest draft version of a document, reverting to the last published version. Cannot delete the initial v0.1 draft.

- **Input:** [`DeleteDocumentDraftInput`](/docs)
- **Output:** [`DeleteDocumentDraftOutput`](/docs)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15841–L15852 ↗](/docs)

### `archiveDocument` — Archive Document

Archive a document to prevent further modifications.

- **Input:** [`ArchiveDocumentInput`](/docs)
- **Output:** [`ArchiveDocumentOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15853–L15864 ↗](/docs)

### `unarchiveDocument` — Unarchive Document

Unarchive a document to allow modifications again.

- **Input:** [`UnarchiveDocumentInput`](/docs)
- **Output:** [`UnarchiveDocumentOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15865–L15876 ↗](/docs)

### `listDocumentVersions` — List Document Versions

List all versions for a document.

- **Input:** [`ListDocumentVersionsInput`](/docs)
- **Output:** [`ListDocumentVersionsOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15877–L15888 ↗](/docs)

### `getDocumentVersion` — Get Document Version

Get a document version by ID.

- **Input:** [`GetDocumentVersionInput`](/docs)
- **Output:** [`GetDocumentVersionOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15889–L15900 ↗](/docs)

### `publishDocument` — Publish Document

Publish the latest draft of a document. Set minor=true to publish a minor version (no approval flow). When minor=false, providing approver_ids triggers an approval request as a new major version; otherwise the draft is published immediately as a new major version.

- **Input:** [`PublishDocumentInput`](/docs)
- **Output:** [`PublishDocumentOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15901–L15912 ↗](/docs)

### `deleteDocument` — Delete Document

Delete a document.

- **Input:** [`DeleteDocumentInput`](/docs)
- **Output:** [`DeleteDocumentOutput`](/docs)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15913–L15924 ↗](/docs)

### `listDocumentVersionSignatures` — List Document Version Signatures

List all signatures for a document version.

- **Input:** [`ListDocumentVersionSignaturesInput`](/docs)
- **Output:** [`ListDocumentVersionSignaturesOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15925–L15936 ↗](/docs)

### `getDocumentVersionSignature` — Get Document Version Signature

Get a document version signature by ID.

- **Input:** [`GetDocumentVersionSignatureInput`](/docs)
- **Output:** [`GetDocumentVersionSignatureOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15937–L15948 ↗](/docs)

### `requestDocumentVersionSignature` — Request Document Version Signature

Request a signature for a document version.

- **Input:** [`RequestDocumentVersionSignatureInput`](/docs)
- **Output:** [`RequestDocumentVersionSignatureOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L15949–L15960 ↗](/docs)

### `cancelSignatureRequest` — Cancel Signature Request

Cancel a document version signature request.

- **Input:** [`CancelSignatureRequestInput`](/docs)
- **Output:** [`CancelSignatureRequestOutput`](/docs)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15961–L15972 ↗](/docs)

### `voidDocumentVersionApproval` — Void Document Version Approval

Void a pending document version approval request.

- **Input:** [`VoidDocumentVersionApprovalInput`](/docs)
- **Output:** [`VoidDocumentVersionApprovalOutput`](/docs)
- **Behavior:** Writes data · Destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L15973–L15984 ↗](/docs)

### `approveDocumentVersion` — Approve Document Version

Approve a document version pending approval as the authenticated user.

- **Input:** [`ApproveDocumentVersionInput`](/docs)
- **Output:** [`ApproveDocumentVersionOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L15985–L15996 ↗](/docs)

### `rejectDocumentVersion` — Reject Document Version

Reject a document version pending approval as the authenticated user.

- **Input:** [`RejectDocumentVersionInput`](/docs)
- **Output:** [`RejectDocumentVersionOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L15997–L16008 ↗](/docs)

### `signDocument` — Sign Document

Sign a document version as the authenticated user.

- **Input:** [`SignDocumentInput`](/docs)
- **Output:** [`SignDocumentOutput`](/docs)
- **Behavior:** Writes data · Non-destructive · Non-idempotent · Closed world
- **Source:** [specification.yaml · L16009–L16020 ↗](/docs)

### `listDocumentVersionApprovalQuorums` — List Document Version Approval Quorums

List approval quorums for a document version.

- **Input:** [`ListDocumentVersionApprovalQuorumsInput`](/docs)
- **Output:** [`ListDocumentVersionApprovalQuorumsOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16633–L16644 ↗](/docs)

### `getDocumentVersionApprovalQuorum` — Get Document Version Approval Quorum

Get a document version approval quorum by ID.

- **Input:** [`GetDocumentVersionApprovalQuorumInput`](/docs)
- **Output:** [`GetDocumentVersionApprovalQuorumOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16645–L16656 ↗](/docs)

### `listDocumentVersionApprovalDecisions` — List Document Version Approval Decisions

List approval decisions for an approval quorum.

- **Input:** [`ListDocumentVersionApprovalDecisionsInput`](/docs)
- **Output:** [`ListDocumentVersionApprovalDecisionsOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16657–L16668 ↗](/docs)

### `getDocumentVersionApprovalDecision` — Get Document Version Approval Decision

Get a document version approval decision by ID.

- **Input:** [`GetDocumentVersionApprovalDecisionInput`](/docs)
- **Output:** [`GetDocumentVersionApprovalDecisionOutput`](/docs)
- **Behavior:** Read only · Non-destructive · Idempotent · Closed world
- **Source:** [specification.yaml · L16669–L16680 ↗](/docs)
