Adding members to a project


Hey all,

I’m looking for a way to add users to an Asana project using the API.
The users are not part of any previous team and are given at random.

Thanks for the help,



Hey @Aviv_Farhi,

Have you tired:

POST /projects/{project_gid}/addMembers

This request adds a specified list of users as members to the project. Here are the docs.


Hey, thanks for the reply.
I haven’t tried that but I doubt it would work.
You see, I need to add a user that is not currently a member.
I intend to add the new user using email since I have no user ID.


The Asana API doesn’t provide the ability to create a new Asana user, so unfortunately you won’t be able to do what you’ve described.


Hey @Aviv_Farhi,

You can try using our addUser endpoint to invite new users to a domain:

POST /workspaces/{workspace_gid}/addUser

Here are the docs for user management.


@Jeff_Schneider - the user whose email address you send to addUser has to have an Asana account (i.e. be a known Asana user), correct? Or can it be a new unknown email address and that endpoint will create a user account?


Hey @Phil_Seeman, good question (and probably something we should make more clear on our docs). You can invite people who have a random email. Once they accept the invite, they will join the Asana organization as a guest.


Oh, that’s very cool!


Hi @Jeff_Schneider I tried using this method, but I received a weird response:

{"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:"}]} 

I tried using the following methods:

curl -H -XPOST -H "content-type: application/json" -H "Authorization: Bearer 0/xxx" -d '{"data": {"user": "" }}'

Also tried:

curl -X POST -H "content-type: application/json" -H "Authorization: Bearer 0/xxx"

url -H "Authorization: Bearer 0/xxx" -d '{"workspace_gid": "123", "user": "" }'


url -H "Authorization: Bearer 0/xxx" -d '{"data":{"workspace_gid": "123", "user": "" }}'

But none worked, each return a different error.


try passing the data as form urlencoded string like below and that should work!
curl -X POST -H ‘Authorization: Bearer 0/xxxxxxx’ -d ‘’,