gtable
gtable.appOpen the Studio
REST APIIdempotency

Retries and idempotency

Send an Idempotency-Key with every write. A retry then returns the first answer instead of doing the work twice, on both APIs, for 24 hours.

Networks drop answers, and scripts retry. Without protection, a retried POST creates a second row. Send an Idempotency-Key header with every write, to an app or to the Studio:

Terminal
curl -X POST "https://your-suite.gtable.app/your-app/v1/tables/tbl_8fj3kq2wmv5d/records" \
  -H "Authorization: Bearer $GTABLE_TOKEN" \
  -H "Idempotency-Key: 6f1c2b8e-1d2a-4f0e-9a51-2f1d7e0c3b44" \
  -H "Content-Type: application/json" \
  -d '{"records":[{"Name":"Imported row"}]}'

What happens

You sendYou get
a new keythe request runs; its answer is kept for 24 hours
the same key, the same request, within 24 hoursthe first answer again, with Idempotency-Replayed: true, and nothing runs
the same key with a different request409 conflict: a key names one request

A key is any unique string up to 255 characters; a UUID per logical operation is the usual choice. Keys are scoped to the plane, the person and the operation, so two people can never collide.

Which calls take it

Every write the reference marks with an Idempotency-Key header. A PUT or a PATCH repeated is already the same as once, so the Studio keeps no answer for those: sending the same one twice is safe on its own.

Together with retries

  • Retry 429, 500 and network failures with the same key and an increasing delay.
  • Do not retry 4xx answers other than 429: the request itself is wrong, and will be wrong again.
  • A write that succeeded with warnings is a success. Do not retry it.

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.