Back to AsanaInstantiate 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