Skip to content

Rename a project

PATCH
/v1/projects/{id}
curl --request PATCH \
--url https://beta-api.plune.ai/v1/projects/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "Checkout" }'

An owner of THAT project renames it (api.tsrenameProject), whichever project the request is standing in — the id is in the path, not the header. A member of it is told it is the owner’s to rename (403); a stranger gets the 404 an invented id gets. Recorded in the audit feed of the project as a project update.

id
required
string

An id from GET /v1/projects

Media type application/json

The body of POST /v1/projects and of PATCH /v1/projects/{id} alike — a project has a name and nothing else to set.

object
name
required
string
>= 1 characters <= 100 characters
Example
{
"name": "Checkout"
}

The project as it is now

Media type application/json

A project the caller is a member of, with their role in it — one row of GET /v1/projects.

object
id
required
string
name
required
string
<= 100 characters
role
required

What a member may do (B8-team). owner runs the project — members, roles, its name; member does everything else; reader is refused every write at the boundary, before a handler runs.

string
Allowed values: owner member reader
createdAt
required
string format: date-time
Example
{
"id": "u-shop::default",
"name": "Checkout",
"role": "owner",
"createdAt": "2026-09-16T09:12:04.151Z"
}

Invalid body — a name is 1 to 100 characters

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

No / invalid token or session

You are in it, but not as an owner

Media type application/json
object
error
required
string
Example
{
"error": "project owner only"
}

No such project among yours

Media type application/json
object
error
required
string
Example
{
"error": "project 'u-shop::default' not found"
}

Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}
Retry-After
integer

Seconds until the window rolls over