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 |