Get single record from BaseRow DB, 400 error response

Hi all,

I am trying to pull a single BaseRow DB record based on a page parameter. I have done this other times but not from BaseRow and it worked properly. It currently isn’t pulling the record from BaseRow and I think this is because in Baserow, the id of the record is a number; and in AppGyver composer the ID for the single record data variable is text. Could this be the potential problem? If so, how can I work around this issue? I tried converting the data variables record ID to a number using the NUMBER() formula, but this didn’t work.

Any thoughts? Thanks!

Text accepts both text and number.

What is the error in the browser dev tool?

Hi Fred,

Thanks for your reply. Here is the error

Also, when I try to pass a number through as a page parameter ID, it won’t let me pass a number through. The ID is pulled from a repeated data variable from BaseRow and then passed through an open page component… since it won’t accept numbers I have to use the STRING() formula.

Yes page params are text only so you need the formula.

In your dev tool, highlight the network menu and highlight the row in red that has an error. Then show the response.

Here is the response… I also just saw this by testing the GET request in my BaseRow data resource. Maybe the GET request is not formated correctly for BaseRow?

{“error”:“ERROR_QUERY_PARAMETER_VALIDATION”,“detail”:{“user_field_names”:[{“error”:“Must be a valid boolean.”,“code”:“invalid”}]}}

I’m not familiar with baserow so it’s going to be tough here. Maybe you should submit this error message to the baserow community.

Also can you show screenshots of headers and preview?

I’ll send BaseRow a message to see what they think. Meanwhile, here are the screenshots you requested:

preview


header2

I found the issue from reading the documentation here:
https://api.baserow.io/api/redoc/#tag/Database-table-rows/operation/get_database_table_row

The request for GET record was incorrect. You must edit the relative path in GET records as follows:
https://api.baserow.io/api/database/rows/table/{table_id}/{id}/?user_field_names=true

1 Like

Hello my friend, could you please help me with this error in baserow?

I saw a topic of yours that managed to solve the error.

Can you put a print of how you did the GET configuration in Appgyver please?
I’m not getting it, follow my prints below. I’m having the same error.

I appreciate your help.

did you add results ou /results in the relative path?

Yes, for GET COLLECTION it’s ok.

The problem is in GET RECORD…

I managed to adjust the request and it worked. It’s coming back ok.
But in appgyver the id is text. And in the return of my GET is number. How do I do this?

Either you change the appgyver id type to number or you apply the formula STRING() to your id if you want text type in your GET.

Also please share what adjustments you made for addressing your issue to help the next user facing the same problem.

Exactly! Thanks a lot for the help. Now it worked.

The error was in the GET path.
The path must be:

https://yourproject/api/database/rows/table/id_table - In the “Resource URL” field

Then in the “Relative path” field inside the GET RECORD (GET) Must follow:
/{id}/?user_field_names=true

I also didn’t need to change the “page parameter” field to number. I put it in the formula option and looked for the current.id there and it worked.

Thanks a lot!

1 Like