Multiple query options when getting rows via API

Hi,

I need to get rows via the API but filter with 2 options. I only see an example for 1 query option.

This works - “My Column”:123

But I need something like - {“My Column”:123, “Other column”:“ABC”}

Any ideas?

1 Like

Hi @Aram_Zadikian, this is something on the roadmap for the API. The workaround is to do the filtering on the target table where you are pushing rows to since listRows only takes one query param. See this thread for some more detail: CodaPHP: A library to easily use Coda API - #14 by Al_Chen_Coda

Another option is to create the view in your source doc and then retrieve the rows from that view only (this API feature was just released a few days ago).

@Al_Chen_Coda Could you please confirm if this was every built out? Is there any other way to filter the results of a GET call?

Hi @Ajay_John, this hasn’t been built out yet :frowning:

1 Like

Oh! :worried:

I know you may not have an answer to when you’ll build this feature, but once an ETA becomes clear, would you mind posting it here, please?

Until then, I’ll just stay subscribed to this thread.

1 Like

Hi,

I’m building a pythonic library for the coda API, and the querying limitations of the “list table rows” endpoint are a major pain point.

Currently the only option for many manipulations is to list all rows and do the filtering on the client side, which becomes slow and expensive for large tables.
Sometimes I can loop through the rows I need and request them one by one. But this is often slower than getting all the rows even if we are only requesting a dozen rows or so, due to so many round trips to the server and back.

In addition to expanding the ‘query’ parameter to handle multiple columns as suggested above, and more crucial in my humble opinion, we need to have the ability to query for specific row_ids, e.g. via a new parameter:
requestedRowIds = [“i-KtoidMyme3” , “i-2RGnw0_Jyj”]

This can be a separate parameter, which if provided, overrides “query” and “visibleOnly” parameters.

Some of the use cases:

  • After upserting rows, I would want to only refresh the affected rows on the library’s representation of the table. The “insert/upsert rows” endpoint helps by providing “addedRowIds” array, and the API should complete the circle and allow me to list them later on.

  • Lookup columns: let’s say my table has only 10 rows and two columns : User and CurrentProject.
    The latter being a single select lookup from the much larger Projects table which has 1000s of rows.
    I can easily identify the table and row ids of each of the 10 projects via the api using “rich” values.
    But if I then wanted to get their some of their attributes such as Projects.Client, Project.StartDate, then once again I am stuck between the two bad choices of either loading the whole projects table or making 10 API calls to get the 10 rows.

3 Likes

+1 from me. And yes … if you can say something in this thread if/when its implemented, that would be much appreciated.

1 Like

Any update on this feature? It would be very helpful for us. We’ve recently started using Coda for our department and plan to use more broadly.

@Michael_Conan - No, unfortunately we haven’t expanded the query capabilities yet.

I created column Composite where I calculate needed params for query.
Example: ‘Today’ | ‘Tomorrow’ for tasks.
I can’t use simple Date, because I need watch to status of tasks.

My telegram for contact: Telegram: Contact @Sumarokov_V

1 Like