Need development and API help? Ask your questions here!
Recently active
The API Docs are messed up at http://airtable.com/api for all my bases. I would love to imagine that it’s because you’re releasing the meta API?!?! Regardless, thought you should know.
base('Test Space Request 2016').select({ view: "Main View", filterByFormula: "({Requester Name} = 'Mo Biegel')" }).eachPage(function page(records, fetchNextPage) { }, function done(error) { }); For some reason this isn’t bringing up any data, any ideas why? via CURL: https://api.airtable.com/v0/appO7dvt1H3N3gLmB/Test%20Space%20Request%202016?filterByFormula=({Requester%20Name}="Mo%20Biegel") Thanks!
Nathan Esquenazi, founder of CodePath, created a really nice Ruby client for the Airtable API: GitHub Airtable/airtable-ruby Access Airtable data sheets with ease using ruby. Contribute to Airtable/airtable-ruby development by creating an account on GitHub. gem install airtable Please try it out and let us know what you think. Thanks Nathan!
When sending PUTs to the API with a complete record you’ll get an error if you include computed fields. Since you get computed fields back like any other, the only way to find out which fields are computed is by either a) from the error messages when trying to update, excluding them one-by-one on the next requests, b) manually configuring them in the client. For me, this is not a big deal, I get around it with the PATCH verb, by maintaining a list of columns that have been updated. However, to lower the barrier of entry for API clients (PUT is easier to support than PATCH), you may want to consider just ignoring computed fields when updated through the API. Alternatively, the imminent Metadata API changes may help with this as well…
I’m seeing a problem with using Zapier to add files to attachment fields in AirTable. The file itself comes through when added via a Zap, but the issue seems to be that the file name and extension is replaced with the name “file”. This is a screenshot of a file that was originally uploaded via Cognito Forms, then added to AirTable via Zapier. As you can see at the top of the screen, the original file name (PartnerSlide_SARA_16.pdf) has now been replaced with the string “file”. This has caused some serious issues for us. I’ve tracked down the issue to something related to AirTable as modifying the Zap to send the same file from Cognito Forms to Google Drive results in the file being written to Google Drive with the filename in-tact.
I haven’t done any database programming in about 20 years. Things have come a long way since the dbase and Paradox days. I am struggling with the lack of reporting features in Airtable, but like everything else. I downloaded a copy of Jasperreports. It looks like the program can use the airtable api to access data so you can create custom reports. Has anyone tried this? Suggestions on where to start to make it work.
How do I got about sorting with querystring parameters? The API documentation seems to only give an example for the ruby client.
Hi, Is it possible (or on a future roadmap) to list all the records in a Table without Pagination? I.e. Not have the ‘pageSize’ maximum limit of 100? The reason behind the question is that I’m looking to see if there’s a way to pull all the data from a Table into Splunk, using its ‘REST API Modular Input’ (https://splunkbase.splunk.com/app/1546/). I can get this working up to a point, but I have no real idea on how to deal with (or if this feature of Splunk can deal with) the Pagination / offset. I’ll hold my hand up and say that I have very little knowledge of Python (which is what the tool appear to be written in), so writing a custom script / implementation is definitely beyond my ability. It just seems slightly strange that you can download the whole Table / View to CSV, but with the API you’d have to do a whole sequence of REST calls with the changing ‘offset’ property. Has anyone run into this as an issue, or any suggestions on how I could tackle it? I’ve also posted the same que
Does anyone have examples they are willing to share about what they have made using AirTable’s API? I’m an amateur web designer / novice web developer. I’m self-taught and I really want to get inspired to learn more. I love AirTable, but I find it’s lack of reports capability rather limiting. I really enjoy looking at examples of what people have done to get inspiration. Also, if people have some templates of things they have done with the API, that would significantly jump start my learning. Thanks!
When using filterByFormula via the API, records on which the given formula produces an error are returned NO MATTER WHAT—even when a different record ID is supplied. For example, I have many records with a {Start Date} field containing a date and one record with an empty {Start Date} field. IF I use the API to ask for records with filterByFormula=“RECORD_ID()=‘rec5pBFqsn3Bva8mz’”, I will of course, only get that one record. As Expected. And if I use the API to ask for multiple records using filterByFormula=“OR(RECORD_ID()=‘rec5pBFqsn3Bva8mz’,RECORD_ID()=‘n3Bva8mzrec5pBFqs’”), I will get only the records I specified. As Expected. However, if my formula references the {Start Date} field, then any records on which that formula produces an error will be returned, even though its record ID was not among those specified. So using DATETIME_DIFF on the {Start Date} column in a filterByFormula means I’ll ALWAYS have the records with empty {Start Date} included in the results—even if I try to in
Hi, I’m having problem to create new record with a link to another record. An “422” error occurred when trying to create record on "appfIRESxNQnQ5D05:prodej" : Value “recl8c3CDNQECQCyR” contains duplicate value. Each record ID must appear only once I’m not sure what does it mean. This is an array of fields: array (6) id => 173 jmeno_prijmeni => "Petr Ogurčák" (14) email => "petr@ogurcak.cz" (15) datum => NULL zpusob_dopravy => "recl8c3CDNQECQCyR" (17) zpusob_platby => "reccQSEWSSsVCVtnb" (17) And the same data in json "{"fields":{"id":173,"jmeno_prijmeni":"Petr Ogur\u010d\u00e1k","email":"petr@ogurcak.cz","datum":null,"zpusob_dopravy":"recl8c3CDNQECQCyR","zpusob_plat ... "
Since Zapier already has the ability to show base table and view info I was wondering if there could be (is?) an option to query metadata from the api. It would enable me to automate some checks and create Zapier-like ease of use.
Hello! We just released updates to the API that allow filtering which records are returned using a formula, limiting which fields are returned, and sorting on multiple fields. You can read more on our blog or in the API documentation.
Anyone able to give us a quick run-down of how to code a Slack Bot that can answer queries against an Airtable dataset? Specifically, we’re looking to build a bot that can define terms; a glossary using Airtable for look-ups. But that said, I’m sure the ability to ask a bot questions about any Airtable base could be huge; it’s like single-database-Siri (without all the talking). A.
Hi, I’m using the Node library to access the API. As I understand it, when the value in a field is a reference to another table, the only thing that’s returned is the ID of row in that table. So, if I have a Books table and an Authors table and use something like base('Books').select then it will return an ID for the author instead of the author information. That’s great! The issue I’m running into is: what’s the best way to subquery for that linked data, e.g. to also grab the Author information, in my select function I’m trying to build a pretty simple JSON object from Airtable data to pass on as a template context, using Express. Basically, I want to call to the Airtable API, perform a select, pull all the relevant data, and then pass that data on. For example, if I have a Books table and an Authors table, Books would obviously contain a column with that references Authors. I want to run a select function on Books and grab the authors as well. My Object would look something like this
I’m using the Airtable API to pull down data from a View that is filtered by “now” filters. I have a calculated field which returns how many days it has been since that record was created (to return “everything that was created yesterday”) as well as a view that filters on “everything that was edited yesterday” which is also calculated based on a date field we have set. In both cases, I am hitting the API using those views to pull down the relevant records, but that data doesn’t change unless someone is physically viewing that view on the web portal. That is to say, if we don’t open that view those filters don’t get updated and we end up getting the same results each time we hit the API even if the results should have changed. Is there any known work-around other then having a browser open to both views before my script is run?
If I PUT a record without including every field, those missing fields are emptied losing the data that they held. Is there a way to PATCH a record by only supplying the modified fields ensuring the rest are untouched?
Is there a way to use the filterByFormula URL parameter to retrieve rows based on the value of a link column? I can look up text and numeric values, but it looks like link columns are an array. I’ve tried: AND(Column_Name=[recordID]) AND(Column_Name="[recordID]") AND(Column_Name=’[recordID]’) and nothing seems to work. Any help would be greatly appreciated.
It was referencing the Api for the ‘Favorite Movies’ demo database. To test and learn the api, I was trying to retrieve data from the table Movies and only bring back a description of the movie The Godfather. I tried various codes using the method ‘Query Parameter’ (airtable’s description with this name inside the api) see below: https://api.airtable.com/v0/appID/Movies?fields[The%20Godfather]=Description&api_key=MyKey I tried other possibilities but I was returned an error or the descriptions of all the movies in the table.
I’m attempting to find a list of specific records that also meet other criteria, such as a date—however nothing is returned. AND( IS_BEFORE({Start Date},TODAY()), OR(RECORD_ID()=‘recyZ1f0RSR1rTr3Z’,RECORD_ID()=‘recIFWsWuTPjAkxhg’)) Is it possible to nest a OR inside an AND? Is there another way I’m not thinking of? AND( TRUE(), OR( TRUE(), FALSE(), FALSE() ))
Just a heads up: When requesting data via the API, if you specify a view that doesn’t exist, then the current version of the API will return a NULL result (instead of throwing an error). I ran into this by accident. I was using a view name that had a space in it, and the name wasn’t URL-encoded. For example, “Main View” instead of “Main+View.” ~ Tim
When viewing a base in Airtable (via the browser interface), it would be really convenient to be able to click on a link and jump directly to that base’s API documentation. Maybe add it to the “Share” area? ~ Tim
Discuss the Airtable API Airtable Airtable: Organize anything you can imagine Airtable works like a spreadsheet but gives you the power of a database to organize anything. Sign up for free.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.