Resume a paused project
POSThttps://api.spice.ai/v1/projects/{projectId}/resume
Clears the paused state on the project's spicepod and creates a new
deployment to bring the runtime back up. A project connected to a
GitHub repository deploys spicepod.yaml from its root directory on its
production branch, read when the project resumes. Requires
apps:write.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
projectIdintegerRequiredThe ID of the project to resume
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
200Project resumed, deployment createdapplication/json
idintegerRequiredThe project ID
namestringRequiredThe project name
paused_atstring (date-time) | nullRequiredAlways null after a successful resume
deployment_idintegerRequiredID of the deployment created to bring the runtime back up
400Bad Request
Invalid project ID, missing API key, missing project organization, no spicepod configured, spicepod has been deleted, or the spicepod name, kind or version is missing or not valid (the body carries an issues array of {path, message}). For a project connected to a GitHub repository, also returned when the root directory has no spicepod.yaml or it is invalid or too large (code: spicepod_not_found, spicepod_invalid or spicepod_too_large). The project stays paused.
401Unauthorized
403Forbidden
Insufficient scope, or the org's GitHub App installation cannot read the connected repository (code: github_unauthorized or github_forbidden). The project stays paused.
404Not Found
Project not found, or the connected GitHub repository or its production branch was not found (code: github_not_found). The project stays paused.
409Project is not paused
422Unprocessable Content
No runtime version in the catalog matches this project’s version range (code: version_no_match), or the spicepod uses version v1beta1, which the Spice 2 runtime cannot load (code: spicepod_version_unsupported). Also returned when the spicepod uses a connection credential that holds a secret reference deploy cannot resolve (code: connection_credentials_unresolved, with an unresolved_credentials array of {connection, field}). The project stays paused.
429Too Many Requests
GitHub rate-limited the read of the connected repository (code: github_rate_limited). The project stays paused.
500Internal server error
502Bad Gateway
GitHub did not answer while the connected repository was read (code: github_unavailable). The project stays paused.
503Service Unavailable
The runtime version catalog is unavailable or empty (code: version_source_unavailable), so an unpinned stable or preview resume cannot resolve an image tag.
curl -X POST "https://api.spice.ai/v1/projects/<projectId>/resume" \
-H "Authorization: Bearer <token>"POST /v1/projects/<projectId>/resume HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"id": 0,
"name": "string",
"paused_at": "2026-01-01T00:00:00Z",
"deployment_id": 0
}application/json
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
POSThttps://api.spice.ai/v1/orgs/{orgId}/projects/{projectId}/resume
The org is orgId in the path. Clears the paused state on the project's spicepod and creates a new
deployment to bring the runtime back up. A project connected to a
GitHub repository deploys spicepod.yaml from its root directory on its
production branch, read when the project resumes. Requires
apps:write.
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 to resume
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
200Project resumed, deployment createdapplication/json
idintegerRequiredThe project ID
namestringRequiredThe project name
paused_atstring (date-time) | nullRequiredAlways null after a successful resume
deployment_idintegerRequiredID of the deployment created to bring the runtime back up
400Bad Request
Invalid project ID, missing API key, missing project organization, no spicepod configured, spicepod has been deleted, or the spicepod name, kind or version is missing or not valid (the body carries an issues array of {path, message}). For a project connected to a GitHub repository, also returned when the root directory has no spicepod.yaml or it is invalid or too large (code: spicepod_not_found, spicepod_invalid or spicepod_too_large). The project stays paused. 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, or the org's GitHub App installation cannot read the connected repository (code: github_unauthorized or github_forbidden). The project stays paused. 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).
404Not Found
Project not found, or the connected GitHub repository or its production branch was not found (code: github_not_found). The project stays paused.
409Project is not paused
422Unprocessable Content
No runtime version in the catalog matches this project’s version range (code: version_no_match), or the spicepod uses version v1beta1, which the Spice 2 runtime cannot load (code: spicepod_version_unsupported). Also returned when the spicepod uses a connection credential that holds a secret reference deploy cannot resolve (code: connection_credentials_unresolved, with an unresolved_credentials array of {connection, field}). The project stays paused.
429Too Many Requests
GitHub rate-limited the read of the connected repository (code: github_rate_limited). The project stays paused.
500Internal server error
502Bad Gateway
GitHub did not answer while the connected repository was read (code: github_unavailable). The project stays paused.
503Service Unavailable
The runtime version catalog is unavailable or empty (code: version_source_unavailable), so an unpinned stable or preview resume cannot resolve an image tag.
curl -X POST "https://api.spice.ai/v1/orgs/<orgId>/projects/<projectId>/resume" \
-H "Authorization: Bearer <token>"POST /v1/orgs/<orgId>/projects/<projectId>/resume HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"id": 0,
"name": "string",
"paused_at": "2026-01-01T00:00:00Z",
"deployment_id": 0
}application/json
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
POSThttps://api.spice.ai/v1/apps/{appId}/resumeDeprecated
Legacy alias of /v1/projects/{projectId}/resume — projects were previously called apps. Clears the paused state on the project's spicepod and creates a new
deployment to bring the runtime back up. A project connected to a
GitHub repository deploys spicepod.yaml from its root directory on its
production branch, read when the project resumes. Requires
apps:write.
Authorizations
AuthorizationstringRequiredBearer <token>. Authentication lists the tokens it accepts.
Path parameters
appIdintegerRequiredThe ID of the project to resume
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
200Project resumed, deployment createdapplication/json
idintegerRequiredThe project ID
namestringRequiredThe project name
paused_atstring (date-time) | nullRequiredAlways null after a successful resume
deployment_idintegerRequiredID of the deployment created to bring the runtime back up
400Bad Request
Invalid project ID, missing API key, missing project organization, no spicepod configured, spicepod has been deleted, or the spicepod name, kind or version is missing or not valid (the body carries an issues array of {path, message}). For a project connected to a GitHub repository, also returned when the root directory has no spicepod.yaml or it is invalid or too large (code: spicepod_not_found, spicepod_invalid or spicepod_too_large). The project stays paused.
401Unauthorized
403Forbidden
Insufficient scope, or the org's GitHub App installation cannot read the connected repository (code: github_unauthorized or github_forbidden). The project stays paused.
404Not Found
Project not found, or the connected GitHub repository or its production branch was not found (code: github_not_found). The project stays paused.
409Project is not paused
422Unprocessable Content
No runtime version in the catalog matches this project’s version range (code: version_no_match), or the spicepod uses version v1beta1, which the Spice 2 runtime cannot load (code: spicepod_version_unsupported). Also returned when the spicepod uses a connection credential that holds a secret reference deploy cannot resolve (code: connection_credentials_unresolved, with an unresolved_credentials array of {connection, field}). The project stays paused.
429Too Many Requests
GitHub rate-limited the read of the connected repository (code: github_rate_limited). The project stays paused.
500Internal server error
502Bad Gateway
GitHub did not answer while the connected repository was read (code: github_unavailable). The project stays paused.
503Service Unavailable
The runtime version catalog is unavailable or empty (code: version_source_unavailable), so an unpinned stable or preview resume cannot resolve an image tag.
OpenAPIapi.spice.ai/openapi.json
curl -X POST "https://api.spice.ai/v1/apps/<appId>/resume" \
-H "Authorization: Bearer <token>"POST /v1/apps/<appId>/resume HTTP/1.1
Host: api.spice.ai
Authorization: Bearer <token>{
"id": 0,
"name": "string",
"paused_at": "2026-01-01T00:00:00Z",
"deployment_id": 0
}application/json
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body
No response body