The Asana REST API — tasks, projects, workspaces, goals and portfolios.
We already watch this spec — add your email and we'll alert you on every change, breaking ones first. Free, no credit card, one click to stop.
Rebuilt automatically from the official OpenAPI spec. Every entry is a real diff — nothing is hand-written.
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /attachments | parameter "parent" modified | OK | description changed |
GET /task_templates | parameter "opt_fields" enum values added | OK | Added: offset, path, uri |
GET /task_templates | response 200 property added | OK | Response 200 field "next_page": Added (optional) |
POST /tasks | request body property added | OK | Added (optional) |
POST /tasks | request body property added | OK | Added (optional) |
PUT /tasks/{task_gid} | request body allOf count changed | Breaking | allOf: 2 → 1 schema(s) |
PUT /tasks/{task_gid} | request body property added | OK | Added (optional) |
PUT /tasks/{task_gid} | request body property added | OK | Added (optional) |
POST /tasks/{task_gid}/subtasks | request body property added | OK | Added (optional) |
POST /tasks/{task_gid}/subtasks | request body property added | OK | Added (optional) |
components/schemas/TaskRequestBase.(root).allOf[1].custom_type | property added | OK | Added |
components/schemas/TaskRequestBase.(root).allOf[1].custom_type_status_option | property added | OK | Added |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[1].custom_type | property added | OK | Added |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[1].custom_type_status_option | property added | OK | Added |
components/schemas/TaskUpdateRequest | allOf count changed | Breaking | allOf: 2 → 1 schema(s) |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[1].custom_type | property added | OK | Added |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[1].custom_type_status_option | property added | OK | Added |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /status_updates/{status_update_gid} | parameter "status_update_gid" modified | OK | description changed |
DELETE /status_updates/{status_update_gid} | parameter "status_update_gid" modified | OK | description changed |
POST /status_updates | parameter removed | Potential | Optional parameter "limit" (in query) was removed. Requests still sending it may be rejected. |
POST /status_updates | parameter removed | Potential | Optional parameter "offset" (in query) was removed. Requests still sending it may be rejected. |
POST /status_updates | request body type changed | Breaking | (none) → string |
POST /status_updates | request body allOf removed | Breaking | allOf removed |
components/schemas/StatusUpdateRequest.(root).allOf[1].parent | type changed | Breaking | (none) → string |
components/schemas/StatusUpdateRequest.(root).allOf[1].parent | allOf removed | Breaking | allOf removed |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
POST /portfolios | request body property added | OK | Added (optional) |
POST /portfolios | request body property removed | Potential | Removed (was optional) |
POST /portfolios | response 201 property added | OK | Response 201 field "data.allOf[0].allOf[1].public": Added (optional) |
POST /portfolios | response 201 property removed | Potential | Response 201 field "data.allOf[1].public": Removed (was optional) |
GET /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[1].public": Added (optional) |
GET /portfolios/{portfolio_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[1].public": Removed (was optional) |
PUT /portfolios/{portfolio_gid} | request body property added | OK | Added (optional) |
PUT /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[1].public": Added (optional) |
PUT /portfolios/{portfolio_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[1].public": Removed (was optional) |
POST /portfolios/{portfolio_gid}/addMembers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[1].public": Added (optional) |
POST /portfolios/{portfolio_gid}/addMembers | response 200 property removed | Potential | Response 200 field "data.allOf[1].public": Removed (was optional) |
POST /portfolios/{portfolio_gid}/removeMembers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[1].public": Added (optional) |
POST /portfolios/{portfolio_gid}/removeMembers | response 200 property removed | Potential | Response 200 field "data.allOf[1].public": Removed (was optional) |
POST /projects/{project_gid}/project_statuses | request body type changed | Breaking | object → (none) |
POST /projects/{project_gid}/project_statuses | request body property removed | Potential | Removed (was optional) |
POST /projects/{project_gid}/project_statuses | request body property removed | Potential | Removed (was optional) |
POST /projects/{project_gid}/project_statuses | request body property removed | Potential | Removed (was optional) |
POST /projects/{project_gid}/project_statuses | request body allOf added | Potential | allOf added with 2 schema(s) |
POST /projects/{project_gid}/project_statuses | request body required added | Breaking | Became required: color |
POST /projects/{project_gid}/project_statuses | request body property removed | Potential | Removed (was optional) |
POST /projects/{project_gid}/project_statuses | request body property removed | Potential | Removed (was optional) |
POST /projects/{project_gid}/project_statuses | request body property removed | Potential | Removed (was optional) |
components/schemas/PortfolioBase.(root).allOf[1].public | property added | OK | Added |
components/schemas/PortfolioRequest.(root).allOf[0].allOf[1].public | property added | OK | Added |
components/schemas/PortfolioRequest.(root).allOf[1].public | property removed | Breaking | Removed |
components/schemas/PortfolioUpdateRequest.(root).allOf[0].allOf[1].public | property added | OK | Added |
components/schemas/PortfolioResponse.(root).allOf[0].allOf[1].public | property added | OK | Added |
components/schemas/PortfolioResponse.(root).allOf[1].public | property removed | Breaking | Removed |
components/schemas/ProjectStatusRequest.(root).allOf[0] | type changed | Breaking | object → (none) |
components/schemas/ProjectStatusRequest.(root).allOf[0].gid | property removed | Breaking | Removed |
components/schemas/ProjectStatusRequest.(root).allOf[0].resource_type | property removed | Breaking | Removed |
components/schemas/ProjectStatusRequest.(root).allOf[0].title | property removed | Breaking | Removed |
components/schemas/ProjectStatusRequest.(root).allOf[0] | allOf added | OK | allOf added with 2 schema(s) |
components/schemas/ProjectStatusRequest.(root).allOf[1] | required added | Breaking | New required: color |
components/schemas/ProjectStatusRequest.(root).allOf[1].text | property removed | Breaking | Removed |
components/schemas/ProjectStatusRequest.(root).allOf[1].html_text | property removed | Breaking | Removed |
components/schemas/ProjectStatusRequest.(root).allOf[1].color | property removed | Breaking | Removed |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /access_requests | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/agents | parameter "opt_fields" modified | OK | description changed |
GET /agents/{agent_gid} | parameter "opt_fields" modified | OK | description changed |
GET /allocations/{allocation_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /allocations/{allocation_gid} | parameter "opt_fields" modified | OK | description changed |
GET /allocations | parameter "opt_fields" modified | OK | description changed |
POST /allocations | parameter "opt_fields" modified | OK | description changed |
GET /attachments/{attachment_gid} | parameter "opt_fields" modified | OK | description changed |
GET /attachments | parameter "opt_fields" modified | OK | description changed |
POST /attachments | parameter "opt_fields" modified | OK | description changed |
POST /batch | parameter "opt_fields" modified | OK | description changed |
GET /budgets/{budget_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /budgets/{budget_gid} | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/custom_field_settings | parameter "opt_fields" modified | OK | description changed |
GET /portfolios/{portfolio_gid}/custom_field_settings | parameter "opt_fields" modified | OK | description changed |
GET /goals/{goal_gid}/custom_field_settings | parameter "opt_fields" modified | OK | description changed |
GET /teams/{team_gid}/custom_field_settings | parameter "opt_fields" modified | OK | description changed |
POST /custom_fields | parameter "opt_fields" modified | OK | description changed |
GET /custom_fields/{custom_field_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /custom_fields/{custom_field_gid} | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/custom_fields | parameter "opt_fields" modified | OK | description changed |
POST /custom_fields/{custom_field_gid}/enum_options | parameter "opt_fields" modified | OK | description changed |
POST /custom_fields/{custom_field_gid}/enum_options/insert | parameter "opt_fields" modified | OK | description changed |
PUT /enum_options/{enum_option_gid} | parameter "opt_fields" modified | OK | description changed |
GET /custom_types | parameter "opt_fields" modified | OK | description changed |
GET /custom_types/{custom_type_gid} | parameter "opt_fields" modified | OK | description changed |
GET /events | parameter "opt_fields" modified | OK | description changed |
GET /goal_relationships/{goal_relationship_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /goal_relationships/{goal_relationship_gid} | parameter "opt_fields" modified | OK | description changed |
GET /goal_relationships | parameter "opt_fields" modified | OK | description changed |
POST /goals/{goal_gid}/addSupportingRelationship | parameter "opt_fields" modified | OK | description changed |
GET /goals/{goal_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /goals/{goal_gid} | parameter "opt_fields" modified | OK | description changed |
GET /goals | parameter "opt_fields" modified | OK | description changed |
POST /goals | parameter "opt_fields" modified | OK | description changed |
POST /goals/{goal_gid}/setMetric | parameter "opt_fields" modified | OK | description changed |
POST /goals/{goal_gid}/setMetricCurrentValue | parameter "opt_fields" modified | OK | description changed |
POST /goals/{goal_gid}/addFollowers | parameter "opt_fields" modified | OK | description changed |
POST /goals/{goal_gid}/removeFollowers | parameter "opt_fields" modified | OK | description changed |
GET /goals/{goal_gid}/parentGoals | parameter "opt_fields" modified | OK | description changed |
GET /jobs/{job_gid} | parameter "opt_fields" modified | OK | description changed |
GET /memberships | parameter "opt_fields" modified | OK | description changed |
GET /ooo_entries/{ooo_entry_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /ooo_entries/{ooo_entry_gid} | parameter "opt_fields" modified | OK | description changed |
GET /ooo_entries | parameter "opt_fields" modified | OK | description changed |
POST /ooo_entries | parameter "opt_fields" modified | OK | description changed |
POST /organization_exports | parameter "opt_fields" modified | OK | description changed |
GET /organization_exports/{organization_export_gid} | parameter "opt_fields" modified | OK | description changed |
GET /portfolio_memberships | parameter "opt_fields" modified | OK | description changed |
GET /portfolio_memberships/{portfolio_membership_gid} | parameter "opt_fields" modified | OK | description changed |
GET /portfolios/{portfolio_gid}/portfolio_memberships | parameter "opt_fields" modified | OK | description changed |
GET /portfolios | parameter "opt_fields" modified | OK | description changed |
POST /portfolios | parameter "opt_fields" modified | OK | description changed |
GET /portfolios/{portfolio_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /portfolios/{portfolio_gid} | parameter "opt_fields" modified | OK | description changed |
GET /portfolios/{portfolio_gid}/items | parameter "opt_fields" modified | OK | description changed |
POST /portfolios/{portfolio_gid}/addMembers | parameter "opt_fields" modified | OK | description changed |
POST /portfolios/{portfolio_gid}/removeMembers | parameter "opt_fields" modified | OK | description changed |
POST /portfolios/{portfolio_gid}/duplicate | parameter "opt_fields" modified | OK | description changed |
GET /project_briefs/{project_brief_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /project_briefs/{project_brief_gid} | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/project_briefs | parameter "opt_fields" modified | OK | description changed |
GET /project_memberships/{project_membership_gid} | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/project_memberships | parameter "opt_fields" modified | OK | description changed |
GET /project_portfolio_settings/{project_portfolio_setting_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /project_portfolio_settings/{project_portfolio_setting_gid} | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/project_portfolio_settings | parameter "opt_fields" modified | OK | description changed |
GET /portfolios/{portfolio_gid}/project_portfolio_settings | parameter "opt_fields" modified | OK | description changed |
GET /project_statuses/{project_status_gid} | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/project_statuses | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/project_statuses | parameter "opt_fields" modified | OK | description changed |
GET /project_templates/{project_template_gid} | parameter "opt_fields" modified | OK | description changed |
GET /project_templates | parameter "opt_fields" modified | OK | description changed |
GET /teams/{team_gid}/project_templates | parameter "opt_fields" modified | OK | description changed |
POST /project_templates/{project_template_gid}/instantiateProject | parameter "opt_fields" modified | OK | description changed |
GET /projects | parameter "opt_fields" modified | OK | description changed |
POST /projects | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /projects/{project_gid} | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/duplicate | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/projects | parameter "opt_fields" modified | OK | description changed |
GET /teams/{team_gid}/projects | parameter "opt_fields" modified | OK | description changed |
POST /teams/{team_gid}/projects | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/projects | parameter "opt_fields" modified | OK | description changed |
POST /workspaces/{workspace_gid}/projects | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/projects/search | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/addCustomFieldSetting | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/task_counts | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/addMembers | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/removeMembers | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/addFollowers | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/removeFollowers | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/saveAsTemplate | parameter "opt_fields" modified | OK | description changed |
GET /rates | parameter "opt_fields" modified | OK | description changed |
POST /rates | parameter "opt_fields" modified | OK | description changed |
GET /rates/{rate_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /rates/{rate_gid} | parameter "opt_fields" modified | OK | description changed |
GET /roles | parameter "opt_fields" modified | OK | description changed |
POST /roles | parameter "opt_fields" modified | OK | description changed |
GET /roles/{role_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /roles/{role_gid} | parameter "opt_fields" modified | OK | description changed |
GET /sections/{section_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /sections/{section_gid} | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/sections | parameter "opt_fields" modified | OK | description changed |
POST /projects/{project_gid}/sections | parameter "opt_fields" modified | OK | description changed |
GET /status_updates/{status_update_gid} | parameter "opt_fields" modified | OK | description changed |
GET /status_updates | parameter "opt_fields" modified | OK | description changed |
POST /status_updates | parameter "opt_fields" modified | OK | description changed |
GET /stories/{story_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /stories/{story_gid} | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/stories | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/stories | parameter "opt_fields" modified | OK | description changed |
GET /goals/{goal_gid}/stories | parameter "opt_fields" modified | OK | description changed |
POST /goals/{goal_gid}/stories | parameter "opt_fields" modified | OK | description changed |
GET /tags | parameter "opt_fields" modified | OK | description changed |
POST /tags | parameter "opt_fields" modified | OK | description changed |
GET /tags/{tag_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /tags/{tag_gid} | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/tags | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/tags | parameter "opt_fields" modified | OK | description changed |
POST /workspaces/{workspace_gid}/tags | parameter "opt_fields" modified | OK | description changed |
GET /task_templates | parameter "opt_fields" modified | OK | description changed |
GET /task_templates/{task_template_gid} | parameter "opt_fields" modified | OK | description changed |
POST /task_templates/{task_template_gid}/instantiateTask | parameter "opt_fields" modified | OK | description changed |
GET /tasks | parameter "opt_fields" modified | OK | description changed |
POST /tasks | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /tasks/{task_gid} | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/duplicate | parameter "opt_fields" modified | OK | description changed |
GET /projects/{project_gid}/tasks | parameter "opt_fields" modified | OK | description changed |
GET /sections/{section_gid}/tasks | parameter "opt_fields" modified | OK | description changed |
GET /tags/{tag_gid}/tasks | parameter "opt_fields" modified | OK | description changed |
GET /user_task_lists/{user_task_list_gid}/tasks | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/subtasks | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/subtasks | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/setParent | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/dependencies | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/dependents | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/addFollowers | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/removeFollowers | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/tasks/search | parameter "opt_fields" modified | OK | description changed |
GET /team_memberships/{team_membership_gid} | parameter "opt_fields" modified | OK | description changed |
GET /team_memberships | parameter "opt_fields" modified | OK | description changed |
GET /teams/{team_gid}/team_memberships | parameter "opt_fields" modified | OK | description changed |
GET /users/{user_gid}/team_memberships | parameter "opt_fields" modified | OK | description changed |
POST /teams | parameter "opt_fields" modified | OK | description changed |
GET /teams/{team_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /teams/{team_gid} | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/teams | parameter "opt_fields" modified | OK | description changed |
GET /users/{user_gid}/teams | parameter "opt_fields" modified | OK | description changed |
POST /teams/{team_gid}/addUser | parameter "opt_fields" modified | OK | description changed |
GET /time_periods/{time_period_gid} | parameter "opt_fields" modified | OK | description changed |
GET /time_periods | parameter "opt_fields" modified | OK | description changed |
GET /time_tracking_categories/{time_tracking_category_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /time_tracking_categories/{time_tracking_category_gid} | parameter "opt_fields" modified | OK | description changed |
GET /time_tracking_categories/{time_tracking_category_gid}/time_tracking_entries | parameter "opt_fields" modified | OK | description changed |
GET /time_tracking_categories | parameter "opt_fields" modified | OK | description changed |
POST /time_tracking_categories | parameter "opt_fields" modified | OK | description changed |
GET /tasks/{task_gid}/time_tracking_entries | parameter "opt_fields" modified | OK | description changed |
POST /tasks/{task_gid}/time_tracking_entries | parameter "opt_fields" modified | OK | description changed |
GET /time_tracking_entries/{time_tracking_entry_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /time_tracking_entries/{time_tracking_entry_gid} | parameter "opt_fields" modified | OK | description changed |
GET /time_tracking_entries | parameter "opt_fields" modified | OK | description changed |
GET /timesheet_approval_statuses/{timesheet_approval_status_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /timesheet_approval_statuses/{timesheet_approval_status_gid} | parameter "opt_fields" modified | OK | description changed |
GET /timesheet_approval_statuses | parameter "opt_fields" modified | OK | description changed |
POST /timesheet_approval_statuses | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/typeahead | parameter "opt_fields" modified | OK | description changed |
GET /user_task_lists/{user_task_list_gid} | parameter "opt_fields" modified | OK | description changed |
GET /users/{user_gid}/user_task_list | parameter "opt_fields" modified | OK | description changed |
GET /users | parameter "opt_fields" modified | OK | description changed |
GET /users/{user_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /users/{user_gid} | parameter "opt_fields" modified | OK | description changed |
GET /users/{user_gid}/favorites | parameter "opt_fields" modified | OK | description changed |
GET /teams/{team_gid}/users | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/users | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/users/{user_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /workspaces/{workspace_gid}/users/{user_gid} | parameter "opt_fields" modified | OK | description changed |
GET /webhooks | parameter "opt_fields" modified | OK | description changed |
POST /webhooks | parameter "opt_fields" modified | OK | description changed |
GET /webhooks/{webhook_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /webhooks/{webhook_gid} | parameter "opt_fields" modified | OK | description changed |
GET /workspace_memberships/{workspace_membership_gid} | parameter "opt_fields" modified | OK | description changed |
GET /users/{user_gid}/workspace_memberships | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid}/workspace_memberships | parameter "opt_fields" modified | OK | description changed |
GET /workspaces | parameter "opt_fields" modified | OK | description changed |
GET /workspaces/{workspace_gid} | parameter "opt_fields" modified | OK | description changed |
PUT /workspaces/{workspace_gid} | parameter "opt_fields" modified | OK | description changed |
POST /workspaces/{workspace_gid}/addUser | parameter "opt_fields" modified | OK | description changed |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /tasks/{task_gid} | description updated | OK | Summary or description text changed. No contract impact. |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | description updated | OK | Summary or description text changed. No contract impact. |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /custom_types/{custom_type_gid} | security security requirement added | Potential | Endpoint: security requirement added (oauth2) |
GET /custom_types/{custom_type_gid} | security security requirement removed | OK | Endpoint: security requirement removed (oauth2) |
GET /custom_types/{custom_type_gid} | security security scope added | Potential | Endpoint: scope added to "oauth2": custom_types:read |
GET /custom_types/{custom_type_gid} | description updated | OK | Summary or description text changed. No contract impact. |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /allocations/{allocation_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
GET /allocations/{allocation_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].parent.resource_subtype": Added (optional) |
PUT /allocations/{allocation_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
PUT /allocations/{allocation_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].parent.resource_subtype": Added (optional) |
GET /allocations | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
GET /allocations | response 200 property added | OK | Response 200 field "data[].allOf[1].parent.resource_subtype": Added (optional) |
POST /allocations | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
POST /allocations | response 201 property added | OK | Response 201 field "data.allOf[1].parent.resource_subtype": Added (optional) |
GET /budgets | response 200 property added | OK | Response 200 field "data[].allOf[1].parent.allOf[0].resource_subtype": Added (optional) |
POST /budgets | response 201 property added | OK | Response 201 field "data.allOf[1].parent.allOf[0].resource_subtype": Added (optional) |
GET /budgets/{budget_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
GET /budgets/{budget_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].parent.allOf[0].resource_subtype": Added (optional) |
PUT /budgets/{budget_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
PUT /budgets/{budget_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].parent.allOf[0].resource_subtype": Added (optional) |
GET /projects/{project_gid}/custom_field_settings | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype, project.resource_subtype |
GET /projects/{project_gid}/custom_field_settings | response 200 property added | OK | Response 200 field "data[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid}/custom_field_settings | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype, project.resource_subtype |
GET /portfolios/{portfolio_gid}/custom_field_settings | response 200 property added | OK | Response 200 field "data[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /goals/{goal_gid}/custom_field_settings | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype, project.resource_subtype |
GET /goals/{goal_gid}/custom_field_settings | response 200 property added | OK | Response 200 field "data[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /teams/{team_gid}/custom_field_settings | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype, project.resource_subtype |
GET /teams/{team_gid}/custom_field_settings | response 200 property added | OK | Response 200 field "data[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /custom_types | parameter added | OK | New optional parameter "workspace" (in query). Existing requests keep working. |
GET /custom_types | parameter "project" parameter became optional | OK | Parameter "project" changed (parameter became optional). |
GET /custom_types | parameter "opt_fields" enum values added | OK | Added: asana_created_type_identifier |
GET /custom_types | response 200 property added | OK | Response 200 field "data[].allOf[0].asana_created_type_identifier": Added (optional) |
GET /custom_types | security security requirement added | Potential | Endpoint: security requirement added (oauth2) |
GET /custom_types | security security requirement removed | OK | Endpoint: security requirement removed (oauth2) |
GET /custom_types | security security scope added | Potential | Endpoint: scope added to "oauth2": custom_types:read |
GET /custom_types | description updated | OK | Summary or description text changed. No contract impact. |
GET /custom_types/{custom_type_gid} | parameter "opt_fields" enum values added | OK | Added: asana_created_type_identifier |
GET /custom_types/{custom_type_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].asana_created_type_identifier": Added (optional) |
GET /goal_relationships/{goal_relationship_gid} | parameter "opt_fields" enum values added | OK | Added: supporting_resource.resource_subtype |
GET /goal_relationships/{goal_relationship_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].supporting_resource.allOf[0].resource_subtype": Added (optional) |
PUT /goal_relationships/{goal_relationship_gid} | parameter "opt_fields" enum values added | OK | Added: supporting_resource.resource_subtype |
PUT /goal_relationships/{goal_relationship_gid} | request body property added | OK | Added (optional) |
PUT /goal_relationships/{goal_relationship_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].supporting_resource.allOf[0].resource_subtype": Added (optional) |
GET /goal_relationships | parameter "opt_fields" enum values added | OK | Added: supporting_resource.resource_subtype |
GET /goal_relationships | response 200 property added | OK | Response 200 field "data[].supporting_resource.allOf[0].resource_subtype": Added (optional) |
POST /goals/{goal_gid}/addSupportingRelationship | parameter "opt_fields" enum values added | OK | Added: supporting_resource.resource_subtype |
POST /goals/{goal_gid}/addSupportingRelationship | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].supporting_resource.allOf[0].resource_subtype": Added (optional) |
GET /goals/{goal_gid} | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
GET /goals/{goal_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
PUT /goals/{goal_gid} | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
PUT /goals/{goal_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /goals | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals | response 201 property added | OK | Response 201 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /goals/{goal_gid}/setMetric | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals/{goal_gid}/setMetric | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /goals/{goal_gid}/setMetricCurrentValue | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals/{goal_gid}/setMetricCurrentValue | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /goals/{goal_gid}/addFollowers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals/{goal_gid}/addFollowers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /goals/{goal_gid}/removeFollowers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals/{goal_gid}/removeFollowers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /goals/{goal_gid}/parentGoals | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype |
POST /goals/{goal_gid}/addCustomFieldSetting | response 200 property added | OK | Response 200 field "data.allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /jobs/{job_gid} | parameter "opt_fields" enum values added | OK | Added: new_portfolio.resource_subtype, new_project.resource_subtype |
GET /jobs/{job_gid} | response 200 property added | OK | Response 200 field "data.new_portfolio.resource_subtype": Added (optional) |
GET /jobs/{job_gid} | response 200 property added | OK | Response 200 field "data.new_project.resource_subtype": Added (optional) |
GET /memberships | response 200 property added | OK | Response 200 field "data[].anyOf[1].allOf[0].parent.resource_subtype": Added (optional) |
GET /memberships | response 200 property added | OK | Response 200 field "data[].anyOf[2].allOf[0].parent.resource_subtype": Added (optional) |
GET /memberships | response 200 property added | OK | Response 200 field "data[].anyOf[4].parent.asana_created_type_identifier": Added (optional) |
POST /memberships | response 201 property added | OK | Response 201 field "data.anyOf[1].allOf[0].parent.resource_subtype": Added (optional) |
POST /memberships | response 201 property added | OK | Response 201 field "data.anyOf[2].parent.resource_subtype": Added (optional) |
POST /memberships | response 201 property added | OK | Response 201 field "data.anyOf[4].parent.asana_created_type_identifier": Added (optional) |
GET /memberships/{membership_gid} | response 200 property added | OK | Response 200 field "data.anyOf[1].allOf[0].parent.resource_subtype": Added (optional) |
GET /memberships/{membership_gid} | response 200 property added | OK | Response 200 field "data.anyOf[2].parent.resource_subtype": Added (optional) |
GET /memberships/{membership_gid} | response 200 property added | OK | Response 200 field "data.anyOf[4].parent.asana_created_type_identifier": Added (optional) |
PUT /memberships/{membership_gid} | response 200 property added | OK | Response 200 field "data.anyOf[1].allOf[0].parent.resource_subtype": Added (optional) |
PUT /memberships/{membership_gid} | response 200 property added | OK | Response 200 field "data.anyOf[2].parent.resource_subtype": Added (optional) |
PUT /memberships/{membership_gid} | response 200 property added | OK | Response 200 field "data.anyOf[4].parent.asana_created_type_identifier": Added (optional) |
GET /portfolio_memberships | parameter "opt_fields" enum values added | OK | Added: portfolio.resource_subtype |
GET /portfolio_memberships | response 200 property added | OK | Response 200 field "data[].portfolio.resource_subtype": Added (optional) |
GET /portfolio_memberships/{portfolio_membership_gid} | parameter "opt_fields" enum values added | OK | Added: portfolio.resource_subtype |
GET /portfolio_memberships/{portfolio_membership_gid} | response 200 property added | OK | Response 200 field "data.portfolio.resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid}/portfolio_memberships | parameter "opt_fields" enum values added | OK | Added: portfolio.resource_subtype |
GET /portfolios/{portfolio_gid}/portfolio_memberships | response 200 property added | OK | Response 200 field "data[].portfolio.resource_subtype": Added (optional) |
GET /portfolios | parameter added | OK | New optional parameter "custom_type" (in query). Existing requests keep working. |
GET /portfolios | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /portfolios | response 200 property added | OK | Response 200 field "data[].resource_subtype": Added (optional) |
POST /portfolios | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /portfolios | request body property added | OK | Added (optional) |
POST /portfolios | request body property added | OK | Added (optional) |
POST /portfolios | response 201 property added | OK | Response 201 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /portfolios | response 201 property added | OK | Response 201 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /portfolios | response 201 property added | OK | Response 201 field "data.allOf[1].custom_type": Added (optional) |
GET /portfolios/{portfolio_gid} | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
PUT /portfolios/{portfolio_gid} | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
PUT /portfolios/{portfolio_gid} | request body property added | OK | Added (optional) |
PUT /portfolios/{portfolio_gid} | request body property added | OK | Added (optional) |
PUT /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
PUT /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
PUT /portfolios/{portfolio_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
GET /portfolios/{portfolio_gid}/items | response 200 property added | OK | Response 200 field "data[].anyOf[0].resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid}/items | response 200 property added | OK | Response 200 field "data[].anyOf[1].resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/addCustomFieldSetting | response 200 property added | OK | Response 200 field "data.allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/addMembers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /portfolios/{portfolio_gid}/addMembers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/addMembers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/addMembers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /portfolios/{portfolio_gid}/removeMembers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /portfolios/{portfolio_gid}/removeMembers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/removeMembers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_field_settings[].allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/removeMembers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /portfolios/{portfolio_gid}/duplicate | parameter "opt_fields" enum values added | OK | Added: new_portfolio.resource_subtype, new_project.resource_subtype |
POST /portfolios/{portfolio_gid}/duplicate | response 201 property added | OK | Response 201 field "data.new_portfolio.resource_subtype": Added (optional) |
POST /portfolios/{portfolio_gid}/duplicate | response 201 property added | OK | Response 201 field "data.new_project.resource_subtype": Added (optional) |
GET /project_briefs/{project_brief_gid} | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype |
GET /project_briefs/{project_brief_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].project.allOf[0].resource_subtype": Added (optional) |
PUT /project_briefs/{project_brief_gid} | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype |
PUT /project_briefs/{project_brief_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /projects/{project_gid}/project_briefs | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype |
POST /projects/{project_gid}/project_briefs | response 201 property added | OK | Response 201 field "data.allOf[1].project.allOf[0].resource_subtype": Added (optional) |
GET /project_memberships/{project_membership_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype, project.resource_subtype |
GET /project_memberships/{project_membership_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].parent.resource_subtype": Added (optional) |
GET /projects/{project_gid}/project_memberships | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
GET /projects/{project_gid}/project_memberships | response 200 property added | OK | Response 200 field "data[].parent.resource_subtype": Added (optional) |
GET /project_portfolio_settings/{project_portfolio_setting_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].project.allOf[0].resource_subtype": Added (optional) |
GET /project_portfolio_settings/{project_portfolio_setting_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].portfolio.allOf[0].resource_subtype": Added (optional) |
PUT /project_portfolio_settings/{project_portfolio_setting_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].project.allOf[0].resource_subtype": Added (optional) |
PUT /project_portfolio_settings/{project_portfolio_setting_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].portfolio.allOf[0].resource_subtype": Added (optional) |
GET /projects/{project_gid}/project_portfolio_settings | response 200 property added | OK | Response 200 field "data[].project.allOf[0].resource_subtype": Added (optional) |
GET /projects/{project_gid}/project_portfolio_settings | response 200 property added | OK | Response 200 field "data[].portfolio.allOf[0].resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid}/project_portfolio_settings | response 200 property added | OK | Response 200 field "data[].project.allOf[0].resource_subtype": Added (optional) |
GET /portfolios/{portfolio_gid}/project_portfolio_settings | response 200 property added | OK | Response 200 field "data[].portfolio.allOf[0].resource_subtype": Added (optional) |
POST /project_templates/{project_template_gid}/instantiateProject | parameter "opt_fields" enum values added | OK | Added: new_portfolio.resource_subtype, new_project.resource_subtype |
POST /project_templates/{project_template_gid}/instantiateProject | response 201 property added | OK | Response 201 field "data.new_portfolio.resource_subtype": Added (optional) |
POST /project_templates/{project_template_gid}/instantiateProject | response 201 property added | OK | Response 201 field "data.new_project.resource_subtype": Added (optional) |
GET /projects | parameter added | OK | New optional parameter "custom_type" (in query). Existing requests keep working. |
GET /projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /projects | response 200 property added | OK | Response 200 field "data[].resource_subtype": Added (optional) |
POST /projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /projects | request body property added | OK | Added (optional) |
POST /projects | request body property added | OK | Added (optional) |
POST /projects | response 201 property added | OK | Response 201 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /projects | response 201 property added | OK | Response 201 field "data.allOf[1].custom_type": Added (optional) |
GET /projects/{project_gid} | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /projects/{project_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
GET /projects/{project_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
PUT /projects/{project_gid} | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
PUT /projects/{project_gid} | request body property added | OK | Added (optional) |
PUT /projects/{project_gid} | request body property added | OK | Added (optional) |
PUT /projects/{project_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
PUT /projects/{project_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /projects/{project_gid}/duplicate | parameter "opt_fields" enum values added | OK | Added: new_portfolio.resource_subtype, new_project.resource_subtype |
POST /projects/{project_gid}/duplicate | response 201 property added | OK | Response 201 field "data.new_portfolio.resource_subtype": Added (optional) |
POST /projects/{project_gid}/duplicate | response 201 property added | OK | Response 201 field "data.new_project.resource_subtype": Added (optional) |
GET /tasks/{task_gid}/projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /tasks/{task_gid}/projects | response 200 property added | OK | Response 200 field "data[].resource_subtype": Added (optional) |
GET /teams/{team_gid}/projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /teams/{team_gid}/projects | response 200 property added | OK | Response 200 field "data[].resource_subtype": Added (optional) |
POST /teams/{team_gid}/projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /teams/{team_gid}/projects | request body property added | OK | Added (optional) |
POST /teams/{team_gid}/projects | request body property added | OK | Added (optional) |
POST /teams/{team_gid}/projects | response 201 property added | OK | Response 201 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /teams/{team_gid}/projects | response 201 property added | OK | Response 201 field "data.allOf[1].custom_type": Added (optional) |
GET /workspaces/{workspace_gid}/projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /workspaces/{workspace_gid}/projects | response 200 property added | OK | Response 200 field "data[].resource_subtype": Added (optional) |
POST /workspaces/{workspace_gid}/projects | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /workspaces/{workspace_gid}/projects | request body property added | OK | Added (optional) |
POST /workspaces/{workspace_gid}/projects | request body property added | OK | Added (optional) |
POST /workspaces/{workspace_gid}/projects | response 201 property added | OK | Response 201 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /workspaces/{workspace_gid}/projects | response 201 property added | OK | Response 201 field "data.allOf[1].custom_type": Added (optional) |
GET /workspaces/{workspace_gid}/projects/search | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
GET /workspaces/{workspace_gid}/projects/search | response 200 property added | OK | Response 200 field "data[].resource_subtype": Added (optional) |
POST /projects/{project_gid}/addCustomFieldSetting | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype, project.resource_subtype |
POST /projects/{project_gid}/addCustomFieldSetting | response 200 property added | OK | Response 200 field "data.allOf[1].project.allOf[0].resource_subtype": Added (optional) |
POST /projects/{project_gid}/addMembers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /projects/{project_gid}/addMembers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /projects/{project_gid}/addMembers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /projects/{project_gid}/removeMembers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /projects/{project_gid}/removeMembers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /projects/{project_gid}/removeMembers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /projects/{project_gid}/addFollowers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /projects/{project_gid}/addFollowers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /projects/{project_gid}/addFollowers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /projects/{project_gid}/removeFollowers | parameter "opt_fields" enum values added | OK | Added: custom_field_settings.parent.resource_subtype, custom_field_settings.project.resource_subtype, custom_type, custom_type.asana_created_type_identifier, custom_type.name, resource_subtype |
POST /projects/{project_gid}/removeFollowers | response 200 property added | OK | Response 200 field "data.allOf[0].allOf[0].resource_subtype": Added (optional) |
POST /projects/{project_gid}/removeFollowers | response 200 property added | OK | Response 200 field "data.allOf[1].custom_type": Added (optional) |
POST /projects/{project_gid}/saveAsTemplate | parameter "opt_fields" enum values added | OK | Added: new_portfolio.resource_subtype, new_project.resource_subtype |
POST /projects/{project_gid}/saveAsTemplate | response 201 property added | OK | Response 201 field "data.new_portfolio.resource_subtype": Added (optional) |
POST /projects/{project_gid}/saveAsTemplate | response 201 property added | OK | Response 201 field "data.new_project.resource_subtype": Added (optional) |
GET /rates | response 200 property added | OK | Response 200 field "data[].anyOf[0].parent.resource_subtype": Added (optional) |
POST /rates | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
POST /rates | response 201 property added | OK | Response 201 field "data.allOf[0].parent.resource_subtype": Added (optional) |
GET /rates/{rate_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
GET /rates/{rate_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].parent.resource_subtype": Added (optional) |
PUT /rates/{rate_gid} | parameter "opt_fields" enum values added | OK | Added: parent.resource_subtype |
PUT /rates/{rate_gid} | response 200 property added | OK | Response 200 field "data.allOf[0].parent.resource_subtype": Added (optional) |
GET /sections/{section_gid} | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype, projects.resource_subtype |
GET /sections/{section_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].project.resource_subtype": Added (optional) |
PUT /sections/{section_gid} | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype, projects.resource_subtype |
PUT /sections/{section_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].project.resource_subtype": Added (optional) |
GET /projects/{project_gid}/sections | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype, projects.resource_subtype |
POST /projects/{project_gid}/sections | parameter "opt_fields" enum values added | OK | Added: project.resource_subtype, projects.resource_subtype |
Showing the first 200 changes of this update.
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
GET /jobs/{job_gid} | description updated | OK | Summary or description text changed. No contract impact. |
GET /portfolios/{portfolio_gid} | description updated | OK | Summary or description text changed. No contract impact. |
GET /projects/{project_gid} | description updated | OK | Summary or description text changed. No contract impact. |
GET /tasks/{task_gid}/projects | parameter added | OK | New optional parameter "include_inherited_projects" (in query). Existing requests keep working. |
GET /projects/{project_gid}/task_counts | description updated | OK | Summary or description text changed. No contract impact. |
GET /tasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks | response 201 property added | OK | Response 201 field "data.allOf[1].effective_memberships": Added (optional) |
GET /tasks/{task_gid} | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /tasks/{task_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].effective_memberships": Added (optional) |
PUT /tasks/{task_gid} | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
PUT /tasks/{task_gid} | response 200 property added | OK | Response 200 field "data.allOf[1].effective_memberships": Added (optional) |
GET /projects/{project_gid}/tasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /sections/{section_gid}/tasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /tags/{tag_gid}/tasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /user_task_lists/{user_task_list_gid}/tasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /tasks/{task_gid}/subtasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks/{task_gid}/subtasks | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks/{task_gid}/subtasks | response 201 property added | OK | Response 201 field "data.allOf[1].effective_memberships": Added (optional) |
POST /tasks/{task_gid}/setParent | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks/{task_gid}/setParent | response 200 property added | OK | Response 200 field "data.allOf[1].effective_memberships": Added (optional) |
GET /tasks/{task_gid}/dependencies | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /tasks/{task_gid}/dependents | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks/{task_gid}/addFollowers | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks/{task_gid}/addFollowers | response 200 property added | OK | Response 200 field "data.allOf[1].effective_memberships": Added (optional) |
POST /tasks/{task_gid}/removeFollowers | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
POST /tasks/{task_gid}/removeFollowers | response 200 property added | OK | Response 200 field "data.allOf[1].effective_memberships": Added (optional) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | response 200 property added | OK | Response 200 field "data.allOf[1].effective_memberships": Added (optional) |
GET /workspaces/{workspace_gid}/tasks/search | parameter "projects.any" modified | OK | description changed |
GET /workspaces/{workspace_gid}/tasks/search | parameter "opt_fields" enum values added | OK | Added: effective_memberships |
GET /time_tracking_entries/{time_tracking_entry_gid} | description updated | OK | Summary or description text changed. No contract impact. |
components/schemas/TaskResponse.(root).allOf[1].effective_memberships | property added | OK | Added |
components/schemas/EffectiveTaskMembership | schema added | OK | Shared schema "EffectiveTaskMembership" was added. |
version 1.0 → 1.0
| Change | Type | Severity | Why it matters |
|---|---|---|---|
POST /tasks | request body type changed | Breaking | object → (none) |
POST /tasks | request body property removed | Potential | Removed (was optional) |
POST /tasks | request body property removed | Potential | Removed (was optional) |
POST /tasks | request body property removed | Potential | Removed (was optional) |
POST /tasks | request body allOf added | Potential | allOf added with 2 schema(s) |
POST /tasks | response 201 type changed | Breaking | Response 201 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
POST /tasks | response 201 property removed | Potential | Response 201 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
POST /tasks | response 201 property removed | Potential | Response 201 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
POST /tasks | response 201 property removed | Potential | Response 201 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
POST /tasks | response 201 allOf added | OK | Response 201 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
GET /tasks/{task_gid} | response 200 type changed | Breaking | Response 200 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
GET /tasks/{task_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
GET /tasks/{task_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
GET /tasks/{task_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
GET /tasks/{task_gid} | response 200 allOf added | OK | Response 200 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
GET /tasks/{task_gid} | description updated | OK | Summary or description text changed. No contract impact. |
PUT /tasks/{task_gid} | request body type changed | Breaking | object → (none) |
PUT /tasks/{task_gid} | request body property removed | Potential | Removed (was optional) |
PUT /tasks/{task_gid} | request body property removed | Potential | Removed (was optional) |
PUT /tasks/{task_gid} | request body property removed | Potential | Removed (was optional) |
PUT /tasks/{task_gid} | request body allOf added | Potential | allOf added with 2 schema(s) |
PUT /tasks/{task_gid} | response 200 type changed | Breaking | Response 200 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
PUT /tasks/{task_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
PUT /tasks/{task_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
PUT /tasks/{task_gid} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
PUT /tasks/{task_gid} | response 200 allOf added | OK | Response 200 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
POST /tasks/{task_gid}/subtasks | request body type changed | Breaking | object → (none) |
POST /tasks/{task_gid}/subtasks | request body property removed | Potential | Removed (was optional) |
POST /tasks/{task_gid}/subtasks | request body property removed | Potential | Removed (was optional) |
POST /tasks/{task_gid}/subtasks | request body property removed | Potential | Removed (was optional) |
POST /tasks/{task_gid}/subtasks | request body allOf added | Potential | allOf added with 2 schema(s) |
POST /tasks/{task_gid}/subtasks | response 201 type changed | Breaking | Response 201 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
POST /tasks/{task_gid}/subtasks | response 201 property removed | Potential | Response 201 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
POST /tasks/{task_gid}/subtasks | response 201 property removed | Potential | Response 201 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
POST /tasks/{task_gid}/subtasks | response 201 property removed | Potential | Response 201 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
POST /tasks/{task_gid}/subtasks | response 201 allOf added | OK | Response 201 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
POST /tasks/{task_gid}/setParent | response 200 type changed | Breaking | Response 200 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
POST /tasks/{task_gid}/setParent | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
POST /tasks/{task_gid}/setParent | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
POST /tasks/{task_gid}/setParent | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
POST /tasks/{task_gid}/setParent | response 200 allOf added | OK | Response 200 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
POST /tasks/{task_gid}/addFollowers | response 200 type changed | Breaking | Response 200 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
POST /tasks/{task_gid}/addFollowers | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
POST /tasks/{task_gid}/addFollowers | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
POST /tasks/{task_gid}/addFollowers | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
POST /tasks/{task_gid}/addFollowers | response 200 allOf added | OK | Response 200 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
POST /tasks/{task_gid}/removeFollowers | response 200 type changed | Breaking | Response 200 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
POST /tasks/{task_gid}/removeFollowers | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
POST /tasks/{task_gid}/removeFollowers | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
POST /tasks/{task_gid}/removeFollowers | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
POST /tasks/{task_gid}/removeFollowers | response 200 allOf added | OK | Response 200 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | response 200 type changed | Breaking | Response 200 field "data.allOf[0].allOf[1].memberships[].section": object → (none) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.gid": Removed (was optional) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.resource_type": Removed (was optional) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | response 200 property removed | Potential | Response 200 field "data.allOf[0].allOf[1].memberships[].section.name": Removed (was optional) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | response 200 allOf added | OK | Response 200 field "data.allOf[0].allOf[1].memberships[].section": allOf added with 2 schema(s) |
GET /workspaces/{workspace_gid}/tasks/custom_id/{custom_id} | description updated | OK | Summary or description text changed. No contract impact. |
components/schemas/TaskBase.(root).allOf[1].memberships[].section | type changed | Breaking | object → (none) |
components/schemas/TaskBase.(root).allOf[1].memberships[].section.gid | property removed | Breaking | Removed |
components/schemas/TaskBase.(root).allOf[1].memberships[].section.resource_type | property removed | Breaking | Removed |
components/schemas/TaskBase.(root).allOf[1].memberships[].section.name | property removed | Breaking | Removed |
components/schemas/TaskBase.(root).allOf[1].memberships[].section | allOf added | OK | allOf added with 2 schema(s) |
components/schemas/TaskRequestBase.(root).allOf[0].allOf[1].memberships[].section | type changed | Breaking | object → (none) |
components/schemas/TaskRequestBase.(root).allOf[0].allOf[1].memberships[].section.gid | property removed | Breaking | Removed |
components/schemas/TaskRequestBase.(root).allOf[0].allOf[1].memberships[].section.resource_type | property removed | Breaking | Removed |
components/schemas/TaskRequestBase.(root).allOf[0].allOf[1].memberships[].section.name | property removed | Breaking | Removed |
components/schemas/TaskRequestBase.(root).allOf[0].allOf[1].memberships[].section | allOf added | OK | allOf added with 2 schema(s) |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section | type changed | Breaking | object → (none) |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section.gid | property removed | Breaking | Removed |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section.resource_type | property removed | Breaking | Removed |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section.name | property removed | Breaking | Removed |
components/schemas/TaskCreateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section | allOf added | OK | allOf added with 2 schema(s) |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section | type changed | Breaking | object → (none) |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section.gid | property removed | Breaking | Removed |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section.resource_type | property removed | Breaking | Removed |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section.name | property removed | Breaking | Removed |
components/schemas/TaskUpdateRequest.(root).allOf[0].allOf[0].allOf[1].memberships[].section | allOf added | OK | allOf added with 2 schema(s) |
components/schemas/TaskResponse.(root).allOf[0].allOf[1].memberships[].section | type changed | Breaking | object → (none) |
components/schemas/TaskResponse.(root).allOf[0].allOf[1].memberships[].section.gid | property removed | Breaking | Removed |
components/schemas/TaskResponse.(root).allOf[0].allOf[1].memberships[].section.resource_type | property removed | Breaking | Removed |
components/schemas/TaskResponse.(root).allOf[0].allOf[1].memberships[].section.name | property removed | Breaking | Removed |
components/schemas/TaskResponse.(root).allOf[0].allOf[1].memberships[].section | allOf added | OK | allOf added with 2 schema(s) |
components/schemas/TaskMembership | schema added | OK | Shared schema "TaskMembership" was added. |
Point us at your own OpenAPI spec and get the same automatic changelog, plus email alerts and breaking-change classification on every release.