You could do all of that for free with Airtable’s interfaces. It would be free if you keep the user as read-only access. You can limit them to just the records that you want them to see, and just the fields you want them to see.
If they need to edit/submit something, you could also do it for free through an Airtable form or through Fillout, both of which are free.
Otherwise, for anything more advanced, you’d have to look at external portal tools which can be pricey, such as Noloco, Softr, JetAdmin, or Glide.
Thanks for your detailed feedback @ScottWorld. I’m afraid I wasn’t specific enough, I’m looking for a way to do so through an API call. The idea is for the external partner to make a get call to retrieve availability as part of an automated workflow, but only for a certain set of permissions (records, rights).
The good news is that all of Airtable’s API calls are done through an Airtable user account, so you can setup a user account that is restricted to only the certain privileges that you want that user to have — such as creating records in a table, deleting records in a table, editing certain fields in a table, or adding new values to single-select and multi-select fields.
But the bad news is that Airtable doesn’t offer any permissions to limit record viewing or field viewing. Once the user has API access to a table, they can see ALL the fields and ALL the records.
One potential workaround for this might be to sync a limited number of records & fields using Airtable’s sync feature to a destination sync table in another base, and then give the user access to just that destination base. But the problem is that destination sync tables can never be edited through the API, so it would always be read-only access.
However, if you’re only doing GET calls, then that would be all you need, and that could be a good solution for you.
Beyond that, I’m not familiar with any 3rd-party apps that let you easily build your own API on top of Airtable’s API, but my guess is that if you know how to write programming code, that you could probably develop your own API. Here’s an interesting article that I found on the Postman website: How to Build an API | Postman Blog
Hey @Ricardo. I wrote this up for you. You could use CSVGetter to select a view and lock down which fields you want in the api output. Everything will be JSON and read only. This may not fit your use-case! But I add features all the time so let me know if it can be modified to solve your issues: