---
title: "List a computer’s public URLs"
method: GET
path: "/api/computers/{id}/public-urls"
tags: ["public-urls"]
---

# List a computer’s public URLs

`GET /api/computers/{id}/public-urls`

## Request

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

A public URL is https://<label>.<base_domain> (orgo.dev) serving a port inside the computer to anyone with the link; a new one’s label is <name>-<tail> (POST). The app must listen on 0.0.0.0:<port>, not 127.0.0.1. Answers { enabled: false, public_urls: [] } where the feature is off or the computer cannot have one (only Linux and Windows computers can).

## Path parameters

- `id` string, required

## Response `200`

Settings and the list.

- PublicUrlList
  - `enabled` boolean, required: False where the feature is off for this account or this computer cannot have public URLs.
  - `reason` string: Why enabled is false for this computer, when that is the reason.
  - `base_domain` string
  - `limit` integer: Most public URLs this computer may have; negative means no cap.
  - `account_limit` integer: Most public URLs the workspace owner’s account may have across all its computers; negative means no cap.
  - `account_used` integer: How many it has.
  - `public_urls` PublicUrl[], required
    - `id` string, uuid, required
    - `url` string, uri, required
    - `hostname` string, required
    - `label` string, required
    - `port` integer, required
    - `created_at` string, date-time, required
    - `disabled` boolean: Present, true, only on a URL Orgo support turned off: it is not served and can’t be changed or removed.
    - `protected` boolean, required: True when visitors give a password first (PATCH password). The password itself is only in GET .../password.

## 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** `8a1b0f4a5fd8`: 1 info
  - added the required property `public_urls/items/protected` to the response with the `200` status
- **2026-10-30** `afb6f0ee1aac`: 1 info
  - added the non-success response with the status `429`
- **2026-10-22** `a506f6169bb5`: 3 info
  - added the optional property `account_limit` to the response with the `200` status
  - added the optional property `account_used` to the response with the `200` status
  - added the optional property `public_urls/items/disabled` to the response with the `200` status
- **2026-10-06** `75ff4e54d86d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/orgo/apis/orgo-api/changes/api/computers/:id/public-urls/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)
