API Changes — v1.1.1
API changes from v1.1.0 to v1.1.1 that affect client code, one row per endpoint, grouped by API category. For a narrative summary of this release, see v1.1.1.
- API paths remain under
/api/v1. - Client Impact:
- Breaking — existing integration code must change
- Additive — new or backward-compatible
- Change types:
- Added (new endpoint)
- Removed (endpoint deleted, no direct replacement path — functionality moved to a different resource)
- Path changed (same operation, new path)
- This page lists only endpoints impacted by v1.1.1 API changes. Container Management, Tunnels, Device Management (core CRUD), and Reports/Usage Jobs have no changes in v1.1.1. AI Model Management keeps every path and payload it had in v1.1.0, but the set of accepted deploy actions is narrower — see Improvements.
DataStreams (replaces Data Source + Data Object)
| API Name | Method | Endpoint | Change | Impact | Details |
|---|---|---|---|---|---|
| Get device data source definitions | GET | /devices/{deviceId}/data-source | Removed | Breaking | No replacement path — a device's sensors are now returned directly in the DataStreams list below |
| Get device data objects | GET | /devices/{deviceId}/data-objects | Removed | Breaking | Replaced by List DataStreams |
| Get data object by ID | GET | /devices/{deviceId}/data-objects/{dataObjectId} | Removed | Breaking | Replaced by Get DataStream |
| Get latest data (all) | GET | /devices/{deviceId}/data-objects/values/latest | Removed | Breaking | Replaced by Get Latest Values (all) |
| Retrieve the latest value of a specific data object | GET | /devices/{deviceId}/data-objects/{dataObjectId}/values/latest | Removed | Breaking | Replaced by Get Latest Value (one) |
| Get data history | GET | /devices/{deviceId}/data-objects/{dataObjectId}/values/historical | Removed | Breaking | Replaced by Get Historical Values |
| Get assigned device binary data | GET | /devices/{deviceId}/data-objects/{dataObjectId}/blobs/{blobKey} | Removed | Breaking | Replaced by Download Blob |
| List DataStreams | GET | /orgs/{orgId}/devices/{deviceId}/data-streams | Added | Additive | Includes dataSource lineage (System/User, origin type + ID) |
| Create DataStream | POST | /orgs/{orgId}/devices/{deviceId}/data-streams | Added | Additive | New capability — Data Objects could not be created directly in v1.1.0 |
| Get DataStream | GET | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId} | Added | Additive | |
| Update DataStream | PUT | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId} | Added | Additive | |
| Patch DataStream | PATCH | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId} | Added | Additive | Display fields only for System-managed streams |
| Delete DataStream | DELETE | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId} | Added | Additive | Only unattached, User-managed streams |
| Get Latest Values (all) | GET | /orgs/{orgId}/devices/{deviceId}/data-streams/values/latest | Added | Additive | |
| Get Latest Value (one) | GET | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId}/values/latest | Added | Additive | |
| Get Historical Values | GET | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId}/values/historical | Added | Additive | Cursor-based pagination (new pagination model) |
| Download Blob | GET | /orgs/{orgId}/devices/{deviceId}/data-streams/{dataStreamId}/blobs/{blobKey} | Added | Additive |
Analyzers (replaces Transfer Functions)
| API Name | Method | Endpoint | Change | Impact | Details |
|---|---|---|---|---|---|
| List transfer functions | GET | /devices/{deviceId}/inputs/data-objects/transfer-functions | Removed | Breaking | Replaced by List Analyzers |
| Create transfer function | POST | /devices/{deviceId}/inputs/data-objects/transfer-functions | Removed | Breaking | Replaced by Create Analyzer |
| Get transfer function | GET | /devices/{deviceId}/inputs/data-objects/transfer-functions/{transferFunctionId} | Removed | Breaking | Replaced by Get Analyzer |
| Update transfer function | PATCH | /devices/{deviceId}/inputs/data-objects/transfer-functions/{transferFunctionId} | Removed | Breaking | Replaced by Update/Patch Analyzer |
| Delete transfer function | DELETE | /devices/{deviceId}/inputs/data-objects/transfer-functions/{transferFunctionId} | Removed | Breaking | Replaced by Delete Analyzer |
| Update transfer function status | PATCH | /devices/{deviceId}/inputs/data-objects/transfer-functions/{transferFunctionId}/status | Removed | Breaking | Replaced by Enable/Disable Analyzer |
| Create Analyzer | POST | /orgs/{orgId}/devices/{deviceId}/analyzers | Added | Additive | type accepts only TransferFunction; one input, one output |
| List Analyzers | GET | /orgs/{orgId}/devices/{deviceId}/analyzers | Added | Additive | |
| Get Analyzer | GET | /orgs/{orgId}/devices/{deviceId}/analyzers/{analyzerId} | Added | Additive | |
| Update Analyzer | PUT | /orgs/{orgId}/devices/{deviceId}/analyzers/{analyzerId} | Added | Additive | Must be disabled first |
| Patch Analyzer | PATCH | /orgs/{orgId}/devices/{deviceId}/analyzers/{analyzerId} | Added | Additive | Must be disabled first |
| Enable / Disable Analyzer | POST | /orgs/{orgId}/devices/{deviceId}/analyzers/{analyzerId}:{action} | Added | Additive | Replaces the old Update Status endpoint |
| Delete Analyzer | DELETE | /orgs/{orgId}/devices/{deviceId}/analyzers/{analyzerId} | Added | Additive | Must be disabled first; does not release the output DataStream's claim |
Alert Policies (replaces Alert Rules)
| API Name | Method | Endpoint | Change | Impact | Details |
|---|---|---|---|---|---|
| List alert rules | GET | /devices/{deviceId}/data-objects/{dataObjectId}/alert-rules | Removed | Breaking | Replaced by List Alert Policies (org-scoped, no longer per-DataStream) |
| Create alert rule | POST | /devices/{deviceId}/data-objects/{dataObjectId}/alert-rules | Removed | Breaking | Replaced by Create Alert Policy |
| Get alert rule by ID | GET | /devices/{deviceId}/data-objects/{dataObjectId}/alert-rules/{alertRuleId} | Removed | Breaking | Replaced by Get Alert Policy |
| Update alert rule | PATCH | /devices/{deviceId}/data-objects/{dataObjectId}/alert-rules/{alertRuleId} | Removed | Breaking | Replaced by Update Alert Policy |
| Delete alert rule | DELETE | /devices/{deviceId}/data-objects/{dataObjectId}/alert-rules/{alertRuleId} | Removed | Breaking | Replaced by Delete Alert Policy |
| Update alert rule status | PUT | /devices/{deviceId}/data-objects/{dataObjectId}/alert-rules/{alertRuleId}/status | Removed | Breaking | Replaced by Enable/Disable Alert Policy |
| Create Alert Policy | POST | /orgs/{orgId}/alert-policies | Added | Additive | Independent org-scoped resource |
| List Alert Policies | GET | /orgs/{orgId}/alert-policies | Added | Additive | Filter by dataStreamId to find policies attached to a stream |
| Get Alert Policy | GET | /orgs/{orgId}/alert-policies/{alertPolicyId} | Added | Additive | |
| Update Alert Policy | PATCH | /orgs/{orgId}/alert-policies/{alertPolicyId} | Added | Additive | No full-replace (PUT) verb on this resource |
| Delete Alert Policy | DELETE | /orgs/{orgId}/alert-policies/{alertPolicyId} | Added | Additive | Must be disabled first |
| Enable / Disable Alert Policy | POST | /orgs/{orgId}/alert-policies/{alertPolicyId}:{action} | Added | Additive | |
| List Attached DataStreams | GET | /orgs/{orgId}/alert-policies/{alertPolicyId}/data-streams | Added | Additive | |
| Set Attached DataStreams | PUT | /orgs/{orgId}/alert-policies/{alertPolicyId}/data-streams | Added | Additive | Full-replacement semantics, not incremental |
| List Alert Events | GET | /orgs/{orgId}/alert-events | Added | Additive | New capability — no v1.1.0 equivalent |
Notifications
| API Name | Method | Endpoint (v1.1.0 → v1.1.1) | Change | Impact | Details |
|---|---|---|---|---|---|
| Create Channel | POST | /notifications/channels → /orgs/{orgId}/notifications/channels | Path changed | Breaking | Fields/behavior unchanged |
| List Channels | GET | /notifications/channels → /orgs/{orgId}/notifications/channels | Path changed | Breaking | |
| Get Channel | GET | /notifications/channels/{channelId} → /orgs/{orgId}/notifications/channels/{channelId} | Path changed | Breaking | |
| Update Channel | PATCH | /notifications/channels/{channelId} → /orgs/{orgId}/notifications/channels/{channelId} | Path changed | Breaking | |
| Delete Channel | DELETE | /notifications/channels/{channelId} → /orgs/{orgId}/notifications/channels/{channelId} | Path changed | Breaking | |
| Enable / Disable Channel | PUT | /notifications/channels/{channelId}/status → /orgs/{orgId}/notifications/channels/{channelId}/status | Path changed | Breaking | |
| List Available Channel Types | GET | /notifications/channels/registry-info/types → /orgs/{orgId}/notifications/channels/registry-info/types | Path changed | Breaking | |
| Create Template | POST | /notifications/templates → /orgs/{orgId}/notifications/templates | Path changed | Breaking | |
| List Templates | GET | /notifications/templates → /orgs/{orgId}/notifications/templates | Path changed | Breaking | |
| Get Template | GET | /notifications/templates/{templateId} → /orgs/{orgId}/notifications/templates/{templateId} | Path changed | Breaking | |
| Update Template | PATCH | /notifications/templates/{templateId} → /orgs/{orgId}/notifications/templates/{templateId} | Path changed | Breaking | |
| Delete Template | DELETE | /notifications/templates/{templateId} → /orgs/{orgId}/notifications/templates/{templateId} | Path changed | Breaking | |
| List Messages | GET | /notifications/messages → /orgs/{orgId}/notifications/messages | Path changed | Breaking | |
| Get Message Status | GET | /notifications/messages/{messageId} → /orgs/{orgId}/notifications/messages/{messageId} | Path changed | Breaking | |
| Get Channel Type Info | GET | /notifications/channels/registry-info/types/{channelType} → /orgs/{orgId}/notifications/channels/registry-info/types/{channelType} | Path changed | Breaking | Detailed config schema for one channel type |
IAM
| API Name | Method | Endpoint | Change | Impact | Details |
|---|---|---|---|---|---|
| Update Organization User Role | PATCH | /orgs/{orgId}/users/{userId} | Removed | Breaking | No replacement path |
Data Bridges (new — Data Stream Bridge goes live)
Not available in v1.1.0. All endpoints are new.
| API Name | Method | Endpoint | Change | Impact | Details |
|---|---|---|---|---|---|
| Create Bridge | POST | /orgs/{orgId}/data-bridges | Added | Additive | bindings[] reference a dataStreamId directly |
| List Bridges | GET | /orgs/{orgId}/data-bridges | Added | Additive | |
| Get Bridge | GET | /orgs/{orgId}/data-bridges/{bridgeId} | Added | Additive | |
| Update Bridge | PUT | /orgs/{orgId}/data-bridges/{bridgeId} | Added | Additive | |
| Patch Bridge | PATCH | /orgs/{orgId}/data-bridges/{bridgeId} | Added | Additive | |
| Delete Bridge | DELETE | /orgs/{orgId}/data-bridges/{bridgeId} | Added | Additive | |
| Enable / Disable Bridge | POST | /orgs/{orgId}/data-bridges/{bridgeId}:{action} | Added | Additive | Enable performs a live broker connection check |
| Create MQTT Broker Config | POST | /orgs/{orgId}/data-bridges/mqtt-broker-configs | Added | Additive | authType currently supports only UsernamePassword |
| List MQTT Broker Configs | GET | /orgs/{orgId}/data-bridges/mqtt-broker-configs | Added | Additive | |
| Get MQTT Broker Config | GET | /orgs/{orgId}/data-bridges/mqtt-broker-configs/{mqttConfigId} | Added | Additive | |
| Update MQTT Broker Config | PUT | /orgs/{orgId}/data-bridges/mqtt-broker-configs/{mqttConfigId} | Added | Additive | Cannot change authType/credentials |
| Delete MQTT Broker Config | DELETE | /orgs/{orgId}/data-bridges/mqtt-broker-configs/{mqttConfigId} | Added | Additive | Blocked while any bridge references it |
| Update Broker Credentials | PATCH | /orgs/{orgId}/data-bridges/mqtt-broker-configs/{mqttConfigId}/credentials | Added | Additive | Dedicated credential-rotation endpoint |
No API contract change
Container Management, Tunnels, core Device Management CRUD, Reports/Usage Jobs, and AI Model Management have no API contract changes in v1.1.1.
Related
- Narrative summary of this release: v1.1.1
Last updated on Aug-5, 2026 | Version 1.1.1