> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackshift.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer API coverage

> Generated mapping from CLI commands to customer API contracts.

<Note>
  This matrix is generated from the same customer command catalog as the CLI.
</Note>

Generated from the CLI command catalog. Only customer API paths are included.

## v1.0 Core PaaS

| Command                                              | Method   | Customer API path                                                  |
| ---------------------------------------------------- | -------- | ------------------------------------------------------------------ |
| `stackshift user get`                                | `GET`    | `/api/v1/user`                                                     |
| `stackshift user update`                             | `PATCH`  | `/api/v1/user`                                                     |
| `stackshift user preferences`                        | `GET`    | `/api/v1/user/preferences`                                         |
| `stackshift user set-preferences`                    | `PUT`    | `/api/v1/user/preferences`                                         |
| `stackshift project list`                            | `GET`    | `/api/v1/projects/`                                                |
| `stackshift project get`                             | `GET`    | `/api/v1/projects/{id}`                                            |
| `stackshift project create`                          | `POST`   | `/api/v1/projects/`                                                |
| `stackshift project update`                          | `PATCH`  | `/api/v1/projects/{id}`                                            |
| `stackshift project delete`                          | `DELETE` | `/api/v1/projects/{id}`                                            |
| `stackshift project connect`                         | `POST`   | `/api/v1/projects/{id}/connect`                                    |
| `stackshift project disconnect`                      | `POST`   | `/api/v1/projects/{id}/disconnect`                                 |
| `stackshift project activity`                        | `GET`    | `/api/v1/projects/{id}/activity`                                   |
| `stackshift project audit`                           | `GET`    | `/api/v1/projects/{id}/audit`                                      |
| `stackshift project metrics`                         | `GET`    | `/api/v1/projects/{id}/metrics`                                    |
| `stackshift project observability`                   | `GET`    | `/api/v1/projects/{id}/observability`                              |
| `stackshift project previews`                        | `GET`    | `/api/v1/projects/{id}/previews`                                   |
| `stackshift project launch-check`                    | `GET`    | `/api/v1/projects/{id}/launch-check`                               |
| `stackshift application list`                        | `GET`    | `/api/v1/applications/`                                            |
| `stackshift application get`                         | `GET`    | `/api/v1/applications/{id}`                                        |
| `stackshift application create`                      | `POST`   | `/api/v1/applications/`                                            |
| `stackshift application delete`                      | `DELETE` | `/api/v1/applications/{id}`                                        |
| `stackshift application graph`                       | `GET`    | `/api/v1/applications/{id}/service-graph`                          |
| `stackshift application routes`                      | `GET`    | `/api/v1/applications/{id}/internal-routes`                        |
| `stackshift application registry`                    | `GET`    | `/api/v1/applications/{id}/service-registry`                       |
| `stackshift application databases`                   | `GET`    | `/api/v1/applications/{id}/databases`                              |
| `stackshift application attach-database`             | `POST`   | `/api/v1/applications/{id}/databases`                              |
| `stackshift application detach-database`             | `DELETE` | `/api/v1/applications/{id}/databases/{database}`                   |
| `stackshift service list`                            | `GET`    | `/api/v1/applications/{app}/services`                              |
| `stackshift service create`                          | `POST`   | `/api/v1/applications/{app}/services`                              |
| `stackshift service update`                          | `PATCH`  | `/api/v1/applications/{app}/services/{service}`                    |
| `stackshift service delete`                          | `DELETE` | `/api/v1/applications/{app}/services/{service}`                    |
| `stackshift service bindings`                        | `GET`    | `/api/v1/applications/{app}/services/{service}/bindings`           |
| `stackshift service bind`                            | `POST`   | `/api/v1/applications/{app}/services/{service}/bindings`           |
| `stackshift service unbind`                          | `DELETE` | `/api/v1/applications/{app}/services/{service}/bindings/{binding}` |
| `stackshift build list`                              | `GET`    | `/api/v1/projects/{project}/builds`                                |
| `stackshift build get`                               | `GET`    | `/api/v1/projects/{project}/builds/{build}`                        |
| `stackshift build attempts`                          | `GET`    | `/api/v1/projects/{project}/builds/{build}/attempts`               |
| `stackshift build artifacts`                         | `GET`    | `/api/v1/projects/{project}/builds/{build}/artifacts`              |
| `stackshift build diagnosis`                         | `GET`    | `/api/v1/projects/{project}/builds/{build}/diagnosis`              |
| `stackshift build cancel`                            | `POST`   | `/api/v1/projects/{project}/builds/{build}/cancel`                 |
| `stackshift build delete`                            | `DELETE` | `/api/v1/projects/{project}/builds/{build}`                        |
| `stackshift deployment list`                         | `GET`    | `/api/v1/projects/{project}/deployments`                           |
| `stackshift deployment active`                       | `GET`    | `/api/v1/projects/{project}/deployments/active`                    |
| `stackshift deployment status`                       | `GET`    | `/api/v1/projects/{project}/deployments/status`                    |
| `stackshift deployment stats`                        | `GET`    | `/api/v1/projects/{project}/deployments/stats`                     |
| `stackshift deployment redeploy`                     | `POST`   | `/api/v1/projects/{project}/deployments/redeploy`                  |
| `stackshift deployment stop`                         | `POST`   | `/api/v1/projects/{project}/deployments/stop`                      |
| `stackshift deployment rollback`                     | `POST`   | `/api/v1/projects/{project}/deployments/rollback`                  |
| `stackshift deployment restart`                      | `POST`   | `/api/v1/projects/{project}/deployments/{deployment}/restart`      |
| `stackshift function runs`                           | `GET`    | `/api/v1/projects/{project}/functions/runs`                        |
| `stackshift function get`                            | `GET`    | `/api/v1/projects/{project}/functions/runs/{run}`                  |
| `stackshift function retry`                          | `POST`   | `/api/v1/projects/{project}/functions/runs/{run}/retry`            |
| `stackshift function logs`                           | `GET`    | `/api/v1/projects/{project}/functions/runs/{run}/logs`             |
| `stackshift function queues`                         | `GET`    | `/api/v1/projects/{project}/functions/queues`                      |
| `stackshift terminal targets`                        | `GET`    | `/api/v1/projects/{project}/terminal/targets`                      |
| `stackshift terminal sessions`                       | `GET`    | `/api/v1/projects/{project}/terminal/sessions`                     |
| `stackshift terminal create`                         | `POST`   | `/api/v1/projects/{project}/terminal/sessions`                     |
| `stackshift terminal revoke`                         | `POST`   | `/api/v1/projects/{project}/terminal/sessions/{session}/revoke`    |
| `stackshift terminal recordings`                     | `GET`    | `/api/v1/projects/{project}/terminal/recordings`                   |
| `stackshift terminal policy`                         | `GET`    | `/api/v1/projects/{project}/terminal/policy`                       |
| `stackshift terminal set-policy`                     | `PUT`    | `/api/v1/projects/{project}/terminal/policy`                       |
| `stackshift workload-security admissions`            | `GET`    | `/api/v1/projects/{project}/security/admissions`                   |
| `stackshift workload-security policy`                | `GET`    | `/api/v1/projects/{project}/security/policy`                       |
| `stackshift workload-security dependencies`          | `GET`    | `/api/v1/projects/{project}/security/dependencies`                 |
| `stackshift workload-security dependency-declare`    | `POST`   | `/api/v1/projects/{project}/security/dependencies`                 |
| `stackshift workload-security dependencies-refresh`  | `POST`   | `/api/v1/projects/{project}/security/dependencies/refresh`         |
| `stackshift workload-security grants`                | `GET`    | `/api/v1/projects/{project}/security/grants`                       |
| `stackshift workload-security grant-request`         | `POST`   | `/api/v1/projects/{project}/security/grants`                       |
| `stackshift workload-security private-routes`        | `GET`    | `/api/v1/projects/{project}/security/private-routes`               |
| `stackshift workload-security private-route-request` | `POST`   | `/api/v1/projects/{project}/security/private-routes`               |
| `stackshift workload-security incidents`             | `GET`    | `/api/v1/projects/{project}/security/incidents`                    |
| `stackshift workload-security incident`              | `GET`    | `/api/v1/projects/{project}/security/incidents/{incident}`         |
| `stackshift project-domain list`                     | `GET`    | `/api/v1/projects/{project}/domains`                               |
| `stackshift project-domain dns-config`               | `GET`    | `/api/v1/projects/{project}/domains/dns-config`                    |
| `stackshift project-domain create`                   | `POST`   | `/api/v1/projects/{project}/domains`                               |
| `stackshift project-domain delete`                   | `DELETE` | `/api/v1/projects/{project}/domains/{domain}`                      |
| `stackshift project-domain verify`                   | `POST`   | `/api/v1/projects/{project}/domains/{domain}/verify`               |
| `stackshift team list`                               | `GET`    | `/api/v1/teams/`                                                   |
| `stackshift team get`                                | `GET`    | `/api/v1/teams/{id}`                                               |
| `stackshift team create`                             | `POST`   | `/api/v1/teams/`                                                   |
| `stackshift team update`                             | `PATCH`  | `/api/v1/teams/{id}`                                               |
| `stackshift team delete`                             | `DELETE` | `/api/v1/teams/{id}`                                               |
| `stackshift team members`                            | `GET`    | `/api/v1/teams/{id}/members`                                       |
| `stackshift team invite`                             | `POST`   | `/api/v1/teams/{id}/invitations`                                   |
| `stackshift team invitations`                        | `GET`    | `/api/v1/teams/{id}/invitations`                                   |
| `stackshift team leave`                              | `POST`   | `/api/v1/teams/{id}/leave`                                         |
| `stackshift github repositories`                     | `GET`    | `/api/v1/github/repos`                                             |
| `stackshift github branches`                         | `GET`    | `/api/v1/github/branches`                                          |
| `stackshift github installations`                    | `GET`    | `/api/v1/github/installations`                                     |
| `stackshift github detect`                           | `GET`    | `/api/v1/github/detect-framework`                                  |
| `stackshift github disconnect`                       | `POST`   | `/api/v1/github/disconnect`                                        |
| `stackshift database list`                           | `GET`    | `/api/v1/databases/`                                               |
| `stackshift database create`                         | `POST`   | `/api/v1/databases/`                                               |
| `stackshift database get`                            | `GET`    | `/api/v1/databases/{id}`                                           |
| `stackshift database credentials`                    | `GET`    | `/api/v1/databases/{id}/credentials`                               |
| `stackshift database metrics`                        | `GET`    | `/api/v1/databases/{id}/metrics`                                   |
| `stackshift database logs`                           | `GET`    | `/api/v1/databases/{id}/logs`                                      |
| `stackshift database start`                          | `POST`   | `/api/v1/databases/{id}/start`                                     |
| `stackshift database stop`                           | `POST`   | `/api/v1/databases/{id}/stop`                                      |
| `stackshift database clone`                          | `POST`   | `/api/v1/databases/{id}/clone`                                     |
| `stackshift database pooler-enable`                  | `POST`   | `/api/v1/databases/{id}/pooler/enable`                             |
| `stackshift database pooler-disable`                 | `POST`   | `/api/v1/databases/{id}/pooler/disable`                            |
| `stackshift database public-access`                  | `GET`    | `/api/v1/databases/{id}/public-access`                             |
| `stackshift database public-access-create`           | `POST`   | `/api/v1/databases/{id}/public-access`                             |
| `stackshift database public-access-revoke`           | `POST`   | `/api/v1/databases/{id}/public-access/revoke`                      |
| `stackshift database delete`                         | `DELETE` | `/api/v1/databases/{id}`                                           |
| `stackshift backup list`                             | `GET`    | `/api/v1/databases/{database}/backups`                             |
| `stackshift backup create`                           | `POST`   | `/api/v1/databases/{database}/backups`                             |
| `stackshift backup get`                              | `GET`    | `/api/v1/databases/{database}/backups/{backup}`                    |
| `stackshift backup restore`                          | `POST`   | `/api/v1/databases/{database}/backups/{backup}/restore`            |
| `stackshift backup test`                             | `POST`   | `/api/v1/databases/{database}/backups/{backup}/test`               |
| `stackshift backup promote`                          | `POST`   | `/api/v1/databases/{database}/backups/{backup}/promote`            |
| `stackshift backup delete`                           | `DELETE` | `/api/v1/databases/{database}/backups/{backup}`                    |
| `stackshift bucket list`                             | `GET`    | `/api/v1/buckets/`                                                 |
| `stackshift bucket create`                           | `POST`   | `/api/v1/buckets/`                                                 |
| `stackshift bucket get`                              | `GET`    | `/api/v1/buckets/{id}`                                             |
| `stackshift bucket settings`                         | `PATCH`  | `/api/v1/buckets/{id}/settings`                                    |
| `stackshift bucket keys`                             | `GET`    | `/api/v1/buckets/{id}/keys`                                        |
| `stackshift bucket key-create`                       | `POST`   | `/api/v1/buckets/{id}/keys`                                        |
| `stackshift bucket key-delete`                       | `DELETE` | `/api/v1/buckets/{id}/keys/{key}`                                  |
| `stackshift bucket delete`                           | `DELETE` | `/api/v1/buckets/{id}`                                             |
| `stackshift cron list`                               | `GET`    | `/api/v1/cron-jobs/`                                               |
| `stackshift cron create`                             | `POST`   | `/api/v1/cron-jobs/`                                               |
| `stackshift cron get`                                | `GET`    | `/api/v1/cron-jobs/{id}`                                           |
| `stackshift cron update`                             | `PATCH`  | `/api/v1/cron-jobs/{id}`                                           |
| `stackshift cron run`                                | `POST`   | `/api/v1/cron-jobs/{id}/run`                                       |
| `stackshift cron delete`                             | `DELETE` | `/api/v1/cron-jobs/{id}`                                           |

## v1.1 Developer services

| Command                                                  | Method   | Customer API path                                             |
| -------------------------------------------------------- | -------- | ------------------------------------------------------------- |
| `stackshift job queue-create`                            | `POST`   | `/api/v1/jobs/queues`                                         |
| `stackshift job enqueue`                                 | `POST`   | `/api/v1/jobs/queues/{queue}/jobs`                            |
| `stackshift job run`                                     | `POST`   | `/api/v1/jobs/workflows/{workflow}/runs`                      |
| `stackshift job runs`                                    | `GET`    | `/api/v1/jobs/runs`                                           |
| `stackshift job get`                                     | `GET`    | `/api/v1/jobs/runs/{id}`                                      |
| `stackshift job logs`                                    | `GET`    | `/api/v1/jobs/runs/{id}/logs`                                 |
| `stackshift job retry`                                   | `POST`   | `/api/v1/jobs/runs/{id}/retry`                                |
| `stackshift job cancel`                                  | `POST`   | `/api/v1/jobs/runs/{id}/cancel`                               |
| `stackshift job pause`                                   | `POST`   | `/api/v1/jobs/queues/{queue}/pause`                           |
| `stackshift job resume`                                  | `POST`   | `/api/v1/jobs/queues/{queue}/resume`                          |
| `stackshift job state-get`                               | `GET`    | `/api/v1/jobs/state/{key}`                                    |
| `stackshift job state-set`                               | `POST`   | `/api/v1/jobs/state`                                          |
| `stackshift job state-delete`                            | `DELETE` | `/api/v1/jobs/state/{key}`                                    |
| `stackshift job event`                                   | `POST`   | `/api/v1/jobs/events`                                         |
| `stackshift asset upload`                                | `POST`   | `/api/v1/assets/upload`                                       |
| `stackshift asset upload-url`                            | `POST`   | `/api/v1/assets/upload-url`                                   |
| `stackshift asset upload-session-create`                 | `POST`   | `/api/v1/assets/upload-sessions`                              |
| `stackshift asset upload-session-get`                    | `GET`    | `/api/v1/assets/upload-sessions/{id}`                         |
| `stackshift asset upload-session-complete`               | `POST`   | `/api/v1/assets/upload-sessions/{id}/complete`                |
| `stackshift asset upload-session-cancel`                 | `DELETE` | `/api/v1/assets/upload-sessions/{id}`                         |
| `stackshift asset bucket-create`                         | `POST`   | `/api/v1/assets/buckets`                                      |
| `stackshift asset buckets`                               | `GET`    | `/api/v1/assets/buckets`                                      |
| `stackshift asset bucket-update`                         | `PUT`    | `/api/v1/assets/buckets/{id}`                                 |
| `stackshift asset bucket-delete`                         | `DELETE` | `/api/v1/assets/buckets/{id}`                                 |
| `stackshift asset bucket-storage-set`                    | `PUT`    | `/api/v1/assets/buckets/{id}/storage`                         |
| `stackshift asset relocate`                              | `POST`   | `/api/v1/assets/buckets/{id}/relocations`                     |
| `stackshift asset connection-create`                     | `POST`   | `/api/v1/assets/connections`                                  |
| `stackshift asset connections`                           | `GET`    | `/api/v1/assets/connections`                                  |
| `stackshift asset connection-get`                        | `GET`    | `/api/v1/assets/connections/{id}`                             |
| `stackshift asset connection-update`                     | `PATCH`  | `/api/v1/assets/connections/{id}`                             |
| `stackshift asset connection-verify`                     | `POST`   | `/api/v1/assets/connections/{id}/verify`                      |
| `stackshift asset connection-delete`                     | `DELETE` | `/api/v1/assets/connections/{id}`                             |
| `stackshift asset s2-buckets`                            | `GET`    | `/api/v1/assets/s2-buckets`                                   |
| `stackshift asset s2-bucket-create`                      | `POST`   | `/api/v1/assets/s2-buckets`                                   |
| `stackshift asset migration-start`                       | `POST`   | `/api/v1/assets/migrations`                                   |
| `stackshift asset migrations`                            | `GET`    | `/api/v1/assets/migrations`                                   |
| `stackshift asset migration-get`                         | `GET`    | `/api/v1/assets/migrations/{id}`                              |
| `stackshift asset migration-cancel`                      | `POST`   | `/api/v1/assets/migrations/{id}/cancel`                       |
| `stackshift asset migration-item-retry`                  | `POST`   | `/api/v1/assets/migrations/{migration}/items/{item}/retry`    |
| `stackshift asset migration-report`                      | `GET`    | `/api/v1/assets/migrations/{id}/report`                       |
| `stackshift asset upload-capability-create`              | `POST`   | `/api/v1/assets/upload-capabilities`                          |
| `stackshift asset list`                                  | `GET`    | `/api/v1/assets`                                              |
| `stackshift asset get`                                   | `GET`    | `/api/v1/assets/{id}`                                         |
| `stackshift asset ocr-start`                             | `POST`   | `/api/v1/assets/{id}/text-extraction`                         |
| `stackshift asset ocr-get`                               | `GET`    | `/api/v1/assets/{id}/text-extraction`                         |
| `stackshift asset ocr-retry`                             | `POST`   | `/api/v1/assets/text-extractions/{id}/retry`                  |
| `stackshift asset summary`                               | `GET`    | `/api/v1/assets/summary`                                      |
| `stackshift asset analytics`                             | `GET`    | `/api/v1/assets/analytics`                                    |
| `stackshift asset events`                                | `GET`    | `/api/v1/assets/events`                                       |
| `stackshift asset patch`                                 | `PATCH`  | `/api/v1/assets/{id}`                                         |
| `stackshift asset replace`                               | `PUT`    | `/api/v1/assets/{id}/replace`                                 |
| `stackshift asset bulk`                                  | `POST`   | `/api/v1/assets/bulk`                                         |
| `stackshift asset policy`                                | `GET`    | `/api/v1/assets/policy`                                       |
| `stackshift asset policy-update`                         | `PUT`    | `/api/v1/assets/policy`                                       |
| `stackshift asset ai-config`                             | `GET`    | `/api/v1/assets/ai/config`                                    |
| `stackshift asset ai-config-update`                      | `PUT`    | `/api/v1/assets/ai/config`                                    |
| `stackshift asset job`                                   | `GET`    | `/api/v1/assets/jobs/{id}`                                    |
| `stackshift asset job-cancel`                            | `POST`   | `/api/v1/assets/jobs/{id}/cancel`                             |
| `stackshift asset transforms`                            | `GET`    | `/api/v1/assets/transformations`                              |
| `stackshift asset transform-create`                      | `POST`   | `/api/v1/assets/transformations`                              |
| `stackshift asset transform-run`                         | `POST`   | `/api/v1/assets/{id}/transforms`                              |
| `stackshift asset derivatives`                           | `GET`    | `/api/v1/assets/{id}/derivatives`                             |
| `stackshift asset generate`                              | `POST`   | `/api/v1/assets/generations`                                  |
| `stackshift asset automation`                            | `GET`    | `/api/v1/assets/automation`                                   |
| `stackshift asset workflow-catalog`                      | `GET`    | `/api/v1/assets/workflows/catalog`                            |
| `stackshift asset workflows`                             | `GET`    | `/api/v1/assets/workflows`                                    |
| `stackshift asset workflow-create`                       | `POST`   | `/api/v1/assets/workflows`                                    |
| `stackshift asset workflow-get`                          | `GET`    | `/api/v1/assets/workflows/{id}`                               |
| `stackshift asset workflow-draft-update`                 | `PUT`    | `/api/v1/assets/workflows/{id}/draft`                         |
| `stackshift asset workflow-validate`                     | `POST`   | `/api/v1/assets/workflows/{id}/validate`                      |
| `stackshift asset workflow-publish`                      | `POST`   | `/api/v1/assets/workflows/{id}/publish`                       |
| `stackshift asset workflow-activate`                     | `POST`   | `/api/v1/assets/workflows/{id}/activate`                      |
| `stackshift asset workflow-run`                          | `POST`   | `/api/v1/assets/workflows/{id}/run`                           |
| `stackshift asset workflow-versions`                     | `GET`    | `/api/v1/assets/workflows/{id}/versions`                      |
| `stackshift asset workflow-runs`                         | `GET`    | `/api/v1/assets/workflows/{id}/runs`                          |
| `stackshift asset workflow-run-get`                      | `GET`    | `/api/v1/assets/workflows/runs/{id}`                          |
| `stackshift asset workflow-run-cancel`                   | `POST`   | `/api/v1/assets/workflows/runs/{id}/cancel`                   |
| `stackshift asset workflow-run-retry`                    | `POST`   | `/api/v1/assets/workflows/runs/{id}/retry`                    |
| `stackshift asset workflow-approvals`                    | `GET`    | `/api/v1/assets/workflows/approvals`                          |
| `stackshift asset workflow-approve`                      | `POST`   | `/api/v1/assets/workflows/approvals/{id}/approve`             |
| `stackshift asset workflow-reject`                       | `POST`   | `/api/v1/assets/workflows/approvals/{id}/reject`              |
| `stackshift asset workflow-connections`                  | `GET`    | `/api/v1/assets/workflows/connections`                        |
| `stackshift asset workflow-connection-create`            | `POST`   | `/api/v1/assets/workflows/connections`                        |
| `stackshift asset workflow-connection-credential-rotate` | `POST`   | `/api/v1/assets/workflows/connections/{id}/credential/rotate` |
| `stackshift asset workflow-hook-rotate`                  | `POST`   | `/api/v1/assets/workflows/{id}/inbound-hook/rotate`           |
| `stackshift asset transform-delete`                      | `DELETE` | `/api/v1/assets/transformations/{id}`                         |
| `stackshift asset lifecycle-rules`                       | `GET`    | `/api/v1/assets/lifecycle-rules`                              |
| `stackshift asset lifecycle-rule-create`                 | `POST`   | `/api/v1/assets/lifecycle-rules`                              |
| `stackshift asset lifecycle-rule-delete`                 | `DELETE` | `/api/v1/assets/lifecycle-rules/{id}`                         |
| `stackshift asset domains`                               | `GET`    | `/api/v1/assets/domains`                                      |
| `stackshift asset domain-create`                         | `POST`   | `/api/v1/assets/domains`                                      |
| `stackshift asset domain-verify`                         | `POST`   | `/api/v1/assets/domains/{id}/verify`                          |
| `stackshift asset domain-delete`                         | `DELETE` | `/api/v1/assets/domains/{id}`                                 |
| `stackshift asset webhooks`                              | `GET`    | `/api/v1/assets/webhooks`                                     |
| `stackshift asset webhook-create`                        | `POST`   | `/api/v1/assets/webhooks`                                     |
| `stackshift asset webhook-delete`                        | `DELETE` | `/api/v1/assets/webhooks/{id}`                                |
| `stackshift asset webhook-deliveries`                    | `GET`    | `/api/v1/assets/webhooks/{id}/deliveries`                     |
| `stackshift asset webhook-retry`                         | `POST`   | `/api/v1/assets/webhook-deliveries/{id}/retry`                |
| `stackshift asset collections`                           | `GET`    | `/api/v1/assets/collections`                                  |
| `stackshift asset collection-create`                     | `POST`   | `/api/v1/assets/collections`                                  |
| `stackshift asset collection-update`                     | `PUT`    | `/api/v1/assets/collections/{id}`                             |
| `stackshift asset collection-delete`                     | `DELETE` | `/api/v1/assets/collections/{id}`                             |
| `stackshift asset saved-searches`                        | `GET`    | `/api/v1/assets/saved-searches`                               |
| `stackshift asset saved-search-create`                   | `POST`   | `/api/v1/assets/saved-searches`                               |
| `stackshift asset saved-search-update`                   | `PUT`    | `/api/v1/assets/saved-searches/{id}`                          |
| `stackshift asset saved-search-delete`                   | `DELETE` | `/api/v1/assets/saved-searches/{id}`                          |
| `stackshift asset signed-url`                            | `POST`   | `/api/v1/assets/{id}/signed-url`                              |
| `stackshift asset transform-url`                         | `POST`   | `/api/v1/assets/{id}/transform-url`                           |
| `stackshift asset tags`                                  | `PUT`    | `/api/v1/assets/{id}/tags`                                    |
| `stackshift asset metadata`                              | `PATCH`  | `/api/v1/assets/{id}/metadata`                                |
| `stackshift asset analyze`                               | `POST`   | `/api/v1/assets/{id}/ai/analyze`                              |
| `stackshift asset ai`                                    | `GET`    | `/api/v1/assets/{id}/ai`                                      |
| `stackshift asset moderate`                              | `POST`   | `/api/v1/assets/{id}/moderation`                              |
| `stackshift asset transcript`                            | `GET`    | `/api/v1/assets/{id}/transcript`                              |
| `stackshift asset transcribe`                            | `POST`   | `/api/v1/assets/{id}/transcript`                              |
| `stackshift asset smart-crop`                            | `POST`   | `/api/v1/assets/{id}/smart-crop`                              |
| `stackshift asset background-remove`                     | `POST`   | `/api/v1/assets/{id}/background-remove`                       |
| `stackshift asset versions`                              | `GET`    | `/api/v1/assets/{id}/versions`                                |
| `stackshift asset branch-create`                         | `POST`   | `/api/v1/assets/{id}/branches`                                |
| `stackshift asset version-restore`                       | `POST`   | `/api/v1/assets/{id}/versions/{version}/restore`              |
| `stackshift asset branch-promote`                        | `POST`   | `/api/v1/assets/{id}/branches/{branch}/promote`               |
| `stackshift asset purge`                                 | `POST`   | `/api/v1/assets/{id}/purge`                                   |
| `stackshift asset delete`                                | `DELETE` | `/api/v1/assets/{id}`                                         |
| `stackshift mail send`                                   | `POST`   | `/api/v1/mail/send`                                           |
| `stackshift mail send-template`                          | `POST`   | `/api/v1/mail/send-template`                                  |
| `stackshift mail send-batch`                             | `POST`   | `/api/v1/mail/batch`                                          |
| `stackshift mail send-batch-template`                    | `POST`   | `/api/v1/mail/batch-template`                                 |
| `stackshift mail batches`                                | `GET`    | `/api/v1/mail/batches`                                        |
| `stackshift mail batch`                                  | `GET`    | `/api/v1/mail/batches/{id}`                                   |
| `stackshift mail batch-items`                            | `GET`    | `/api/v1/mail/batches/{id}/items`                             |
| `stackshift mail schedule`                               | `POST`   | `/api/v1/mail/scheduled`                                      |
| `stackshift mail scheduled`                              | `GET`    | `/api/v1/mail/scheduled`                                      |
| `stackshift mail scheduled-message`                      | `GET`    | `/api/v1/mail/scheduled/{id}`                                 |
| `stackshift mail cancel`                                 | `POST`   | `/api/v1/mail/scheduled/{id}/cancel`                          |
| `stackshift mail analytics`                              | `GET`    | `/api/v1/mail/analytics`                                      |
| `stackshift mail limits`                                 | `GET`    | `/api/v1/mail/limits`                                         |
| `stackshift mail reputation`                             | `GET`    | `/api/v1/mail/reputation`                                     |
| `stackshift mail messages`                               | `GET`    | `/api/v1/mail/messages`                                       |
| `stackshift mail message`                                | `GET`    | `/api/v1/mail/messages/{id}`                                  |
| `stackshift mail timeline`                               | `GET`    | `/api/v1/mail/messages/{id}/timeline`                         |
| `stackshift mail streams`                                | `GET`    | `/api/v1/mail/streams`                                        |
| `stackshift mail stream-create`                          | `POST`   | `/api/v1/mail/streams`                                        |
| `stackshift mail audiences`                              | `GET`    | `/api/v1/mail/audiences`                                      |
| `stackshift mail audience-create`                        | `POST`   | `/api/v1/mail/audiences`                                      |
| `stackshift mail audience`                               | `GET`    | `/api/v1/mail/audiences/{id}`                                 |
| `stackshift mail audience-members`                       | `GET`    | `/api/v1/mail/audiences/{id}/members`                         |
| `stackshift mail audience-import`                        | `POST`   | `/api/v1/mail/audiences/{id}/imports`                         |
| `stackshift mail campaigns`                              | `GET`    | `/api/v1/mail/campaigns`                                      |
| `stackshift mail campaign-create`                        | `POST`   | `/api/v1/mail/campaigns`                                      |
| `stackshift mail campaign`                               | `GET`    | `/api/v1/mail/campaigns/{id}`                                 |
| `stackshift mail campaign-send`                          | `POST`   | `/api/v1/mail/campaigns/{id}/send`                            |
| `stackshift mail exports`                                | `GET`    | `/api/v1/mail/exports`                                        |
| `stackshift mail export-create`                          | `POST`   | `/api/v1/mail/exports`                                        |
| `stackshift mail export`                                 | `GET`    | `/api/v1/mail/exports/{id}`                                   |
| `stackshift mail export-download`                        | `GET`    | `/api/v1/mail/exports/{id}/download`                          |
| `stackshift mail templates`                              | `GET`    | `/api/v1/mail/templates`                                      |
| `stackshift mail template-create`                        | `POST`   | `/api/v1/mail/templates`                                      |
| `stackshift mail template-update`                        | `PATCH`  | `/api/v1/mail/templates/{id}`                                 |
| `stackshift mail template-delete`                        | `DELETE` | `/api/v1/mail/templates/{id}`                                 |
| `stackshift mail template-diagnostics`                   | `POST`   | `/api/v1/mail/templates/{id}/diagnostics`                     |
| `stackshift mail domains`                                | `GET`    | `/api/v1/mail/domains`                                        |
| `stackshift mail domain-create`                          | `POST`   | `/api/v1/mail/domains`                                        |
| `stackshift mail domain-verify`                          | `POST`   | `/api/v1/mail/domains/{id}/verify`                            |
| `stackshift mail suppressions`                           | `GET`    | `/api/v1/mail/suppressions`                                   |
| `stackshift mail suppress`                               | `POST`   | `/api/v1/mail/suppressions`                                   |
| `stackshift mail webhooks`                               | `GET`    | `/api/v1/mail/webhooks`                                       |
| `stackshift mail webhook-create`                         | `POST`   | `/api/v1/mail/webhooks`                                       |
| `stackshift mail webhook-rotate`                         | `POST`   | `/api/v1/mail/webhooks/{id}/rotate-secret`                    |
| `stackshift mail webhook-replay`                         | `POST`   | `/api/v1/mail/webhooks/{id}/replay`                           |
| `stackshift mail webhook-deliveries`                     | `GET`    | `/api/v1/mail/webhooks/{id}/deliveries`                       |
| `stackshift mail webhook-delivery`                       | `GET`    | `/api/v1/mail/webhook-deliveries/{id}`                        |
| `stackshift mail webhook-delivery-retry`                 | `POST`   | `/api/v1/mail/webhook-deliveries/{id}/retry`                  |
| `stackshift mail inbound-domains`                        | `GET`    | `/api/v1/mail/inbound/domains`                                |
| `stackshift mail inbound-domain-create`                  | `POST`   | `/api/v1/mail/inbound/domains`                                |
| `stackshift mail inbound-domain`                         | `GET`    | `/api/v1/mail/inbound/domains/{id}`                           |
| `stackshift mail inbound-domain-verify`                  | `POST`   | `/api/v1/mail/inbound/domains/{id}/verify`                    |
| `stackshift mail inbound-messages`                       | `GET`    | `/api/v1/mail/inbound/messages`                               |
| `stackshift mail inbound-message`                        | `GET`    | `/api/v1/mail/inbound/messages/{id}`                          |
| `stackshift mail events`                                 | `GET`    | `/api/v1/mail/events`                                         |
| `stackshift mail bounces`                                | `GET`    | `/api/v1/mail/bounces`                                        |
| `stackshift domain search`                               | `GET`    | `/api/v1/domains/search`                                      |
| `stackshift domain pricing`                              | `GET`    | `/api/v1/domains/pricing`                                     |
| `stackshift domain checkout`                             | `POST`   | `/api/v1/domains/checkout`                                    |
| `stackshift domain orders`                               | `GET`    | `/api/v1/domains/orders`                                      |
| `stackshift domain registered`                           | `GET`    | `/api/v1/domains/registered`                                  |
| `stackshift domain get`                                  | `GET`    | `/api/v1/domains/{id}`                                        |
| `stackshift domain renew`                                | `POST`   | `/api/v1/domains/{id}/renew`                                  |
| `stackshift domain nameservers`                          | `POST`   | `/api/v1/domains/{id}/nameservers`                            |
| `stackshift domain dns`                                  | `GET`    | `/api/v1/domains/{id}/dns`                                    |
| `stackshift domain dns-create`                           | `POST`   | `/api/v1/domains/{id}/dns`                                    |
| `stackshift domain dns-update`                           | `PUT`    | `/api/v1/domains/{id}/dns/{record}`                           |
| `stackshift domain dns-delete`                           | `DELETE` | `/api/v1/domains/{id}/dns/{record}`                           |
| `stackshift domain transfers`                            | `GET`    | `/api/v1/domains/transfers`                                   |
| `stackshift domain transfer`                             | `POST`   | `/api/v1/domains/transfers`                                   |
| `stackshift domain mailboxes`                            | `GET`    | `/api/v1/domains/{id}/mailboxes`                              |
| `stackshift domain mailbox-create`                       | `POST`   | `/api/v1/domains/{id}/mailboxes`                              |
| `stackshift mobile apps`                                 | `GET`    | `/api/v1/mobile/apps/`                                        |
| `stackshift mobile app-create`                           | `POST`   | `/api/v1/mobile/apps/`                                        |
| `stackshift mobile app`                                  | `GET`    | `/api/v1/mobile/apps/{id}`                                    |
| `stackshift mobile app-delete`                           | `DELETE` | `/api/v1/mobile/apps/{id}`                                    |
| `stackshift mobile releases`                             | `GET`    | `/api/v1/mobile/apps/{id}/releases`                           |
| `stackshift mobile release-create`                       | `POST`   | `/api/v1/mobile/apps/{id}/releases`                           |
| `stackshift mobile release`                              | `GET`    | `/api/v1/mobile/apps/{app}/releases/{release}`                |
| `stackshift mobile promote`                              | `POST`   | `/api/v1/mobile/apps/{app}/releases/{release}/promote`        |
| `stackshift mobile links`                                | `GET`    | `/api/v1/mobile/apps/{app}/releases/{release}/links`          |
| `stackshift mobile link-create`                          | `POST`   | `/api/v1/mobile/apps/{app}/releases/{release}/links`          |
| `stackshift mobile updates`                              | `GET`    | `/api/v1/mobile/apps/{id}/ota/updates`                        |
| `stackshift mobile channels`                             | `GET`    | `/api/v1/mobile/apps/{id}/ota/channels`                       |
| `stackshift mobile testers`                              | `GET`    | `/api/v1/mobile/apps/{id}/testers`                            |
| `stackshift mobile tester-create`                        | `POST`   | `/api/v1/mobile/apps/{id}/testers`                            |
| `stackshift notification list`                           | `GET`    | `/api/v1/notifications`                                       |
| `stackshift notification unread`                         | `GET`    | `/api/v1/notifications/unread`                                |
| `stackshift notification read`                           | `POST`   | `/api/v1/notifications/{id}/read`                             |
| `stackshift notification read-all`                       | `POST`   | `/api/v1/notifications/read-all`                              |
| `stackshift notification settings`                       | `GET`    | `/api/v1/notifications/settings`                              |
| `stackshift notification settings-update`                | `PUT`    | `/api/v1/notifications/settings`                              |
| `stackshift notification pause`                          | `POST`   | `/api/v1/notifications/settings/pause`                        |
| `stackshift notification resume`                         | `POST`   | `/api/v1/notifications/settings/resume`                       |
| `stackshift ai diagnosis`                                | `GET`    | `/api/v1/ai/diagnoses/{id}`                                   |
| `stackshift ai feedback`                                 | `POST`   | `/api/v1/ai/diagnoses/{id}/feedback`                          |
| `stackshift ai applied`                                  | `POST`   | `/api/v1/ai/diagnoses/{id}/applied`                           |
| `stackshift agent thread-list`                           | `GET`    | `/api/v1/agents/threads`                                      |
| `stackshift agent thread-create`                         | `POST`   | `/api/v1/agents/threads`                                      |
| `stackshift agent thread-get`                            | `GET`    | `/api/v1/agents/threads/{id}`                                 |
| `stackshift agent thread-delete`                         | `DELETE` | `/api/v1/agents/threads/{id}`                                 |
| `stackshift agent run-create`                            | `POST`   | `/api/v1/agents/threads/{id}/runs`                            |
| `stackshift agent run-get`                               | `GET`    | `/api/v1/agents/runs/{id}`                                    |
| `stackshift agent run-cancel`                            | `POST`   | `/api/v1/agents/runs/{id}/cancel`                             |
| `stackshift agent run-events`                            | `GET`    | `/api/v1/agents/runs/{id}/events`                             |
| `stackshift agent approval-list`                         | `GET`    | `/api/v1/agents/approvals`                                    |
| `stackshift agent approval-decide`                       | `POST`   | `/api/v1/agents/approvals/{id}/decision`                      |

## v1.2 Hosted solutions

| Command                                | Method   | Customer API path                                                      |
| -------------------------------------- | -------- | ---------------------------------------------------------------------- |
| `stackshift template list`             | `GET`    | `/api/v1/templates/`                                                   |
| `stackshift template get`              | `GET`    | `/api/v1/templates/{slug}`                                             |
| `stackshift template render`           | `POST`   | `/api/v1/templates/{slug}/render`                                      |
| `stackshift template deploy`           | `POST`   | `/api/v1/templates/{slug}/deploy`                                      |
| `stackshift stack list`                | `GET`    | `/api/v1/stacks/`                                                      |
| `stackshift stack create`              | `POST`   | `/api/v1/stacks/`                                                      |
| `stackshift stack get`                 | `GET`    | `/api/v1/stacks/{id}`                                                  |
| `stackshift stack update`              | `PATCH`  | `/api/v1/stacks/{id}`                                                  |
| `stackshift stack deploy`              | `POST`   | `/api/v1/stacks/{id}/deploy`                                           |
| `stackshift stack upgrade-preview`     | `GET`    | `/api/v1/stacks/{id}/template-upgrade-preview`                         |
| `stackshift stack upgrade`             | `POST`   | `/api/v1/stacks/{id}/template-upgrade`                                 |
| `stackshift stack upgrade-rollback`    | `POST`   | `/api/v1/stacks/{id}/template-upgrade/rollback`                        |
| `stackshift stack backups`             | `GET`    | `/api/v1/stacks/{id}/backups`                                          |
| `stackshift stack backup-create`       | `POST`   | `/api/v1/stacks/{id}/backups`                                          |
| `stackshift stack backup-restore`      | `POST`   | `/api/v1/stacks/{stack}/backups/{backup}/restore`                      |
| `stackshift stack logs`                | `GET`    | `/api/v1/stacks/{id}/logs`                                             |
| `stackshift stack stop`                | `POST`   | `/api/v1/stacks/{id}/stop`                                             |
| `stackshift stack delete`              | `DELETE` | `/api/v1/stacks/{id}`                                                  |
| `stackshift import connections`        | `GET`    | `/api/v1/imports/connections`                                          |
| `stackshift import connect`            | `POST`   | `/api/v1/imports/connections`                                          |
| `stackshift import disconnect`         | `DELETE` | `/api/v1/imports/connections/{id}`                                     |
| `stackshift import workspaces`         | `GET`    | `/api/v1/imports/{provider}/workspaces`                                |
| `stackshift import projects`           | `GET`    | `/api/v1/imports/{provider}/projects`                                  |
| `stackshift import preview`            | `POST`   | `/api/v1/imports/preview`                                              |
| `stackshift import start`              | `POST`   | `/api/v1/imports/jobs`                                                 |
| `stackshift import status`             | `GET`    | `/api/v1/imports/jobs/{id}`                                            |
| `stackshift import confirm-data`       | `POST`   | `/api/v1/imports/jobs/{id}/confirm-data-sources`                       |
| `stackshift import confirm-cutover`    | `POST`   | `/api/v1/imports/jobs/{id}/confirm-domain-cutover`                     |
| `stackshift wordpress runtime-options` | `GET`    | `/api/v1/wordpress/runtime-options`                                    |
| `stackshift wordpress create`          | `POST`   | `/api/v1/wordpress/sites`                                              |
| `stackshift wordpress import`          | `POST`   | `/api/v1/wordpress/imports`                                            |
| `stackshift wordpress metadata`        | `GET`    | `/api/v1/wordpress/projects/{id}/metadata`                             |
| `stackshift wordpress domain`          | `POST`   | `/api/v1/wordpress/projects/{id}/domain`                               |
| `stackshift wordpress action`          | `POST`   | `/api/v1/wordpress/projects/{id}/actions`                              |
| `stackshift wordpress update-core`     | `POST`   | `/api/v1/wordpress/projects/{id}/core/update`                          |
| `stackshift wordpress backups`         | `GET`    | `/api/v1/wordpress/projects/{id}/backups`                              |
| `stackshift wordpress backup-create`   | `POST`   | `/api/v1/wordpress/projects/{id}/backups`                              |
| `stackshift wordpress backup-restore`  | `POST`   | `/api/v1/wordpress/projects/{project}/backups/{backup}/restore`        |
| `stackshift wordpress staging`         | `POST`   | `/api/v1/wordpress/projects/{id}/staging`                              |
| `stackshift wordpress themes`          | `GET`    | `/api/v1/wordpress/marketplace/themes/`                                |
| `stackshift wordpress theme-install`   | `POST`   | `/api/v1/wordpress/projects/{id}/themes/install`                       |
| `stackshift ghost runtime-options`     | `GET`    | `/api/v1/ghost/runtime-options`                                        |
| `stackshift ghost create`              | `POST`   | `/api/v1/ghost/sites`                                                  |
| `stackshift ghost metadata`            | `GET`    | `/api/v1/ghost/projects/{id}/metadata`                                 |
| `stackshift ghost history`             | `GET`    | `/api/v1/ghost/projects/{id}/history`                                  |
| `stackshift ghost action`              | `POST`   | `/api/v1/ghost/projects/{id}/actions`                                  |
| `stackshift ghost domain`              | `POST`   | `/api/v1/ghost/projects/{id}/domain`                                   |
| `stackshift ghost recovery-points`     | `GET`    | `/api/v1/ghost/projects/{id}/recovery-points`                          |
| `stackshift ghost recovery-create`     | `POST`   | `/api/v1/ghost/projects/{id}/recovery-points`                          |
| `stackshift ghost recovery-restore`    | `POST`   | `/api/v1/ghost/projects/{project}/recovery-points/{point}/restore`     |
| `stackshift ghost upgrade`             | `POST`   | `/api/v1/ghost/projects/{id}/upgrades`                                 |
| `stackshift ghost staging`             | `POST`   | `/api/v1/ghost/projects/{id}/staging`                                  |
| `stackshift shopify get`               | `GET`    | `/api/v1/projects/{id}/shopify`                                        |
| `stackshift shopify connect`           | `POST`   | `/api/v1/projects/{id}/shopify/connect`                                |
| `stackshift shopify operation`         | `GET`    | `/api/v1/projects/{project}/shopify/operations/{operation}`            |
| `stackshift shopify environment`       | `PUT`    | `/api/v1/projects/{project}/shopify/environments/{environment}`        |
| `stackshift shopify verify`            | `POST`   | `/api/v1/projects/{project}/shopify/environments/{environment}/verify` |
| `stackshift shopify releases`          | `GET`    | `/api/v1/projects/{id}/shopify/releases`                               |
| `stackshift shopify retry`             | `POST`   | `/api/v1/projects/{project}/shopify/releases/{release}/retry`          |
| `stackshift shopify webhooks`          | `GET`    | `/api/v1/projects/{id}/shopify/webhooks`                               |
| `stackshift shopify promote`           | `POST`   | `/api/v1/projects/{id}/shopify/storefront/promotions`                  |

## v1.3 Infrastructure and business

| Command                                 | Method   | Customer API path                                 |
| --------------------------------------- | -------- | ------------------------------------------------- |
| `stackshift node list`                  | `GET`    | `/api/v1/nodes/`                                  |
| `stackshift node get`                   | `GET`    | `/api/v1/nodes/{id}`                              |
| `stackshift node enroll`                | `POST`   | `/api/v1/nodes/enrollments`                       |
| `stackshift node update`                | `PATCH`  | `/api/v1/nodes/{id}`                              |
| `stackshift node resources`             | `GET`    | `/api/v1/nodes/{id}/observability`                |
| `stackshift node drain`                 | `POST`   | `/api/v1/nodes/{id}/drain`                        |
| `stackshift node activate`              | `POST`   | `/api/v1/nodes/{id}/activate`                     |
| `stackshift node install-ssh`           | `POST`   | `/api/v1/nodes/{id}/ssh-installations`            |
| `stackshift node delete`                | `DELETE` | `/api/v1/nodes/{id}`                              |
| `stackshift compute plans`              | `GET`    | `/api/v1/compute/plans`                           |
| `stackshift compute features`           | `GET`    | `/api/v1/compute/features`                        |
| `stackshift compute list`               | `GET`    | `/api/v1/compute/instances`                       |
| `stackshift compute create`             | `POST`   | `/api/v1/compute/instances`                       |
| `stackshift compute get`                | `GET`    | `/api/v1/compute/instances/{id}`                  |
| `stackshift compute timeline`           | `GET`    | `/api/v1/compute/instances/{id}/timeline`         |
| `stackshift compute usage`              | `GET`    | `/api/v1/compute/instances/{id}/usage`            |
| `stackshift compute start`              | `POST`   | `/api/v1/compute/instances/{id}/actions/start`    |
| `stackshift compute stop`               | `POST`   | `/api/v1/compute/instances/{id}/actions/stop`     |
| `stackshift compute reboot`             | `POST`   | `/api/v1/compute/instances/{id}/actions/reboot`   |
| `stackshift compute delete`             | `POST`   | `/api/v1/compute/instances/{id}/actions/delete`   |
| `stackshift compute backups`            | `GET`    | `/api/v1/compute/instances/{id}/backups`          |
| `stackshift compute backup-create`      | `POST`   | `/api/v1/compute/instances/{id}/backups`          |
| `stackshift compute snapshots`          | `GET`    | `/api/v1/compute/instances/{id}/snapshots`        |
| `stackshift compute snapshot-create`    | `POST`   | `/api/v1/compute/instances/{id}/snapshots`        |
| `stackshift compute console`            | `POST`   | `/api/v1/compute/instances/{id}/console/sessions` |
| `stackshift compute firewall`           | `GET`    | `/api/v1/compute/instances/{id}/firewall/rules`   |
| `stackshift provider list`              | `GET`    | `/api/v1/provider-connections/`                   |
| `stackshift provider create`            | `POST`   | `/api/v1/provider-connections/`                   |
| `stackshift provider update`            | `PATCH`  | `/api/v1/provider-connections/{id}`               |
| `stackshift provider validate`          | `POST`   | `/api/v1/provider-connections/{id}/validate`      |
| `stackshift provider delete`            | `DELETE` | `/api/v1/provider-connections/{id}`               |
| `stackshift byoc providers`             | `GET`    | `/api/v1/byocloud/providers`                      |
| `stackshift byoc node-create`           | `POST`   | `/api/v1/byocloud/nodes`                          |
| `stackshift byoc operation`             | `GET`    | `/api/v1/byocloud/operations/{id}`                |
| `stackshift byoc resources`             | `GET`    | `/api/v1/byocloud/nodes/{id}/resources`           |
| `stackshift byoc refresh`               | `POST`   | `/api/v1/byocloud/nodes/{id}/resources/refresh`   |
| `stackshift byoc volume-create`         | `POST`   | `/api/v1/byocloud/nodes/{id}/volumes`             |
| `stackshift byoc volume-detach`         | `POST`   | `/api/v1/byocloud/volumes/{id}/detach`            |
| `stackshift byoc snapshot-create`       | `POST`   | `/api/v1/byocloud/volumes/{id}/snapshots`         |
| `stackshift byoc static-ip`             | `POST`   | `/api/v1/byocloud/nodes/{id}/static-ip`           |
| `stackshift byoc static-ip-release`     | `DELETE` | `/api/v1/byocloud/nodes/{id}/static-ip`           |
| `stackshift byoc reboot`                | `POST`   | `/api/v1/byocloud/nodes/{id}/reboot`              |
| `stackshift byoc retry`                 | `POST`   | `/api/v1/byocloud/nodes/{id}/retry`               |
| `stackshift byoc node-delete`           | `DELETE` | `/api/v1/byocloud/nodes/{id}`                     |
| `stackshift byoc volume-delete`         | `DELETE` | `/api/v1/byocloud/volumes/{id}`                   |
| `stackshift byoc snapshot-delete`       | `DELETE` | `/api/v1/byocloud/snapshots/{id}`                 |
| `stackshift operations summary`         | `GET`    | `/api/v1/operations/summary`                      |
| `stackshift operations alerts`          | `GET`    | `/api/v1/operations/alerts`                       |
| `stackshift operations events`          | `GET`    | `/api/v1/operations/events`                       |
| `stackshift incident list`              | `GET`    | `/api/v1/incidents/`                              |
| `stackshift incident create`            | `POST`   | `/api/v1/incidents/`                              |
| `stackshift incident get`               | `GET`    | `/api/v1/incidents/{id}`                          |
| `stackshift incident update`            | `PATCH`  | `/api/v1/incidents/{id}`                          |
| `stackshift incident acknowledge`       | `POST`   | `/api/v1/incidents/{id}/acknowledge`              |
| `stackshift incident assign`            | `POST`   | `/api/v1/incidents/{id}/assign`                   |
| `stackshift incident comment`           | `POST`   | `/api/v1/incidents/{id}/comment`                  |
| `stackshift incident resolve`           | `POST`   | `/api/v1/incidents/{id}/resolve`                  |
| `stackshift incident dismiss`           | `POST`   | `/api/v1/incidents/{id}/dismiss`                  |
| `stackshift governance policy`          | `GET`    | `/api/v1/governance/policy`                       |
| `stackshift governance evaluate`        | `POST`   | `/api/v1/governance/evaluate`                     |
| `stackshift billing plans`              | `GET`    | `/api/v1/billing/plans`                           |
| `stackshift billing subscription`       | `GET`    | `/api/v1/billing/subscription`                    |
| `stackshift billing subscribe`          | `POST`   | `/api/v1/billing/subscribe`                       |
| `stackshift billing change-plan`        | `POST`   | `/api/v1/billing/change-plan`                     |
| `stackshift billing cancel`             | `POST`   | `/api/v1/billing/cancel`                          |
| `stackshift billing payment-methods`    | `GET`    | `/api/v1/billing/payment-methods`                 |
| `stackshift billing usage`              | `GET`    | `/api/v1/billing/usage`                           |
| `stackshift billing projection`         | `GET`    | `/api/v1/billing/usage/projection`                |
| `stackshift billing spending-limit`     | `GET`    | `/api/v1/billing/spending-limit`                  |
| `stackshift billing spending-limit-set` | `PUT`    | `/api/v1/billing/spending-limit`                  |
| `stackshift billing transactions`       | `GET`    | `/api/v1/billing/transactions`                    |
| `stackshift billing resume`             | `POST`   | `/api/v1/billing/transactions/{reference}/resume` |
| `stackshift agency profile`             | `GET`    | `/api/v1/agency/profile`                          |
| `stackshift agency profile-set`         | `POST`   | `/api/v1/agency/profile`                          |
| `stackshift agency overview`            | `GET`    | `/api/v1/agency/overview`                         |
| `stackshift agency activity`            | `GET`    | `/api/v1/agency/activity`                         |
| `stackshift agency clients`             | `GET`    | `/api/v1/agency/clients`                          |
| `stackshift agency client-create`       | `POST`   | `/api/v1/agency/clients`                          |
| `stackshift agency client`              | `GET`    | `/api/v1/agency/clients/{id}`                     |
| `stackshift agency client-update`       | `PATCH`  | `/api/v1/agency/clients/{id}`                     |
| `stackshift agency client-delete`       | `DELETE` | `/api/v1/agency/clients/{id}`                     |
| `stackshift agency packages`            | `GET`    | `/api/v1/agency/packages`                         |
| `stackshift agency package-create`      | `POST`   | `/api/v1/agency/packages`                         |
| `stackshift agency orders`              | `GET`    | `/api/v1/agency/orders`                           |
| `stackshift agency order-create`        | `POST`   | `/api/v1/agency/orders`                           |
| `stackshift agency invoices`            | `GET`    | `/api/v1/agency/invoices`                         |
| `stackshift agency invoice-send`        | `POST`   | `/api/v1/agency/invoices/{id}/send`               |
| `stackshift agency tickets`             | `GET`    | `/api/v1/agency/tickets`                          |
| `stackshift agency ticket-create`       | `POST`   | `/api/v1/agency/tickets`                          |
| `stackshift agency ticket-reply`        | `POST`   | `/api/v1/agency/tickets/{id}/reply`               |

## Purpose-built workflows

| Command                                      | Workflow                                      | Contract                               |
| -------------------------------------------- | --------------------------------------------- | -------------------------------------- |
| `stackshift auth`                            | device authorization, token scopes, profiles  | `/api/v1/auth/cli/device*`             |
| `stackshift init/validate/plan/apply/export` | application manifest lifecycle                | `/api/v1/applications/manifest/*`      |
| `stackshift deploy`                          | Git and deterministic local-source deployment | `/api/v1/projects/{project}/builds`    |
| `stackshift logs`                            | plain and streaming logs                      | `/api/v1/projects/{project}/logs*`     |
| `stackshift exec`                            | structured argv or explicit shell execution   | `/api/v1/projects/{project}/run`       |
| `stackshift env`                             | individual environment mutation               | `/api/v1/projects/{project}/env/{key}` |
| `stackshift api`                             | documented customer API escape hatch          | `/api/v1/* (customer paths only)`      |
