gtable
gtable.appOpen the Studio
CLICLI

The gtable CLI

Coming soon. A command for every API operation, JSON output for scripts, exit codes by kind of failure. Not published yet.

What it will look like

Every operation of both APIs is a command, named after it: records.list is gtable records list. Path parameters come first, in order; everything else is a flag, or --body with the whole request as JSON. A new endpoint is a new command the day it ships, with its help text already correct.

Terminal
gtable records list tbl_8fj3kq2wmv5d --view-id viw_e4ks9mz2bh7w
gtable records get tbl_8fj3kq2wmv5d rec_4nqw8e2hzk7s
gtable records create tbl_8fj3kq2wmv5d --records '[{"Name":"New record","Amount":1000}]'
gtable files upload tbl_8fj3kq2wmv5d --file ./contract.pdf --record-id rec_4nqw8e2hzk7s
gtable rules simulate app_5mg8rw2kx4tn --groups grp_v6nh3ta8rk2e --table-id tbl_8fj3kq2wmv5d --op read

Each page of the App API and Builder API references names its command.

Signing in

Three ways, one per situation:

Terminal
gtable auth login                                            # the Studio, in your browser
gtable auth login --target https://your-suite.gtable.app/your-app   # one app
gtable auth login --device                                   # a machine with no browser

In CI, skip the login: set GTABLE_TOKEN to one of your keys and GTABLE_URL to the Studio or the app it is for. On a desktop, tokens are kept in the system keychain.

Made for scripts and agents

  • Output is JSON whenever it is not going to a terminal, so nobody has to remember --json.
  • The exit code says what kind of failure it was: 2 usage, 3 authentication, 4 not found, 5 rate limited, 6 conflict, 7 plan. The API’s error envelope goes to stderr.
  • Deleting asks for the name, as the Studio does: gtable tables delete app_5mg8rw2kx4tn tbl_x2c7nw4hq9fk --confirm "Old deals".
  • gtable mcp will bridge a local stdio client to the MCP server, and gtable doctor will say whether a problem is your setup, the network or gtable.

More than MCP, by design

Two things will be possible from the CLI and not from MCP: uploading files, because a terminal can send bytes and a model cannot, and walking every page of a list, because a script can loop. Everything else is at parity by construction.

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search gtable documentation and read it in full, instead of answering from memory.

https://gtable.app/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://gtable.app/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.