Skip to content

Update a project

PATCH
/api/projects/{project}
curl --request PATCH \
--url https://app.nurseshark.org/api/projects/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "summary": "example", "description": "example", "status": "idea", "tags": [ "example" ], "repo_url": "example", "url": "example" }'

Changes only the fields sent. Send name to rename the project; its slug changes to match. Set status to archived to retire it.

Same as the update_project MCP tool.

project
required
string
<= 200 characters

Name, slug or UUID of the project.

Media typeapplication/json
object
name

Rename the project. Its slug changes to match.

string
<= 64 characters
summary

One line saying what the project does, e.g. “CLI that renames photos by EXIF date”.

string
<= 280 characters
description

A few paragraphs of plain text: purpose, how it works, stack, how to run it.

string
<= 4096 characters
status

Defaults to active.

string
Allowed values: idea active paused shipped archived
tags

Short lowercase labels such as language, framework, or area (e.g. rails, cli, home-automation).

Array<string>
<= 20 items
repo_url

Http(s) URL of the source repository.

string
<= 2000 characters
url

Http(s) URL where the project is deployed or documented.

string
<= 2000 characters

OK

Media typeapplication/json
object
project
required
object
uuid
required

Globally unique and never changes, even when the project is renamed.

string format: uuid
name
required

Lowercase with hyphens between words, e.g. whale-shark.

string
slug
required

Unique among the account’s projects. Use it, the name or the UUID to look the project up.

string
summary

One line saying what the project does, e.g. “CLI that renames photos by EXIF date”.

string
<= 280 characters
description

A few paragraphs of plain text: purpose, how it works, stack, how to run it.

string
<= 4096 characters
status
required

Defaults to active.

string
Allowed values: idea active paused shipped archived
tags
required

Short lowercase labels such as language, framework, or area (e.g. rails, cli, home-automation).

Array<string>
<= 20 items
repo_url

Http(s) URL of the source repository.

string
<= 2000 characters
url

Http(s) URL where the project is deployed or documented.

string
<= 2000 characters
name_theme

The theme the name came from, if one was given when the project was created.

string
color
required

Picked at random when the project is created.

string
/^#[0-9a-f]{6}$/
favicon_svg
required

An SVG square in the project’s color, to use as its favicon.

string
created_at
required
string format: date-time
updated_at
required
string format: date-time
recent_notes

Newest first. Only from getting one project, which includes 10 unless notes says otherwise.

Array<object>
object
body
required
string
created_at
required
string format: date-time

Example

{
"project": {
"status": "idea"
}
}

The token is missing, invalid or expired.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

No project with that name, slug or UUID belongs to this account.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

The request was understood but can’t be done, for example a value over its limit or a name already in use. error says what to change.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

Over the rate limit. Try again in a minute.

Media typeapplication/json
object
error
required

What went wrong and what to change.

string
errors

For validation failures, the messages for each field.

object
key
additional properties
Array<string>

Example generated

{
"error": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}