This page describes how to create a parameter template. A parameter template stores the template metadata.
Required roles
To get the permission that
you need to create a parameter template,
ask your administrator to grant you the
Parameter Manager Admin (roles/parametermanager.admin) IAM role on the project, folder, or organization.
For more information about granting roles, see Manage access to projects, folders, and organizations.
This predefined role contains the
parametermanager.templates.create
permission,
which is required to
create a parameter template.
You might also be able to get this permission with custom roles or other predefined roles.
Create a parameter template
To create a parameter template, use one of the following methods:
Global parameters
Console
-
In the Google Cloud console, go to the Parameter Manager page.
-
Navigate to the Templates tab.
-
Click Create template.
-
In the Create parameter template page, enter the template name.
-
To specify the template data format, select either YAML or JSON in the Template format section.
-
To create a global template, select Multi-region in the Location section, and then select global (Global) from the Region list.
-
Optional: To add a label to your template, click Add label, and then define the label key and value.
-
Click Create.
REST
Before using any of the request data, make the following replacements:
- PROJECT_ID: the Google Cloud project ID
- TEMPLATE_ID: the name of the template
HTTP method and URL:
POST https://parametermanager.googleapis.com/v1/projects/PROJECT_ID/locations/global/templates?template_id=TEMPLATE_ID
Request JSON body:
{
"format": "TEMPLATE_FORMAT_YAML"
}
To send your request, choose one of these options:
curl
Save the request body in a file named request.json,
and execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://parametermanager.googleapis.com/v1/projects/PROJECT_ID/locations/global/templates?template_id=TEMPLATE_ID"
PowerShell
Save the request body in a file named request.json,
and execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://parametermanager.googleapis.com/v1/projects/PROJECT_ID/locations/global/templates?template_id=TEMPLATE_ID" | Select-Object -Expand Content
You should receive a JSON response similar to the following:
{
"name": "projects/123456789012/locations/global/templates/payment_service_blueprint",
"createTime": "2026-04-14T15:01:23.045123Z",
"updateTime": "2026-04-14T15:01:23.045123Z",
"format": "TEMPLATE_FORMAT_YAML"
}
Regional parameters
Console
-
In the Google Cloud console, go to the Parameter Manager page.
-
Navigate to the Templates tab.
-
Click Create template.
-
In the Create parameter template page, enter the template name.
-
To specify the template data format, select either YAML or JSON in the Template format section.
-
To create a regional template, select Region in the Location section, and then select the location from the Region list.
-
Optional: To add a label to your template, click Add label, and then define the label key and value.
-
Click Create.
REST
Before using any of the request data, make the following replacements:
- PROJECT_ID: the Google Cloud project ID
- LOCATION: the Google Cloud location of the parameter template
- TEMPLATE_ID: the name of the template
HTTP method and URL:
POST https://parametermanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID
Request JSON body:
{
"format": "TEMPLATE_FORMAT_YAML"
}
To send your request, choose one of these options:
curl
Save the request body in a file named request.json,
and execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://parametermanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
PowerShell
Save the request body in a file named request.json,
and execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://parametermanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID" | Select-Object -Expand Content
You should receive a JSON response similar to the following:
{
"name": "projects/123456789012/locations/us-central1/templates/payment_service_blueprint",
"createTime": "2026-04-14T15:01:23.045123Z",
"updateTime": "2026-04-14T15:01:23.045123Z",
"format": "TEMPLATE_FORMAT_YAML"
}