3.0 KiB
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 pagesoffset- 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