GET /user_task_list/{user_task_list_gid} is returning 404 for a valid `user_task_list_gid`

Briefly describe (1-2 sentences) the Bug you’re experiencing:
I am attempting to query for the users current tasks by hitting the /user_task_list/{user_task_list_gid} endpoint, however, it’s returning a 404, despite being able to successfully hit /user_task_lists/{user_task_list_gid}/tasks with the same exact user_task_list_gid.

Steps to reproduce:

  1. Get a user’s task list via: /users/{user_gid}/user_task_list
  2. Fetch the compact list of tasks in a user’s My Tasks list: /user_task_lists/{user_task_list_gid}/tasks
  3. (Unsuccessfully) Fetch the full records for a user task list. via /user_task_lists/{user_task_list_gid}/tasks, which will return a 404

Browser version:
Chrome 79.0.3945.79

Upload screenshots below:

Hi @Devon_Peroutky and welcome to the forum,

I don’t know that it will contain the answer but please post the complete requests you’re sending - the one that’s working and the one that’s not - so we can see the differences between them. We might spot a clue there.

@Phil_Seeman Thanks for the quick reply!

The working request:

“data”: [

“next_page”: null

(Sorry for splitting this into two posts, but it told me new users couldn’t post multiple links in the same message)

The Request that is not working (For the same ):

“errors”: [
“message”: “No matching route for request”,
“help”: “For more information on API status codes and how to handle them, read the docs on errors: Asana

Well, you’re right - I get the same results.

@Joe_Trollo @Ross_Grambo, can you check that out? It seems the user_task_list endpoint is not available.

However, @Devon_Peroutky, you can get any details you’d like from your working user_task_lists endpoint, you don’t need the non-working one. To do that, just use the opt_fields or opt_expand options as discussed here in the API docs.

So for example:




The difference is the latter example uses opt_expand instead of opt_fields so it returns the completed expanded record for sub-objects within a task like assignee.

Or, while it may be overkill (and Joe will probably hate me for suggesting it), if you’d like to get the full, complete, expanded record for all tasks in the list, you can do this:


@Phil_Seeman Good to know I’m not crazy. Thanks for the workaround, that serves my usecase well!

Hi Devon, I believe the issue in this request is that it has a typo in it. It should be GET /user_task_lists/<id> (plural) and not GET /user_task_list/<id> (singular).

Hey @Joe_Trollo,

Two things…

First, you’re completely right, I misread the docs, to get tasks from the User Task List as @Devon_Peroutky wants, one needs to use the plural endpoint as you said.

But second, while it won’t give Devon what he wants, the docs do say that the singular version should be a valid endpoint that returns info about the user’s User Task List, right?

Ahhhh, yep! There’s a typo in the docs too. Sorry about that! I’ll file a task to have it fixed.

1 Like