Skip to main content
PATCH
/
projects
/
{id}
Update a project
curl --request PATCH \
  --url https://app.gc.ai/api/external/v1/projects/{id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Vendor: Acme MSA (renamed)",
  "description": "<string>",
  "custom_instructions": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "description": "<string>",
  "custom_instructions": "<string>",
  "is_access_controlled": true,
  "created_at": "<string>",
  "updated_at": "<string>"
}

Authorizations

Authorization
string
header
required

API key for authentication. Format: gcai_xxxxxxxxx

Create API keys in the GC AI app under Settings → API.

Path Parameters

id
string<uuid>
required

The project ID

Body

application/json
name
string

New project name (non-empty after trim)

Minimum string length: 1
Example:

"Vendor: Acme MSA (renamed)"

description
string | null

New project description, or null to clear it

custom_instructions
string | null

New custom instructions for chats in this project, or null to clear them

Response

Updated project

id
string<uuid>
required

Unique project identifier

name
string
required

Project name

description
string | null
required

Project description, or null if unset

custom_instructions
string | null
required

Custom instructions injected into chats opened in this project

is_access_controlled
boolean
required

When true, only the creator and explicitly granted users can see the project. When false, any member of the organization can see it.

my_access_level
enum<string> | null
required

Caller's access level on this project: admin (creator or explicitly granted admin), write, read, or null if the caller has no recorded grant. null is also returned for org-scoped keys, which carry no user identity.

Available options:
read,
write,
admin,
null
created_at
string
required

ISO 8601 creation timestamp

updated_at
string
required

ISO 8601 last-update timestamp