Airtable API Endpoints
Complete reference for all Airtable API endpoints
The Airtable plugin provides access to Airtable's API for managing bases, records, and webhooks.
New to Corsair? Learn about core concepts like API access, authentication, and error handling.
Full Implementation: For the complete, up-to-date list, see the Airtable plugin source code.
Bases
getMany
bases.getMany
List all accessible bases.
const bases = await corsair.airtable.api.bases.getMany({});getSchema
bases.getSchema
Get the schema (tables, fields, views) of a base.
const schema = await corsair.airtable.api.bases.getSchema({
baseId: "appXXXXXXXXXXXXXX",
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID (starts with app) |
Records
get
records.get
Get a single record by ID.
const record = await corsair.airtable.api.records.get({
baseId: "appXXXXXXXXXXXXXX",
tableIdOrName: "Tasks",
recordId: "recXXXXXXXXXXXXXX",
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
tableIdOrName | string | Yes | Table ID or name |
recordId | string | Yes | Record ID (starts with rec) |
search
records.search
Search and list records with optional filters.
const records = await corsair.airtable.api.records.search({
baseId: "appXXXXXXXXXXXXXX",
tableIdOrName: "Tasks",
filterByFormula: "{Status} = 'In Progress'",
maxRecords: 50,
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
tableIdOrName | string | Yes | Table ID or name |
filterByFormula | string | No | Airtable formula to filter records |
maxRecords | number | No | Max records to return |
sort | object[] | No | Sort configuration |
view | string | No | View name or ID |
create
records.create
Create a record in a table.
const record = await corsair.airtable.api.records.create({
baseId: "appXXXXXXXXXXXXXX",
tableIdOrName: "Tasks",
fields: {
Name: "Write documentation",
Status: "In Progress",
Priority: "High",
},
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
tableIdOrName | string | Yes | Table ID or name |
fields | object | Yes | Record field values |
update
records.update
Update fields on an existing record.
await corsair.airtable.api.records.update({
baseId: "appXXXXXXXXXXXXXX",
tableIdOrName: "Tasks",
recordId: "recXXXXXXXXXXXXXX",
fields: {
Status: "Done",
},
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
tableIdOrName | string | Yes | Table ID or name |
recordId | string | Yes | Record ID |
fields | object | Yes | Fields to update |
createOrUpdate
records.createOrUpdate
Create or update a record using upsert.
const record = await corsair.airtable.api.records.createOrUpdate({
baseId: "appXXXXXXXXXXXXXX",
tableIdOrName: "Tasks",
fields: {
Name: "Write documentation",
Status: "In Progress",
},
fieldsToMergeOn: ["Name"],
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
tableIdOrName | string | Yes | Table ID or name |
fields | object | Yes | Record field values |
fieldsToMergeOn | string[] | Yes | Fields used to match existing records |
delete
records.delete
Delete a record from a table.
await corsair.airtable.api.records.delete({
baseId: "appXXXXXXXXXXXXXX",
tableIdOrName: "Tasks",
recordId: "recXXXXXXXXXXXXXX",
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
tableIdOrName | string | Yes | Table ID or name |
recordId | string | Yes | Record ID to delete |
Webhooks
getPayloads
webhooks.getPayloads
Get pending webhook payloads for a base.
const payloads = await corsair.airtable.api.webhooks.getPayloads({
baseId: "appXXXXXXXXXXXXXX",
webhookId: "webhook-id",
cursor: 1,
});Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
baseId | string | Yes | Airtable base ID |
webhookId | string | Yes | Webhook ID |
cursor | number | No | Cursor for pagination |