Skip to content

Endpoint reference

Everything lives under /api/v0 unless noted. “Read” means viewer access to the base, an API key covering it, or a public base; “Write” means member or better, or a write key.

Route Access
/rest/services/{baseId}/{table}/FeatureServer/{layer?}/{method?} Read One table as a single-layer service
/rest/services/{baseId}/FeatureServer/{layer?}/{method?} Read The whole base, one layer per table
…/FeatureServer/relationships Read Relationship definitions across the base
…/FeatureServer/{layer}/query Read Esri query
…/FeatureServer/{layer}/applyEdits Write Adds, updates, deletes
…/FeatureServer/{layer}/queryRelatedRecords Read Related records
…/FeatureServer/{layer}/generateRenderer Read Class-break / unique-value renderers
…/FeatureServer/{layer}/getEstimates Read Feature count estimate
/rest/info, /rest/generateToken — Esri client handshake stubs
/sharing/rest/portals/self — ArcGIS portal self stub (not under /api/v0)

See Reading and editing features.

Route Access
GET /{baseId}/{table}.geojson Read The cached FeatureCollection
GET /{baseId}/schema Read The base’s tables and fields
GET /{baseId}/attachments/{filename} Read A cached attachment file
Route Access
GET /bases/{baseId}/tables/{table}/records Read Query — where, outFields, bbox, limit, offset, orderByFields
GET /bases/{baseId}/tables/{table}/records/{objectId} Read One record by OBJECTID
POST /bases/{baseId}/tables/{table}/records Write Create — { features: [...] }
PATCH /bases/{baseId}/tables/{table}/records/{recordKey} Write Update
DELETE /bases/{baseId}/tables/{table}/records/{recordKey} Write Delete

See The records API.

Route Access
GET|POST …/FeatureServer/{layer}/{oid}/attachments Read attachmentInfos
GET …/FeatureServer/{layer}/{oid}/attachments/{id} Read File bytes; w= picks a rendition
GET|POST …/FeatureServer/{layer}/queryAttachments Read attachmentGroups
POST …/FeatureServer/{layer}/{oid}/addAttachment Write Multipart attachment, optional fieldName
POST …/FeatureServer/{layer}/{oid}/deleteAttachments Write attachmentIds
POST …/FeatureServer/{layer}/{oid}/updateAttachment — Always “not supported”

See Attachments.

Route Access
GET /bases/{baseId}/tables/{table}/views Read Shared views plus your own
PUT /bases/{baseId}/tables/{table}/views/{viewId} Read (personal) / Write (shared) Upsert
DELETE /bases/{baseId}/tables/{table}/views/{viewId} Same as save Remove

See Saved grid views.

Route Access
WS /realtime Read Change feed and presence
GET /bases/{baseId}/tables/{table}/activity Read History — key= or objectId=, limit, before
GET /bases/{baseId}/tables/{table}/activity/{id} Read One entry with its before-snapshot
GET /bases/{baseId}/activity/retention Read The retention window in force
POST /bases/{baseId}/tables/{table}/rollback Write Restore a record or table
POST /bases/{baseId}/rollback Write Restore every writable table

See Realtime and Activity and rollback.

Route Access
POST /rest/services/{baseId}[/{table}]/FeatureServer/export Read Submit an export job
POST /rest/services/{baseId}[/{table}]/FeatureServer/createReplica Read Esri-compatible alias
GET …/FeatureServer/export/jobs/{jobId} Read Job status
GET …/FeatureServer/export/jobs/{jobId}/results/{format} Read Download an artifact

See Exporting layers to files.

Route Access
GET /rest/services/{baseId}/{table}/VectorTileServer/… Read Live MVT and TileJSON
GET /tiles/{baseId}/{slug}/tiles.json Public or read Snapshot TileJSON
GET /tiles/{baseId}/{slug}/{z}/{x}/{y}.pbf Public or read Snapshot tile
GET /bases/{baseId}/snapshots Read List snapshots
PATCH|DELETE /bases/{baseId}/snapshots/{slug} Write Edit or remove
GET /bases/{baseId}/snapshots/{slug}/download Read Stream the .mbtiles
GET /bases/{baseId}/geometry-sources Read Per-table geometry readiness

See Vector tiles and snapshots.

Route Access
POST /bases/{baseId}/mcp Read (write tools need Write) Stateless MCP server

See MCP.

Route Access
GET /bases[/{baseId}] Read List bases, with each one’s lastOpenedAt and visits
POST /base/create Authenticated Create a base
GET|PATCH|DELETE /base/{baseId} Owner Read, edit, delete (numeric DB id)
GET /base/schema Authenticated Schema for a base
POST /bases/{baseId}/visit Authenticated Record that the user opened this base
GET /tables/{tableId?} Read List tables
POST /table/create, PATCH|DELETE /table/{tableId} Write Table CRUD
GET /config/export Admin Export the full configuration as JSON
Route Access
POST /bases/{baseId}/sync Write Sync the base. 4/hour per base
POST /bases/{baseId}/tables/{tableId}/sync Write Sync one table. Same limit
GET /bases/{baseId}/runs Read Sync run history
POST /{baseId}/webhooks HMAC Airtable webhook receiver (X-Airtable-Content-MAC)
GET|POST|DELETE /base/{baseId}/webhook Owner Register, inspect, remove the managed Airtable webhook

The webhook receiver validates against the managed secret in the webhook table; the secret never leaves the server, and the status responses are sanitized.

Route
/auth/* and /api/v0/auth/* Sign-in, callbacks, session, sign-out
POST /api/v0/auth/app-token Mint a short-lived app token for a browser app

See Authenticating a browser app.

Route Access
GET|POST /orgs, GET|PATCH|DELETE /orgs/{orgId} Member / admin / owner Org CRUD
GET /orgs/{orgId}/members, PATCH|DELETE /orgs/{orgId}/members/{userId} Admin Membership
GET|POST /orgs/{orgId}/invites, DELETE …/invites/{inviteId} Admin Invites (7-day TTL)
POST /invites/accept Authenticated Accept an invite
GET|POST /orgs/{orgId}/keys, PATCH|DELETE …/keys/{keyId} Admin Org-scoped API keys
GET|POST /bases/{baseId}/keys, PATCH|DELETE …/keys/{keyId} Admin Base-scoped API keys

See Organizations, roles and API keys.

Route Access
GET /health — Liveness
GET /api/v0/logs Authenticated Server error and info logs
GET /api/v0/requests Authenticated HTTP request audit log