Help With Airtable API

Hi Airtable!

I have an Integromat scenario that uses Airtable API.

My understanding is that I would use “List Records” from the table I will use (API), then copy and paste both the URL and Bearer Key into Postman and use “Get”, but when I run the Integromat scenario it requires authorization.

It seems that I did get that, but maybe I am missing something.

Any suggestions would be appreciated.

Thank you,
Mary Kay

This sounds like it should be working to me. Could you share how you have configured Integromat to set the Authorization HTTP header? Could you also share the response that https://api.airtable.com is returning?

Hi @Mike_Pennisi

Thank you for your reply.

Sure, I can send you the details. Can I pm you?

Thank you,
Mary

Sure, though for the benefit of others, we should take care to document the problem and the solution here

1 Like

Hi @Mike_Pennisi

I am attaching some screenshots, also, the JSON sample and the scenarios to backup Airtable records (first and second scenario) and restore (last scenario.) I keep getting one record added to Airtable, I think that I am only able to have the JSON sample added, eventhough, I have the number of records at 5, in my scenario.

{
“SCOTT #”: “246”,
“SETS”: “246-248”,
“STAMP DESCRIPTION”: “Princess Elizabeth & Princess Margaret Rose”,
“SUBJECT”: “Princess Elizabeth & Princess Margaret Rose”,
“DATE ISSUED”: “Mon, May 15, 1939”,
“STAMP FORMAT”: [“Single”, “Set of 2”, “Souvenir Sheet”],
“FACE VALUE”: “1”,
“KEYWORDS”: “Queen Elizabeth II”,
“MATCHED STAMPS”: [“YES”, “NO”],
“STAMPS CHECKED”: [“YES”, “NO”],
“LOCATION”: [“STOCK BOOK #1”, “STOCK BOOK 2”, “STOCK BOOK 3”],
“WEBSITES”: “Text”,
“NOTES”: “Text”,
“STAMP STORIES”: “Text”,
“Dupe Check”: “Text”
}

Line 2 is an image–one image per record.
Lines 8 and 10—multi select
Lines 11, 12 and 13—single select
Line 17 is linked to one table, with the checkmark in the field

I’m not familiar with Integromat, but the way you’ve configured the HTTP request seems technically sound to me. Note though that the request’s maxRecords query string parameter is set to 3. It sounds like you may be expecting more records than that.

The authorization error you mentioned would indicate a problem with the HTTP request itself, and it would help us hone in one the solution. I can’t find any details of that in the images you’ve shared, though.

Hi @Mike_Pennisi

Thank you.

Can you suggest what part of the URL, from Airtable API authorization, should I remove, to add 100 records?

To add records to Airtable, do I select “List Records”? If I have two tables linked, do I also have to select the second table and create a new authorization?

Airtable API is a bit new for me, so I hope you don’t mind my questions. Although, I am beginning to understand.

Thank you,
Mary

“Authorization” is a state of the HTTP request; it does not describe data or metadata in your Airtable Base. We don’t create authorization, exactly, but we do receive authorization from airtable.com for each HTTP request. The way we receive it is by providing our credentials in the form of an HTTP “header” on each request we send to airtable.com. You mentioned that the Integromat Scenario requires authorization. More information about the error would help us diagnose that problem.

Retrieving records and creating records are distinct operations that are triggered by issuing different kinds of HTTP requests. The “List Records” operation is only able to retrieve records.

The configuration you shared appears to correctly retrieve up to three records from airtable.com. You can change the value of maxRecords from 3 to 100 if you would like to retrieve 100 records. That is the largest number of records you can retrieve in a single request. The Airtable API documentation describes this parameter in more detail.

It looks like you are making multiple requests to airtable.com, and your latest question makes it clear that you’re looking to create records as well as retrieve them. To create records, you’ll want to follow the documentation’s instructions for “Create records.” In short: you will issue an HTTP POST request (instead of an HTTP GET request) and specify the content of the records as JSON-formatted data in the request’s body.

Your intuition to use a tool like Postman is good. That lets you verify that your requests have the right “shape” (HTTP headers, query string parameters, and body contents) before taking on the larger problem of Integromat configuration. If you know something works in Postman, then you can rule out a large number of potential mistakes. It’s much faster to experiment with requests using Postman, too :slight_smile:

Hi @Mike_Pennisi

Thank you for clarifying things for me.

Is there documentation about Airtable API?

Also, if I use list of records when I have two tables linked together, do I need to do any other setup in that situation?

The scenario is giving an error that it’s not the correct authorization.

I think what I will do is check my authorization in Postman, again, and make sure everything is working correctly.

I have someone helping me with the scenario, hopefully between the two I will get the scenario up and running, even though it’s almost there.

Thank you,
Mary

The Airtable HTTP API documentation is available online here:

I’ve run out of time for the day, but hopefully the docs will give you a little more insight!

Hi @Mike_Pennisi

Thank you for your help.

I went to Postman and was able to make a successful output. It still seems the Authorization is not being accepted by the HTTP module in Integromat. I do have some help with this side of the issue, so here’s hoping it will all come together.

I am almost there, though.

Mary

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.