Ochno Operated API
Introduction
Welcome to the Ochno Operated API Guide. This document will help you integrate your applications with the Ochno Operated platform, allowing you to securely access account, hub, and device data on behalf of your users or organisation.
If you’re new to APIs, think of them as a structured way for your system to talk to Ochno Operated programmatically—whether you want to read account details, update hub configurations, or build automations around the platform. This guide walks you through the full authentication flow and shows you how to retrieve the tokens required to make authorised API requests.
There are two ways to authenticate, depending on your use case:
Client Credentials Flow – ideal for server-to-server integrations that act on behalf of an organisation’s account.
→ See: “Retrieving Access (Client Credentials)”Authorisation Code Flow – used when your integration needs to act on behalf of an authenticated end user.
→ See: “Code Exchange Authorisation”
Both sections explain the required setup in Ochno Operated → Account → Integrations, how to configure scopes, and how to exchange codes or credentials for access tokens.
Once authenticated, you can explore and interact with all available endpoints using our Swagger UI, where you can test requests, review parameters, and understand the full capabilities of the API.
Client Credentials Flow
Server2Server Integration guide (BETA)
Code Exchange Authorisation
Custom Ochno Operated OAuth2 integrations (beta)
Rest endpoints (swagger)
https://operated.ochno.com/doc/swagger/
Datatypes explanation:
States (simple)
{
"state": {
"connected": [0, 0, 0, 0],
"active": 1,
"mtrmode": true,
"mtrport": 1,
"mtrdisable": 0,
"mtrextension": "disable",
"mtrsync": true,
"externalmtr": true,
"adminmode": false,
"otp": "normal"
}
} | Internal system state. Only relevant values will be sent. connected - The current connected "user" / upstream ports. 0 is disconnected, 1 is connected.
active - The current active port. Number is which port.
mtrmode - If UC mode is active. true if UC mode, false if BYOD mode. If missing UC mode is not configured.
mtrport - Which upstream port is used for UC system. Only available when configured to use it and mtrmode is true.
mtrdisable - Which downstream port is used for UC system . Only available when configured to use it and mtrmode is true.
mtrextension - If UC system is configured for Ochno Node. "port" | "disable", based on configuration.
mtrsync - When UC type is synced with a downstream OPC; true when UC mode, false when BYOD.
externalmtr - If UC mode is synced with the cloud. true = system is in meeting, false = system is idle.
adminmode - If the admin mode is enabled.
otp - Over Temperature Protection state. "normal" | "reduced" | "overheat" | OPC4 >= 1.0.x OPH4 >= 1.0.x |
States (Connections / con)
Device path values may be any of the following: usb1, usb2, usb3, usb4
{
"usb1": {
"type": String,
"connected": Boolean,
"enabled": Boolean,
"direction": String,
"device": {
"vid": Number,
"pid": Number,
},
"charging": {
"mode": String
"requestedvoltage": Number, // Millivolt
"requestedcurrent": Number // Milliampere
"allocatedpower" : Number // Watt
},
"cable": {
"vid": Number,
"pid": Number
},
"displayport": {
"multifunc": true,
"enable": true,
"dfpufp": Number
},
"altmode": {
"role": String,
"mode": String
},
"ochno": {
"hwid": String,
"port": Number
}
},
... same for all usb ports.
} | Information about usb ports. Data may vary a lot. type - What type of usb port this is. "usb-c" | "usb-a" | "usb"
connected - If a device is connected.
enabled - If port is enabled or not. false means port does not even give power.
direction - What kind of data flow this port uses. "upstream" | "downstream" | "internal" (internal means directed internally, such as iot devices)
device - Values that are retrieved from the connected device.
vid - Vendor id number. (Usually displayed as hex value to user.)
pid - Product id number. (Usually displayed as hex value to user.)
charging - How the device has setup charging.
mode - The current charging mode. "5V" | "SPR" | "PPS" | "EPR" | "LQC"
requestedvoltage - Requested voltage by connected device.
requestedcurrent - Requested max current by connected device.
allocatedpower - How much power is allocated to this port.
cable - Information about the cable connected to the device.
vid - Vendor id number of the cable. (Usually displayed as hex value to user.)
pid - Product id number of the cablw. (Usually displayed as hex value to user.)
displayport - The connected device's displayport capabilities.
multifunc - Multifunction mode preferred.
enable - Functionality is enabled.
dfpufp - If a DFP or UFP is connected.
altmode - The connected device's altmode capabilities.
role - "UFP" or "DFP"
mode - "DisplayPort" or "Thunderbolt"
ochno - If the connected device is from Ochno, more information can be made available.
hwid - Hardware Id of connected ochno unit (example: O4E8EB1BEAAEA1)
port - What port that it is connected to on the other unit. | OPC4 >= 1.0.x OPC4 >= 1.1.x OPH 1.0.x |
Configs
Name | Type | Range | Description | Support |
|---|---|---|---|---|
|
|
| Set to disable admin mode from being activated. | OPH4 |
|
|
| Enables automatic video/USB switching when connecting device. | OPC3 |
|
|
| Enables automatic video/USB switching when disconnecting device. | OPC3 |
|
|
| Controls which ports that trigger automatic switching. | OPC3 |
|
|
| Disable buttons from use. | OPC3 >= v1.4.3 |
|
|
| Disables buttons from use when there is nothing connected to them. | OPC3 >= v1.6.8 |
|
|
| Enable to change to default port, instead of no port, when deactivating a port with a button. | OPC3 |
|
|
| Set what charging protocols that should be enabled. | OPH4 |
|
|
| The initial port when booting system. This is also used by other settings: It is the port to change to when triggering auto switch disconnect, it may be the port a button moves to when deactivating a port. It is used in daisy-chain when a downstream hub tells the hub to activate a port. | OPC3 |
|
|
| Disable USB3 and video on ports that are not configured for Windows UC. | OPC4 |
|
|
| Disable all LEDs on the hub hardware. | OPH4 |
|
|
| Enable/disable specific upstream ports. | OPH4 |
|
|
| Enables HDMI CEC toggle. | OPC3 |
|
|
| Time to keep in reset for the HDMI 5V. | OPC3 >= v1.3.1 |
|
|
| Time to keep in reset for the HPD. | OPC3 >= v1.3.1 |
|
|
| Disable the port when it is inactive. | OPC3 >= v1.3.1 |
|
|
| Lock active port so it's not possible to switch away. | OPC3 >= v1.6.8 |
|
|
| Enables resetting UC mode memory when disconnecting devices. | OPC3 >= v1.4.3 |
|
|
| Enables device buttons to cycle between UC/BYOD mode on all buttons. | OPC3 |
|
|
| The default UC mode of individual ports, a set bit means UC mode | OPC3 |
|
|
| Which USB to disable when in UC mode. | OPC3 |
|
|
| If UC mode should be kept even during no active port. | OPC3 >= v1.4.3 |
|
|
| Enables long press to switch UC modes. Value is duration for trigger. | OPC3 >= v1.4.3 |
|
|
| Sets if a manual port change should inherit UC mode. | OPC3 |
|
|
| If UC mode should be remembered after no active port. | OPC3 >= v1.4.3 |
|
|
| Sets if the UC is placed on the extension USB-C port. | OPC4 |
|
|
| The port that has an UC connected. | OPC3 |
|
|
| Disable downstream ports with peripherals (not Ochno devices) when no port is active. | OPC4 |
|
|
| Set the power distribution/balancing mode. | OPH4 |
|
|
| Static power allocation per port. Sets the max allowed power per port. | OPC4 |
|
|
| Enables network sharing through the USB cable to the user laptop. | OPC4 |
|
|
| Protocol for network sharing ( | OPC4 |
|
|
| Enable to allow Ochno IO on port 7 (USB-A 1). | OPC4 |
|
|
| Enable to allow Ochno IO on port 8 (USB-A 2). | OPC4 |
|
|
| Default UFP port role for upstream ports. Only applicable if | OPC4 |
|
|
| UFP port role for upstream ports. | OPC4 |
|
|
| Set the power distribution/balancing mode. | OPC4 |
|
|
| Time to keep in reset for USB passthrough USB 2 protocol. | OPC3 >= v1.3.1 |
|
|
| Time to keep in reset for USB passthrough USB 3 protocol. | OPC3 >= v1.3.1 |
|
|
| Time to keep in reset for USB passthrough VBUS DET. | OPC3 >= v1.3.1 |
|
|
| Time to keep in reset for VBUS of the USB-C passthrough ports. | OPC4 |
|
|
| Time to keep in reset for VBUS of the USB-A passthrough ports. | OPC3 >= v1.3.1 |
|
|
| Enables UC configuration, see other UC settings (" | OPC3 |
Power
{
"power": {
"energy": Number, // Wh
"duration": Number, // seconds
"voltage": Number, // Millivolt
"current": Number // Milliampere
"wattage" : Number // Watt
}
} |
Ochno All Rights Reserved