---
title: "List the apps that run on a computer, with their state"
method: GET
path: "/api/computers/{id}/services"
tags: ["apps"]
---

# List the apps that run on a computer, with their state

`GET /api/computers/{id}/services`

## Request

- Base URL: `https://www.orgo.ai`
- URL: `https://www.orgo.ai/api/computers/{id}/services`
- Auth: HTTP bearer

An app is a command a Linux computer keeps running under its own process manager (supervisord): started at boot, started again when it exits (by its restart policy), and back by itself after a reboot, a crash, a host reboot, a restore or a wake. A running computer is asked for each app’s state (one command on the computer; never a wake). Any other computer, or any computer with live=0, is answered from the last state on file, with live: false. Answers { supported: false, services: [] } for a computer that cannot have apps (only Linux computers on Orgo’s hosts can).

## Path parameters

- `id` string, required

## Query parameters

- `live` '0'

## Response `200`

The apps.

- ComputerAppList
  - `supported` boolean, required
  - `reason` string: Why supported is false.
  - `computer` 'running' | 'asleep' | 'stopped' | 'starting'
  - `live` boolean: The states were read from the computer just now; false: last known.
  - `limit` integer
  - `services` ComputerApp[], required
    - `id` string, uuid, required
    - `name` string, required
    - `kind` 'command' | 'deploy', required: deploy: the app of a deploy, changed from the deploy.
    - `deploy_project_id` string, uuid, nullable
    - `command` string, required
    - `cwd` string, nullable
    - `env` object, required
    - `secret_env_keys` string[], required: Names of the secret variables. Their values are never returned.
    - `port` integer, nullable
    - `restart` 'always' | 'on-failure' | 'no', required
    - `run_as` string, required
    - `enabled` boolean, required
    - `status` 'running' | 'starting' | 'crashing' | 'stopped' | 'exited' | 'failed' | 'pending' | 'off' | 'unknown', required: pending: saved, not on the computer yet. crashing: it keeps exiting soon after it starts. failed: it could not be started.
    - `status_detail` string, nullable: The process manager’s own words, e.g. "pid 812, uptime 2:14:09".
    - `status_at` string, date-time, nullable
    - `listening` boolean, nullable: Something listens on port (null: no port, or the computer was not asked).
    - `listening_publicly` boolean, nullable: It listens beyond 127.0.0.1, so a public URL reaches it.
    - `applied` boolean, required: The computer has this version of the app.
    - `error` string, nullable
    - `public_url` string, nullable: The public URL on this port, where public URLs are on.
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `401`: Unauthenticated.
- `403`: No access to this computer, view-only access, or a share-link guest.
- `404`: Computer not found.
- `429`: Over one of the account's rate limits (rate_limited): `limit` names it, `retry_after` and Retry-After say how many seconds to wait. Limits are per account (the workspace owner when the request acts on a computer or a workspace) and set by its plan (x-rate-limits).

## Changes

- **2026-10-30** `afb6f0ee1aac`: 1 info
  - added the non-success response with the status `429`
- **2026-10-18** `9babc1e13d35`: 1 info
  - added the new optional `query` request parameter `live`
- **2026-10-18** `dcaee154d80e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/orgo/apis/orgo-api/changes/api/computers/:id/services/get.md)

---

[API](https://skmtc.dev/orgo/apis/orgo-api.md) - [All operations](https://skmtc.dev/orgo/apis/orgo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orgo/apis/orgo-api/revisions/e4c1e7379fa5?raw)
