OLO Platform

OLO Platform refers to the web application where you sign in, connect to robots, and access shared organization data (maps, navigation configs, cloud rosbags).

In SDK v2, client.platform reads that data. Robot commands use the Appliance on a separate channel. The sections below explain both paths and when you need Portal authentication.

Two channels

SDK v2 uses two channels:

  • Robot channel — controls the robot through the Appliance. It powers client.core, client.spatial, client.kinematics, client.locomotion, client.navigation, client.archive, client.ai, and client.robot(...). You do not need Portal authentication for this channel.

  • Platform channel — reads organization catalogs from the Portal. It powers client.platform.*. You must authenticate with a personal access token.

Archive artifacts use both channels. client.platform.archive.listBags() lists cloud catalog entries. client.archive controls local recording and playback on the Appliance (images, videos, and rosbags).

Important

The Appliance listener uses 127.0.0.1:50151 by default. Do not assume you can reach it from another machine. Do not expose it to an untrusted network without a security boundary.

Platform authentication

Create a personal access token in the Portal. Go to Settings → Developer (/developer). The token is for your active organization.

For scripts that run outside the Appliance, set these values:

  • OLO_SDK_PLATFORM_URL — Portal address (for example https://app.example.com).

  • OLO_SDK_PLATFORM_TOKEN — your olo_pat_… token.

  • OLO_SDK_ROBOT_ID — robot UUID for navigation deployment calls. You can also read it as client.platform.robot_id (client.platform.robotId in TypeScript).

If platform settings are missing, client.platform raises OloPlatformNotConfigured.

For namespace rules on multi-robot appliances, see Robot Namespaces.

How scripts run

When you run code in the SDK Playground or through the Appliance, the Appliance sets platform credentials for you. You can use Client() in Python or connect() in TypeScript without manual platform setup.

When you run a script on your own machine, you must set the platform environment variables above.