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

# Asset Feeds

> Return the latest message from each feed registered on an asset.

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

<ParamField path="asset_id" type="string" required>
  UUID of the asset.
</ParamField>

## Response

Returns an object keyed by feed name. Each value is the most recent payload published to that feed. Only feeds that have received at least one message are included.

## Available feeds by asset type

**Drone (MAVLink)**

| Feed         | Description                                                       |
| ------------ | ----------------------------------------------------------------- |
| `gps`        | Fused position: `lat`, `lon`, `alt_m`, `ground_speed`, `heading`  |
| `gps_raw`    | Raw GPS: `lat`, `lon`, `alt_m`, `fix_type`, `satellites_visible`  |
| `battery`    | `voltage`, `current`, `remaining_pct`                             |
| `attitude`   | `roll`, `pitch`, `yaw` (degrees)                                  |
| `radio`      | `rssi`, `remote_rssi`, `noise`, `rx_errors`                       |
| `sys_status` | `armed`, `flight_mode`, `ekf_ok`, `pre_arm_check`                 |
| `vfr_hud`    | `airspeed`, `groundspeed`, `throttle_pct`, `climb_mps`, `heading` |

**Camera (Reolink)**

| Feed           | Description                                                                 |
| -------------- | --------------------------------------------------------------------------- |
| `status`       | `online`, `motion_alarm`, `ai_alarm`                                        |
| `motion`       | `detected`, `timestamp`                                                     |
| `ai_detection` | `detected`, `types` (people, vehicle, dog\_cat, face, package), `timestamp` |

**Camera (ONVIF)**

| Feed     | Description           |
| -------- | --------------------- |
| `status` | `online`, `timestamp` |
| `motion` | `detected`            |

**Partner asset**

| Feed  | Description                                                          |
| ----- | -------------------------------------------------------------------- |
| `gps` | `lat`, `lon`, `alt_m`, `bearing`, `speed_mps`, `source`, `timestamp` |

## Example

<CodeGroup>
  ```python Python theme={null}
  telemetry = client.get_telemetry(kit_id, asset_id)

  # Drone
  gps = telemetry.get("gps") or {}
  print(gps.get("lat"), gps.get("lon"), gps.get("alt_m"))

  battery = telemetry.get("battery") or {}
  print(f"Battery: {battery.get('remaining_pct')}%  {battery.get('voltage')}V")

  attitude = telemetry.get("attitude") or {}
  print(f"Heading: {attitude.get('yaw')}°")

  # Camera
  status = telemetry.get("status") or {}
  print(f"Online: {status.get('online')}  Motion: {status.get('motion_alarm')}")
  ```

  ```javascript JavaScript theme={null}
  const telemetry = await client.getTelemetry(kitId, assetId)
  const { lat, lon, alt_m } = telemetry.gps || {}
  const { remaining_pct } = telemetry.battery || {}
  console.log(lat, lon, `${remaining_pct}%`)
  ```

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

```json Response (drone) theme={null}
{
  "gps": {
    "lat": 31.111,
    "lon": -93.273,
    "alt_m": 120.5,
    "ground_speed": 4.2,
    "heading": 247
  },
  "attitude": {
    "roll": 0.2,
    "pitch": -1.1,
    "yaw": 247.3
  },
  "battery": {
    "voltage": 14.8,
    "current": 22.4,
    "remaining_pct": 72
  },
  "sys_status": {
    "armed": true,
    "flight_mode": "GUIDED",
    "ekf_ok": true
  },
  "vfr_hud": {
    "groundspeed": 4.2,
    "throttle_pct": 38,
    "climb_mps": 0.1,
    "heading": 247
  }
}
```

```json Response (camera) theme={null}
{
  "status": {
    "online": true,
    "motion_alarm": false,
    "ai_alarm": false
  }
}
```
