Files
2026-04-11 09:45:12 -05:00

3.0 KiB

Airtable Routing Reference

App name: airtable Base URL proxied: api.airtable.com

API Path Pattern

/airtable/v0/{baseId}/{tableIdOrName}

Common Endpoints

List Records

GET /airtable/v0/{baseId}/{tableIdOrName}?maxRecords=100

With view:

GET /airtable/v0/{baseId}/{tableIdOrName}?view=Grid%20view&maxRecords=100

With filter formula:

GET /airtable/v0/{baseId}/{tableIdOrName}?filterByFormula={Status}='Active'

With field selection:

GET /airtable/v0/{baseId}/{tableIdOrName}?fields[]=Name&fields[]=Status&fields[]=Email

With sorting:

GET /airtable/v0/{baseId}/{tableIdOrName}?sort[0][field]=Created&sort[0][direction]=desc

Get Record

GET /airtable/v0/{baseId}/{tableIdOrName}/{recordId}

Create Records

POST /airtable/v0/{baseId}/{tableIdOrName}
Content-Type: application/json

{
  "records": [
    {
      "fields": {
        "Name": "New Record",
        "Status": "Active",
        "Email": "test@example.com"
      }
    }
  ]
}

Update Records (PATCH - partial update)

PATCH /airtable/v0/{baseId}/{tableIdOrName}
Content-Type: application/json

{
  "records": [
    {
      "id": "recXXXXXXXXXXXXXX",
      "fields": {
        "Status": "Completed"
      }
    }
  ]
}

Update Records (PUT - full replace)

PUT /airtable/v0/{baseId}/{tableIdOrName}
Content-Type: application/json

{
  "records": [
    {
      "id": "recXXXXXXXXXXXXXX",
      "fields": {
        "Name": "Updated Name",
        "Status": "Active"
      }
    }
  ]
}

Delete Records

DELETE /airtable/v0/{baseId}/{tableIdOrName}?records[]=recXXXXX&records[]=recYYYYY

List Bases

GET /airtable/v0/meta/bases

Get Base Schema

GET /airtable/v0/meta/bases/{baseId}/tables

Pagination

Parameters:

  • pageSize - Number of records per request (max 100, default 100)
  • maxRecords - Maximum total records across all pages
  • offset - Cursor for next page (returned in response)

Response includes offset when more records exist:

{
  "records": [...],
  "offset": "itrXXXXXXXXXXX"
}

Use offset for next page:

GET /airtable/v0/{baseId}/{tableIdOrName}?pageSize=50&offset=itrXXXXXXXXXXX

Notes

  • Authentication is automatic via OAuth
  • Base IDs start with app
  • Table IDs start with tbl (can also use table name)
  • Record IDs start with rec
  • Maximum 100 records per request for create/update
  • Maximum 10 records per delete request
  • Filter formulas use Airtable formula syntax

Resources