Cozify OneAPI (3.0)

The OpenAPI specification for the Cozify ONE platform.

Graph API

Cozify Graph is the primary, unified API surface. Instead of per-resource REST endpoints, a single pair of endpoints dispatches a polymorphic set of typed messages, each selected by its type discriminator:

  • PUT /graph/command — change state.
  • POST /graph/query — read state.

Commands that start long-running work return an operation you can track to completion, and server-side changes are delivered live as push messages over the SignalR hub stream. The classic per-provider REST endpoints (Hub, Hubs, DeviceRegister) are deprecated in favor of Graph.

Terminology

If you are new to Cozify Services, there are some terms you might not be familiar with.

  • resource — A manageable item available through the platform. Hubs, Devices and Sites are examples of resources; resource groups, subscriptions and tags are too.
  • resource group — A container that holds related resources for a platform solution. You decide which resources belong to a group based on what makes the most sense for your organization.
  • resource provider — A service that supplies platform resources. For example, the canonical site resource provider is Cozify.Sites, which supplies the structural management of site (a.k.a. building) resources. Cozify.DeviceRegister is another common resource provider.

SignalR (/hub/v1)

In addition to the REST endpoints described here, the API is available over a persistent SignalR connection at the /hub/v1 endpoint. See Microsoft's guide to SignalR streaming for how to consume it from a .NET / JavaScript / Java client.

Graph over SignalR

The Graph command/query API is exposed as hub methods that carry the same envelopes as the REST endpoints:

  • Command(CommandRequest) returns CommandResponse — the equivalent of PUT /graph/command.
  • Query(QueryRequest) returns QueryResponse — the equivalent of POST /graph/query.

Note: Cozify supports Transport Layer Security (TLS) 1.2 or later only.

Servers
https://one.cozify.io