Skip to content

Update team profile

PATCH
/api/v1/team/profile
curl --request PATCH \
--url https://api.deploybase.eu/api/v1/api/v1/team/profile \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "slug": "example" }'

Updates the team’s display name and/or URL slug. Owner only. Saving a slug — including re-saving the one the team already has — records that the owner chose it and dismisses the naming nudge. Changing it leaves a redirect behind: the old slug keeps resolving for 30 days and only this team may reclaim it during that window.

Fields to change; omit a field to leave it alone

Media type application/json
object
name
string
slug
string
Example generated
{
"name": "example",
"slug": "example"
}

OK

Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
display_label

DisplayLabel is what to show a human. Never empty, even for the teams whose name is still a Zitadel org UUID.

string
id
string
name
string
slug
string
slug_chosen_at

SlugChosenAt is nil while the slug is still the one we auto-picked. That nil is what drives the settings nudge, so it is part of the response, not an internal detail.

string
Example generated
{
"data": {
"display_label": "example",
"id": "example",
"name": "example",
"slug": "example",
"slug_chosen_at": "example"
},
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Bad Request

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Unauthorized

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Forbidden

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Not Found

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

SLUG_TAKEN, with details.suggestions

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

INVALID_INPUT or SLUG_RESERVED, with details.field

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}