Projects /
Update project
Required permission
Project > Projects > Manage > Update
Path parameters
projectId
string requiredID of the project
Request body
- {object}
description
stringThe description of the project.max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$color
stringThe color of the project in the Northflank App.pattern^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$networking
{object}allowedIngressProjects
[array]Projects from which ingress request should be permitted.- stringpattern^[A-Za-z0-9-]+$
tailscale
{object}enabled
booleanWhether or not to inject a Tailscale sidecar for this project's resourcesrestrictions
{object}enabled
booleanWhether or not to restrict the settings to resources with specific tagstagMatchCondition
stringIf all or any of the tags must be present on the target for it to match the condition.one ofand, orsecrets
{object}authKey
stringTailscale auth key (required for enabling Tailscale)hostAliases
{object}enabled
booleanEnable support for adding /etc/hosts overrides for a containerhostEntries
[array]Entries to add to /etc/hosts- {object}
ipAddress
string requiredpattern^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$hostnames
[array] required- stringpattern^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$
restrictions
{object}enabled
booleanWhether or not to restrict the settings to resources with specific tagstagMatchCondition
stringIf all or any of the tags must be present on the target for it to match the condition.one ofand, or
Response body
- {object}Response object.
data
{object} requiredResult data.id
string requiredIdentifier for the projectname
string requiredThe name of the project.min length3max length39pattern^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$description
stringThe description of the project.max length200pattern^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$color
stringThe color of the project in the Northflank App.pattern^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$region
stringThe region the project will be hosted in.clusterId
stringThe BYOC cluster this project will be hosted in.min length3max length20pattern^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$networking
{object}Advanced project networking settings.allowedIngressProjects
[array]Projects from which ingress request should be permitted.- stringpattern^[A-Za-z0-9-]+$
tailscale
{object}Defines this project's Tailscale sidecar settingsenabled
booleanWhether or not to inject a Tailscale sidecar for this project's resourcesrestrictions
{object}enabled
boolean requiredWhether or not to restrict the settings to resources with specific tagstagMatchCondition
stringIf all or any of the tags must be present on the target for it to match the condition.one ofand, orsecrets
{object}Relevant Tailscale secretsauthKey
stringTailscale auth key (required for enabling Tailscale)options
{object}acceptRoutes
booleanAccept advertised routes from the Tailscale networkhostAliases
{object}Defines the project host alias overrides to apply to /etc/hosts in resource containersenabled
booleanEnable support for adding /etc/hosts overrides for a containerhostEntries
[array]Entries to add to /etc/hosts- {object}
ipAddress
string requiredpattern^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$hostnames
[array] required- stringpattern^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$
restrictions
{object}enabled
boolean requiredWhether or not to restrict the settings to resources with specific tagstagMatchCondition
stringIf all or any of the tags must be present on the target for it to match the condition.one ofand, orcreatedAt
stringtime of creationupdatedAt
stringtime of update
PATCH /v1/projects/{projectId}
Example request
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request PATCH \
--data '{"description":"This is a new project.","color":"#EF233C","networking":{"tailscale":{"restrictions":{"tagMatchCondition":"or"}},"hostAliases":{"restrictions":{"tagMatchCondition":"or"}}}}' \
https://api.northflank.com/v1/projects/{projectId}
Example response
200 OK
JSON
{
"data": {
"id": "example-project",
"name": "New Project",
"description": "This is a new project.",
"color": "#EF233C",
"region": "europe-west",
"clusterId": "gcp-cluster-1",
"networking": {
"tailscale": {
"restrictions": {
"tagMatchCondition": "or"
}
},
"hostAliases": {
"restrictions": {
"tagMatchCondition": "or"
}
}
},
"createdAt": "2000-01-01T12:00:00.000Z",
"updatedAt": "2000-01-01T12:00:00.000Z"
}
}