Skip to main content
Query Airtable bases, tables, records and comments, and create, update or delete records. Mirage defines this command tree over the Airtable Web API.

Setup

Create a token with the scopes in Airtable setup. Reads need record and schema read scopes; writes and comments need their corresponding write scopes.
No service mount is required. For YAML and multiple accounts, see the CLI overview.

Supported commands

Run airtable <command> --help for the supported flags and operands. This list is generated from Mirage’s registered command tree.

Read and filter records

--base takes a base ID. --table takes a table ID or name. Find these in API output or in the VFS’s name__id directory names; record lines carry record_id explicitly. --formula and --view filter on the server. base list and comment list return JSON arrays. base get and table get return the same schema objects as the mount. Record commands return JSONL.

Write records

For bulk writes, pipe record JSONL into record create, record update or record delete without the single-record arguments:
Each line may contain only record_id, created_time and fields. Mirage validates every line before the first request, drops computed fields from stdin writes, and sends batches of at most ten records. Inline --fields is sent as given. Use --typecast to allow Airtable’s type conversion.

VFS and limits

The optional Airtable VFS exposes bases and tables as files. Record output uses the same JSONL shape, so mounted records can feed the CLI through stdin. The CLI uses its own account config and needs no Airtable mount.
  • base_ids restricts accessible bases, including writes; an excluded base is refused before a request.
  • Without --max-records, a list exceeding max_read_records fails with exit 1. An explicit --max-records N sets the requested cap.
  • Bad flags, malformed JSON and invalid stdin lines exit 2. API failures exit 1. A partial write prints the completed records and exits 1; it does not roll them back.
  • Requests use the config’s per-base rate limit. Reads retry 429, 502 and 503; writes retry only 429, to avoid repeating a write that may already have succeeded.
The service is reached by IDs and the CLI’s config. Input files such as /work/records.jsonl enter through shell stdin; they can live on any readable workspace mount. This is Mirage’s Apache-2.0 command implementation for the Web API. No compatibility with a separate Airtable CLI is claimed; the API link documents the service rather than an upstream CLI implementation. See compatibility and licenses.