GraphQL base API

AirQL presents a GraphQL API for each Airtable base. The API has a type for each table in the base representing its rows. This type has GraphQL fields for each of the tables' fields. For example, the employee table described above would be represented as follows in the GraphQL schema:

type Employee {
  _recordId: ID!
  email: String
  name: String
  favoritePasta: String
  salary: Float
}

A few notes:

  • Employees type name is the UpperCamel representation of the table name.

  • _recordId is a reserved field holds the Airtable record ID.

  • The rest of the fields are the lowerCamel representation of corresponding Airtable field name.

For each table there's a corresponding query result type and GraphQL Query field, e.g.:

type ListEmployeesOutput {
  records: [Employee!]!
  offset: String
}

type Query {
  employees(options: ListOptions): ListEmployeesOutput!
}
  • List output type is the pluralized UpperCamel representation of the table name.

  • employees Query field is the pluralized lowerCamel representation of the table name.

  • ListOptions provides for filtering, paginating (using the offset returned by a previous query), and sorting results.

The Playground tab provides an interface for further exploring and testing the GraphQL API for a base:

Last updated