---
title: pulumi api list | CLI commands
url: /docs/iac/cli/commands/pulumi_api_list/
---

List every Pulumi Cloud API endpoint

## Synopsis

List every endpoint exposed by the Pulumi Cloud OpenAPI spec.

Output is sorted by (tag asc, path asc, method precedence). The default is a
human-readable table when interactive; when non-interactive, list switches to
the JSON envelope so downstream parsers don't have to deal with the table's
box-drawing characters. Pass --output=json to request JSON explicitly, or
--output=table to keep the table when redirecting.

Preview endpoints are listed by default; deprecated endpoints are hidden. Use
--include-preview=false or --include-deprecated to change that.

```
pulumi api list [flags]
```

## Examples

```
  # Print the table of stable endpoints.
  pulumi api list

  # Grab every operation as JSON (the default when piped).
  pulumi api list --output=json

  # Count endpoints per tag with jq.
  pulumi api list --output=json | jq '[.operations[] | .tag] | group_by(.) |
    map({tag: .[0], count: length})'

  # Find all stack-related GETs.
  pulumi api list --output=json | jq '.operations[] |
    select(.method=="GET" and (.path | contains("/stacks"))) | .operationId'

  # Full-text search descriptions for deployment-related endpoints.
  pulumi api list --output=json | jq '.operations[] |
    select(.description | test("deployment"; "i")) |
    {operationId, path, description}'

  # Include deprecated endpoints (hidden by default).
  pulumi api list --include-deprecated

  # Hide preview endpoints.
  pulumi api list --include-preview=false
```

## Options

```
  -h, --help                 help for list
      --include-deprecated   Include endpoints marked as deprecated
      --include-preview      Include endpoints marked as preview (default true)
      --output table         Output format: table (human-readable, default when interactive), `json` (stable agent envelope, default when non-interactive). Use --output=table to keep the table when redirecting.
```

## Options inherited from parent commands

```
      --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
  -C, --cwd string                   Run pulumi as if it had been started in another directory
      --disable-integrity-checking   Disable integrity checking of checkpoint files
  -e, --emoji                        Enable emojis in the output
  -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      --logflow                      Flow log settings to child processes (like plugins)
      --logtostderr                  Log to stderr instead of to files
      --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
      --non-interactive              Disable interactive mode for all commands
      --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// for remote collectors
      --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
      --refresh-spec                 Re-fetch the OpenAPI spec from Pulumi Cloud and overwrite the local cache
      --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
  -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
```

## SEE ALSO

* [pulumi api](/docs/iac/cli/commands/pulumi_api/)	 - Call any Pulumi Cloud API endpoint


