Skip to content

Network

Per-project network configuration. Today's only payload is the service-mode toggle: when enabled, the listed devices enter a maintenance state for a fixed duration.

Quick reference

Method What it does
client.network.get() Read the project's network settings.
client.network.update(*, service_mode=None, **fields) Update settings (POST).

Reading and writing

settings = client.network.get()
print(settings.service_mode.enabled, settings.service_mode.duration)

client.network.update(
    service_mode={
        "enabled": True,
        "duration": 5,             # minutes
        "devices_in_service_mode": ["dev-1", "dev-2"],
    }
)

The desktop site-plan client uses POST for both create and update; the SDK mirrors that on update().

Service mode is destructive

Enabling service mode puts real hardware into a maintenance state. Be deliberate — in particular, the live-test suite gates the toggle test behind RTLS_LIVE_ALLOW_SERVICE_MODE_TOGGLE=1 to prevent accidents. The duration is server-enforced (in minutes); the server expires it automatically and flips expired to true.

Models

ServiceMode

Field Type Notes
enabled bool On / off.
enabled_at str \| None ISO 8601 timestamp.
duration int \| None Minutes.
expired bool Server-set when the duration elapses.
devices_in_service_mode list[str] Device uids; null is coerced to [].

NetworkSettings

Field Type Notes
project_uid str \| None Server-assigned.
created_at str \| None ISO 8601.
updated_at str \| None ISO 8601.
service_mode ServiceMode \| None Current state.