Overview
Octave is the all-in-one edge-to-cloud solution for connecting your industrial assets through global cellular networks. Octave makes it easy to securely extract, orchestrate, and act on data from your assets at the edge to the cloud. If you are new to Octave, start with our Developer Hub at docs.octave.dev.
Tip
Before continuing, ensure you have a solid understanding of Octave's High-Level Data Flow.

Octave functional diagram
(click to enlarge)
This documentation describes the Octave APIs enabling you to orchestrate your data within Octave services (Edge and Cloud) as well as integrate Octave services with your own infrastructure for device management.
API | Description |
---|---|
Edge JavaScript API | Allows you to orchestrate your data at the Octave edge in an Edge Action |
Cloud JavaScript API | Allows you to orchestrate data in the Octave Cloud via a Cloud Action, Cloud Connector, or Task. |
Octave REST API | Allows you to interact with Octave and your data from your external infrastructure. |
Objects and Associated APIs
The following tables summarize the common objects/entities within Octave's architecture and their associated Octave REST API endpoint(s):
Administration
Object | Description | API Functions Supported |
---|---|---|
Company | The base level of organization in Octave. A private namespace within Octave, containing its own set of Devices, Streams, Actions, and Connectors. One or many identities can have access to a Company. | REST API Group Share Device |
File | Allows you to upgrade the software for the asset(s) connected to an Octave edge device over the air. | REST API File |
Token | Unique, constrained, and managed security access for applications. | |
Identity | The users who have access to an Octave deployment. | REST API Group Share |
Data Orchestration
Object | Description | API Functions Supported |
---|---|---|
Cloud Action | Transforms Events and routes them between Streams. Transformations are done via optional JavaScript. | REST API Cloud Action Cloud JavaScript API HTTP.get() HTTP.post() HTTP.put() HTTP.delete() |
Cloud Connector | Pushes Event data from specific Streams (e.g., from assets connected to Octave Edge Devices) to external cloud systems and also to synchronize Devices with your Cloud platform. | REST API Cloud Connector |
Event | Represents a single entity of data within Octave. It contains a schema-less map of elements. An Event resides within a Stream. | REST API Event Stream Cloud JavaScript API Event.find() Event.findOne() Event.findHash() Event.multiFind() Event.aggregate() Event.get() |
Observation | A collection of "routes" from Resources to other Resources or the Cloud. | REST API Device Edge Action Edge JavaScript API Observation.getMax() Observation.getMin() Observation.getMean() Observation.getBuffer() |
Stream | Every Event belongs to a Stream, which is uniquely identified by its Path. Streams have a fixed capacity, such that old Events will automatically be removed from the Stream. | REST API Stream Event Cloud JavaScript API Stream.find() Stream.get() |
Task | Executes JavaScript periodically (e.g., to pull data from external systems and "inject" it into Octave as Events). |
Device Management
Object | Description | API Functions Supported |
---|---|---|
Blueprint | Captures a specific Device configuration as a template, which can be assigned quickly to multiple Devices, ensuring they all share the same configuration and behavior. | REST API Blueprint |
Device | Represents a physical device. It contains attributes that the user will set to configure the physical device, and to assign application code which it will execute (in the form of Edge Actions). | REST API Device Cloud JavaScript API Device.getName() Device.get() Device.find() Device.update() |
Firmware | A firmware version that's available for Octave edge devices. | REST API Firmware |
Operation | Tracks a group of long-running, asynchronous jobs. An Operation might represent the provisioning of new Devices, application of Blueprints, or File Transfers. | REST API Operation |
Resource | Defines a device's service, sensor, or actuator that make up a solution. Resources are organized as a tree (hierarchy) on a device, | REST API Device Blueprint Edge JavaScript API Resource.readValue() Resource.read() |