For Agents
Read and write rows in Grist documents, list workspaces and tables, and update record values over a Bearer-authenticated REST API.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Grist API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Grist API API.
List organizations and workspaces accessible to the authenticated user
Fetch and update document metadata such as name and access settings
Enumerate the tables and columns inside a Grist document
Create new records in a Grist table by posting an array of fields objects
GET STARTED
Use for: I need to add a new row to a Grist table, List all tables inside a specific Grist document, Update a record in a Grist table by id, Find the workspace ID for the current Grist site
Not supported: Does not handle real-time collaboration cursors, formula evaluation, or document sharing permissions — use for record-level reads and writes only.
Jentic publishes the only available OpenAPI document for Grist API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Grist API, keeping it validated and agent-ready. Grist is a hybrid spreadsheet-database platform; this REST API exposes 11 endpoints covering organizations, workspaces, documents, tables, columns, and records. Agents can list orgs and workspaces, read or update document metadata, enumerate table schemas, and create or update rows in Grist tables. It is suited to lightweight data automations against Grist documents without resorting to the spreadsheet UI.
Update existing records in place with a PATCH against the records endpoint
Drive lightweight ETL into Grist documents from external systems
Patterns agents use Grist API API for, with concrete tasks.
★ Lightweight Lead Capture into Grist
Push form submissions or webhook payloads into a Grist table so that a non-technical team can manage the data in a spreadsheet view. The integration calls POST /api/docs/{doc_id}/tables/{table_id}/records with an array of records, each containing a fields object. Setup typically takes under a day because the API surface is small and Bearer-authenticated.
Call POST /api/docs/{doc_id}/tables/Leads/records with records=[{fields:{name:'Jane',email:'jane@example.com'}}] and verify a 200 response.
Schema-Aware Reporting
Discover the structure of a Grist document at runtime by listing tables and columns, then build a report that adapts to schema changes. The integration calls GET /api/docs/{doc_id}/tables and GET /api/docs/{doc_id}/tables/{table_id}/columns. Useful for shared Grist documents where end users add columns over time.
Call GET /api/docs/{doc_id}/tables and for each table call GET /api/docs/{doc_id}/tables/{table_id}/columns to assemble a schema map.
Record Updates from Background Jobs
A back-office job updates Grist rows nightly with computed values — for example writing a status column based on data in another system. The integration calls PATCH /api/docs/{doc_id}/tables/{table_id}/records with records that include id and fields. Replaces fragile CSV imports.
Call PATCH /api/docs/{doc_id}/tables/Orders/records with records=[{id:42,fields:{status:'Shipped'}}] and confirm the response includes the updated row.
AI Agent Spreadsheet Operator
An AI agent treats a Grist document as a structured workspace, listing tables, reading rows, and inserting new records on the user's behalf. The agent uses Jentic's intent search so it does not need to read Grist's docs first. Time-to-first-insert drops from hours to minutes.
Search Jentic for 'add a row to a Grist table', load the schema, and insert a new row into the Leads table of doc_id=abc123.
11 endpoints — jentic publishes the only available openapi specification for grist api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/api/orgs
List organizations
/api/orgs/current/workspaces
List workspaces for the current site
/api/docs/{doc_id}/tables
List tables in a document
/api/docs/{doc_id}/tables/{table_id}/columns
List columns in a table
/api/docs/{doc_id}/tables/{table_id}/records
Create records in a table
/api/docs/{doc_id}/tables/{table_id}/records
Update records in a table
/api/orgs
List organizations
/api/orgs/current/workspaces
List workspaces for the current site
/api/docs/{doc_id}/tables
List tables in a document
/api/docs/{doc_id}/tables/{table_id}/columns
List columns in a table
/api/docs/{doc_id}/tables/{table_id}/records
Create records in a table
Three things that make agents converge on Jentic-routed access.
Credential isolation
Grist Bearer API keys are stored encrypted in the Jentic vault. The agent never sees the raw key; Jentic injects the Authorization header on each request to the Grist endpoints.
Intent-based discovery
Agents search Jentic with intents like 'add a row to a Grist table' and Jentic returns the matching POST /api/docs/{doc_id}/tables/{table_id}/records operation with its full input schema.
Time to first call
Direct Grist integration: half a day to a day for auth, document discovery, and shaping the records array. Through Jentic: under 30 minutes using search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Airtable API
Hosted spreadsheet-database with broader integrations and a more extensive API surface
Choose Airtable when the user needs richer integrations and views; Grist suits self-hosted or privacy-sensitive workloads.
NocoDB API
Open-source no-code database that, like Grist, can be self-hosted
Choose NocoDB when the user wants Postgres or MySQL as the underlying store; Grist is preferable for spreadsheet-style formulas.
Google Sheets API
Spreadsheets API used alongside Grist for one-off exports and bridge automations
Use Sheets alongside Grist when end users still expect a familiar Google Sheet view of the data.
Specific to using Grist API API through Jentic.
Why is there no official OpenAPI spec for Grist API?
Grist publishes API documentation but not a maintained OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Grist API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Grist API use?
Grist uses HTTP Bearer authentication with an API key generated from the user profile in the Grist UI. Jentic stores the key in its encrypted vault and attaches the Authorization header at execution time so the key never enters the agent context.
Can I add rows to a Grist table with the Grist API?
Yes. Call POST /api/docs/{doc_id}/tables/{table_id}/records with a records array of objects, each containing a fields property mapping column id to value. The endpoint returns the created records.
What are the rate limits for the Grist API?
Grist enforces per-account fair-use limits that are not encoded in the spec. For the hosted Grist Labs service plan for around 1 request per second per document and back off when 429 responses appear; self-hosted Grist instances are bounded only by your own deployment.
How do I update an existing Grist row through Jentic?
Search Jentic for 'update a Grist record', load the schema for PATCH /api/docs/{doc_id}/tables/{table_id}/records, and submit records=[{id, fields:{...}}]. Jentic injects the Bearer token from the vault automatically.
Can I list the tables in a Grist document through this API?
Yes. Call GET /api/docs/{doc_id}/tables to list tables, then GET /api/docs/{doc_id}/tables/{table_id}/columns to enumerate columns within a chosen table.
/api/docs/{doc_id}/tables/{table_id}/records
Update records in a table