Airtable
An (unofficial) API for interacting with the Airtable API.
Using this package
This package is wrapper for the Airtable REST API, using HTTP.jl
to do the hard stuff.
This documentation should be used in close conjunction with the Airtable API documentation, which is generated automatically for you using your actual tables (see below).
To use this documentation effectively, you should understand a few of the terms Airtable uses:
- A "Base" is like a project. There may be several tables contained within a base that can refer to each other.
- A "Table" is a 2D array where each row is a "Record" and each column is "Field".
- A "Record" (a row of a table) is an individual observation which may have any number of "field" values.
- A "Field" (a column of a table) is a named and typed datapoint. When fields are missing for a given record, they are typically not included in API responses.
All API operations also require that you provide authorization in the form of an API key.
API key
To obtain your API key, go to your account settings page and click on the "generate API key" button. If you previously made a key, you can regenerate it, or just copy the one that's there.
You can then create an Airtable.Credential
using that key as a string, or set it as an environmental variable (AIRTABLE_KEY
by default).
Airtable.Credential
— Type Credential(; api_key)
A credential object for Airtable. If the apikey or apitoken are not provided, they will be read from the AIRTABLE_KEY
environment variable. Go to Airtable account settings to aquire your credentials.
# after running `export AIRTABLE_KEY=<api key>` in the shell
julia> key = Airtable.Credential()
Airtable.Credential(<secrets>)
It is recommended that you use the environmental variable, since many functions can use that by default instead of requiring that you pass it as an argument.
Base ID
Open your airtable base, click the help button in the upper right, and then click "API documentation". Airtable generates documentation for your sepecific base - near the top you should see a sentence like the follwing, with a different alphanumeric sequence for your base:
The ID of this base is appphImnhJO8AXmmo
It will also appear in the url of the base documentation. For example, the Test
base for this repo has the url https://airtable.com/appphImnhJO8AXmmo/api/docs
.
Tablename
Within each base, you may have multiple tables. The tablename
argument in the following functions is just a string with the table name, eg "Table 1"
.