> ## 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.

# Resource command model and coverage

> Use consistent list, read, write, pagination, request body, resolution, and confirmation behavior.

<Tip>
  **Live.** This area is documented as current, user-reliable behavior.
</Tip>

## Goal

Operate any catalog-backed customer resource using the same documented command conventions.

## Prerequisites

* An authenticated profile
* The customer API permissions required by the selected resource

## Workflow

<Steps>
  <Step>
    Choose a resource namespace and operation.
  </Step>

  <Step>
    Pass positional resources by UUID or supported unique name.
  </Step>

  <Step>
    Supply query parameters and a JSON body when the API operation requires them.
  </Step>

  <Step>
    Select pagination and output behavior.
  </Step>

  <Step>
    Confirm risk-marked operations explicitly.
  </Step>
</Steps>

## Command shape

Each catalog entry fixes the HTTP method, customer API path, positional arguments, and whether confirmation is required. Positional placeholders are rendered into the path only after supported names have been resolved.

```bash theme={null}
stackshift RESOURCE OPERATION [RESOURCE ...] [flags]
stackshift project get checkout-api
stackshift database metrics primary
stackshift build get checkout-api BUILD_ID
```

## Read flags

* `--query KEY=VALUE` is repeatable and URL-encodes both key and value.
* `--page` selects a page.
* `--per-page` selects up to 100 results.
* `--all` fetches every page for a GET list response.
* Global `--output` controls table, JSON, YAML, or name-only rendering.

```bash theme={null}
stackshift project list --query status=active --page 1 --per-page 50
stackshift team list --all -o json
```

## Write bodies

POST, PUT, and PATCH operations accept either inline JSON with `--data` or a file with `--file`. Use `--file -` to read up to 16 MiB from standard input. The two input flags are mutually exclusive and the body must be valid JSON.

```bash theme={null}
stackshift project create --file request.json
generate-request | stackshift team update TEAM_ID --file -
stackshift notification pause --data '{"duration_minutes": 30}'
```

## Confirmations

Delete operations and other catalog entries marked as risky prompt on an interactive terminal. A non-interactive process must pass `--yes`; declining a prompt cancels the operation before an API request is made.

## Core PaaS namespaces

* `user`, `project`, `application`, `service`, `build`, and `deployment`.
* `function`, `terminal`, `project-domain`, `team`, and `github`.
* `database`, `backup`, `bucket`, and `cron`.

## Developer service namespaces

* `job`, `asset`, `mail`, and registered `domain` operations.
* `mobile`, `notification`, `ai`, and `chat`.

## Hosted solution namespaces

* `template`, `stack`, and structured `import` workflows.
* `wordpress`, `ghost`, and `shopify`.

## Infrastructure and business namespaces

* `node`, `compute`, `provider`, and `byoc`.
* `operations`, `incident`, and `governance`.
* `billing` and `agency`.

## Generated reference and API coverage

The [generated command reference](/cli-reference/stackshift) contains every command, positional argument, local flag, and inherited global flag.

The [customer API coverage matrix](/cli-reference/coverage) maps each catalog command to its HTTP method and customer path. Both are generated from the same Cobra command catalog as the executable.

## Expected result

<Check>
  The CLI calls the mapped customer API contract and prints a consistently formatted response.
</Check>

## Common failures

<Warning>
  * A request body is not valid JSON.
  * `--data` and `--file` are supplied together.
  * `--all` is used on a write or a non-list response.
  * A name resolves to more than one resource and requires a UUID.
  * A non-interactive risky operation omits `--yes`.
</Warning>

## Related guides

<CardGroup cols={2}>
  <Card title="Output, pagination, errors, and automation" href="/cli/output-and-automation">
    Select stable machine output, fetch paginated results, and handle documented exit codes.
  </Card>

  <Card title="Raw customer API command" href="/cli/raw-api">
    Call an existing customer API path with bounded inputs, safe retries, downloads, and path restrictions.
  </Card>
</CardGroup>
