List deployments
GEThttps://api.spice.ai/v1/projects/{projectId}/deployments
Returns a list of deployments for the specified project, ordered by most recent first.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
projectIdintegerRequiredThe ID of the project
Query parameters
limitintegerMaximum number of deployments to return
- Default:
20
- Default:
statusstringFilter by deployment status
- Allowed values:
queued,in_progress,succeeded,failed,created
- Allowed values:
Header parameters
X-Org-NamestringThe 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(400org_assertion_requiredotherwise).- Pattern:
^[A-Za-z0-9._-]{1,255}$
- Pattern:
Responses
200List of deploymentsapplication/json
deploymentsarray of object13 properties
idintegerUnique identifier for the deployment
statusstringCurrent status of the deployment
- Allowed values:
queued,in_progress,succeeded,failed,created
- Allowed values:
created_atstring (date-time)Timestamp when the deployment was created
updated_atstring (date-time) | nullTimestamp when the deployment was last updated
image_tagstring | nullRuntime image tag used for this deployment
replicasintegerNumber of replicas
branchstring | nullGit branch name
commit_shastring | nullGit commit SHA
commit_messagestring | nullGit commit message
error_codestring | nullSet with error_message on failed and on in_progress while Cloud is retrying a scheduling block. Null on succeeded, on ordinary waiting in_progress, and on writers that predated this column. Older failed rows may still have a message with a null code.
error_messagestring | nullCatalog copy for the current error_code. Older failed rows may still have a message with a null error_code.
creation_sourcestring | nullSource that triggered the deployment
created_byinteger | nullUser ID who created the deployment
401Unauthorized
403Insufficient scope
404Project not found
curl "https://api.spice.ai/v1/projects/<projectId>/deployments" \
-H "Authorization: Bearer <token>"GET /v1/projects/<projectId>/deployments HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"deployments": [
{
"id": 0,
"status": "queued",
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T00:00:00Z",
"image_tag": "string",
"replicas": 0,
"branch": "string",
"commit_sha": "string",
"commit_message": "string",
"error_code": "string",
"error_message": "string",
"creation_source": "string",
"created_by": 0
}
]
}application/json
No response body
No response body
No response body
GEThttps://api.spice.ai/v1/orgs/{orgId}/projects/{projectId}/deployments
The org is orgId in the path. Returns a list of deployments for the specified project, ordered by most recent first.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
orgIdintegerRequiredThe org id from GET /v1/orgs
- Minimum:
1
- Minimum:
projectIdintegerRequiredThe ID of the project
Query parameters
limitintegerMaximum number of deployments to return
- Default:
20
- Default:
statusstringFilter by deployment status
- Allowed values:
queued,in_progress,succeeded,failed,created
- Allowed values:
Header parameters
X-Org-NamestringWhen present, X-Org-Name must name the same org as orgId. Otherwise the request returns org_path_mismatch (400).
- Pattern:
^[A-Za-z0-9._-]{1,255}$
- Pattern:
Responses
200List of deploymentsapplication/json
deploymentsarray of object13 properties
idintegerUnique identifier for the deployment
statusstringCurrent status of the deployment
- Allowed values:
queued,in_progress,succeeded,failed,created
- Allowed values:
created_atstring (date-time)Timestamp when the deployment was created
updated_atstring (date-time) | nullTimestamp when the deployment was last updated
image_tagstring | nullRuntime image tag used for this deployment
replicasintegerNumber of replicas
branchstring | nullGit branch name
commit_shastring | nullGit commit SHA
commit_messagestring | nullGit commit message
error_codestring | nullSet with error_message on failed and on in_progress while Cloud is retrying a scheduling block. Null on succeeded, on ordinary waiting in_progress, and on writers that predated this column. Older failed rows may still have a message with a null code.
error_messagestring | nullCatalog copy for the current error_code. Older failed rows may still have a message with a null error_code.
creation_sourcestring | nullSource that triggered the deployment
created_byinteger | nullUser ID who created the deployment
400Bad Request
orgId is not a valid org id (invalid_org_id), or X-Org-Name does not name that org (org_path_mismatch).
401Unauthorized
403Forbidden
Insufficient scope. The caller is not a member of the org (org_forbidden). A machine credential named a different org (org_assertion_mismatch). The org is deleted (org_deleted).
404Project not found
curl "https://api.spice.ai/v1/orgs/<orgId>/projects/<projectId>/deployments" \
-H "Authorization: Bearer <token>"GET /v1/orgs/<orgId>/projects/<projectId>/deployments HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"deployments": [
{
"id": 0,
"status": "queued",
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T00:00:00Z",
"image_tag": "string",
"replicas": 0,
"branch": "string",
"commit_sha": "string",
"commit_message": "string",
"error_code": "string",
"error_message": "string",
"creation_source": "string",
"created_by": 0
}
]
}application/json
No response body
No response body
No response body
No response body
GEThttps://api.spice.ai/v1/apps/{appId}/deploymentsDeprecated
Legacy alias of /v1/projects/{projectId}/deployments — projects were previously called apps. Returns a list of deployments for the specified project, ordered by most recent first.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
appIdintegerRequiredThe ID of the project
Query parameters
limitintegerMaximum number of deployments to return
- Default:
20
- Default:
statusstringFilter by deployment status
- Allowed values:
queued,in_progress,succeeded,failed,created
- Allowed values:
Header parameters
X-Org-NamestringThe 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(400org_assertion_requiredotherwise).- Pattern:
^[A-Za-z0-9._-]{1,255}$
- Pattern:
Responses
200List of deploymentsapplication/json
deploymentsarray of object13 properties
idintegerUnique identifier for the deployment
statusstringCurrent status of the deployment
- Allowed values:
queued,in_progress,succeeded,failed,created
- Allowed values:
created_atstring (date-time)Timestamp when the deployment was created
updated_atstring (date-time) | nullTimestamp when the deployment was last updated
image_tagstring | nullRuntime image tag used for this deployment
replicasintegerNumber of replicas
branchstring | nullGit branch name
commit_shastring | nullGit commit SHA
commit_messagestring | nullGit commit message
error_codestring | nullSet with error_message on failed and on in_progress while Cloud is retrying a scheduling block. Null on succeeded, on ordinary waiting in_progress, and on writers that predated this column. Older failed rows may still have a message with a null code.
error_messagestring | nullCatalog copy for the current error_code. Older failed rows may still have a message with a null error_code.
creation_sourcestring | nullSource that triggered the deployment
created_byinteger | nullUser ID who created the deployment
401Unauthorized
403Insufficient scope
404Project not found
OpenAPIapi.spice.ai/openapi.json
curl "https://api.spice.ai/v1/apps/<appId>/deployments" \
-H "Authorization: Bearer <token>"GET /v1/apps/<appId>/deployments HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"deployments": [
{
"id": 0,
"status": "queued",
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-01-01T00:00:00Z",
"image_tag": "string",
"replicas": 0,
"branch": "string",
"commit_sha": "string",
"commit_message": "string",
"error_code": "string",
"error_message": "string",
"creation_source": "string",
"created_by": 0
}
]
}application/json
No response body
No response body
No response body