Method: projects.locations.workflowTemplates.instantiate

Instantiates a template and begins execution.

The returned Operation can be used to track execution of workflow by polling operations.get. The Operation will complete when entire workflow is finished.

The running workflow can be aborted via operations.cancel. This will cause any inflight jobs to be cancelled and workflow-owned clusters to be deleted.

The Operation.metadata will be WorkflowMetadata. Also see Using WorkflowMetadata.

On successful completion, Operation.response will be Empty.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The resource name of the workflow template, as described in

  • For projects.regions.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{projectId}/regions/{region}/workflowTemplates/{template_id}

  • For projects.locations.workflowTemplates.instantiate, the resource name of the template has the following format: projects/{projectId}/locations/{location}/workflowTemplates/{template_id}

Authorization requires the following IAM permission on the specified resource name:

  • dataproc.workflowTemplates.instantiate

Request body

The request body contains data with the following structure:

JSON representation
  "version": integer,
  "requestId": string,
  "parameters": {
    string: string,


Optional. The version of workflow template to instantiate. If specified, the workflow will be instantiated only if the current version of the workflow template has the supplied version.

This option cannot be used to instantiate a previous version of workflow template.



Optional. A tag that prevents multiple concurrent workflow instances with the same tag from running. This mitigates risk of concurrent instances started due to retries.

It is recommended to always set this value to a UUID.

The tag must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.


map (key: string, value: string)

Optional. Map from parameter names to values that should be used for those parameters. Values may not exceed 1000 characters.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Response body

If successful, the response body contains an instance of Operation.

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.