Hello!
We’re making changes to project privacy settings. This post outlines the Asana API changes coming to support this new functionality.
Who is Impacted
You might be impacted or interested in these updates if your application reads, creates, or modifies projects.
For example:
- Fetching a project to determine if it is public
- Creating a project
- Creating a project from a template
- Updating a project to be private or public
What’s new
Project privacy setting
Soon, projects will have a privacy_setting
to determine whether they are public to a workspace, private to a team, or private. Here are the possible values (including a temporary value).
If not specified, a project’s default privacy_setting
will be private_to_team
or a default that the Asana admin has set.
privacy_setting |
Project visibility |
---|---|
public_to_workspace |
The project is visible to anyone in the Asana workspace |
private_to_team (temporary) |
The project is visible only to members of the team. This will be deprecated once projects can be shared with teams (see note below). |
private |
Project is visible only to project members |
A note on private_to_team
: When Asana introduces teams as project members (targeting: beginning of 2024), this setting will be deprecated in favor of private
. A project can be marked private
and shared with one or more teams.
Temporary Restrictions for Private Teams
To prevent a breaking API change, private teams will not be able to have projects with privacy_setting: public_to_workspace
. In addition, if a team has a public_to_workspace
project, it cannot be changed to a private team until all of its projects are also private
or private_to_team
. This is to prevent a project from having a null
team
value because the team is not visible to an API user. As a workaround, users may move a project into a public team.
These restrictions will be lifted once we’ve communicated and implemented the ability to create a project without a team association. More to come on this!
Deprecating the public
field
Once this feature is rolled out out to all Asana customers in February, we will begin a deprecation cycle for the boolean public
field on projects. This property will become read-only in favor of privacy_setting
.
In June 2024, public
will become read-only and PUT or POST requests which attempt to modify this field will fail with an error. If you need more time to migrate, you can use this flag to temporarily opt-out of the change until August 2024:
Asana-Disable: project_privacy_setting
This change will be made to any endpoint which exposes the project
resource, including:
GET, POST /projects
GET, PUT /projects/{project_gid}
POST /teams/{team_gid}/projects
POST /workspaces/{workspace_gid}/projects
POST /project_templates/{project_template_gid}/instantiateProject
POST /projects/createFromAsanaTemplate
Reason for change
Today, projects that are public to private teams or membership by request teams cannot be private to org, and projects that are public to public teams must be public to org.
With these changes, users will be able to make their project private to members, private to team, or shared with their organization.
Timeline
Here is a rough timeline we are targeting for these changes which may be adjusted. We will post updates in this thread. You can subscribe to this thread for updates.
Updated: May 29, 2024
Beginning of November 2023
- A gradual rollout begins for
privacy_setting
on projects in the Asana web app
February 2024
privacy_setting
is fully released to all Asana customers and available in all projects API requestspublic
is marked deprecated in Asana API documentation
June 26, 2024
public
is becomes read-only- Use an
Asana-Disable: project_privacy_setting
header to temporarily opt-out and continue writing to thepublic
field - Temporary restrictions for private teams (mentioned above) will be removed.
August 28, 2024
public
field is read-only to all API clients
Thanks!
John Baldo
Asana API Team