> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hoplynk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Links

> Return all WAN links for a kit — Starlink, cellular, ethernet — with real-time metrics and data usage.

<ParamField path="kit_id" type="string" required>
  UUID of the kit.
</ParamField>

## Response

<ResponseField name="links" type="array">
  List of WAN link objects, one per interface.

  <Expandable title="Link fields">
    <ResponseField name="name" type="string">
      Interface name (e.g. `eth3`, `eth4`).
    </ResponseField>

    <ResponseField name="type" type="string">
      Classified link type: `starlink` · `cellular` · `ethernet` · `wifi`
    </ResponseField>

    <ResponseField name="status" type="string">
      `online` · `offline` · `standby`
    </ResponseField>

    <ResponseField name="isp" type="string">
      ISP name (e.g. `SpaceX Services`, `AT&T Wireless`).
    </ResponseField>

    <ResponseField name="ip" type="string">
      Public IP address of this WAN interface.
    </ResponseField>

    <ResponseField name="rx_bps" type="number">
      Current download throughput in bits per second.
    </ResponseField>

    <ResponseField name="tx_bps" type="number">
      Current upload throughput in bits per second.
    </ResponseField>

    <ResponseField name="rx_bps_max" type="number">
      Peak download throughput observed.
    </ResponseField>

    <ResponseField name="tx_bps_max" type="number">
      Peak upload throughput observed.
    </ResponseField>

    <ResponseField name="latency_ms" type="number">
      Round-trip latency in milliseconds.
    </ResponseField>

    <ResponseField name="jitter_ms" type="number">
      Latency jitter in milliseconds.
    </ResponseField>

    <ResponseField name="packet_loss_pct" type="number">
      Packet loss percentage (0–100).
    </ResponseField>

    <ResponseField name="availability_pct" type="number">
      Link uptime percentage over the monitoring window.
    </ResponseField>

    <ResponseField name="usage" type="object">
      Data usage for this link. `null` fields mean usage data isn't available yet.

      <Expandable title="usage fields">
        <ResponseField name="today_rx_gb" type="number">Download GB today.</ResponseField>
        <ResponseField name="today_tx_gb" type="number">Upload GB today.</ResponseField>
        <ResponseField name="month_rx_gb" type="number">Download GB month-to-date.</ResponseField>
        <ResponseField name="month_tx_gb" type="number">Upload GB month-to-date.</ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```python Python theme={null}
  links = client.get_links(kit_id)
  for link in links:
      print(link["name"], link["type"], link["status"])
      print(f"  ↓ {(link['rx_bps'] or 0)/1e6:.1f} Mbps  ↑ {(link['tx_bps'] or 0)/1e6:.1f} Mbps  {link['latency_ms']}ms")
      usage = link.get("usage") or {}
      print(f"  Today: {usage.get('today_rx_gb', 0):.1f} GB down / Month: {usage.get('month_rx_gb', 0):.1f} GB down")
  ```

  ```javascript JavaScript theme={null}
  const { links } = await client.getLinks(kitId)
  links.forEach(link => {
    console.log(link.name, link.type, link.status)
    console.log(`↓ ${((link.rx_bps || 0) / 1e6).toFixed(1)} Mbps  ${link.latency_ms}ms`)
  })
  ```

  ```bash cURL theme={null}
  curl https://argus.hoplynk.com/api/kits/$KIT_ID/links \
    -H "X-API-Key: hlk_..."
  ```
</CodeGroup>

```json Response theme={null}
{
  "links": [
    {
      "name": "eth3",
      "type": "starlink",
      "status": "online",
      "isp": "SpaceX Services",
      "ip": "98.97.77.68",
      "rx_bps": 28400000,
      "tx_bps": 6200000,
      "rx_bps_max": 180000000,
      "tx_bps_max": 20000000,
      "latency_ms": 28,
      "jitter_ms": 1.4,
      "packet_loss_pct": 0.0,
      "availability_pct": 99.8,
      "usage": {
        "today_rx_gb": 4.2,
        "today_tx_gb": 1.1,
        "month_rx_gb": 87.3,
        "month_tx_gb": 22.6
      }
    },
    {
      "name": "eth4",
      "type": "cellular",
      "status": "standby",
      "isp": "AT&T Wireless",
      "ip": "25.14.82.110",
      "rx_bps": 0,
      "tx_bps": 0,
      "latency_ms": 33,
      "jitter_ms": 2.1,
      "packet_loss_pct": 0.0,
      "availability_pct": 99.9,
      "usage": {
        "today_rx_gb": 0.0,
        "today_tx_gb": 0.0,
        "month_rx_gb": 1.2,
        "month_tx_gb": 0.4
      }
    }
  ]
}
```
