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 October, we will begin a deprecation cycle for the boolean public
field on projects. This property will be removed in favor of privacy_setting
.
During the opt-in period, you can use this flag to preview the change:
Asana-Enable: 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: September 14, 2023
Beginning of November 2023
- A gradual rollout begins for privacy_setting on projects in the Asana web app
End of November 2023
privacy_setting
is fully released to all Asana customers- Use
Asana-Enable: project_privacy_setting
header to opt-in to preview projects without public over the the API
Beginning 2024
- Temporary restrictions for private teams (mentioned above) will be removed.
March 2024
- Use an
Asana-Disable
header to opt-out of projects without public over the the API
June 2024
public
field is deprecated
Let us know if you have questions or thoughts! I will be unavailable for the next week, but you may get a reply from someone else, or I will respond when I return. Apologies in advance for the delay.
Thanks!
John Baldo
Asana API Team