We’ve encountered an inconsistency between the Asana Search API and the UI search, specifically around filtering tasks by custom fields of type People.
When calling the API with the following endpoint the parameter custom_fields.{GID}.value={GID} is ignored when used for a custom field of type People:
https://app.asana.com/api/1.0/workspaces/{GID}/tasks/search?projects.any={GID}&custom_fields.{GID}.value={GID}
In the UI search, however, the equivalent query works, but it uses custom_field_{GID}.selected_people instead of value.
The API documentation doesn’t provide details on how to filter by People fields, nor does it clarify the difference between value and selected_people. It also lists unsupported cases like multi-enum, but doesn’t mention People fields at all.
Currently, we need to:
1. Fetch a larger set of tasks (e.g., all tasks from a project).
2. Apply filtering manually on the backend.
While this works, it is resource-intensive and becomes slow with higher task counts.
Has anyone figured out a proper way to query People custom fields via the Search API?
Is there a parameter or syntax we’re missing? Or is this simply not supported right now?
I’d appreciate any insights on this topic. From a developer perspective, the API/UI inconsistency feels like a bug — or at the very least, a missing feature that would greatly improve usability.