Fresh start - excluded large ROM JSON files
This commit is contained in:
149
skills/api-gateway/references/airtable.md
Normal file
149
skills/api-gateway/references/airtable.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# Airtable Routing Reference
|
||||
|
||||
**App name:** `airtable`
|
||||
**Base URL proxied:** `api.airtable.com`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/airtable/v0/{baseId}/{tableIdOrName}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### List Records
|
||||
```bash
|
||||
GET /airtable/v0/{baseId}/{tableIdOrName}?maxRecords=100
|
||||
```
|
||||
|
||||
With view:
|
||||
```bash
|
||||
GET /airtable/v0/{baseId}/{tableIdOrName}?view=Grid%20view&maxRecords=100
|
||||
```
|
||||
|
||||
With filter formula:
|
||||
```bash
|
||||
GET /airtable/v0/{baseId}/{tableIdOrName}?filterByFormula={Status}='Active'
|
||||
```
|
||||
|
||||
With field selection:
|
||||
```bash
|
||||
GET /airtable/v0/{baseId}/{tableIdOrName}?fields[]=Name&fields[]=Status&fields[]=Email
|
||||
```
|
||||
|
||||
With sorting:
|
||||
```bash
|
||||
GET /airtable/v0/{baseId}/{tableIdOrName}?sort[0][field]=Created&sort[0][direction]=desc
|
||||
```
|
||||
|
||||
### Get Record
|
||||
```bash
|
||||
GET /airtable/v0/{baseId}/{tableIdOrName}/{recordId}
|
||||
```
|
||||
|
||||
### Create Records
|
||||
```bash
|
||||
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)
|
||||
```bash
|
||||
PATCH /airtable/v0/{baseId}/{tableIdOrName}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"records": [
|
||||
{
|
||||
"id": "recXXXXXXXXXXXXXX",
|
||||
"fields": {
|
||||
"Status": "Completed"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Update Records (PUT - full replace)
|
||||
```bash
|
||||
PUT /airtable/v0/{baseId}/{tableIdOrName}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"records": [
|
||||
{
|
||||
"id": "recXXXXXXXXXXXXXX",
|
||||
"fields": {
|
||||
"Name": "Updated Name",
|
||||
"Status": "Active"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Delete Records
|
||||
```bash
|
||||
DELETE /airtable/v0/{baseId}/{tableIdOrName}?records[]=recXXXXX&records[]=recYYYYY
|
||||
```
|
||||
|
||||
### List Bases
|
||||
```bash
|
||||
GET /airtable/v0/meta/bases
|
||||
```
|
||||
|
||||
### Get Base Schema
|
||||
```bash
|
||||
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:
|
||||
```json
|
||||
{
|
||||
"records": [...],
|
||||
"offset": "itrXXXXXXXXXXX"
|
||||
}
|
||||
```
|
||||
|
||||
Use offset for next page:
|
||||
```bash
|
||||
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
|
||||
|
||||
- [API Overview](https://airtable.com/developers/web/api/introduction)
|
||||
- [List Records](https://airtable.com/developers/web/api/list-records)
|
||||
- [Create Records](https://airtable.com/developers/web/api/create-records)
|
||||
- [Update Records](https://airtable.com/developers/web/api/update-record)
|
||||
- [Delete Records](https://airtable.com/developers/web/api/delete-record)
|
||||
- [Formula Reference](https://support.airtable.com/docs/formula-field-reference)
|
||||
Reference in New Issue
Block a user