PortfoliosCreateNewPortfolioRecordRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioRequest"
}
}
}
PortfoliosCreateNewPortfolioRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioResponse"
}
}
}
PortfoliosDeleteRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EmptyResponse"
}
}
}
PortfoliosGetItemsResponse
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectCompact"
}
},
"next_page": {
"$ref": "#/components/schemas/NextPage"
}
}
}
PortfoliosGetRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioResponse"
}
}
}
PortfoliosListMultiplePortfoliosResponse
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PortfolioCompact"
}
},
"next_page": {
"$ref": "#/components/schemas/NextPage"
}
}
}
PortfoliosRemoveCustomFieldSettingRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/RemoveCustomFieldSettingRequest"
}
}
}
PortfoliosRemoveCustomFieldSettingResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EmptyResponse"
}
}
}
PortfoliosRemoveItemFromPortfolioRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioRemoveItemRequest"
}
}
}
PortfoliosRemoveItemFromPortfolioResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EmptyResponse"
}
}
}
PortfoliosRemoveMembersFromPortfolioRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/RemoveMembersRequest"
}
}
}
PortfoliosRemoveMembersFromPortfolioResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioResponse"
}
}
}
PortfoliosUpdatePortfolioRecordRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioRequest"
}
}
}
PortfoliosUpdatePortfolioRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/PortfolioResponse"
}
}
}
Preview
{
"type": "object",
"readOnly": true,
"properties": {
"text": {
"type": "string",
"example": "Great! I like this idea.",
"description": "Text for the body of the preview."
},
"title": {
"type": "string",
"example": "Greg",
"description": "Text to display as the title."
},
"footer": {
"type": "string",
"example": "Mar 17, 2019 1:25 PM",
"description": "Text to display in the footer."
},
"header": {
"type": "string",
"example": "Asana for Slack",
"description": "Text to display in the header."
},
"fallback": {
"type": "string",
"example": "Greg: Great! I like this idea.\\n\\nhttps//a_company.slack.com/archives/ABCDEFG/12345678",
"description": "Some fallback text to display if unable to display the full preview."
},
"html_text": {
"type": "string",
"example": "<body>Great! I like this idea.</body>",
"description": "HTML formatted text for the body of the preview."
},
"title_link": {
"type": "string",
"example": "https://asana.slack.com/archives/ABCDEFG/12345678",
"description": "Where to title will link to."
},
"header_link": {
"type": "string",
"example": "https://asana.comn/apps/slack",
"description": "Where the header will link to."
}
},
"description": "A collection of rich text that will be displayed as a preview to another app.\n\nThis is read-only except for a small group of whitelisted apps."
}
ProjectBase
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectCompact"
},
{
"type": "object",
"properties": {
"color": {
"enum": [
"dark-pink",
"dark-green",
"dark-blue",
"dark-red",
"dark-teal",
"dark-brown",
"dark-orange",
"dark-purple",
"dark-warm-gray",
"light-pink",
"light-green",
"light-blue",
"light-red",
"light-teal",
"light-brown",
"light-orange",
"light-purple",
"light-warm-gray",
"none",
null
],
"type": "string",
"example": "light-green",
"nullable": true,
"description": "Color of the project."
},
"notes": {
"type": "string",
"example": "These are things we need to purchase.",
"description": "Free-form textual information associated with the project (ie., its description)."
},
"due_on": {
"type": "string",
"format": "date",
"example": "2019-09-15",
"nullable": true,
"description": "The day on which this project is due. This takes a date with format YYYY-MM-DD."
},
"public": {
"type": "boolean",
"example": false,
"deprecated": true,
"description": "*Deprecated:* new integrations use `privacy_setting` instead."
},
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserCompact"
},
"readOnly": true,
"description": "Array of users who are members of this project."
},
"archived": {
"type": "boolean",
"example": false,
"description": "True if the project is archived, false if not. Archived projects do not show in the UI by default and may be treated differently for queries."
},
"due_date": {
"type": "string",
"format": "date",
"example": "2019-09-15",
"nullable": true,
"description": "*Deprecated: new integrations should prefer the `due_on` field.*"
},
"start_on": {
"type": "string",
"format": "date",
"example": "2019-09-14",
"nullable": true,
"description": "The day on which work for this project begins, or null if the project has no start date. This takes a date with `YYYY-MM-DD` format. *Note: `due_on` or `due_at` must be present in the request when setting or unsetting the `start_on` parameter. Additionally, `start_on` and `due_on` cannot be the same date.*"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-02-22T02:06:58.147Z",
"readOnly": true,
"description": "The time at which this resource was created."
},
"html_notes": {
"type": "string",
"example": "<body>These are things we need to purchase.</body>",
"description": "[Opt In](https://raw.githubusercontent.com). The notes of the project with formatting as HTML."
},
"modified_at": {
"type": "string",
"format": "date-time",
"example": "2012-02-22T02:06:58.147Z",
"readOnly": true,
"description": "The time at which this project was last modified.\n*Note: This does not currently reflect any changes in associations such as tasks or comments that may have been added or removed from the project.*"
},
"default_view": {
"enum": [
"list",
"board",
"calendar",
"timeline"
],
"type": "string",
"example": "calendar",
"description": "The default view (list, board, calendar, or timeline) of a project."
},
"current_status": {
"allOf": [
{
"$ref": "#/components/schemas/ProjectStatusResponse"
},
{
"type": "object",
"nullable": true,
"description": "*Deprecated: new integrations should prefer the `current_status_update` resource.*"
}
]
},
"privacy_setting": {
"enum": [
"public_to_workspace",
"private_to_team",
"private"
],
"type": "string",
"example": "public_to_workspace",
"description": "The privacy setting of the project. *Note: Administrators in your organization may restrict the values of `privacy_setting`.*"
},
"default_access_level": {
"enum": [
"admin",
"editor",
"commenter",
"viewer"
],
"type": "string",
"example": "admin",
"description": "The default access for users or teams who join or are added as members to the project."
},
"current_status_update": {
"allOf": [
{
"$ref": "#/components/schemas/StatusUpdateCompact"
},
{
"type": "object",
"nullable": true,
"description": "The latest `status_update` posted to this project."
}
]
},
"custom_field_settings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomFieldSettingResponse"
},
"readOnly": true,
"description": "Array of Custom Field Settings (in compact form)."
},
"minimum_access_level_for_sharing": {
"enum": [
"admin",
"editor"
],
"type": "string",
"example": "admin",
"description": "The minimum access level needed for project members to share the project and manage project memberships."
},
"minimum_access_level_for_customization": {
"enum": [
"admin",
"editor"
],
"type": "string",
"example": "admin",
"description": "The minimum access level needed for project members to modify this project's workflow and appearance."
}
}
}
]
}
ProjectBriefBase
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectBriefCompact"
},
{
"type": "object",
"properties": {
"title": {
"type": "string",
"example": "Stuff to buy — Project Brief",
"description": "The title of the project brief."
},
"html_text": {
"type": "string",
"example": "<body>This is a <strong>project brief</strong>.</body>",
"description": "HTML formatted text for the project brief."
}
}
}
]
}
ProjectBriefCompact
{
"allOf": [
{
"$ref": "#/components/schemas/AsanaResource"
},
{
"type": "object",
"description": "A *Project Brief* allows you to explain the what and why of the project to your team.",
"x-docs-overrides": {
"properties.resource_type.example": "project_brief"
}
}
]
}
ProjectBriefRequest
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectBriefBase"
},
{
"type": "object",
"properties": {
"text": {
"type": "string",
"example": "This is a project brief.",
"description": "The plain text of the project brief. When writing to a project brief, you can specify either `html_text` (preferred) or `text`, but not both."
}
}
}
]
}
ProjectBriefResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectBriefBase"
},
{
"type": "object",
"properties": {
"text": {
"type": "string",
"example": "This is a project brief.",
"description": "[Opt In](https://raw.githubusercontent.com). The plain text of the project brief."
},
"project": {
"allOf": [
{
"$ref": "#/components/schemas/ProjectCompact"
},
{
"type": "object",
"description": "The project with which this project brief is associated."
}
]
},
"permalink_url": {
"type": "string",
"example": "https://app.asana.com/0/11111111/22222222",
"readOnly": true,
"description": "A url that points directly to the object within Asana."
}
}
}
]
}
ProjectBriefsCreateNewRecordRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectBriefRequest"
}
}
}
ProjectBriefsCreateNewRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectBriefResponse"
}
}
}
ProjectBriefsGetFullRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectBriefResponse"
}
}
}
ProjectBriefsRemoveBriefResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EmptyResponse"
}
}
}
ProjectBriefsUpdateBriefRecordRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectBriefRequest"
}
}
}
ProjectBriefsUpdateBriefRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectBriefResponse"
}
}
}
ProjectCompact
{
"allOf": [
{
"$ref": "#/components/schemas/AsanaResource"
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Stuff to buy",
"description": "Name of the project. This is generally a short sentence fragment that fits on a line in the UI for maximum readability. However, it can be longer."
}
},
"description": "A *project* represents a prioritized list of tasks in Asana or a board with columns of tasks represented as cards. It exists in a single workspace or organization and is accessible to a subset of users in that workspace or organization, depending on its permissions.",
"x-docs-overrides": {
"properties.resource_type.example": "project"
}
}
]
}
ProjectDuplicateRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "New Project Name",
"description": "The name of the new project."
},
"team": {
"type": "string",
"example": "12345",
"description": "Sets the team of the new project. If team is not defined, the new project will be in the same team as the the original project."
},
"include": {
"type": "string",
"example": [
"allocations,members,notes,forms,task_notes,task_assignee,task_subtasks,task_attachments,task_dates,task_dependencies,task_followers,task_tags,task_projects"
],
"pattern": "([allocations|members|notes|forms|task_notes|task_assignee|task_subtasks|task_attachments|task_dates|task_dependencies|task_followers|task_tags|task_projects])(,\\1)*",
"description": "A comma-separated list of elements that will be duplicated to the new project. Tasks are always included.\n##### Fields\n- allocations\n- forms\n- members\n- notes\n- task_assignee\n- task_attachments\n- task_dates\n- task_dependencies\n- task_followers\n- task_notes\n- task_projects\n- task_subtasks\n- task_tags"
},
"schedule_dates": {
"type": "object",
"required": [
"should_skip_weekends"
],
"properties": {
"due_on": {
"type": "string",
"example": "2019-05-21",
"description": "Sets the last due date in the duplicated project to the given date. The rest of the due dates will be offset by the same amount as the due dates in the original project."
},
"start_on": {
"type": "string",
"example": "2019-05-21",
"description": "Sets the first start date in the duplicated project to the given date. The rest of the start dates will be offset by the same amount as the start dates in the original project."
},
"should_skip_weekends": {
"type": "boolean",
"example": true,
"description": "Determines if the auto-shifted dates should skip weekends."
}
},
"description": "A dictionary of options to auto-shift dates. `task_dates` must be included to use this option. Requires either `start_on` or `due_on`, but not both."
}
}
}
ProjectMembershipCompact
{
"allOf": [
{
"$ref": "#/components/schemas/AsanaResource"
},
{
"type": "object",
"properties": {
"member": {
"$ref": "#/components/schemas/MemberCompact",
"description": "Member can be a user or a team."
},
"parent": {
"$ref": "#/components/schemas/ProjectCompact",
"description": "[Opt In](https://raw.githubusercontent.com). The project the user is a member of."
},
"access_level": {
"enum": [
"admin",
"editor",
"commenter",
"viewer"
],
"type": "string",
"example": "admin",
"readOnly": true,
"description": "Whether the member has admin, editor, commenter, or viewer access to the project."
}
},
"description": "This object describes a team or a user's membership to a project including their level of access (Admin, Editor, Commenter, or Viewer).",
"x-docs-overrides": {
"properties.resource_type.example": "project_membership"
}
}
]
}
ProjectMembershipCompactResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectMembershipCompact"
},
{
"type": "object",
"properties": {
"resource_type": {
"type": "string",
"example": "membership",
"description": "The base type of this resource."
},
"resource_subtype": {
"type": "string",
"example": "project_membership",
"description": "Type of the membership."
}
}
}
]
}
ProjectMembershipNormalResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectMembershipCompact"
},
{
"type": "object",
"properties": {
"user": {
"$ref": "#/components/schemas/UserCompact"
},
"project": {
"$ref": "#/components/schemas/ProjectCompact",
"description": "[Opt In](https://raw.githubusercontent.com). The project the user is a member of."
},
"write_access": {
"enum": [
"full_write",
"comment_only"
],
"type": "string",
"example": "full_write",
"readOnly": true,
"description": "Whether the member has full access or comment-only access to the project."
},
"resource_type": {
"type": "string",
"example": "project_membership",
"description": "The base type of this resource."
}
}
}
]
}
ProjectMembershipsGetCompactRecordsResponse
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectMembershipCompact"
}
},
"next_page": {
"$ref": "#/components/schemas/NextPage"
}
}
}
ProjectMembershipsGetRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectMembershipNormalResponse"
}
}
}
ProjectRequest
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectBase"
},
{
"type": "object",
"properties": {
"team": {
"type": "string",
"example": "12345",
"description": "The team that this project is shared with."
},
"owner": {
"type": "string",
"example": "12345",
"nullable": true,
"description": "The current owner of the project, may be null."
},
"followers": {
"type": "string",
"example": 1234523456,
"description": "*Create-only*. Comma separated string of users. Followers are a subset of members who have opted in to receive \"tasks added\" notifications for a project."
},
"workspace": {
"type": "string",
"example": "12345",
"description": "The `gid` of a workspace."
},
"custom_fields": {
"type": "object",
"example": {
"4578152156": "Not Started",
"5678904321": "On Hold"
},
"description": "An object where each key is the GID of a custom field and its corresponding value is either an enum GID, string, number, or object (depending on the custom field type). See the [custom fields guide](https://raw.githubusercontent.com) for details on creating and updating custom field values.",
"additionalProperties": {
"type": "string",
"description": "\"{custom_field_gid}\" => Value (can be text, a number, etc.). For date, use format \"YYYY-MM-DD\" (e.g., 2019-09-15). For date-time, use ISO 8601 date string in UTC (e.g., 2019-09-15T02:06:58.147Z)."
}
}
}
}
]
}
ProjectResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectBase"
},
{
"type": "object",
"properties": {
"icon": {
"enum": [
"list",
"board",
"timeline",
"calendar",
"rocket",
"people",
"graph",
"star",
"bug",
"light_bulb",
"globe",
"gear",
"notebook",
"computer",
"check",
"target",
"html",
"megaphone",
"chat_bubbles",
"briefcase",
"page_layout",
"mountain_flag",
"puzzle",
"presentation",
"line_and_symbols",
"speed_dial",
"ribbon",
"shoe",
"shopping_basket",
"map",
"ticket",
"coins"
],
"type": "string",
"example": "chat_bubbles",
"nullable": true,
"description": "The icon for a project."
},
"team": {
"allOf": [
{
"$ref": "#/components/schemas/TeamCompact"
},
{
"type": "object",
"description": "The team that this project is shared with."
}
]
},
"owner": {
"allOf": [
{
"$ref": "#/components/schemas/UserCompact"
},
{
"type": "object",
"nullable": true
}
],
"description": "The current owner of the project, may be null."
},
"completed": {
"type": "boolean",
"example": false,
"readOnly": true,
"description": "True if the project is currently marked complete, false if not."
},
"followers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserCompact"
},
"readOnly": true,
"description": "Array of users following this project. Followers are a subset of members who have opted in to receive \"tasks added\" notifications for a project."
},
"workspace": {
"allOf": [
{
"$ref": "#/components/schemas/WorkspaceCompact"
},
{
"type": "object",
"readOnly": true,
"description": "*Create-only*. The workspace or organization this project is associated with. Once created, projects cannot be moved to a different workspace. This attribute can only be specified at creation time. If the workspace for your project is an organization, you must also supply a `team` in the request body."
}
]
},
"completed_at": {
"type": "string",
"format": "date-time",
"example": "2012-02-22T02:06:58.147Z",
"nullable": true,
"readOnly": true,
"description": "The time at which this project was completed, or null if the project is not completed."
},
"completed_by": {
"allOf": [
{
"$ref": "#/components/schemas/UserCompact"
},
{
"nullable": true,
"readOnly": true,
"description": "The user that marked this project complete, or null if the project is not completed."
}
]
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomFieldCompact"
},
"readOnly": true,
"description": "Array of Custom Fields."
},
"permalink_url": {
"type": "string",
"example": "https://app.asana.com/0/resource/123456789/list",
"readOnly": true,
"description": "A url that points directly to the object within Asana."
},
"project_brief": {
"allOf": [
{
"$ref": "#/components/schemas/ProjectBriefCompact"
},
{
"type": "object",
"nullable": true,
"description": "[Opt In](https://raw.githubusercontent.com). The project brief associated with this project."
}
]
},
"created_from_template": {
"allOf": [
{
"$ref": "#/components/schemas/ProjectTemplateCompact"
},
{
"type": "object",
"nullable": true,
"description": "[Opt In](https://raw.githubusercontent.com). The project template from which this project was created. If the project was not created from a template, this field will be null."
}
]
}
}
}
]
}
ProjectSaveAsTemplateRequest
{
"type": "object",
"required": [
"name",
"public"
],
"properties": {
"name": {
"type": "string",
"example": "New Project Template",
"description": "The name of the new project template."
},
"team": {
"type": "string",
"example": "12345",
"description": "Sets the team of the new project template. If the project exists in an organization, specify team and not workspace."
},
"public": {
"type": "boolean",
"example": true,
"description": "Sets the project template to public to its team."
},
"workspace": {
"type": "string",
"example": "12345",
"description": "Sets the workspace of the new project template. Only specify workspace if the project exists in a workspace."
}
}
}
ProjectSectionInsertRequest
{
"type": "object",
"required": [
"section"
],
"properties": {
"section": {
"type": "string",
"example": "321654",
"description": "The section to reorder."
},
"after_section": {
"type": "string",
"example": "987654",
"description": "Insert the given section immediately after the section specified by this parameter."
},
"before_section": {
"type": "string",
"example": "86420",
"description": "Insert the given section immediately before the section specified by this parameter."
}
}
}
ProjectStatusBase
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectStatusCompact"
},
{
"type": "object",
"properties": {
"text": {
"type": "string",
"example": "The project is moving forward according to plan...",
"description": "The text content of the status update."
},
"color": {
"enum": [
"green",
"yellow",
"red",
"blue",
"complete"
],
"type": "string",
"description": "The color associated with the status update."
},
"html_text": {
"type": "string",
"example": "<body>The project <strong>is</strong> moving forward according to plan...</body>",
"description": "[Opt In](https://raw.githubusercontent.com). The text content of the status update with formatting as HTML."
}
}
}
]
}
ProjectStatusCompact
{
"allOf": [
{
"$ref": "#/components/schemas/AsanaResource"
},
{
"type": "object",
"properties": {
"title": {
"type": "string",
"example": "Status Update - Jun 15",
"description": "The title of the project status update."
}
},
"description": "*Deprecated: new integrations should prefer the `status_update` resource.*\nA *project status* is an update on the progress of a particular project, and is sent out to all project followers when created. These updates include both text describing the update and a color code intended to represent the overall state of the project: \"green\" for projects that are on track, \"yellow\" for projects at risk, and \"red\" for projects that are behind.",
"x-docs-overrides": {
"properties.resource_type.example": "project_status"
}
}
]
}
ProjectStatusResponse
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectStatusBase"
},
{
"type": "object",
"properties": {
"author": {
"$ref": "#/components/schemas/UserCompact"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2012-02-22T02:06:58.147Z",
"readOnly": true,
"description": "The time at which this resource was created."
},
"created_by": {
"$ref": "#/components/schemas/UserCompact"
},
"modified_at": {
"type": "string",
"format": "date-time",
"example": "2012-02-22T02:06:58.147Z",
"readOnly": true,
"description": "The time at which this project status was last modified.\n*Note: This does not currently reflect any changes in associations such as comments that may have been added or removed from the project status.*"
}
}
}
]
}
ProjectStatusesCreateNewStatusUpdateRecordRequest
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectStatusBase"
}
}
}
ProjectStatusesCreateNewStatusUpdateRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectStatusResponse"
}
}
}
ProjectStatusesDeleteSpecificStatusUpdateResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EmptyResponse"
}
}
}
ProjectStatusesGetProjectUpdatesResponse
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectStatusCompact"
}
},
"next_page": {
"$ref": "#/components/schemas/NextPage"
}
}
}
ProjectStatusesGetStatusUpdateRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ProjectStatusResponse"
}
}
}
ProjectTemplateBase
{
"allOf": [
{
"$ref": "#/components/schemas/ProjectTemplateCompact"
},
{
"type": "object",
"properties": {
"team": {
"$ref": "#/components/schemas/TeamCompact"
},
"color": {
"enum": [
"dark-pink",
"dark-green",
"dark-blue",
"dark-red",
"dark-teal",
"dark-brown",
"dark-orange",
"dark-purple",
"dark-warm-gray",
"light-pink",
"light-green",
"light-blue",
"light-red",
"light-teal",
"light-brown",
"light-orange",
"light-purple",
"light-warm-gray",
null
],
"type": "string",
"example": "light-green",
"nullable": true,
"description": "Color of the project template."
},
"owner": {
"allOf": [
{
"$ref": "#/components/schemas/UserCompact"
},
{
"type": "object",
"nullable": true
}
],
"description": "The current owner of the project template, may be null."
},
"public": {
"type": "boolean",
"example": false,
"description": "True if the project template is public to its team."
},
"description": {
"type": "string",
"example": "These are things we need to pack for a trip.",
"description": "Free-form textual information associated with the project template"
},
"requested_dates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DateVariableCompact"
},
"readOnly": true,
"description": "Array of date variables in this project template. Calendar dates must be provided for these variables when instantiating a project."
},
"requested_roles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateRole"
},
"description": "Array of template roles in this project template. User Ids can be provided for these variables when instantiating a project to assign template tasks to the user."
},
"html_description": {
"type": "string",
"example": "<body>These are things we need to pack for a trip.</body>",
"description": "The description of the project template with formatting as HTML."
}
},
"x-konfig-properties": {}
}
]
}
ProjectTemplateCompact
{
"allOf": [
{
"$ref": "#/components/schemas/AsanaResource"
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Packing list",
"description": "Name of the project template."
}
},
"description": "A *project template* is an object that allows new projects to be created with a predefined setup, which may include tasks, sections, Rules, etc. It simplifies the process of running a workflow that involves a similar set of work every time.",
"x-docs-overrides": {
"properties.resource_type.example": "project_template"
}
}
]
}
ProjectTemplateInstantiateProjectRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"example": "New Project Name",
"description": "The name of the new project."
},
"team": {
"type": "string",
"example": "12345",
"description": "*Optional*. Sets the team of the new project. If the project template exists in an _organization_, you may specify a value for `team`. If no value is provided then it defaults to the same team as the project template."
},
"public": {
"type": "boolean",
"example": true,
"description": "Sets the project to public to its team."
},
"is_strict": {
"type": "boolean",
"example": true,
"description": "*Optional*. If set to `true`, the endpoint returns an \"Unprocessable Entity\" error if you fail to provide a calendar date value for any date variable. If set to `false`, a default date is used for each unfulfilled date variable (e.g., the current date is used as the Start Date of a project)."
},
"requested_dates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DateVariableRequest"
},
"description": "Array of mappings of date variables to calendar dates."
},
"requested_roles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RequestedRoleRequest"
},
"description": "Array of mappings of template roles to user ids"
}
}
}
ProjectTemplatesDeleteTemplateRecordResponse
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EmptyResponse"
}
}
}
ProjectTemplatesGetAllTemplateRecordsResponse
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectTemplateCompact"
}
},
"next_page": {
"$ref": "#/components/schemas/NextPage"
}
}
}