A

Asana API Changelog

A
Asana API Changelog Web

[New] Notifications API

Summary We’re introducing the Notifications API, a new resource and set of endpoints that give apps and AI agents programmatic access to the authenticated user’s Asana Inbox. Until now, Inbox notifications have only been available in the Asana web and mobile apps. With the Notifications API, you can retrieve the user’s Inbox notifications for a workspace, and mark them as read or unread. Read stat…

A
Asana API Changelog Web

[New] Webhook event types

Apps can now observe when a custom field is added to or removed from a container (project/protfolio/table). The event’s resource is the custom field. The event’s parent is the container it was connected to. These events describe the field’s connection to the container. Value changes on tasks continue to arrive as task changed events and stories. Affected apps This is an additive change. Existing r…

A
Asana API Changelog Web

[New] Tables and Records API

Summary Tables and Records let you store structured data in Asana. A Table holds Records (rows), and its columns are custom fields New resource types: Table and Record. New OAuth scopes: tables:read, tables:write, tables:delete, records:read, records:write, records:delete. Records support comments through the existing Stories API (GET/POST /records/{record_gid}/stories). Webhooks (added, changed,…

A
Asana API Changelog Web

[New] Rich text support for text custom fields

Summary Text-type custom fields now support rich text content (bold, italic, underline, links, etc.) through the API. A new html_text_value response field surfaces the rich text HTML content of text custom fields on read endpoints. A new html_custom_fields request parameter allows writing rich text content to text custom fields on create and update endpoints. This brings the API to feature parity…

A
Asana API Changelog Web

[New] Time tracking entry assignee field

Summary Time tracking entries now expose an assignee field: the user whose timesheet the entry’s logged time is attributed to. Until now, the only user on a time tracking entry was created_by, which identifies who created the entry, not who it belongs to. The two often differ: a time reviewer or domain admin can log time on behalf of another user. Integrations that used created_by to attribute tim…

A
Asana API Changelog Web

[New] Pagination for SCIM Users and Groups Endpoints

Summary Both GET /scim/Users and GET /scim/Groups can now return paginated results. Paging is opt-in: send startIndex and count, or cursor to enable pagination. If you do not send those parameters, the call returns the full list. This is backwards compatible with existing clients that do not paginate. startIndex, itemsPerPage, and nextCursor are included only when the request asks for a page. They…

A
Asana API Changelog Web

[New] Subtask Date Rollups API support

Summary Asana tasks can be organized into deep subtask hierarchies, but a parent task’s dates have always been independent of its subtasks’ dates. A parent could be due March 15 while a subtask ran to March 20, and nothing in the API surfaced that gap. This release adds API support for detecting when a task’s dates no longer cover its descendants’ dates, and for triggering the same date-alignment…

A
Asana API Changelog Web

[ Upcoming ] Enhanced custom type support for projects and portfolios, plus new custom_type filtering

Summary We’re extending custom types beyond custom task types to also support custom projects and portfolios. With this release, you can: Look up custom types across an entire workspace, not just within a single project Identify Asana-created custom types via the new asana_created_type_identifier field (similar to the existing asana_created_field property on custom fields) Filter GET /tasks, GET /…

A
Asana API Changelog Web

[New] Subtasks now expose inherited project memberships in the API

Summary In Asana, a subtask inherits its ancestor tasks’ project associations even when it has not been added to those projects directly. The web and desktop apps already show these inherited projects, but the API has only ever exposed direct project memberships — so integrations could not reconstruct what users see in the product. We’re closing that gap with two additive, opt-in reads, plus one c…

A
Asana API Changelog Web

[ New ] AI Studio Usage API

AI Studio Usage API Summary We’re adding programmatic access to AI Studio usage data through two new read-only endpoints under a new ai_studio resource group: Credit utilization (/workspaces/{workspace_gid}/ai_studio/runs): one row per AI Studio run (rule execution), including what ran, who owns it, the model used, and the credits consumed. Seats (/workspaces/{workspace_gid}/ai_studio/seats): a cu…

A
Asana API Changelog Web

[ New ] Granular RBAC Permissions

Granular RBAC Permissions This is the canonical thread for all RBAC permission additions to the RbacRole resource. As new permissions are introduced, they will be added here as dated entries. Subscribe to this topic to stay informed, and check the entries below for the latest additions. Current entries: Creation Permissions: create_project, create_goal, create_portfolio, create_read_only_link, sha…

A
Asana API Changelog Web

[Change] sort_by=relevance now available on the Search Projects endpoint

Summary The Search projects in a workspace endpoint (GET /workspaces/{workspace_gid}/projects/search) now supports sort_by=relevance, bringing it to parity with both the Asana web app’s advanced search and the existing Search tasks in a workspace endpoint. Previously, project search results could only be sorted by due_date, created_at, completed_at, or modified_at. You can now pass sort_by=relevan…

A
Asana API Changelog Web

[Upcoming] AI Teammates and Agent API Support

Summary You can now discover agents in a workspace, look up individual agent records, and assign tasks directly to an AI Teammate through both the REST API and the Asana MCP server. These changes are in Early Access and require an opt-in header (Asana-Enable: ai_teammate_actors). This is the first in a phased rollout. Future phases will expand agent support to attribution fields (created_by, compl…

A
Asana API Changelog Web

[ New ] Out of Office API and deprecation of vacation_dates

[ New ] Out of Office API and deprecation of vacation_dates Summary We are introducing the new OooEntry resource to the Asana API, enabling support for multiple out-of-office periods per user. This updates Asana’s OOO model from a single, read-only date range to a flexible, multi-entry system with full CRUD support. As part of this change, the vacation_dates object (containing start_on and end_on)…

A
Asana API Changelog Web

[New] Goals Now Support Privacy Settings, Default Access Levels, and Stories via API

[New] Goals Now Support Privacy Settings, Default Access Levels, and Stories via API Summary Goals now support privacy settings, default access levels, and stories via the Asana API. You can now: Control goal visibility with privacy_setting Set a default member access level with default_access_level Read and post goal comments programmatically using two new goal stories endpoints These are additiv…

A
Asana API Changelog Web

[New] Enhanced filtering for custom task types in Search API

[New] Enhanced filtering for custom task types in Search API Summary Two new filtering capabilities are now available on the Search tasks in a workspace endpoint (GET /workspaces/{workspace_gid}/tasks/search): resource_subtype now accepts "custom" as a value, allowing you to scope search results to custom tasks only. A new parameter, custom_types.{CUSTOM_TYPE_GID}.custom_type_status_option.gid, al…

A
Asana API Changelog Web

[New] Categories for Time Tracking Entries

[New] Categories for Time Tracking Entries Summary The Asana API now supports Time Tracking Categories — a way to label time tracking entries with categories like “Development,” “Meetings,” or “Design Review.” Categories give managers enhanced visibility into how time is being spent across their teams, enabling more granular reporting and filtering. This update introduces a new TimeTrackingCategor…

A
Asana API Changelog Web

[Change] Custom Types Support in Memberships Endpoints

[Change] Custom Types Support in Memberships Endpoints Summary The /memberships endpoints now support Custom Task Types. You can use Custom Task Type GIDs as the parent parameter when creating, retrieving, updating, and deleting memberships. Responses for memberships belonging to a Custom Task Type include a new resource_subtype value: custom_type_membership. Custom Task Types are reusable task co…

A
Asana API Changelog Web

[New] Project Portfolio Settings API

[New] Project Portfolio Settings’s New Endpoints and Webhooks Summary We are introducing the project_portfolio_setting resource to the Asana API. This new resource represents the relationship between a portfolio and a project it contains, specifically exposing the ability to manage permission inheritance. This is designed as a standalone resource to model the many-to-many relationship between proj…

A
Asana API Changelog Web

[New] Advanced Search for Projects

[New] Advanced Search for Projects Finding specific projects via the API previously required fetching large lists and filtering client-side. The new Advanced Project Search endpoint allows you to query projects directly by name, membership, custom fields, and date ranges, using the same filtering capabilities available in Asana’s web app search. Who is affected? This change applies to developers b…

A
Asana API Changelog Web

[New] Timesheet Approval Status API

Summary We’re introducing a new set of endpoints that let you programmatically manage weekly timesheet approval workflows in Asana. With this release, you can: Read and manage timesheet approval statuses for any user on a per-week basis (Monday-Sunday UTC) Transition timesheets through approval states: DRAFT → SUBMITTED → APPROVED (or REJECTED) Filter time tracking entries by their associated time…

A
Asana API Changelog Web

[New] Portfolio Duplication API

[New] Portfolio Duplication Summary You can now duplicate portfolios via the Asana API. This new endpoint allows you to create a new portfolio based on an existing one, carrying over specific settings and configurations to reduce setup friction for repeated workflows. Why we’re making this change Creating portfolios from scratch can be a manual, time-consuming process—especially when reconfiguring…

A
Asana API Changelog Web

[New] RBAC Role API Endpoints (CRUD)

[New] RBAC Role API Endpoints (CRUD) Summary We are introducing a suite of API endpoints to support Role-Based Access Control (RBAC) roles. This update allows developers to programmatically create, retrieve, update, and delete standard and custom roles within a domain. These endpoints provide the necessary infrastructure to manage centralized permissions and resolve role IDs found in audit log eve…

A
Asana API Changelog Web

[New] Read and update custom fields on Users

Summary We’re introducing API support for custom fields on users, allowing developers to programmatically read and update user custom field values, as well as retrieve team custom field settings. This enhancement enables seamless synchronization of people data from external HR systems directly into Asana. With these new endpoints, you can now sync employee attributes like location, start date, dep…

A
Asana API Changelog Web

[New] Filter time tracking entries by date range

Summary We’re adding two new optional query parameters ( entered_on_start_date and entered_on_end_date) to the GET /time_tracking_entries endpoint. These parameters let you filter time tracking entries by the entered_on date field, so you can retrieve entries within a specific date range without client-side filtering. This is a non-breaking change. The new parameters are optional, and existing req…

A
Asana API Changelog Web

[New] V2 MCP server now generally available!

Summary The Asana MCP server is now generally available with the release of V2. This update introduces a new client registration model, an optimized tool set, support for Streamable HTTP, and workspace scoped authorizations. The previous beta release of the MCP server (now referred to as V1) is deprecated as of today and will be shut down in 3 months. The V1 redirect URI allowlist is frozen, so al…

A
Asana API Changelog Web

[New] Time Tracking Entries API - Additional fields available

Summary Three new fields are now available on all API requests that return TimeTrackingEntry entities: approval_status, billable_status, and description. These fields provide additional context about time tracking entries to help you better understand their approval workflow state, billing implications, and user-provided details. They are currently read-only. What’s new The following fields are no…

A
Asana API Changelog Web

[New] Project Budgets support in the Asana API

Summary We’re bringing API support to Project Budgets, a critical component of Asana’s Resource Management Add-On. Project Budgets help teams monitor project financial health by tracking time and costs across multiple dimensions. With this new API functionality, developers can: Programmatically create and configure project budgets and custom rates Pull budget data including actual time and costs s…

A
Asana API Changelog Web

[New] Custom fields on goals

Summary Goals can now include custom fields through the Asana API, bringing the same powerful metadata capabilities that are available for projects and portfolios to your goal management workflows. Custom fields on goals support most field types including text, number, enum (single-select), multi-enum (multi-select), date, and people fields. Why we’re making this change This change benefits develo…

A
Asana API Changelog Web

[New] Time Tracking Entries API - Query by Project, Portfolio, or User

Summary The GET /time_tracking_entries endpoint now supports filtering by project, portfolio, task, and user. This enhancement allows you to retrieve time tracking entries across multiple contexts without needing to make separate API calls for each task or project. What’s new You can now query time tracking entries using these new optional parameters: Parameter Type Description attributable_to str…