Apps API
Register Shell and standalone apps, publish releases, and promote across environments.
Base path: /v1/workspaces/{workspace_id}/apps
Apps are optional product packaging. Do not create an app solely to deploy a workload — use the Coderunners API (D-061). app_kind=coderunner is rejected on create.
See also: Customer Portal — Apps
List apps
GET /v1/workspaces/{workspace_id}/apps?kind=product| Query | Values |
|---|---|
kind | product (default filter in portal), shell_federated, standalone, all |
Permission: read
Create app
POST /v1/workspaces/{workspace_id}/appsPermission: write
| Body field | Required | Notes |
|---|---|---|
name | Yes | Display name |
slug | Yes | Unique in workspace |
app_kind | Yes | shell_federated or standalone |
environment_id | No | Target environment |
primary_coderunner_id | Standalone | Primary service coderunner |
manifest | No | JSON manifest |
git_repo_url | No | Source repo metadata |
Get / update / delete
| Method | Path | Permission |
|---|---|---|
GET | /v1/workspaces/{workspace_id}/apps/{app_id} | read |
PATCH | same — name, manifest, git_repo_url, primary_coderunner_id | write |
DELETE | same — archives the app | delete |
Releases (Shell federated)
| Method | Path | Purpose | Permission |
|---|---|---|---|
POST | …/apps/{app_id}/releases/upload-url | Init upload (bundle: remote_entry | zip) | write |
PUT | …/releases/{release_id}/content | Upload bytes (≤32MB) | write |
POST | …/releases/{release_id}/finalize | Publish | write |
GET | …/releases | List | read |
GET | …/releases/current | Current published | read |
Compare and promote
GET /v1/workspaces/{workspace_id}/apps/compare?source_environment_id=&target_environment_id=
POST /v1/workspaces/{workspace_id}/apps/promotePromote body: source_environment_id, target_environment_id, pairs[] (source_app_id, optional target_app_id / source_release_id), optional dry_run.
Permission: compare read, promote write
Shell config
GET /v1/workspaces/{workspace_id}/apps/{app_id}/shell-configAuthenticated bootstrap metadata for Shell hosts. Permission: read
Public by-slug bootstrap lives under /v1/public/… — see API authentication and Shell API reference.