← Developer Portal

API Changelog

Public API changes, documentation updates, and compatibility notes.

Version 1 stability notice

While the public API remains on version 1, CoralVue will make its best effort to avoid breaking existing integrations and keep improvements additive. However, the version 1 API contract is still evolving and is not yet firmly locked. If a correction cannot be made compatibly, we will document it here and provide notice and migration guidance whenever practical.

The device state document deserves particular caution. Its contents vary by device type, configuration, and firmware version and are not currently a locked part of the version 1 contract. Firmware updates may change its shape or field semantics. Integrations should treat the state document as opaque, tolerate shape changes, and validate fields before use.

Log history endpoints

  • Added GET /api/v1/device/logs — a device's recorded log data (probe measurements, manual test results, output on/off history, and events), grouped by series, selectable by time range, resolution, and series names.
  • Added GET /api/v1/device/logs/series — lists the series known for a device so name filters can be built without downloading data.
  • Added GET /api/v1/device/logs/export — CSV or JSON download of the same data via a short-lived signed URL.
  • Numeric values are reported in fixed canonical units regardless of the controller's display settings — see the unit table on the query endpoint.
  • A new charting example demonstrates series discovery, querying, and export against these endpoints.
New endpoints — existing integrations are unaffected

Documentation updates

  • Updated response examples and field descriptions to match actual API behavior, including units for state and health fields.
  • Clarified version 1 authentication key usage, rate limits, and endpoint descriptions.
Documentation only — no API behavior changed

Optional synchronous confirmation

  • Added the optional receipt=1 query parameter to override writes, override clears, momentary output commands, and operating-mode changes. The request waits up to approximately five seconds for device confirmation.
  • Confirmed operations return 200 with a receipt object. If no confirmation arrives within the wait period, the API returns 202 with receipt.applied: false.
  • Requests without receipt=1 retain the existing immediate-response behavior. Devices running firmware without confirmation support also continue to work and return the timeout result when confirmation is requested.
Additive API update