Skip to content
LogoLogo

Update Project metadata, planning dates, path, visual identity, or visibility

Update Project metadata, planning dates, path, visual identity, or visibility

PATCH/api/v1/projects/{project_id}

Applies an optimistic compare-and-swap to exactly one of name, path, description, url, visual_identity, visibility, or owner_actor_id, or sends the complete nullable start_on/target_on date pair. If-Match must carry the revision last observed by the client. Send visual_identity: null to restore the default marker. Setting visibility to public requires the Workspace's public-publishing billing entitlement; denial returns 403 paid_workspace_required. Unpublishing remains available subject to normal authorization. Public reads return the existing privacy-safe 404 while that entitlement is absent, without changing stored visibility or content.

Path Parameters

project_idRequired
string <uuid>
Example0198ac5e-f9b7-7000-8000-000000000001

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

If-MatchRequired
string

Entity tag containing the resource version last observed by the client.

Request Body

application/json
show_cancelled_column
boolean

Project managers may persist whether cancelled-type Board columns are shown.

name
string·min 1·max 100
path
string·min 1·max 63
description
string·max 500

Send null or an empty string to clear the Project description.

url
string <uri>·max 2048

Send null or an empty string to clear the Project URL.

start_on
string <date>

Must be sent with target_on; the pair is revision-checked atomically.

target_on
string <date>

Must be sent with start_on; when both values are present, it cannot precede start_on.

visual_identity

A single allowlisted Lucide icon name or fully-qualified Unicode Emoji 17.0 sequence.

visibility
string

Publishing is permitted only for the Project owner or a Workspace administrator.

Values
workspaceprivatepublic
owner_actor_id
string <uuid>

Transfers the owner/lead to an active Workspace member. Only the current owner or a Workspace administrator may use it.

Example0198ac5e-f9b7-7000-8000-000000000001
project_state_id
string <uuid>

Selects one active Workspace Project state, or clears the selection with null. The optional Workspace lifecycle capability must be enabled.

Example0198ac5e-f9b7-7000-8000-000000000001

Responses