ProjectTemplates
Update a customer project template
PATCH
/
api
/
develop
/
v1
/
customer-project-templates
/
{id}
Update a customer project template
curl --request PATCH \
--url https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id} \
--header 'Content-Type: application/json' \
--header 'X-Domino-Api-Key: <api-key>' \
--data '
{
"collaborators": [
{
"id": "<string>",
"role": "template_user"
}
],
"description": "<string>",
"isCompanyOfficial": true,
"name": "<string>",
"tagNames": [
"<string>"
]
}
'import requests
url = "https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}"
payload = {
"collaborators": [
{
"id": "<string>",
"role": "template_user"
}
],
"description": "<string>",
"isCompanyOfficial": True,
"name": "<string>",
"tagNames": ["<string>"]
}
headers = {
"X-Domino-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Domino-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
collaborators: [{id: '<string>', role: 'template_user'}],
description: '<string>',
isCompanyOfficial: true,
name: '<string>',
tagNames: ['<string>']
})
};
fetch('https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'collaborators' => [
[
'id' => '<string>',
'role' => 'template_user'
]
],
'description' => '<string>',
'isCompanyOfficial' => true,
'name' => '<string>',
'tagNames' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Domino-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}"
payload := strings.NewReader("{\n \"collaborators\": [\n {\n \"id\": \"<string>\",\n \"role\": \"template_user\"\n }\n ],\n \"description\": \"<string>\",\n \"isCompanyOfficial\": true,\n \"name\": \"<string>\",\n \"tagNames\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Domino-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}")
.header("X-Domino-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"collaborators\": [\n {\n \"id\": \"<string>\",\n \"role\": \"template_user\"\n }\n ],\n \"description\": \"<string>\",\n \"isCompanyOfficial\": true,\n \"name\": \"<string>\",\n \"tagNames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"collaborators\": [\n {\n \"id\": \"<string>\",\n \"role\": \"template_user\"\n }\n ],\n \"description\": \"<string>\",\n \"isCompanyOfficial\": true,\n \"name\": \"<string>\",\n \"tagNames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"access": {
"collaborators": [
{
"id": "<string>",
"role": "template_user"
}
],
"visibility": "private"
},
"categories": [
"<string>"
],
"created": "2023-11-07T05:31:56Z",
"id": "<string>",
"isCompanyOfficial": true,
"name": "<string>",
"owner": {
"name": "<string>",
"link": "<string>"
},
"templateType": "customer",
"updated": "2023-11-07T05:31:56Z",
"definition": {
"backingProject": {
"id": "<string>",
"name": "<string>",
"owner": {
"username": "<string>"
}
},
"projectType": "git_based",
"settings": {
"defaultEnvironmentRevision": {
"environment": {
"id": "<string>",
"name": "<string>"
},
"id": "<string>"
},
"defaultHardwareTier": {
"id": "<string>",
"name": "<string>"
},
"computeClusterEnvironmentRevision": {
"environment": {
"id": "<string>",
"name": "<string>"
},
"id": "<string>"
}
}
},
"isArchived": true,
"sourceProject": {
"id": "<string>",
"included": [
"Artifacts"
],
"name": "<string>",
"owner": {
"username": "<string>"
}
},
"base64Logo": "<string>",
"description": "<string>",
"license": "<string>",
"recommended": true,
"revisionId": "<string>",
"taxonomyTags": [
{
"id": "<string>",
"label": "<string>",
"namespaceId": "<string>",
"description": "<string>",
"fullPath": [
"<string>"
],
"namespaceLabel": "<string>"
}
]
}{
"error": "<string>"
}{
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource."
}{
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action."
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
DominoApiKeyBearerAuthentication
Path Parameters
The id of the project template to update.
Pattern:
^[0-9a-f]{24}$Body
application/json
Template updates
The updated list of collaborators for the template. Will overwrite the existing list.
Show child attributes
Show child attributes
The new description for the template
Whether or not to mark this template as official, indicating that it has been vetted by your company.
The new name for the template
The updated list of tags for the template. Will overwrite the existing list.
The new visibility for the template
Available options:
private, all_non_anonymous_users Response
Success
Show child attributes
Show child attributes
Whether or not this template is marked as official
Show child attributes
Show child attributes
Available options:
customer, ecosystem Show child attributes
Show child attributes
Show child attributes
Show child attributes
Taxonomy tags associated with this template.
Show child attributes
Show child attributes
Last modified on August 27, 2026
Related topics
Delete a customer project template by id.Get customer project template by idList project templates (v2)List project templatesWas this page helpful?
⌘I
Update a customer project template
curl --request PATCH \
--url https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id} \
--header 'Content-Type: application/json' \
--header 'X-Domino-Api-Key: <api-key>' \
--data '
{
"collaborators": [
{
"id": "<string>",
"role": "template_user"
}
],
"description": "<string>",
"isCompanyOfficial": true,
"name": "<string>",
"tagNames": [
"<string>"
]
}
'import requests
url = "https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}"
payload = {
"collaborators": [
{
"id": "<string>",
"role": "template_user"
}
],
"description": "<string>",
"isCompanyOfficial": True,
"name": "<string>",
"tagNames": ["<string>"]
}
headers = {
"X-Domino-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-Domino-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
collaborators: [{id: '<string>', role: 'template_user'}],
description: '<string>',
isCompanyOfficial: true,
name: '<string>',
tagNames: ['<string>']
})
};
fetch('https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'collaborators' => [
[
'id' => '<string>',
'role' => 'template_user'
]
],
'description' => '<string>',
'isCompanyOfficial' => true,
'name' => '<string>',
'tagNames' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Domino-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}"
payload := strings.NewReader("{\n \"collaborators\": [\n {\n \"id\": \"<string>\",\n \"role\": \"template_user\"\n }\n ],\n \"description\": \"<string>\",\n \"isCompanyOfficial\": true,\n \"name\": \"<string>\",\n \"tagNames\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Domino-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}")
.header("X-Domino-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"collaborators\": [\n {\n \"id\": \"<string>\",\n \"role\": \"template_user\"\n }\n ],\n \"description\": \"<string>\",\n \"isCompanyOfficial\": true,\n \"name\": \"<string>\",\n \"tagNames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/develop/v1/customer-project-templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"collaborators\": [\n {\n \"id\": \"<string>\",\n \"role\": \"template_user\"\n }\n ],\n \"description\": \"<string>\",\n \"isCompanyOfficial\": true,\n \"name\": \"<string>\",\n \"tagNames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"access": {
"collaborators": [
{
"id": "<string>",
"role": "template_user"
}
],
"visibility": "private"
},
"categories": [
"<string>"
],
"created": "2023-11-07T05:31:56Z",
"id": "<string>",
"isCompanyOfficial": true,
"name": "<string>",
"owner": {
"name": "<string>",
"link": "<string>"
},
"templateType": "customer",
"updated": "2023-11-07T05:31:56Z",
"definition": {
"backingProject": {
"id": "<string>",
"name": "<string>",
"owner": {
"username": "<string>"
}
},
"projectType": "git_based",
"settings": {
"defaultEnvironmentRevision": {
"environment": {
"id": "<string>",
"name": "<string>"
},
"id": "<string>"
},
"defaultHardwareTier": {
"id": "<string>",
"name": "<string>"
},
"computeClusterEnvironmentRevision": {
"environment": {
"id": "<string>",
"name": "<string>"
},
"id": "<string>"
}
}
},
"isArchived": true,
"sourceProject": {
"id": "<string>",
"included": [
"Artifacts"
],
"name": "<string>",
"owner": {
"username": "<string>"
}
},
"base64Logo": "<string>",
"description": "<string>",
"license": "<string>",
"recommended": true,
"revisionId": "<string>",
"taxonomyTags": [
{
"id": "<string>",
"label": "<string>",
"namespaceId": "<string>",
"description": "<string>",
"fullPath": [
"<string>"
],
"namespaceLabel": "<string>"
}
]
}{
"error": "<string>"
}{
"code": "UNAUTHORIZED",
"message": "Authentication is required to access this resource."
}{
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action."
}{
"error": "<string>"
}{
"error": "<string>"
}