Projects

Update a project

Legacy alias of /v1/projects/{projectId}. Projects were previously called apps. Updates a project's metadata and configuration, including description, visibility, spicepod configuration, replicas, and resource limits.

put/v1/apps/{appId}

Request

  • Base URL
    https://api.spice.ai
  • Auth
    HTTP bearer

Path parameters

appIdinteger required

The ID of the project

Headers

X-Org-Namestring

The organization to act on, by handle. Omit it to act on the organization the credential is bound to; sending it blank is a 400, not the same as omitting it. A user credential may name any organization its owner belongs to; a machine credential is pinned to its own. A portal session token is bound to none, so it must send this header on every route but GET /v1/orgs (400 org_assertion_required otherwise).

Request body

descriptionstring
visibility'public' | 'private'
production_branchstring
tagsobject

Key-value tags for the project. The map replaces the stored tags. System tags the project already has stay on the project when the map omits them.

image_tagstring nullable

Runtime image tag for a managed project; rejected for standalone projects. A non-empty value pins the project. On stable, the pin must be a published stable runtime version. On preview, it must be a published preview or stable runtime version. On stable or preview, send null to clear a pin so deploys resolve from the channel catalog (stable - latest GA for the configured version range; preview - latest RC). null is rejected on nightly and internal channels.

update_channel'stable' | 'preview' | 'nightly'

Update channel for a managed runtime; rejected for standalone projects.

versionstring

Semver range for a managed runtime version (e.g. 1.x, 2.x); rejected for standalone projects.

replicasinteger

Managed runtime replica count; rejected for standalone projects.

regionstring

Managed project region; standalone placement is resolved during attachment.

cluster_namestring

Reassign the project to a dedicated cluster, as listed by GET /v1/clusters. Provide at most one of region or cluster_name. When set, region/routing are derived from the cluster; if region is also provided it must match the cluster's region. Rejected for standalone projects, whose placement is resolved during attachment.

storage_size_gbnumber

Managed runtime storage size; rejected for standalone projects.

storage_claim_size_gbnumber

Deprecated. Use storage_size_gb instead. Rejected for standalone projects.

Response

Project updated successfully

idinteger

Unique identifier for the project

namestring

Name of the project

kind'managed' | 'standalone' | 'byoc'

Resolved project hosting model

descriptionstring nullable

Description of the project

visibility'public' | 'private'

Visibility setting for the project

created_atstring date-time

Timestamp when the project was created

cnamestring nullable

Region identifier

cluster_namestring nullable

Resolved dedicated cluster name; null for projects not assigned to a dedicated cluster.

endpointstring nullable

The data-plane endpoint the project connects to, or null before a standalone instance is attached.

production_branchstring nullable

Production branch for the project

api_keystring

Deprecated. Use the API Keys endpoints instead.

tagsobject nullable

Key-value tags for the project

paused_atstring date-time nullable

Timestamp when the project was paused; null while running

warningstring nullable

Present when the project was created but initial configuration could not be applied

Changes

No recorded changes to this operation across all 1 revision of this API.