Asana API

Getting access, Developing, Testing

Back to Asana

Instantiate A Project From A Project Template

Creates and returns a job that will asynchronously handle the project instantiation.

To form this request, it is recommended to first make a request to get a project template. Then, from the response, copy the gid from the object in the requested_dates array. This gid should be used in requested_dates to instantiate a project.

Note: The body of this request will differ if your workspace is an organization. To determine if your workspace is an organization, use the is_organization parameter.

Input

type: object properties: parameters: type: object properties: project_template_gid: type: string description: Globally unique identifier for the project template. opt_pretty: type: boolean description: >- Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. opt_fields: type: array items: type: string description: >- Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options. required: - project_template_gid title: Parameters data: type: object properties: data: type: object properties: name: description: The name of the new project. type: string example: New Project Name team: 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. type: string example: '12345' public: description: Sets the project to public to its team. type: boolean example: true is_strict: 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). type: boolean example: true requested_dates: description: Array of mappings of date variables to calendar dates. type: array items: type: object properties: gid: description: >- Globally unique identifier of the date field in the project template. A value of `1` refers to the project start date, while `2` refers to the project due date. type: string example: '1' value: description: >- The date with which the date variable should be replaced when instantiating a project. This takes a date with `YYYY-MM-DD` format. type: string nullable: true format: date-time example: '2022-01-01T00:00:00.000Z' requested_roles: description: Array of mappings of template roles to user ids type: array items: type: object properties: gid: description: >- Globally unique identifier of the template role in the project template. type: string example: '1' value: description: The user id that should be assigned to the template role. type: string example: '123' title: Data

Output

type: object properties: data: type: object properties: gid: description: Globally unique identifier of the resource, as a string. type: string readOnly: true example: '12345' x-insert-after: false resource_type: description: The base type of this resource. type: string readOnly: true example: task x-insert-after: gid resource_subtype: description: >- The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. type: string readOnly: true example: duplicate_task status: description: >- The current status of this job. The value is one of: `not_started`, `in_progress`, `succeeded`, or `failed`. type: string enum: - not_started - in_progress - succeeded - failed readOnly: true example: in_progress new_project: type: object properties: gid: description: Globally unique identifier of the resource, as a string. type: string readOnly: true example: '12345' x-insert-after: false resource_type: description: The base type of this resource. type: string readOnly: true example: task x-insert-after: gid name: 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. type: string example: Stuff to buy new_task: type: object properties: gid: description: Globally unique identifier of the resource, as a string. type: string readOnly: true example: '12345' x-insert-after: false resource_type: description: The base type of this resource. type: string readOnly: true example: task x-insert-after: gid name: description: The name of the task. type: string example: Bug Task resource_subtype: type: string description: >- The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. The resource_subtype `milestone` represent a single moment in time. This means tasks with this subtype cannot have a start_date. enum: - default_task - milestone - section - approval example: default_task new_project_template: type: object properties: gid: description: Globally unique identifier of the resource, as a string. type: string readOnly: true example: '12345' x-insert-after: false resource_type: description: The base type of this resource. type: string readOnly: true example: task x-insert-after: gid name: description: Name of the project template. type: string example: Packing list