Projects
Updates an existing Project
Update a project.
PUT
/
api
/
v1
/
projects
/
{id}
Updates an existing Project
curl --request PUT \
--url https://mycluster.domino.tech/flows/api/v1/projects/{id} \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"domains": [
{
"id": "<string>",
"name": "<string>"
}
],
"labels": {
"values": {}
},
"name": "<string>",
"org": "<string>",
"state": "ACTIVE"
}
'import requests
url = "https://mycluster.domino.tech/flows/api/v1/projects/{id}"
payload = {
"description": "<string>",
"domains": [
{
"id": "<string>",
"name": "<string>"
}
],
"labels": { "values": {} },
"name": "<string>",
"org": "<string>",
"state": "ACTIVE"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
domains: [{id: '<string>', name: '<string>'}],
labels: {values: {}},
name: '<string>',
org: '<string>',
state: 'ACTIVE'
})
};
fetch('https://mycluster.domino.tech/flows/api/v1/projects/{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/flows/api/v1/projects/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'domains' => [
[
'id' => '<string>',
'name' => '<string>'
]
],
'labels' => [
'values' => [
]
],
'name' => '<string>',
'org' => '<string>',
'state' => 'ACTIVE'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/flows/api/v1/projects/{id}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"domains\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"labels\": {\n \"values\": {}\n },\n \"name\": \"<string>\",\n \"org\": \"<string>\",\n \"state\": \"ACTIVE\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://mycluster.domino.tech/flows/api/v1/projects/{id}")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"domains\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"labels\": {\n \"values\": {}\n },\n \"name\": \"<string>\",\n \"org\": \"<string>\",\n \"state\": \"ACTIVE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/flows/api/v1/projects/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"domains\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"labels\": {\n \"values\": {}\n },\n \"name\": \"<string>\",\n \"org\": \"<string>\",\n \"state\": \"ACTIVE\"\n}"
response = http.request(request)
puts response.read_body{}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}Path Parameters
Globally unique project name.
Body
application/json
Top-level namespace used to classify different entities like workflows and executions.
Show child attributes
Show child attributes
Label values to be applied to an execution resource. In the future a mode (e.g. OVERRIDE, APPEND, etc) can be defined to specify how to merge labels defined at registration and execution time.
Show child attributes
Show child attributes
Display name.
Optional, org key applied to the resource.
The state of the project is used to control its visibility in the UI and validity.
- ACTIVE: By default, all projects are considered active.
- ARCHIVED: Archived projects are no longer visible in the UI and no longer valid.
- SYSTEM_GENERATED: System generated projects that aren't explicitly created or managed by a user.
- SYSTEM_ARCHIVED: System archived projects that aren't explicitly archived by a user.
Available options:
ACTIVE, ARCHIVED, SYSTEM_GENERATED, SYSTEM_ARCHIVED Response
A successful response.
Purposefully empty, may be updated in the future.
Last modified on August 19, 2026
Was this page helpful?
⌘I
Updates an existing Project
curl --request PUT \
--url https://mycluster.domino.tech/flows/api/v1/projects/{id} \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"domains": [
{
"id": "<string>",
"name": "<string>"
}
],
"labels": {
"values": {}
},
"name": "<string>",
"org": "<string>",
"state": "ACTIVE"
}
'import requests
url = "https://mycluster.domino.tech/flows/api/v1/projects/{id}"
payload = {
"description": "<string>",
"domains": [
{
"id": "<string>",
"name": "<string>"
}
],
"labels": { "values": {} },
"name": "<string>",
"org": "<string>",
"state": "ACTIVE"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
domains: [{id: '<string>', name: '<string>'}],
labels: {values: {}},
name: '<string>',
org: '<string>',
state: 'ACTIVE'
})
};
fetch('https://mycluster.domino.tech/flows/api/v1/projects/{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/flows/api/v1/projects/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'domains' => [
[
'id' => '<string>',
'name' => '<string>'
]
],
'labels' => [
'values' => [
]
],
'name' => '<string>',
'org' => '<string>',
'state' => 'ACTIVE'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/flows/api/v1/projects/{id}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"domains\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"labels\": {\n \"values\": {}\n },\n \"name\": \"<string>\",\n \"org\": \"<string>\",\n \"state\": \"ACTIVE\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://mycluster.domino.tech/flows/api/v1/projects/{id}")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"domains\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"labels\": {\n \"values\": {}\n },\n \"name\": \"<string>\",\n \"org\": \"<string>\",\n \"state\": \"ACTIVE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/flows/api/v1/projects/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"domains\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n }\n ],\n \"labels\": {\n \"values\": {}\n },\n \"name\": \"<string>\",\n \"org\": \"<string>\",\n \"state\": \"ACTIVE\"\n}"
response = http.request(request)
puts response.read_body{}{
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}