Skip to content

Update project metadata

PUT
/v1/projects/{projectId}

Updates project properties such as name, description, or archived status. Only provided fields are updated, omitted fields remain unchanged (partial update).

projectId
required

An identifier (e.g., my-project-a1b2c)

string
>= 8 characters <= 60 characters /^[a-z0-9][a-z0-9-]*[a-z0-9]$/

The project

object
name

The name of this project

string
>= 3 characters <= 60 characters
description

A description of this project

string
<= 200 characters
archived

The project is archived

boolean

The project

The project

object
id
required

An identifier (e.g., my-project-a1b2c)

string
>= 8 characters <= 60 characters /^[a-z0-9][a-z0-9-]*[a-z0-9]$/
name
required

The name of this project

string
>= 3 characters <= 60 characters
description
required

A description of this project

string
<= 200 characters
archived
required

Whether the project is archived or not

boolean
pinned
required

Whether the project is pinned for the member or not

boolean
serviceCount
required

The number of services in this project

integer format: int32
isOwner
required

Whether the authenticated caller is the creator of this project

boolean
createdBy
required

The name of the actor (member email or API key name) that created this project

string
createdByType
required

The type of actor (user or API key)

string
Allowed values: MEMBER API_KEY
updatedBy
required

The name of the actor (member email or API key name) that last updated this project or one of its services

string
updatedByType
required

The type of actor (user or API key)

string
Allowed values: MEMBER API_KEY
createdAt
required

The timestamp in UTC that the project was created

string format: date-time
updatedAt
required

The timestamp in UTC that the project or on of its its services was last updated

string format: date-time

Validation error

Validation error response with field-level details

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
violations
required

List of field validation violations

Array<object>

Individual field validation violation

object
field
required

The field that failed validation

string
Example
name
message
required

Validation error message for this field

string
Example
must not be blank
rejectedValue

The value that was rejected (optional)

nullable

Unauthorized, authentication required

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters

Forbidden, insufficient permissions

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters

Project not found

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters

Too many requests

Rate limit exceeded error response

object
status
required

HTTP status code

integer
Example
429
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Too many requests
retryAfter
required

Number of seconds until the client can retry

integer
Example
60
Retry-After
integer

Number of seconds to wait before retrying

Internal server error

Standard error response

object
status
required

HTTP status code

integer
Example
400
code
required

Machine-readable error code in snake_case

string
Allowed values: bad_request unauthorized payment_required forbidden not_found conflict rate_limited internal_error project_not_found project_limit_reached service_not_found service_name_conflict subscription_not_found customer_not_found insufficient_ai_credits invalid_billing_cycle validation_failed resource_already_exists public_share_token_not_found
message
required

Error message

string
Example
Validation failed
details

Additional error details

string
Example
Project name must be between 3 and 60 characters