> ## 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 Kits

> Return all kits associated with your API key, with live telemetry merged in.

## Response

Returns an array of kit objects. Each kit includes a `live` block with the most recent telemetry. Use the `id` field as `kit_id` in all subsequent calls.

<ResponseField name="id" type="string">
  Kit UUID. Use this as `kit_id` in all other endpoints.
</ResponseField>

<ResponseField name="name" type="string">
  Display name of the kit (e.g. `HAVEN-5`).
</ResponseField>

<ResponseField name="online" type="boolean">
  Whether the kit has reported in recently.
</ResponseField>

<ResponseField name="last_seen" type="string">
  ISO 8601 UTC timestamp of the most recent check-in.
</ResponseField>

<ResponseField name="live" type="object">
  Latest telemetry snapshot. `null` if the kit has never reported.

  <Expandable title="live fields">
    <ResponseField name="location" type="object">
      Latest GPS fix: `latitude`, `longitude`, `altitude`, `source`, `stale`, `kit_location` (reverse-geocoded city name).
    </ResponseField>

    <ResponseField name="wans" type="array">
      WAN link objects — same schema as [GET /links](/api-reference/kits/links).
    </ResponseField>

    <ResponseField name="battery" type="number">
      Battery level percentage (0–100). `null` if no battery.
    </ResponseField>

    <ResponseField name="battery_charging" type="boolean">
      `true` if charging. `null` if not reported.
    </ResponseField>

    <ResponseField name="gateway" type="object">
      UniFi gateway: `name`, `model`, `cpu_pct`, `mem_pct`, `uptime_s`.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```python Python theme={null}
  kits = client.get_kits()
  for kit in kits:
      print(kit["id"], kit["name"], kit["online"])
      loc = (kit.get("live") or {}).get("location") or {}
      print(loc.get("latitude"), loc.get("kit_location"))
  ```

  ```javascript JavaScript theme={null}
  const kits = await client.getKits()
  kits.forEach(kit => {
    console.log(kit.id, kit.name, kit.online)
    console.log(kit.live?.location?.latitude)
  })
  ```

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

```json Response theme={null}
[
  {
    "id": "53396241-e774-43c6-91c5-cd106dd13cfd",
    "name": "HAVEN-5",
    "online": true,
    "last_seen": "2026-05-18T14:27:03Z",
    "live": {
      "location": {
        "latitude": 31.111125,
        "longitude": -93.273234,
        "altitude": 550.2,
        "source": "starlink",
        "stale": false,
        "kit_location": "Shreveport, Louisiana"
      },
      "battery": 85,
      "battery_charging": true,
      "gateway": {
        "name": "HAVEN-5",
        "model": "UDM-Pro",
        "cpu_pct": 12,
        "mem_pct": 44
      },
      "wans": [
        {
          "name": "eth3",
          "type": "starlink",
          "status": "online",
          "latency_ms": 28
        }
      ]
    }
  }
]
```
