Question about search api + paging

In short: yes, it is always safe to use created_at to “paginate” in the search API.

The reason there appears to be a discrepancy in the modified_at is because we actually have two “modified at” values per task. There is the raw modified_at field we expose in the API, which reflects the last time the object was updated in the database. Additionally, there’s a “user visible modification time” which reflects the last time the object was updated in a way that would appear as a change to users of the Asana web app. This is because there are certain changes to objects that are not directly visible, and so aren’t useful when web app users want to know what’s been modified recently.

Our search API operates the same way as our web app advanced search feature, and the web app search uses the “user visible modification time” which is not always in sync with the true “modified at” time. What’s happening here is that the search cluster has filtered and ordered the results by one of these timestamp fields, but the API has returned the other timestamp in the JSON object, giving the appearance of out-of-order/inconsistent results.

3 Likes