canonical: https://jentic.com/apis/aitable.ai/aitable

# AITable API

Jentic publishes the only available OpenAPI specification for AITable API, keeping it validated and agent-ready. AITable is a collaborative data platform - a programmable spreadsheet-database hybrid in the same family as Airtable. The 14-endpoint Fusion API exposes spaces and nodes (workspaces and tabs), datasheet records, fields, views, attachment uploads, and contact directories. Authentication is bearer-token based, and operations are designed for batch record creation, updating, and deletion.

## For AI agents

Read and write rows in collaborative datasheets, manage fields and views, and upload attachments. Designed for agents that operate spreadsheets as a backend.

## Scope

Does not handle billing, document editing, or chat - use for collaborative datasheet records, fields, and attachments only.

## Capabilities

- List spaces and traverse the node tree to find a target datasheet
- Read records from a datasheet with filtering and pagination
- Create, update, and delete records in batches
- Add and remove fields on a datasheet to evolve its schema
- List views configured on a datasheet for filtered reads
- Upload file attachments and attach them to records
- Look up space members and roles for permission decisions

## Use cases

### Spreadsheet as agent memory

Use an AITable datasheet as a structured persistent store for an AI agent - write task results into rows, query past results by status, and update fields as work progresses. Batch endpoints let the agent process many rows in one call.

Example prompt: POST to /datasheets/{datasheetId}/records with an array of new task rows, then PATCH the same endpoint to mark them as 'In Progress'

### Internal tool back-end

Power a lightweight internal tool (CRM, ticket tracker, asset register) by writing to AITable records. The Fields endpoints let an admin agent evolve schemas, and Views give read-only filtered cuts to share with stakeholders.

Example prompt: Create a 'Status' field on the datasheet via POST /datasheets/{id}/fields, then bulk-update existing records to set the new field

### Attachment ingestion

Allow an agent to capture screenshots, PDFs, or audio files and attach them to records. POST /datasheets/{id}/attachments uploads the file, and the resulting attachment id can be referenced by an attachment field on a record.

Example prompt: Upload report.pdf via POST /datasheets/{id}/attachments and PATCH the matching record's Attachments field with the returned id

### AI agent integration via Jentic

An agent uses Jentic to discover AITable's record operations by intent, loads the schema, and runs reads/writes. The bearer token is held in your Jentic One instance, so agents can update spreadsheets without ever touching the credential.

Example prompt: Search Jentic for 'create rows in a datasheet', load the AITable POST /datasheets/{datasheetId}/records operation, and execute with the target datasheet id

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /spaces | List spaces |
| GET | /datasheets/{datasheetId}/records | Get records with filter and pagination |
| POST | /datasheets/{datasheetId}/records | Create records in batch |
| PATCH | /datasheets/{datasheetId}/records | Update records in batch |
| DELETE | /datasheets/{datasheetId}/records | Delete records in batch |
| POST | /datasheets/{datasheetId}/fields | Create a field |
| POST | /datasheets/{datasheetId}/attachments | Upload an attachment |

## Key resources

- **Spaces** — List spaces and inspect their node trees
- **Records** — Batch get, create, update, and delete records on a datasheet
- **Fields** — Get, create, and delete fields to evolve a datasheet's schema
- **Views** — List views configured on a datasheet
- **Attachments** — Upload files and attach them to records
- **Contacts** — List members and roles in a space

## Why Jentic

- **Setup:** Wiring AITable by hand means handling its bearer token, threading datasheet ids through record and field paths, and writing your own retry logic. Through Jentic you install once, import AITable from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** AITable puts the datasheet id in the URL path (/datasheets/{datasheetId}/records), so a rule can pin your agent to one datasheet. You choose the operations it may call, so record deletion is only included if you add it.
- **Credential handling:** Your AITable bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create rows in a spreadsheet', and Jentic returns the matching AITable record operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Airtable** — The original spreadsheet-database hybrid with a more mature ecosystem.
- **Smartsheet** — Enterprise spreadsheet platform with project-management features.
- **Notion API** — Pair Notion docs with AITable structured records for hybrid workflows.

## FAQ

### Why is there no official OpenAPI spec for AITable API?

AITable does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AITable API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the AITable API use?

AITable uses HTTP bearer authentication - supply your token in the Authorization: Bearer <token> header. Through Jentic, the token is stored encrypted in your Jentic One instance and injected at execution, so the agent never sees it.

### Can I create multiple records in one call?

Yes. POST /datasheets/{datasheetId}/records accepts an array of records, and PATCH and DELETE on the same path also operate in batch. This is the recommended way to keep request volume low.

### How do I read records from a specific view through Jentic?

Use the Jentic search query 'get records from a datasheet view'. Jentic returns the GET /datasheets/{datasheetId}/records operation; pass the viewId query parameter to scope the read to that view.

### Are there rate limits on the AITable Fusion API?

AITable applies plan-based rate limits that are not enumerated in the OpenAPI spec. Implement retry-with-backoff on 429 responses and prefer batch endpoints to stay under quotas.

### Can I limit what my agent is allowed to do with the AITable API?

Yes. Because you run Jentic One yourself, your own rules decide which AITable operations and credentials the agent can use. AITable puts the datasheet id in the URL path, such as /datasheets/{datasheetId}/records, so a rule can pin the agent to a single datasheet. You also choose exactly which operations it may call, so destructive actions like DELETE on records are only available if you add them.
