Server Error 422

Hello guys, I’m running into an annoying 422 error code when creating an Airtable base in my existing automation workflow. I followed the steps provided in this video which was published in this community to do this: https://www.youtube.com/watch?v=pNQAHVWsoc8

Furthermore, I followed the steps in Airtable on how to create a base: Airtable Web API

My body JSON string outlines what I want the base to be named, the table I wish to implement, and the fields required but I keep getting the issue in the third screenshot.

If anyone could assist me in overcoming this, I’d really appreciate it!

JSON string in Body value:

{
“name”: “{{22.Company Name}} Website Knowledge Base”,
“tables”: [
{
“name”: “Website Knowledge Base Storage”,
“fields”: [
{
“name”: “A. Company Overview”,
“type”: “multilineText”
},
{
“name”: “B. Products and Services”,
“type”: “multilineText”
},
{
“name”: “C. Blog Posts and Articles”,
“type”: “multilineText”
},
{
“name”: “D. Case Studies and Testimonials”,
“type”: “multilineText”
},
{
“name”: “E. Team and Leadership”,
“type”: “multilineText”
},
{
“name”: “F. FAQs”,
“type”: “multilineText”
},
{
“name”: “G. Contact Information”,
“type”: “multilineText”
},
{
“name”: “H. Press Releases and Media”,
“type”: “multilineText”
},
{
“name”: “I. Social Media Links and Feeds”,
“type”: “multilineText”
},
{
“name”: “J. Policies and Certifications”,
“type”: “multilineText”
},
{
“name”: “K. Visual Assets”,
“type”: “multilineText”
},
{
“name”: “Original URL”,
“type”: “url”
},
{
“name”: “Last Scraped Date”,
“type”: “date”
}
]
}
],
“workspaceid”: “wspwmdLX4mUv4E6xt”
}

What is in this? Does it maybe contain special characters?

Thank you for your reply Alifar! So that’s a dynamic variable that accounts for the lead’s company name which the Airtable base will be named after + the rest of the text! I don’t think this has an impact on the error code but I could be wrong.

Hello @Diego_Armas_Morales,
First read this 422 Invalid Request What Airtable say about Error 422

The request data is invalid. This includes most of the base-specific validations. You will receive a detailed error message and code pointing to the exact issue.

Then I tried these same things to my Airtable using your data and the client(tool) is Postman.

The only difference is that the Parameter Pass for the Date field “Last Scraped Date” was wrong.

{
"name": "Last Scraped Date",
"type": "date",
"options":{"dateFormat" : {"name":"local"}}
}

It should require passing at least a single date format. Read more about it here Field type Date

1 Like

Thank you for your response! I decided to remove that component altogether because even when I tried to format the data correctly, it wouldn’t do so lmao.

My updated string is:
{
“name”:“{{22.Company Name}} Content Base”,
“tables”:[
{
“name”:“Website Knowledge Base Storage”,
“fields”:[
{
“name”:“A. Company Overview”,
“type”:“multilineText”
},
{
“name”:“B. Products and Services”,
“type”:“multilineText”
},
{
“name”:“C. Blog Posts and Articles”,
“type”:“multilineText”
},
{
“name”:“D. Case Studies and Testimonials”,
“type”:“multilineText”
},
{
“name”:“E. Team and Leadership”,
“type”:“multilineText”
},
{
“name”:“F. FAQs”,
“type”:“multilineText”
},
{
“name”:“G. Contact Information”,
“type”:“multilineText”
},
{
“name”:“H. Press Releases and Media”,
“type”:“multilineText”
},
{
“name”:“I. Social Media Links and Feeds”,
“type”:“multilineText”
},
{
“name”:“J. Policies and Certifications”,
“type”:“multilineText”
},
{
“name”:“K. Visual Assets”,
“type”:“multilineText”
},
{
“name”:“Original URL”,
“type”:“url”
}
]
}
],
“workspaceId”:“wspwmdLX4mUv4E6xt”
}

This was deemed passable by: https://jsonformatter.curiousconcept.com/

Getting a permissions problem that I’ll re-route to Airtable. Thank you again for pointing this out!

Hello @Diego_Armas_Morales,
For that permission issue please check what permissions you’ve given to your token.
You need to give schema.bases:write Permission for allowed to create a new base.
Check here schema.bases:write permission

1 Like

Hey @dilipborad thank you so much for following up - I have set these up correctly as well as you’ll see in these screenshots:

The API that’s generated is a long string but I feed that through the ‘Set Variable’ module you see here:

Furthermore, I add the key: Authorization, and the value: API key as you see here:

Lastly, the former connection I established which you see in the initial pictures of this convo thread had a connection where I hadn’t update my Airtable to the paid plan yet. What I did was create a new connection via Oath with Airtable and tried to do the same as you can see in the screenshot of my workflow here and nothing.

So frustrating. I decided to post in Airtable’s community and might just take it up directly with Airtable’s support because I don’t see this as a Make.com issue anymore…

Hello @Diego_Armas_Morales,
Not 100% sure but also give schema.bases:write permission as well.
Let’s try what happens.
I’ll also try it on my side as well.

1 Like

Thank you Dilip, I will try that right now and get back to you :slight_smile:

Hello @Diego_Armas_Morales,
Issues are not from the Make or Airtable side.
It’s your setup.

In the Airtable setup use Authorization from the connection from the first field “Connection”.
Just remove that extra header for Authorization.

Check for Bearer Token Authentication

1 Like

Thank you Dilip,

same annoying error despite using your proven method. I created a quick video on what I’m doing for reference:

Ok,
This is really strange.
Now let’s try some fresh things.
Forget that last connection that you’ve made of Airtable.
Now go to https://www.make.com/en/help/apps/database/airtable#connect-using-personal-access-token

Create new connection using personal access token. Then use this new connection.
Make sure don’t use oauth connection method use token based method.

1 Like

Hey again Dilip, even this method doesn’t work. I made a quick video on how I went about doing this as well as a quick look into the account and neither suggest I should be encountering this issue since I’m following the Airtable Guidelines?

Alright, Dilip found the solution to this headache. The Airtable guide indicates we have to create a Scope: schema.bases:write along with creating a connection using a personal token to then create bases in Make.com.

Refer to guideline here: Airtable Web API

BUT, for future users trying to create Airtable bases in Make.com, make sure to add the following Scope:

‘schema.bases:read’

When setting this up in Airtable, it should look like this:

Once this is properly set, creating bases will work. Not sure the reason why? Perhaps since the API has been deprecated, Airtable may not have updated their requirements?

But follow these steps and you’re golden. All credit goes to @dilipborad on figuring this out!

2 Likes