---
updatedAt: 2026-08-14T18:45:04.000Z
---

Fetch the complete documentation index at: https://developers.asana.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# OAuth scopes

Asana uses OAuth 2.0 for secure user authorization. Scopes allow your app to request only the access it needs, following the [principle of least privilege](https://csrc.nist.gov/glossary/term/least_privilege). That is, OAuth scopes define which parts of the Asana API your app can access. This helps users trust your app and ensures their data is protected.

<Callout icon="📘" theme="info">
  ### Getting started

  For comprehensive documentation on how to register and use the scopes listed on this page, see [OAuth scopes](/docs/oauth#oauth-scopes).
</Callout>

## List of OAuth scopes

The following tables show the currently available set of OAuth scopes (subject to revision) and the corresponding API endpoints they enable. Each scope follows the [documented](/docs/oauth#oauth-scopes) `<resource>:<action>` format. For additional details on each API endpoint, visit the [API reference](/reference/rest-api-reference).

### Attachments

| Scope                | Endpoints                                                |
| -------------------- | -------------------------------------------------------- |
| `attachments:delete` | DELETE /attachments/\{attachment\_gid}                   |
| `attachments:read`   | GET /attachments/\{attachment\_gid}<br/>GET /attachments |
| `attachments:write`  | POST /attachments                                        |

### Custom fields

| Scope                 | Endpoints                                                                                                                                                                                                                                       |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `custom_fields:read`  | GET /custom\_fields/\{custom\_field\_gid}<br/>GET /workspaces/\{workspace\_gid}/custom\_fields                                                                                                                                                  |
| `custom_fields:write` | POST /custom\_fields<br/>PUT /custom\_fields/\{custom\_field\_gid}<br/>POST /custom\_fields/\{custom\_field\_gid}/enum\_options<br/>POST /custom\_fields/\{custom\_field\_gid}/enum\_options/insert<br/>PUT /enum\_options/\{enum\_option\_gid} |

### Custom types

| Scope               | Endpoints                                                      |
| ------------------- | -------------------------------------------------------------- |
| `custom_types:read` | GET /custom\_types<br/>GET /custom\_types/\{custom\_type\_gid} |

### Goals

| Scope        | Endpoints                                                                                                                          |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| `goals:read` | GET /goals/\{goal\_gid}/custom\_field\_settings<br/>GET /goals/\{goal\_gid}<br/>GET /goals<br/>GET /goals/\{goal\_gid}/parentGoals |

### Jobs

| Scope       | Endpoints             |
| ----------- | --------------------- |
| `jobs:read` | GET /jobs/\{job\_gid} |

### Ooo entries

| Scope                | Endpoints                                                   |
| -------------------- | ----------------------------------------------------------- |
| `ooo_entries:delete` | DELETE /ooo\_entries/\{ooo\_entry\_gid}                     |
| `ooo_entries:read`   | GET /ooo\_entries/\{ooo\_entry\_gid}<br/>GET /ooo\_entries  |
| `ooo_entries:write`  | PUT /ooo\_entries/\{ooo\_entry\_gid}<br/>POST /ooo\_entries |

### Portfolios

| Scope              | Endpoints                                                                                                                                                                                                                                                                                                                             |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `portfolios:read`  | GET /portfolios/\{portfolio\_gid}/custom\_field\_settings<br/>GET /portfolios<br/>GET /portfolios/\{portfolio\_gid}<br/>GET /portfolios/\{portfolio\_gid}/items                                                                                                                                                                       |
| `portfolios:write` | POST /portfolios<br/>PUT /portfolios/\{portfolio\_gid}<br/>POST /portfolios/\{portfolio\_gid}/addItem<br/>POST /portfolios/\{portfolio\_gid}/removeItem<br/>POST /portfolios/\{portfolio\_gid}/addCustomFieldSetting<br/>POST /portfolios/\{portfolio\_gid}/removeCustomFieldSetting<br/>POST /portfolios/\{portfolio\_gid}/duplicate |

### Project portfolio settings

| Scope                              | Endpoints                                                                                                                                                                                               |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_portfolio_settings:read`  | GET /project\_portfolio\_settings/\{project\_portfolio\_setting\_gid}<br/>GET /projects/\{project\_gid}/project\_portfolio\_settings<br/>GET /portfolios/\{portfolio\_gid}/project\_portfolio\_settings |
| `project_portfolio_settings:write` | PUT /project\_portfolio\_settings/\{project\_portfolio\_setting\_gid}                                                                                                                                   |

### Project templates

| Scope                    | Endpoints                                                                                                                    |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| `project_templates:read` | GET /project\_templates/\{project\_template\_gid}<br/>GET /project\_templates<br/>GET /teams/\{team\_gid}/project\_templates |

### Projects

| Scope             | Endpoints                                                                                                                                                                                                                                                                                                                                                                          |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projects:delete` | DELETE /projects/\{project\_gid}                                                                                                                                                                                                                                                                                                                                                   |
| `projects:read`   | GET /projects/\{project\_gid}/custom\_field\_settings<br/>GET /projects<br/>GET /projects/\{project\_gid}<br/>GET /tasks/\{task\_gid}/projects<br/>GET /teams/\{team\_gid}/projects<br/>GET /workspaces/\{workspace\_gid}/projects<br/>GET /workspaces/\{workspace\_gid}/projects/search<br/>GET /projects/\{project\_gid}/task\_counts                                            |
| `projects:write`  | POST /project\_templates/\{project\_template\_gid}/instantiateProject<br/>POST /projects<br/>PUT /projects/\{project\_gid}<br/>POST /projects/\{project\_gid}/duplicate<br/>POST /teams/\{team\_gid}/projects<br/>POST /workspaces/\{workspace\_gid}/projects<br/>POST /projects/\{project\_gid}/addCustomFieldSetting<br/>POST /projects/\{project\_gid}/removeCustomFieldSetting |

### Roles

| Scope          | Endpoints                               |
| -------------- | --------------------------------------- |
| `roles:delete` | DELETE /roles/\{role\_gid}              |
| `roles:read`   | GET /roles<br/>GET /roles/\{role\_gid}  |
| `roles:write`  | POST /roles<br/>PUT /roles/\{role\_gid} |

### Stories

| Scope           | Endpoints                                                                                            |
| --------------- | ---------------------------------------------------------------------------------------------------- |
| `stories:read`  | GET /stories/\{story\_gid}<br/>GET /tasks/\{task\_gid}/stories<br/>GET /goals/\{goal\_gid}/stories   |
| `stories:write` | PUT /stories/\{story\_gid}<br/>POST /tasks/\{task\_gid}/stories<br/>POST /goals/\{goal\_gid}/stories |

### Tags

| Scope        | Endpoints                                                                                                       |
| ------------ | --------------------------------------------------------------------------------------------------------------- |
| `tags:read`  | GET /tags<br/>GET /tags/\{tag\_gid}<br/>GET /tasks/\{task\_gid}/tags<br/>GET /workspaces/\{workspace\_gid}/tags |
| `tags:write` | POST /tags<br/>PUT /tags/\{tag\_gid}<br/>POST /workspaces/\{workspace\_gid}/tags                                |

### Task templates

| Scope                 | Endpoints                                                            |
| --------------------- | -------------------------------------------------------------------- |
| `task_templates:read` | GET /task\_templates<br/>GET /task\_templates/\{task\_template\_gid} |

### Tasks

| Scope          | Endpoints                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tasks:delete` | DELETE /tasks/\{task\_gid}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `tasks:read`   | GET /tasks<br/>GET /tasks/\{task\_gid}<br/>GET /projects/\{project\_gid}/tasks<br/>GET /sections/\{section\_gid}/tasks<br/>GET /tags/\{tag\_gid}/tasks<br/>GET /user\_task\_lists/\{user\_task\_list\_gid}/tasks<br/>GET /tasks/\{task\_gid}/subtasks<br/>GET /tasks/\{task\_gid}/dependencies<br/>GET /tasks/\{task\_gid}/dependents<br/>GET /workspaces/\{workspace\_gid}/tasks/custom\_id/\{custom\_id}<br/>GET /workspaces/\{workspace\_gid}/tasks/search<br/>GET /user\_task\_lists/\{user\_task\_list\_gid}<br/>GET /users/\{user\_gid}/user\_task\_list                                                                                    |
| `tasks:write`  | POST /sections/\{section\_gid}/addTask<br/>POST /tasks<br/>PUT /tasks/\{task\_gid}<br/>POST /tasks/\{task\_gid}/duplicate<br/>POST /tasks/\{task\_gid}/subtasks<br/>POST /tasks/\{task\_gid}/setParent<br/>POST /tasks/\{task\_gid}/addDependencies<br/>POST /tasks/\{task\_gid}/removeDependencies<br/>POST /tasks/\{task\_gid}/addDependents<br/>POST /tasks/\{task\_gid}/removeDependents<br/>POST /tasks/\{task\_gid}/addProject<br/>POST /tasks/\{task\_gid}/removeProject<br/>POST /tasks/\{task\_gid}/addTag<br/>POST /tasks/\{task\_gid}/removeTag<br/>POST /tasks/\{task\_gid}/addFollowers<br/>POST /tasks/\{task\_gid}/removeFollowers |

### Team memberships

| Scope                   | Endpoints                                                                                                                                                              |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `team_memberships:read` | GET /team\_memberships/\{team\_membership\_gid}<br/>GET /team\_memberships<br/>GET /teams/\{team\_gid}/team\_memberships<br/>GET /users/\{user\_gid}/team\_memberships |

### Teams

| Scope        | Endpoints                                                                                                                                                 |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `teams:read` | GET /teams/\{team\_gid}/custom\_field\_settings<br/>GET /teams/\{team\_gid}<br/>GET /workspaces/\{workspace\_gid}/teams<br/>GET /users/\{user\_gid}/teams |

### Time tracking categories

| Scope                             | Endpoints                                                                                                                                                                                         |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `time_tracking_categories:delete` | DELETE /time\_tracking\_categories/\{time\_tracking\_category\_gid}                                                                                                                               |
| `time_tracking_categories:read`   | GET /time\_tracking\_categories/\{time\_tracking\_category\_gid}<br/>GET /time\_tracking\_categories/\{time\_tracking\_category\_gid}/time\_tracking\_entries<br/>GET /time\_tracking\_categories |
| `time_tracking_categories:write`  | PUT /time\_tracking\_categories/\{time\_tracking\_category\_gid}<br/>POST /time\_tracking\_categories                                                                                             |

### Time tracking entries

| Scope                        | Endpoints                                                                                                                                       |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `time_tracking_entries:read` | GET /tasks/\{task\_gid}/time\_tracking\_entries<br/>GET /time\_tracking\_entries/\{time\_tracking\_entry\_gid}<br/>GET /time\_tracking\_entries |

### Timesheet approval statuses

| Scope                               | Endpoints                                                                                                      |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `timesheet_approval_statuses:read`  | GET /timesheet\_approval\_statuses/\{timesheet\_approval\_status\_gid}<br/>GET /timesheet\_approval\_statuses  |
| `timesheet_approval_statuses:write` | PUT /timesheet\_approval\_statuses/\{timesheet\_approval\_status\_gid}<br/>POST /timesheet\_approval\_statuses |

### Typeahead

| Scope                       | Endpoints                                   |
| --------------------------- | ------------------------------------------- |
| `workspaces.typeahead:read` | GET /workspaces/\{workspace\_gid}/typeahead |

### Users

| Scope        | Endpoints                                                                                                                                                                                                           |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `users:read` | GET /users<br/>GET /users/\{user\_gid}<br/>GET /users/\{user\_gid}/favorites<br/>GET /teams/\{team\_gid}/users<br/>GET /workspaces/\{workspace\_gid}/users<br/>GET /workspaces/\{workspace\_gid}/users/\{user\_gid} |

### Webhooks

| Scope             | Endpoints                                        |
| ----------------- | ------------------------------------------------ |
| `webhooks:delete` | DELETE /webhooks/\{webhook\_gid}                 |
| `webhooks:read`   | GET /webhooks<br/>GET /webhooks/\{webhook\_gid}  |
| `webhooks:write`  | POST /webhooks<br/>PUT /webhooks/\{webhook\_gid} |

### Workspaces

| Scope             | Endpoints                                             |
| ----------------- | ----------------------------------------------------- |
| `workspaces:read` | GET /workspaces<br/>GET /workspaces/\{workspace\_gid} |

***

## OpenID Connect scopes

In addition to the resource-related scopes above, these scopes are used when requesting identity information via [OpenID Connect](/docs/openid-connect):

| Scope     | Access provided                                                                                                             |
| :-------- | :-------------------------------------------------------------------------------------------------------------------------- |
| `openid`  | Provides access to OpenID Connect ID tokens and the [OpenID Connect](/docs/openid-connect) user info endpoint.              |
| `email`   | Provides access to the user's email through the [OpenID Connect](/docs/openid-connect) user info endpoint.                  |
| `profile` | Provides access to the user's name and profile photo through the [OpenID Connect](/docs/openid-connect) user info endpoint. |

<Callout icon="📘" theme="info">
  ### OpenID Connect scopes

  For more information about the OpenID Connect and the `openid` scope, [view its documentation](/docs/openid-connect).
</Callout>

## Service Account scopes

Service Accounts include an additional security layer through **authorization scopes**, allowing fine-grained control over what each Service Account can access.

Currently, the following scopes are supported:

* **User Provisioning (SCIM)**
  Grants access to the [SCIM API](/docs/scim) and allows you to select read and write permissions.

* **Audit Logs**
  Provides access to the [Audit Log API](/docs/audit-log-events).

* **Exporting**
  Grants access to the [Organization Exports API](/reference/organization-exports).

* **Workspace Events**
  Provides access to the [Events API](/docs/workspace-events).

* **AI Studio Usage API**<br />Provides access to the [AI Studio Usage API.](/reference/ai-studio-usage-api)

<Callout icon="📘" theme="info">
  ### Full Permissions

  Service Account scopes are distinct from OAuth scopes. To access standard Asana API endpoints (for example, the [Tasks API](/reference/tasks)), select the **Full Permissions** option when creating the Service Account.
</Callout>

<br />