Targeting a table with a record ID from a different table via API - unexpected result


#1

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


#2

Hi,

I just tested this with my own base in my rest client (Insomnia) and yes you are correct that happens and it shouldn’t in my opinion either. It should say record not found. It’s even doing it for tables that are not even linked in anyway.

I don’t know if you’re building your app using those urls but maybe try using the nodejs client, because you have to specify the table and record id to retrieve the record and I believe it would give an error in that case. I will also have to test this myself.


#3

Thanks for verifying.

My app does use those endpoints for curl requests. I’ll consider switching to a library that might have more logical error handling. I can work-around this issue but I don’t think I should have to so maybe it can be addressed by Airtable team.


#4

Yes definitely, this should be reported to the team. I wonder if the way to report this is via this forum or to contact them directly.


#5

I started a ticket and sent them this forum link.


#6

Ok, I just tested using nodejs client and it doesn’t present an error there either. So this definitely a bug.
My template loaded showing all queries data as undefined.