app
app list
List the applications in a team.
read onlyrepeatable
The inventory of a team. Run it when you do not yet know what is there, or to find the applications that have not shipped in a while.
It reports configuration rather than reality: the instance count is the number that
was asked for, not the number currently up. app instances answers the second
question, and app get is where the address lives.
Usage
outplane app list [flags]Flags
| Flag | Type | Description |
|---|---|---|
--search | string | Filter by name or display name. Applied locally: the API returns the full list. |
The global flags apply as well.
Output
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | Immutable internal name, used in URLs. |
displayName | string | Editable label, may be empty. |
status | string | Effective state: paused, ready, building, deploying, queued, failed, crashed, canceled. The field to branch on. |
deploymentStatus | string | Last deployment's own state, which pausing does not change. |
paused | bool | |
instances | int | Configured replica count, 1 to 5. Unchanged by pausing. |
size | string | Instance type code, e.g. op-20. |
source | string | Where the image comes from: github, container-registry, or unknown:N for a provider this release predates. |
lastDeployedAt | string | When the last deployment started. RFC 3339, UTC. |
updatedAt | string | When the app's own record last changed, which a deployment does not touch. RFC 3339, UTC. |
Examples
List the applications in the current team
outplane app listList as JSON and pick out the names
outplane app list --json --fields name,status{
"items": [
{
"name": "checkout",
"status": "ready"
},
{
"name": "worker",
"status": "paused"
}
],
"total": 2,
"truncated": false
}List the applications in a specific team
outplane app list --team acmeWhat to Know
- The API returns every application in one response. There is no pagination, so
totalis the complete count andtruncatedis always false. - --search filters the response on the client. It does not reduce what is fetched.
- A paused app reports status "paused", not the state of its last deployment. Filtering on status "ready" therefore never returns a stopped app; read deploymentStatus to see what it will return to.
- status "ready" describes the last deployment, not a health check. An app can be ready and still be serving errors.
- An unrecognised state decodes to "unknown:N", carrying the number the server sent. This is how a new platform state reaches an older CLI; treat it as unknown rather than as a failure.
- This command reports no URL. A public address needs the app's port, which is a separate request per app, so listing does not fetch one.
app gethas it. - lastDeployedAt and updatedAt are different questions. The first is when the app last deployed; the second is when its own record last changed, which a deployment does not touch. Sort on the first to find what is stale.
Errors
Beyond 0 for success, this command exits with:
| Exit | Kind | Meaning |
|---|---|---|
2 | usage | Invalid arguments, unknown flag, or client-side validation failure. |
3 | auth | Not authenticated, token revoked or expired, or forbidden for this team. |
8 | upstream | The Out Plane API returned a server error. |
The code on the error object is one of context.no_team, auth.token_invalid. Branch on that, or on the exit status. The message is prose and changes.