The `subtasks` field on tasks is being deprecated



Hi everyone,

To increase the speed and stability of the API, we are transitioning to a world with fewer non-paginated fields.

Deprecations are never fun. Thankfully, this one only affects a small number of apps and we’ve built a workaround that will be useful for many more Asana developers.

What’s Going to Break

The subtasks field on tasks is being deprecated. For example, these requests will fail:

GET /tasks/task-id/opt_expand=subtasks
GET /tasks/task-id/opt_expand=this.subtasks+
GET /tasks/task-id/opt_expand=this.subtasks.subtasks

This was never an official part of our API, however, it was accidentally leaked and a small percentage of developers started using it.

The subtasks field on tasks will be permanently deprecated from the API in 3 months.

The Fix

We have a new task field num_subtasks that allows apps to know how many subtasks are on a task. Use num_subtasks to check if a task has subtasks and then make a subsequent request to GET /tasks/task-id/subtasks to fetch the subtasks instead of requesting them as a field on the parent task.

If you have questions, please ask them in this topic and we’ll be happy to answer them.

pinned #2


Thanks for the details. Just out of curiosity: are you able to know who’s using such a feature and warn them directly? Have a great week-end :wave:


@Bastien_Siebman Yes! A direct email is going out next week to every developer that has registered an app that is using the sub_tasks field on tasks. Thankfully, it’s only about 100 people.


Awesome! Wow 100 is a lot! I never thought there were so many developers out there :heart_eyes:


That’s actually only a small percentage of the number of active apps. We need to get more people on the community!


Just received the email about this change.

Our organization uses subtasks heavily, and we’re using the API to visualize them. If I understand this change, it means that what we’ve been doing in one request (grabbing all tasks and their immediate subtasks) is going to become 40-50 requests. Is that accurate?

Furthermore, the events API doesn’t say it works on subtasks, and I see no push mechanism, so it appears that we have no choice but to poll using all 40-50 requests each time. Is that accurate as well?


Our customers at Everhour also use subtasks a lot.

Everhour provides time tracking possibilities for Asana tasks and subtasks. But now it will require us do much more requests to sync all project tasks.

Do you have alternative option API to get all project tasks & subtasks?