Skip to content

Developer Docs

Revolution exposes four programmable surfaces. Whichever language or framework you reach for, you can drive a run end-to-end — from configuring a system to streaming live events.

Pick the surface that matches what you’re building. Each section has a quickstart at the top and a full reference below.

Run a protocol from Python

The fastest way to get a workflow on real hardware. Authenticate a tenant, target a device, send a method.

Embed a Revolution view

Use @revolution/revo-ui to render schedules, events, and storage in your own React app — same components Revolution uses internally.

Build a plugin

Add a custom page to Revolution that your scientists can launch from the sidebar. Tenant-scoped, no rebuild of Revolution itself.

Stream live events

Subscribe to SignalR / MQTT topics for run progress, device state changes, and storage occupancy in real time.

Across every code sample in this section:

  • $TOKEN — a Revolution OAuth bearer token. See Authentication for how to mint one.
  • tenant_id — a UUID identifying your tenant. Visible in the Revolution URL bar (/app/{version}/{tenant_id}/...).
  • api.revolution.io — the production REST host. Use api.staging.revolution.io for staging.

If you see a curl example, the equivalent in Python and JavaScript is one tab away — the language picker syncs across every page.