I am using Asana with several other services which query my Asana tasks and projects via the Asana API. After many months I have been engeged with support from these services in order to fix some problems I had with how my Asana tasks were synced across these services. One thing that turns out to be the source of multiple troubles is how subtasks are accessed via the Asana API. Here is what one developer said to me when explaining why they cannot sync sub-tasks (or sub-sub-tasks) from Asana:
To request subtasks, we have to make X extra requests (where X is the number of tasks) via their [Asana’s] API, which covers almost any limit. Wunderlist, GTasks, Trello etc lets us get at least the info “does the task have any subitems”, or even provide full picture at once. Thus it depends on Asana API team or their restrictions: as soon as they’ll let us request the subtasks without reaching the request limits, we’ll add it to our pipeline.
So, as I understand it, this means that the Asana API is too ineffective when it comes to tasks lower down in the hierarchy. It takes to many API calls to even get information about their existence.
At another service, I was having huge problems with inconsistent behaviour when it comes to sub-tasks and it took the developers quite some time to discover that they were often hitting Asana’s API call rate limits when querying sub-tasks and failed to properly handle that on their side. So while that failure to handle the rate limitation correctly is their fault, I wonder whether such issues could not be avoided if Asana provided a better way of querying sub-tasks (and sub-sub-tasks)?