---
title: "List the ports your organisation owns"
method: GET
path: "/v1/ports"
tags: ["ports"]
---

# List the ports your organisation owns

`GET /v1/ports`

## Request

- Base URL: `https://api.portproof.org`
- URL: `https://api.portproof.org/v1/ports`
- Auth: HTTP bearer

Cursor-paginated: `?limit=` (default 50, max 200) and `?cursor=` from the previous `next_cursor`.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

Default Response

- object
  - `data` object[], required
    - `id` string, required
    - `state` 'provisioning' | 'available' | 'reserved' | 'sold' | 'leased' | 'migrating' | 'quarantined' | 'retired', required
    - `site_code` string, required
    - `country` string, required
    - `carrier` object, required
      - `id` string, required
      - `name` string, required
      - `mcc_mnc` string, required
      - `ip_stack` 'v4' | 'v6_464xlat' | 'dual', required
    - `operator` 'owned' | 'partner', required
    - `listeners` object, required
      - `host` string, required
      - `http_port` integer, required
      - `socks_port` integer, required
    - `credentials` object, nullable, required
      - `username` string, required
      - `password` string, required
      - `http` object
        - `host` string, required
        - `port` integer, required
        - `username` string, required
        - `password` string, required
      - `socks5` object
        - `host` string, required
        - `port` integer, required
        - `username` string, required
        - `password` string, required
    - `allowlist` string[], required
    - `egress_v4` string, nullable, required
    - `egress_v6_prefix` string, nullable, required
    - `v4_is_nat64` boolean, required
    - `ip_since` string, date-time, nullable, required
    - `rotation_interval_s` integer, required
    - `sticky_until` string, date-time, nullable, required
    - `cooldown_until` string, date-time, nullable, required
    - `last_rotation_at` string, date-time, nullable, required
    - `telemetry_since` string, date-time, nullable, required
    - `usage_today` object, required
      - `bytes` integer, required
      - `cap_bytes` integer, required
    - `uptime_30d_pct` number, nullable, required
    - `subscription` object, nullable, required
      - `id` string, required
      - `org_id` string, required
      - `port_id` string, required
      - `sku` string, required
      - `term` 'monthly' | 'weekly' | 'daily', required
      - `price_cents` integer, required
      - `currency` 'EUR' | 'USD', required
      - `starts_at` string, date-time, required
      - `ends_at` string, date-time, required
      - `auto_renew` boolean, required
      - `state` 'active' | 'grace' | 'suspended' | 'ended', required
      - `provider_ref` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `evidence` 'signed' | 'observed', required
    - `attestation` 'signed' | 'observed', required
    - `network` 'own' | 'partner'
    - `capabilities` object, nullable
      - `replace` boolean, required
      - `cancel` boolean, required
      - `allowlist` boolean, required
      - `auto_swap` boolean, required
      - `rotation_interval` boolean, required
      - `password_change` boolean, required
    - `renewal` object, nullable
      - `auto_renew` boolean, required
      - `ends_at` string, date-time, required
      - `price_cents` integer, required
      - `can_renew` boolean, required
    - `rotation_url` string, uri
  - `next_cursor` string, nullable, required

## Other responses

- `401`: Default Response
- `403`: Default Response

---

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