Skip to content

Update a project for a workspace

PUT
/workspaces/{workspace}/projects/{project_key}

Since this endpoint can be used to both update and to create a project, the request body depends on the intent.

Creation

See the POST documentation for the project collection for an example of the request body.

Note: The key should not be specified in the body of request (since it is already present in the URL). The name is required, everything else is optional.

Update

See the POST documentation for the project collection for an example of the request body.

Note: The key is not required in the body (since it is already in the URL). The key may be specified in the body, if the intent is to change the key itself. In such a scenario, the location of the project is changed and is returned in the Location header of the response.

project_key
required
string

The project in question. This is the actual key assigned to the project.

workspace
required
string

This can either be the workspace ID (slug) or the workspace UUID surrounded by curly-braces, for example: {workspace UUID}.

Media type application/json
object
type
required
string
links
object
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The project’s immutable id.

string
key

The project’s key.

string
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
links
object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
members
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
projects
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
repositories
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the project.

string
description
string
is_private

Indicates whether the project is publicly accessible, or whether it is private to the team and consequently only visible to team members. Note that private projects cannot contain public repositories.

boolean
created_on
string format: date-time
updated_on
string format: date-time
has_publicly_visible_repos

Indicates whether the project contains publicly visible repositories. Note that private projects cannot contain public repositories.

boolean
Example generated
{
"type": "example",
"links": {
"html": {
"href": "https://example.com",
"name": "example"
},
"avatar": {
"href": "https://example.com",
"name": "example"
}
},
"uuid": "example",
"key": "example",
"owner": {
"type": "example",
"links": {
"avatar": {
"href": "https://example.com",
"name": "example"
},
"self": {
"href": "https://example.com",
"name": "example"
},
"html": {
"href": "https://example.com",
"name": "example"
},
"members": {
"href": "https://example.com",
"name": "example"
},
"projects": {
"href": "https://example.com",
"name": "example"
},
"repositories": {
"href": "https://example.com",
"name": "example"
}
},
"created_on": "2026-04-15T12:00:00Z",
"display_name": "example",
"uuid": "example"
},
"name": "example",
"description": "example",
"is_private": true,
"created_on": "2026-04-15T12:00:00Z",
"updated_on": "2026-04-15T12:00:00Z",
"has_publicly_visible_repos": true
}

The existing project is has been updated.

Media type application/json
object
type
required
string
links
object
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The project’s immutable id.

string
key

The project’s key.

string
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
links
object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
members
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
projects
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
repositories
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the project.

string
description
string
is_private

Indicates whether the project is publicly accessible, or whether it is private to the team and consequently only visible to team members. Note that private projects cannot contain public repositories.

boolean
created_on
string format: date-time
updated_on
string format: date-time
has_publicly_visible_repos

Indicates whether the project contains publicly visible repositories. Note that private projects cannot contain public repositories.

boolean
Example generated
{
"type": "example",
"links": {
"html": {
"href": "https://example.com",
"name": "example"
},
"avatar": {
"href": "https://example.com",
"name": "example"
}
},
"uuid": "example",
"key": "example",
"owner": {
"type": "example",
"links": {
"avatar": {
"href": "https://example.com",
"name": "example"
},
"self": {
"href": "https://example.com",
"name": "example"
},
"html": {
"href": "https://example.com",
"name": "example"
},
"members": {
"href": "https://example.com",
"name": "example"
},
"projects": {
"href": "https://example.com",
"name": "example"
},
"repositories": {
"href": "https://example.com",
"name": "example"
}
},
"created_on": "2026-04-15T12:00:00Z",
"display_name": "example",
"uuid": "example"
},
"name": "example",
"description": "example",
"is_private": true,
"created_on": "2026-04-15T12:00:00Z",
"updated_on": "2026-04-15T12:00:00Z",
"has_publicly_visible_repos": true
}
Location
string

The location of the project. This header is only provided when the project key is updated.

A new project has been created.

Media type application/json
object
type
required
string
links
object
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
uuid

The project’s immutable id.

string
key

The project’s key.

string
owner
object
type
required
string
links
Account Links

Links related to an Account.

object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
key
additional properties
any
created_on
string format: date-time
display_name
string
uuid
string
links
object
avatar
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
self
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
html
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
members
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
projects
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
repositories
Link

A link to a resource related to this object.

object
href
string format: uri
name
string
name

The name of the project.

string
description
string
is_private

Indicates whether the project is publicly accessible, or whether it is private to the team and consequently only visible to team members. Note that private projects cannot contain public repositories.

boolean
created_on
string format: date-time
updated_on
string format: date-time
has_publicly_visible_repos

Indicates whether the project contains publicly visible repositories. Note that private projects cannot contain public repositories.

boolean
Example generated
{
"type": "example",
"links": {
"html": {
"href": "https://example.com",
"name": "example"
},
"avatar": {
"href": "https://example.com",
"name": "example"
}
},
"uuid": "example",
"key": "example",
"owner": {
"type": "example",
"links": {
"avatar": {
"href": "https://example.com",
"name": "example"
},
"self": {
"href": "https://example.com",
"name": "example"
},
"html": {
"href": "https://example.com",
"name": "example"
},
"members": {
"href": "https://example.com",
"name": "example"
},
"projects": {
"href": "https://example.com",
"name": "example"
},
"repositories": {
"href": "https://example.com",
"name": "example"
}
},
"created_on": "2026-04-15T12:00:00Z",
"display_name": "example",
"uuid": "example"
},
"name": "example",
"description": "example",
"is_private": true,
"created_on": "2026-04-15T12:00:00Z",
"updated_on": "2026-04-15T12:00:00Z",
"has_publicly_visible_repos": true
}
Location
string

The location of the newly created project

The requesting user isn’t authorized to update or create the project.

Media type application/json
Error

Base type for most resource objects. It defines the common type element that identifies an object’s type. It also identifies the element as Swagger’s discriminator.

object
type
required
string
error
object
message
required
string
detail
string
data

Optional structured data that is endpoint-specific.

object
key
additional properties
any
key
additional properties
any
Example generated
{
"type": "example",
"error": {
"message": "example",
"detail": "example",
"data": {}
}
}

A workspace doesn’t exist at the location. Note that the project’s absence from this location doesn’t raise a 404, since a PUT at a non-existent location can be used to create a new project.

Media type application/json
Error

Base type for most resource objects. It defines the common type element that identifies an object’s type. It also identifies the element as Swagger’s discriminator.

object
type
required
string
error
object
message
required
string
detail
string
data

Optional structured data that is endpoint-specific.

object
key
additional properties
any
key
additional properties
any
Example generated
{
"type": "example",
"error": {
"message": "example",
"detail": "example",
"data": {}
}
}