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

# Assets

> Assets are the devices connected to a kit — cameras, drones, sensors, radios — each producing feeds and accepting commands.

An **asset** is any device that produces data or accepts commands. Assets live under a kit, appear on the Argus map, and are accessed via the API using their UUID.

## Asset types

| Type      | Examples                                |
| --------- | --------------------------------------- |
| `camera`  | Reolink IP cameras, ONVIF cameras       |
| `drone`   | MAVLink-compatible UAVs, Skydio X10     |
| `radio`   | Silvus tactical radio                   |
| `sensor`  | Battery monitors, environmental sensors |
| `gateway` | UniFi router / gateway                  |
| `partner` | Externally-tracked vehicles and assets  |

## Parent and child assets

Assets can be nested. A drone is a parent asset; a payload camera mounted to it is a child asset. The child has a `parent_id` field pointing to the drone's UUID.

```
Drone (parent asset)
└── Payload camera (child asset, parent_id = drone UUID)
```

On the map, the child appears at the parent's position and moves with it. In the API, you query parent and child assets the same way — filtering by `parent_id` if you want only children.

## Connector-managed vs. partner-managed

**Connector-managed** assets are discovered and registered automatically by the kit. Cameras and drones appear in the platform on their own — they do not need to be manually added. When the Reolink connector starts, it scans the local network, connects to each camera, registers it under the kit, and starts publishing feeds. You don't create these via the API — they appear on their own.

**Partner-managed** assets are created via the API by an external system. You register the asset once with [Create Asset](/api-reference/assets/create), then push GPS fixes using [Push Location](/api-reference/assets/push-location) whenever you have them. Hoplynk automatically creates a `gps` feed on the asset at creation time. Useful for drones, boats, or vehicles that have their own telemetry pipelines and just need to appear on the Argus map.

## Asset identity

Each asset has two identifiers:

| Field       | Description                                                                                                  |
| ----------- | ------------------------------------------------------------------------------------------------------------ |
| `id`        | UUID assigned by Hoplynk — use this in API calls                                                             |
| `asset_key` | Human-readable key set by the connector (e.g. `reolink_192_168_0_5`) or by you when creating a partner asset |

The `asset_key` is stable across restarts — connectors use it to avoid re-registering the same device if they restart.

## Live video

Camera assets include a `whep_url` field with a direct WebRTC stream endpoint. Any WHEP-compatible player can use it without additional credentials beyond the initial session.

```json theme={null}
{
  "whep_url": "https://stream.argus.hoplynk.com/kit123-front_camera/whep"
}
```

## Asset metadata

Static hardware information travels in the `metadata` field — IP address, firmware version, PTZ capability, serial number. The schema varies by asset type.

```json theme={null}
{
  "id": "cf210dda-fad8-4e69-ac9c-fe88f42f06a7",
  "name": "Front Gate Camera",
  "type": "camera",
  "vendor": "reolink",
  "model": "RLC-823A",
  "asset_key": "reolink_192_168_0_5",
  "metadata": {
    "ip": "192.168.0.5",
    "firmware": "v3.1.0.2368",
    "has_ptz": true
  }
}
```

<CardGroup cols={2}>
  <Card title="Feeds & Commands" icon="wave-sine" href="/concepts/feeds-and-commands">
    What data assets produce and what actions they accept.
  </Card>

  <Card title="Asset API" icon="code" href="/api-reference/assets/list">
    List, get, create, and push location for assets.
  </Card>
</CardGroup>
