List project instances
GEThttps://api.spice.ai/v1/projects/{projectId}/instances
Lists the runtime instances of a deployed project, newest first. A managed or BYOC project lists its Spicepod instances. A standalone project lists its Cloud Connect runtime. Read the logs of an instance with GET /v1/projects/{projectId}/instances/{instanceName}/logs.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
projectIdintegerRequiredThe ID of the project
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
200The project's instancesapplication/json
instancesarray of objectRequired3 properties
namestringRequiredThe instance name: a Spicepod instance (pod) name, or a Cloud Connect runtime id. Pass it as
instanceNameto read its logs.statusstringRequiredA Spicepod instance is
deploying,loading,ready,unhealthy,terminating,failed, orfailed_to_start. A Cloud Connect runtime isonlineoroffline.- Allowed values:
deploying,loading,ready,unhealthy,terminating,failed,failed_to_start,online,offline
- Allowed values:
started_atstring (date-time) | nullRequiredWhen the Spicepod instance started, or when the Cloud Connect runtime enrolled.
400Invalid project ID
401Unauthorized
403Insufficient scope
404Project not found
409Conflictapplication/json
The project has no running instances. code is project_not_deployed when a managed or BYOC project was never deployed, or project_paused when the project is paused.
errorstringRequiredcodestringRequired- Allowed values:
project_not_deployed,project_paused
- Allowed values:
422The project is not fully configured
500Internal server error
503The project runtime did not answer
curl "https://api.spice.ai/v1/projects/<projectId>/instances" \
-H "Authorization: Bearer <token>"GET /v1/projects/<projectId>/instances HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"instances": [
{
"name": "string",
"status": "deploying",
"started_at": "2026-01-01T00:00:00Z"
}
]
}application/json
No response body
No response body
No response body
No response body
{
"error": "string",
"code": "project_not_deployed"
}application/json
No response body
No response body
No response body
GEThttps://api.spice.ai/v1/orgs/{orgId}/projects/{projectId}/instances
The org is orgId in the path. Lists the runtime instances of a deployed project, newest first. A managed or BYOC project lists its Spicepod instances. A standalone project lists its Cloud Connect runtime. Read the logs of an instance with GET /v1/projects/{projectId}/instances/{instanceName}/logs.
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
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
200The project's instancesapplication/json
instancesarray of objectRequired3 properties
namestringRequiredThe instance name: a Spicepod instance (pod) name, or a Cloud Connect runtime id. Pass it as
instanceNameto read its logs.statusstringRequiredA Spicepod instance is
deploying,loading,ready,unhealthy,terminating,failed, orfailed_to_start. A Cloud Connect runtime isonlineoroffline.- Allowed values:
deploying,loading,ready,unhealthy,terminating,failed,failed_to_start,online,offline
- Allowed values:
started_atstring (date-time) | nullRequiredWhen the Spicepod instance started, or when the Cloud Connect runtime enrolled.
400Bad Request
Invalid project ID. 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
409Conflictapplication/json
The project has no running instances. code is project_not_deployed when a managed or BYOC project was never deployed, or project_paused when the project is paused.
errorstringRequiredcodestringRequired- Allowed values:
project_not_deployed,project_paused
- Allowed values:
422The project is not fully configured
500Internal server error
503The project runtime did not answer
curl "https://api.spice.ai/v1/orgs/<orgId>/projects/<projectId>/instances" \
-H "Authorization: Bearer <token>"GET /v1/orgs/<orgId>/projects/<projectId>/instances HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"instances": [
{
"name": "string",
"status": "deploying",
"started_at": "2026-01-01T00:00:00Z"
}
]
}application/json
No response body
No response body
No response body
No response body
{
"error": "string",
"code": "project_not_deployed"
}application/json
No response body
No response body
No response body
GEThttps://api.spice.ai/v1/apps/{appId}/instancesDeprecated
Legacy alias of /v1/projects/{projectId}/instances — projects were previously called apps. Lists the runtime instances of a deployed project, newest first. A managed or BYOC project lists its Spicepod instances. A standalone project lists its Cloud Connect runtime. Read the logs of an instance with GET /v1/projects/{projectId}/instances/{instanceName}/logs.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
appIdintegerRequiredThe ID of the project
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
200The project's instancesapplication/json
instancesarray of objectRequired3 properties
namestringRequiredThe instance name: a Spicepod instance (pod) name, or a Cloud Connect runtime id. Pass it as
instanceNameto read its logs.statusstringRequiredA Spicepod instance is
deploying,loading,ready,unhealthy,terminating,failed, orfailed_to_start. A Cloud Connect runtime isonlineoroffline.- Allowed values:
deploying,loading,ready,unhealthy,terminating,failed,failed_to_start,online,offline
- Allowed values:
started_atstring (date-time) | nullRequiredWhen the Spicepod instance started, or when the Cloud Connect runtime enrolled.
400Invalid project ID
401Unauthorized
403Insufficient scope
404Project not found
409Conflictapplication/json
The project has no running instances. code is project_not_deployed when a managed or BYOC project was never deployed, or project_paused when the project is paused.
errorstringRequiredcodestringRequired- Allowed values:
project_not_deployed,project_paused
- Allowed values:
422The project is not fully configured
500Internal server error
503The project runtime did not answer
OpenAPIapi.spice.ai/openapi.json
curl "https://api.spice.ai/v1/apps/<appId>/instances" \
-H "Authorization: Bearer <token>"GET /v1/apps/<appId>/instances HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"instances": [
{
"name": "string",
"status": "deploying",
"started_at": "2026-01-01T00:00:00Z"
}
]
}application/json
No response body
No response body
No response body
No response body
{
"error": "string",
"code": "project_not_deployed"
}application/json
No response body
No response body
No response body