Skip to main content
Version: 2025-01-01

Changelog

The changelog lists all new features, resolved issues, and known issues of Cloud API in chronological order.

Group
Breaking changes only

2026.09.14​

Biology

Version
2025-01-01

New operations​

  • Get weight samples: /biology/biomass/weight-samples

Updated operations​

  • Send weight samples: /biology/biomass/weight-samples
    • The operation is now synchronous. A successful response means the data has been validated and stored, instead of only accepted for later processing.
    • Each message is stored as one document, identified by deviceId, unitId and dateTime. Sending a message with the same identity as an existing document is rejected with 422.
    • Added 400 for requests that cannot be parsed or that fail validation of the request body.

2026.04.01​

Meta

Version
2025-01-01

Updated operations​

  • Get company: /meta/company
    • Added optional query parameter id to get a specific company. If omitted, the first accessible company is returned.
    • Added companyCode to the response.
  • Get site: /meta/sites/:siteId
    • Added siteCode to site response.
    • Added unitCode to unit response.
    • Added siloCode to silo response.

2025.09.01​

Financials

Version
2025-01-01

New operations​

  • Send financial values: /financials/companies/:companyId/values

2025.06.30​

Biology

Version
2025-01-01

New operations​

  • Get lice count: /biology/companies/:companyId/lice-counts/:liceCountId
  • Send lice counts: /biology/companies/:companyId/lice-counts

2025.06.01​

Biology

Version
2025-01-01

New operations​

  • Send weight samples: /biology/biomass/weight-samples

2025.03.01​

Biology

Version
2025-01-01

New operations​

  • Register harvest results: /biology/companies/:companyId/harvest/imports
  • Get imported harvest: /biology/companies/:companyId/harvest/imports/:harvestId

2025.01.01​

Meta

TimeSeries

Breaking changes

Version
2025-01-01
New version

New version 2025-01-01 contains breaking changes and new features.

Breaking changes​

Get company (/meta/company)​

  • Query parameter: name change $include → include.

Get site (/meta/site)​

  • Query parameter: name change $include → include.
  • Response: info, sites, units, silos, additionalPropertyValues are non-nullable now, but appear in response only when explicitly requested via include parameter.

Get raw data (/time-series/retrieve)​

  • Query parameter: name change $includeDevice → includeDevice.
  • Query parameter: name change $includeMetadata → includeMetadata.
  • Request: siteIds and unitIds now use integer identifiers instead of string.
  • Request: pageIndex and pageSize are now non-nullable.
  • Request: feedTypeId is removed from request payload.
  • Response: feedingDetails is removed from response.
  • Response: unitId is nullable now.

Get available data types (/time-series/retrieve/data-types)​

  • Request: companyIds, deviceIds, and siloIds were removed.
  • Request: siteIds and unitIds now use integer identifiers instead of strings.

Get unit aggregates (/time-series/retrieve/units/aggregate)​

  • Query parameter: removed $includeDevice.
  • Query parameter: name change $includeInvalid → includeInvalid.
  • Request: siteIds and unitIds now use integer identifiers instead of string.
  • Request: fromTime and toTime are now non-nullable.
  • Request: companyIds, deviceIds, siloIds, and feedTypeId fields were removed.
  • Response: devices, latest, invalidReadingsCount are removed from response payload.
  • Response: unitId is nullable now.

Get silo aggregates (/time-series/retrieve/silos/aggregate)​

  • Query parameter: removed $includeDevice.
  • Query parameter: name change $includeInvalid → includeInvalid.
  • Request: siteIds and siloIds now use integer identifiers instead of string.
  • Request: fromTime and toTime are now non-nullable.
  • Request: companyIds, deviceIds, unitIds, dataTypes, depth, depthVariance and feedTypeId fields were removed.
  • Response: devices, latest, invalidReadingsCount, averageDepth are removed from response payload.

Changes in Environmental Data Types​

The operations below support only new data types. Using old data types might lead to unexpected results:

  • Get raw data: /time-series/retrieve
  • Get available data types: /time-series/retrieve/data-types
  • Get unit aggregates: /time-series/retrieve/units/aggregate
Supported Environmental Data Types​
Data TypeDescriptionUnit of Measurement
water_temperatureTemperature of the water°C
water_oxygen_percentageOxygen percentage in the water%
water_oxygen_umolOxygen in the water in μmol/lμmol/l
water_oxygen_mg_lOxygen in the water in milligrams per litermg/l
water_salinitySalinity of the waterPSU
sensor_depthDepth of the sensorMeters
sea_current_eastSea current eastcm/s
sea_current_northSea current northcm/s
sea_current_directionSea current direction°M
sea_current_absolute_speedSea current absolute speedcm/s

Support for nullable UnitId​

If a data entity does not belong to a specific unit, both request and response will use null instead of 0.

Request body example​
{
...
"unitIds": [null, 100],
...
}

The UnitId property in the response now returns null.

The following existing operations are affected by this change:

  • Get raw data: /time-series/retrieve
  • Get unit aggregates: /time-series/retrieve/units/aggregate

New operations​

  • Send environmental data: /time-series/environment
  • Send custom data: /time-series/telemetry

Improvements​

Get company (/meta/company)​

  • Response: sites is non-nullable (should be requested via include request parameter).
  • Response: additionalPropertyValues field is non-nullable (should be requested via include request parameter).
  • Response: sites[].info and sites[].info[].timezone are non-nullable now.
  • Response: sites[].units and sites[].silos are non-nullable now.

Get site (/meta/site)​

  • Response: info and info.timezone are non-nullable now.

Get raw data /time-series/retrieve​

  • Response: value is non-nullable now.
  • Response: siteId is non-nullable now.

Get unit aggregates (/time-series/retrieve/units/aggregate)​

  • Response: items is now non-nullable.

Get silo aggregates (/time-series/retrieve/silos/aggregate)​

  • Response: items is now non-nullable.

Upgrade to 2025-01-01​

  1. Requests must include Scale-Version header with value 2025-01-01.
  2. Ensure that you are not using any outdated data types.
    • oxy_temp → water_temperature
    • oxy_o2_percent → water_oxygen_percentage
    • oxy_o2_umol → water_oxygen_umol
    • oxy_o2_mg_l → water_oxygen_mg_l
    • sal_salinity → water_salinity
    • sc_abs_speed → sea_current_absolute_speed
    • sc_direction → sea_current_direction
    • sc_north → sea_current_north
    • sc_east → sea_current_east
    • depth → sensor_depth
  3. Handle possible null values in UnitId fields in request/responses.
  4. Ensure that you have switched to newer formats of identifiers
    • siteId: string → siteId: int64
    • unitId: string → unitId: int64
    • siloId: string → siloId: int64
    • siteIds: string[] → siteIds: int64[]
    • unitIds: string[] → unitIds: int64[]
    • siloIds: string[] → siloIds: int64[]
  5. Ensure you are not using removed fields in request & response.
  6. Ensure that you are not using removed/renamed query parameters (f.e. $include).

2023.01.01​

TimeSeries

Meta

Breaking changes

Version
2023-01-01
New version

New version 2023-01-01 contains breaking changes and new features.

Breaking changes​

  • New base url is changed to: https://api.scaleaq.com
  • New authentication scheme: see Authentication guide for more details.
  • New versioning scheme: see Versioning guide for more details.
  • Operation URLs changes:
    • Get company: /api/organisation/company → /meta/company
    • Get site: /api/organisation/sites/:siteId → /meta/sites/:siteId
    • Get raw data: /api/production/iot/get → /time-series/retrieve
    • Get available data types: /api/production/aggregate/get-available-data-types → /time-series/retrieve/data-types
    • Get unit aggregates: /api/production/aggregate/get/unit → /time-series/retrieve/units/aggregate
    • Get silo aggregates: /api/production/aggregate/get/silo → /time-series/retrieve/silos/aggregate

Upgrade to 2023-01-01​

  1. Requests must include Scale-Version header with value 2023-01-01.
  2. Switch to new API operation URLs
  3. Use the new authentication method.

Unversioned​

If you're using the legacy API (without a version), it will continue to work for now but will not be documented. Please upgrade to the latest version.