Get a file
Answers the file and its full text. Together with lastChangeId, that is everything the content endpoint needs for the next write. The workspace is implicit in the API key and never appears in the URL. A file in another workspace answers as file_not_found, so existence does not leak.
Authorizations
Workspace-scoped API key, sent as a bearer token. The recommended header. The workspace is implicit in the key and never appears in a URL.
Path Parameters
The file id, as an earlier response reported it. Always doc_…; a composite id is refused.
"doc_9f2k1x8b3m7q0v"
Response
The file as the live files hold it, with its full text.
Type discriminator. Always file.
file Stable id. Survives a rename or a move.
"doc_9f2k1x8b3m7q0v"
Live file location. Changes when the file moves.
"/support/policies/refunds.md"
Leaf name, including its extension, without any part of the path.
"refunds.md"
The containing folder, or null when the file sits at the root. Send it back to move a file.
"dir_4k1n8p2v5m7q0x"
Path of the containing folder. / at the root.
"/support/policies"
When true, a change to this file goes to review instead of being accepted automatically.
The last content change to this file. A rename or a move does not advance it. Pass it back as baseChangeId on a write.
"chg_7t4p2w9c1n6s8k"
When the file was created.
"2026-07-01T09:12:00.000Z"
When the file last changed, including a rename or a move.
"2026-08-01T14:03:00.000Z"
The full file text, as authored. Send it back through the content endpoint, with the lastChangeId from this response as baseChangeId, to edit the file.
"# Refunds\n\nRefunds are processed within 14 days."