Need development and API help? Ask your questions here!
Recently active
It seems that in order to remove all records from a linked field type during a patch/update, you have to always have at least one valid record id to include and keep linked. Otherwise, if try to update with an empty array (to clear the data out presumably) it gives an error that the record id is not valid.
Hi All, This is a rather urgent request - otherwise I will need to migrate away from AirTable and to mySQL overnight so your help is welcome. I am using a PHP library for airtable and I have a lookup method on an Email field using filterByFormula. It works great and returns users by their email as long as these users are among the 100th first in the table. Below that limit, they are not found. What am I missing ? thanks a lot
Hi everyone. I have this issue: I am requesting the API with asking for some field with no problems , I get my response ok, no prob. Late, I do the exactly same request and I have no results… wait… what??? So, I’ve decided to check the data in the table, and oh! There’s an active filter in the GUI… so I’ve disabled, then I execute the API request and I get the result again. Anyone already have the same problem? There’s any way or parameter that I can send in the request to avoid GUI filters? Thanks in advance.
I have been trying for several hours to get the fields parameter for the list records request to work. I am sending an HTTP Get request with python, I have the filterByFormula field working but cannot get the fields parameter to work. Could someone please post an example of the fields tag and an example field in a working query string format? Thanks
Hi, Is it possible to create multiple records in one API request? The API documents only speak of creating one record at a time. I have a quiz app and want to post the answers (one answer per record) to my AirTable, but since the AirTable API has a rate limit of 5 requests per second, I can’t just dump the answers via multiple requests, so want to post them all at once. Is it possible? Thanks!
Web search box using api / How to make a sample? Is it possible to do it on the web page (eg on wix.com)? It will be very useful to have an example of how it can be done.
I’m hoping someone has run into this before and can help me out. I’m sure I just have a syntax error somewhere or something equally silly. I’m using jQuery AJAX (I have to, I will explain why if anyone asks). I am able to retrieve, post, and patch data for everything but my checkbox field. I have sent the value “true” with and without quotes. Here is my code: $.ajax({ url: `${Airtable.API}/To%20Do/${recordId}`, type: 'PATCH', headers: { authorization: `Bearer ${Airtable.API_KEY}`, contentType: "application/json" }, data: { "fields": { "Done": true // does not work as "true" or true } } }) .fail((error) => { console.error("There was an error processing your request:", error, error.responseText); }) .done((response) => { console.log(response); }); Here is the error: responseJSON: { error: { { message: "Field Done can not accept value true" type: "INVALID_VALUE_FOR_COLUMN" } } For reference, this
I’ve been working on a way to proxy Airtable API calls through a Cloudflare worker. What this library lets you do is add permissions and securely attach your API key to Airtable API requests without letting users see your credentials on the frontend. Cloudflare Workers are $5/mo, and they run on Cloudflare’s edge network, so they’re really fast for clients. So this project is basically a serverless API proxy, and I’ve found it really useful for making the Airtable API client-side friendly. Happy to answer questions about implementation or suggestions for improvements!
I am using Node.js library to communicate with AirTable, official js library. I am having a problem with filterByFormula. Sometimes when I try to find a record in AirTable I don’t get results even though I am pretty sure that there should be some results. My logic is such that if I do not find the record in AirTable I create a new one. If I find it I update an existing one. This logic leads to problem with same entries entered twice. This is my query: getReservationByID: async (externalID) { let reservations = await calendarBase('Reservations').select({ view: 'Main View', filterByFormula: `{External ID} = \\"${externalID}\\"`, maxRecords: 1, }).all(); return (reservations.length > 0) ? reservations[0] : null; }, And this function is used like this: let oldReservation = await getReservationByID(reservation.id); if (!oldReservation) { createNewReservation(reservation); } else { updateReservation(reservation); } As you can see, it is essential for me
I’m writing a php script in which I need to fetch all records from a certain base of about 1000 records (and store them in one array so I can handle some stuff). As I understand the max pageSize is 100, but with the offset it returns and using this as a parameter in your next request you can get the next pages. But this doesn’t seem to really work. I can get a few pages (actually sometimes just one) until it throws the error LIST_RECORDS_ITERATOR_NOT_AVAILABLE on me. I simply never am able to fetch every page. This error always occurs. How can I proceed from this error to be able to fetch every record? Am I missing something? A snippet from my code: //curl code ... curl_close($ch); $airtable_response = json_decode($entries, TRUE); foreach ($airtable_response["records"] as $key => $record) { $all_records[] = $record; } // Next page if there is one if( $airtable_response['offset'] ) { fetch_records($url . "?offset=" . $airtable_response['offset']); } else { return $all_records; }
Hi - For new records created as of 2/28/19, we are no longer seeing the “{username} Created via API” in the revision history that shows the initial values of the record. “{username} Edited via API” is still appearing when the record is edited. Records created prior to 2/28/19 still contain the created via api. Thanks, Dan
Hi there, I encounter a problem that it cannot get the data in some computers due to the ‘FileLoadException: A strongly-named assembly is required’ to the AirtableApiClient.dll. I am adding the AirtableApiClient.dll with version 0.9.2.0 as a reference, which is not Strong Name assembly. Does anyone know is there any strong name version I can reference to? Or any solution to the issue? The project code is written in C#, access and get data from airtable, then serialize to a local .json file.
I currently have api airtable /v0/appVhG3JD5Ko1oeJ7/Twitter%20Database/?view=20%20february%202019?api_key=MY KEY I get {"error":{"type":"AUTHENTICATION_REQUIRED","message":"Authentication required"}} I’m trying to return all the Entrys with the date (written as) ‘20 February 2019’ Any ideas - I struggle reading the documentation so I’m not sure what to try
I am using Airtable in a Java project with Eclipse, but i have this problem: -Code : import java.lang.reflect.InvocationTargetException; import com.sybit.airtable.Airtable; import com.sybit.airtable.Base; import com.sybit.airtable.Table; import com.sybit.airtable.exception.AirtableException; import java.lang.reflect.InvocationTargetException; public class Main { @SuppressWarnings("unchecked") public void UpdatePelicula() throws AirtableException, IllegalAccessException, InvocationTargetException, NoSuchMethodException{ Airtable airtable = new Airtable().configure(); System.out.println("Hola"); Base base = airtable.base("keyA50PJucw4m5Ktc"); Table <Peliculas> peliculasTable = base.table("Peliculas", Peliculas.class); } public static void main(String[] args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException, AirtableException{ Main main = new Main(); main.UpdatePelicula(); } } Error: Exception in thread “main” java.lang.NoClas
Hey, What exactly does the pagination related API error LIST_RECORDS_ITERATOR_NOT_AVAILABLE mean? The API docs say Iteration may timeout due to client inactivity or server restarts. In that case, the client will receive a 422 response with error message LIST_RECORDS_ITERATOR_NOT_AVAILABLE . It may then restart iteration from the beginning. What does that mean? How am I supposed to deal with that? The first “page” ie. the first 100 records are always correctly returned, but the next “page” fails randomly; sometimes it works, the next minute it doesn’t. This is extremely frustrating and a major issue for our use case at the moment. Any help is appreciated.
Hi everyone. I have been scratching my head for a while now, and looking at API docs seems to be impossible, however I have High hopes to make this happen. I am using using filemaker to build API requests, I am already able to do a few transactions adding and retrieving records. But when it comes to attachments I am hopeless. I have lets say test.zip archive locally, I need to upload it via api and at some point download it back via API. from my application (client) I am able to build simmilar transaction to dropbox: –header Content-Type: application/octet-stream –data-binary @$file" ANYONE please help! and Thank you in advance
I am specifying a table to retrieve a specific record but I am using a record ID from a different table (deliberately) and the response is retrieval of that record from the other table when I expect it to return a not found message. Is this by design? It is a problem for my use case. Any way to avoid this? recACjz97bYmXXXX is an existing record in sessions table. The following curl targeting the profiles table returns the record from the sessions table instead of an error. curl https://api.airtable.com/v0/applnNWHXXXXXX/profiles/recACjz97bYmXXXX same result using below curl: curl https://api.airtable.com/v0/applnNWHXXXXXX/sessions/recACjz97bYmXXXX
Hi, how can i get some record id from a specific table with a specific field (id, email…)? I use CURL with PHP. Some like: https://api.airtable.com/v0/.../.../specific_field=value \ Thanks!
I’m using the python wrapper (here). I have a small script that tries to update a field in the ‘Orders’ table. The record is successfully retrieved earlier from the API so I have the ID of the record stored in ‘orderid’. I’m now trying to update 1 field called ‘Folder’ to ‘True’. record = airtable.search('id', orderid) fields = {'Folder': 'True'} airtable.update(record[id], fields) But i receive this error which i’m stuck at: requests.exceptions.HTTPError: 422 Client Error: Unprocessable Entity for url: https://api.airtable.com/v0/appoR6kS5KY3cJdwK/Orders?filterByFormula={id}='rec70yhW5MYcetmxJ' (Decoded URL) [Error: {'type': 'INVALID_FILTER_BY_FORMULA', 'message': 'The formula for filtering records is invalid: unknown field names: id'}]
Hello everybody, I created a multiple select field and integrated it with my website. It works fine if you check an option. I want users to also be able to not check anything from the field. However if nothing is checked from this multiple select field, then I cannot submit the form. I get invalid value for column. How can I succeed this? Thanks in advance!
Anyone able to do an experiment with me? I’m seeing different behavior in different bases for how mentions come through via the api. This is in reference to a Long Text field that uses the @ feature to notify someone within a note. I’m seeing both a markup based approach: [$!<id>|<User Name>!$] as well as a tag based approached: <airtable:mention id=\\"<id>\\">@<User Name></airtable:mention> anyone seeing both of these? or just the latter? My guess is at some point they changed this and now any new ones use the airtable:mention approach, but any old notes in their database created before a certain date have the old markdown format so when querying for those it still comes in with that format. If anyone else had issues with this I’d be curious to hear.
Hi I am attempting to use the Node.js Airtable API to post data from an HTML5 form to Airtable. Has anyone developed a way to do this securely (without exposing the API key)? Tips for getting this done? Goal is to find a workaround for the missing features and lack of customization for Airtable forms. Thanks!
Does AirTable support triggers such as OnEdit or OnUpdate?
In the Kanban view, when you click on the card you can select which fields can be either “viewed” or “hidden”. Is there a way to do this through the API rather than manually? In addition, is there a way to to arrange what is viewed/hidden per each specific card? Thank you.
Hello, I implemented an angular app, which accesses Airtable API and does CRUD operations on the base. Per logged in user it makes 10 API requests to read data and 10 to write data to base. So around 20 API requests per logged in user. we are planning to deploy it enterprise wide. where more than 200 people will be accessing this application at any given point in time and these requests will be executed simultaneously. Can I get any suggestions on, How the applications will behave ? Will there be any performance issues ? Will Airtable API be able to handle this load ? Any advice and suggestions will be greatly appreciated Thanks!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.