Access & visibility
Allow documents.GetTextDocumentVersion on your API key.
Workspace access by default. Private member data requires approved member delegation through Brigg-Act-As; the key supplies permissions while private ownership and project boundaries remain enforced.
Request fields
Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.
file_idstringRequiredUse the file_id of a collaborative text document. Find an existing document with ListDocuments and select kind=text_document. An uploaded PDF, Word file or plain-text file is not a collaborative text document. documents.CreateTextDocument.
At least 1 character.
version_idstringRequiredSaved version_id from ListTextDocumentVersions for this same file_id. It is not a different document's ID.
At least 1 character.
Work with text and saved versions
All documents use a stable file_id. Select document_kind=text_document from the listing for these collaborative text operations. Read text document returns its current Markdown and location.
For an exact change, use Edit text document with the existing text and its replacement; this avoids sending an old full copy over another edit. Replace text document replaces the entire Markdown body. Send the read response’s revision as expected_revision to refuse intervening changes atomically. Re-read before resolving a failed match or revision conflict.
A saved version_id identifies historical content. List versions before reading or reverting one, and use Checkpoint text document when you need a named saved point. A revert changes current content; it is not just a historical read.
Response
Returns 200 OK with a JSON body.
version_idstringRequiredSaved version identity. Keep it together with the document's file_id to read or restore this version.
mdstringRequiredDocument content formatted as Markdown.
kindstringRequiredHow the version was saved: named is a user-labelled checkpoint; auto is an automatic checkpoint, and pre_revert preserves the state before a restore.
labelstring or nullRequiredName supplied for a named checkpoint, or null when no label was recorded.
created_bystring or nullRequiredAccount that created the record, or null when no account is recorded.
created_atnumberRequiredCreation time in Unix milliseconds.
Errors & retries
This operation reads data. It needs no idempotency key and can be retried after a transient failure.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.
| HTTP status | Code | What to do |
|---|---|---|
| 400 | invalid_json |
Send a JSON object with Content-Type: application/json. |
| 400 | invalid_input |
Check the request fields and types. |
| 401 | invalid_key |
The workspace API key is missing, invalid or revoked. |
| 403 | forbidden |
Check the key’s operation and resource grants. If Brigg-Act-As is supplied, the key must be authorized to delegate to that member. |
| 404 | not_found |
The requested operation or resource is not available to this credential. |
| 429 | rate_limited |
Wait for Retry-After before retrying. |
| 409 | not_text_document |
This file is not a collaborative text document. Use CreateTextDocument or select kind=text_document from ListDocuments. |
Next steps
JSON schemas
Use the complete schemas for validation or client generation.
Full request JSON schema
{
"type": "object",
"properties": {
"file_id": {
"type": "string",
"minLength": 1,
"description": "Use the file_id of a collaborative text document. Find an existing document with [ListDocuments](/developers/reference/documents/ListDocuments) and select kind=text_document. An uploaded PDF, Word file or plain-text file is not a collaborative text document. [documents.CreateTextDocument](/developers/reference/documents/CreateTextDocument)."
},
"version_id": {
"type": "string",
"minLength": 1,
"description": "Saved version_id from ListTextDocumentVersions for this same file_id. It is not a different document's ID."
}
},
"required": [
"file_id",
"version_id"
],
"additionalProperties": false,
"examples": [
{
"file_id": "f_project_notes",
"version_id": "tdv_project_notes_2"
}
]
}Full response JSON schema
{
"type": "object",
"properties": {
"version_id": {
"type": "string",
"description": "Saved version identity. Keep it together with the document's file_id to read or restore this version."
},
"md": {
"type": "string",
"description": "Document content formatted as Markdown."
},
"kind": {
"type": "string",
"description": "How the version was saved: named is a user-labelled checkpoint; auto is an automatic checkpoint, and pre_revert preserves the state before a restore."
},
"label": {
"type": [
"string",
"null"
],
"description": "Name supplied for a named checkpoint, or null when no label was recorded."
},
"created_by": {
"type": [
"string",
"null"
],
"description": "Account that created the record, or null when no account is recorded."
},
"created_at": {
"type": "number",
"description": "Creation time in Unix milliseconds."
}
},
"required": [
"version_id",
"md",
"kind",
"label",
"created_by",
"created_at"
],
"additionalProperties": false,
"examples": [
{
"version_id": "tdv_project_notes_2",
"md": "# Project notes\n\nThe kickoff is on Tuesday.",
"kind": "named",
"label": "Before legal review",
"created_by": "a_jamie",
"created_at": 1794301200000
}
]
}