POST /project_templates/{project_template_gid}/instantiateProject

Required scope: projects:write

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.

Servers

Path parameters

Name Type Required Description
project_template_gid String Yes

Globally unique identifier for the project template.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Query parameters

Name Type Required Description
opt_pretty Boolean No

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[] Array No

This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include.

Request body fields

Name Type Required Description
data Object No
data.requested_dates[] Array No

Conditional. Array of mappings of date variables to calendar dates. This property is required in the instantiation request if the project template includes dates (e.g., a start date on a task).

data.requested_dates[].gid String No

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.

data.requested_dates[].value String No

The date with which the date variable should be replaced when instantiating a project. This takes a date with YYYY-MM-DD format.

data.requested_roles[] Array No

Array of mappings of template roles to user ids

data.requested_roles[].gid String No

Globally unique identifier of the template role in the project template.

data.requested_roles[].value String No

The user id that should be assigned to the template role.

data.name String Yes

The name of the new project.

data.public Boolean No

Deprecated: new integrations use privacy_setting instead.

data.team String No

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.

data.privacy_setting String No

The privacy setting of the project. Note: Administrators in your organization may restrict the values of privacy_setting. The value private_to_team is deprecated. Use POST /memberships to share a project with a team after creation.

Valid values:

  • "private_to_team"
  • "public_to_workspace"
  • "private"
data.is_strict Boolean No

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).

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.