# ThinkBench Developers > Documentation for the ThinkBench API: REST, TypeScript SDK, CLI, and MCP — every surface derived from one contract. Every page is also available as Markdown: append `.md` to its URL, or request it with `Accept: text/markdown`. The full site in one document: https://developers.thinkbench.com/llms-full.txt ## Getting started - [ThinkBench API](https://developers.thinkbench.com/index.md): Work with ThinkBench documents and drives over REST, the TypeScript SDK, the CLI, or MCP — every surface derived from one contract. - [Authentication](https://developers.thinkbench.com/authentication.md): API keys, the x-api-key header, and how agent attribution works across every surface. ## Surfaces - [TypeScript SDK](https://developers.thinkbench.com/sdk.md): Install the ThinkBench TypeScript SDK, create a client, and call any API operation with full types. - [CLI](https://developers.thinkbench.com/cli.md): Work with ThinkBench drives and documents from the terminal — every API operation as a subcommand. - [MCP server](https://developers.thinkbench.com/mcp.md): Connect Claude and other MCP clients to ThinkBench — every API operation as a tool. ## API reference - [REST API](https://developers.thinkbench.com/api.md): Base URL, conventions, the error envelope, and every operation in the ThinkBench REST API. - [documents.read](https://developers.thinkbench.com/api/documents/read.md): Read a ThinkBench document and return its current content as Markdown. - [driveItems.sharedWithMe](https://developers.thinkbench.com/api/drive-items/shared-with-me.md): List items shared directly with the user via share grants. - [driveItems.get](https://developers.thinkbench.com/api/drive-items/get.md): Read a drive item with its drive, children, visible ancestors, and shares. - [driveItems.rename](https://developers.thinkbench.com/api/drive-items/rename.md): Rename a drive item. - [driveItems.move](https://developers.thinkbench.com/api/drive-items/move.md): Move an item to another folder or drive. - [driveItems.createChild](https://developers.thinkbench.com/api/drive-items/create-child.md): Create a folder or document inside a folder. - [driveItems.shareSuggestions](https://developers.thinkbench.com/api/drive-items/share-suggestions.md): Organization members who could be given access to this item. - [driveItems.share](https://developers.thinkbench.com/api/drive-items/share.md): Grant a person access to an item by email. - [driveItems.updateShare](https://developers.thinkbench.com/api/drive-items/update-share.md): Change an existing share grant's permission. - [driveItems.removeShare](https://developers.thinkbench.com/api/drive-items/remove-share.md): Revoke a share grant. - [driveItems.setPublication](https://developers.thinkbench.com/api/drive-items/set-publication.md): Publish or unpublish a document to the web. - [driveItems.uploadImage](https://developers.thinkbench.com/api/drive-items/upload-image.md): Upload an image used inside a document. - [drives.list](https://developers.thinkbench.com/api/drives/list.md): List every drive the user can access, each with its items and members. - [drives.create](https://developers.thinkbench.com/api/drives/create.md): Create a shared drive in the active organization. - [drives.rename](https://developers.thinkbench.com/api/drives/rename.md): Rename a drive. - [drives.createItem](https://developers.thinkbench.com/api/drives/create-item.md): Create a folder or document at the drive's root. - [drives.upsertMember](https://developers.thinkbench.com/api/drives/upsert-member.md): Add an organization member to a shared drive or change their role. - [drives.removeMember](https://developers.thinkbench.com/api/drives/remove-member.md): Remove a member from a shared drive. ## Objects - [DriveItem](https://developers.thinkbench.com/api/objects/drive-item.md): Field reference for the canonical DriveItem object. - [Drive](https://developers.thinkbench.com/api/objects/drive.md): Field reference for the canonical Drive object.