sensor configuration history.md
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to page URLs; this page is available as Markdown.
(GET) Sensor Configuration History
GET https://api.sofarocean.com/api/sensor-configuration-history?spotterId=:spotterId&startDate=:startDate&endDate=:endDate
Returns Smart Mooring sensor configurations for a specified Spotter between startDate and endDate.
{% hint style="info" %} This endpoint will only return sensor configuration history from June 2025 or later. {% endhint %}
Query Parameters
| Name | Type | Description |
|---|---|---|
spotterId |
string | The identifier of the device you wish to retrieve information from. |
startDate |
string | ISO 8601-formatted timestamp indicating the start date for data inclusion. |
endDate |
string | ISO 8601-formatted timestamp indicating the end date for data inclusion. |
Response Description
To learn more about the sensors and the measured data please review our Sensor Payload support document.
Each element of the data array represents a complete configuration of all sensors attached to the Smart Mooring at one time.
timestamp is an ISO8061-formatted string representing the time the configuration was reported by the Spotter, and it was in effect for all data samples collected until the following sensor configuration entry. If a sensor configuration was in use prior to the startTime query parameter passed in, the first entry will have the timestamp of the first sensor datum at or after startTime, not the earliest time the configuration was used.
configuration_checksum is a checksum unique to a given mooring configuration. If the Smart Mooring sensors are changed, but then later returned to an earlier configuration, the configuration_checksum will be the same, assuming the sensors are in the same positions and have the same setting configured. The configuration_checksum returned with sensor data samples from /sensor-data can be cross-referenced with this field to determine the sensor configuration with which the sample was collected.
The sensor_configurations array contains details of the configuration of each sensor:
sensor_typedescribes the type of sensor.positionis the physical position of a sensor in the Smart Mooring relative to Spotter. Position 1 is closest to Spotter, and position 0 is the Bristlemouth processor within the Spotter buoy at the root of the Smart Mooring.configurationdescribes configuration settings for the sensor.data_typesdescribes the data fields and units potentially returned by the sensor among its data samples.firmware_shaandbristlemouth_node_idrefer to the Bristlemouth mote within the sensor.
Examples
Example Request
curl "https://api.sofarocean.com/api/sensor-configuration-history?spotterId=SPOT-0222&startDate=2025-12-01T07:00:00Z&endDate=2025-12-02T07:00:00Z" -H 'token: YOUR_API_TOKEN'
Example Response
{% tabs %} {% tab title="200" %}
{
"status": "success",
"data": [
{
"configuration_checksum": "0xb6929687",
"sensor_configurations": [
{
"configuration": {
"sampleDurationMs": 60000,
"sampleIntervalMs": 300000,
"samplesPerReport": 1,
"subsampleEnabled": 0,
"softReadingPeriodMs": 500,
"subsampleDurationMs": 60000,
"subsampleIntervalMs": 300000,
"ticksSamplingEnabled": 0,
"transmitAggregations": 1,
"alignmentInterval5Min": 1,
"currentReadingPeriodMs": 60000,
"rbrCodaReadingPeriodMs": 500,
"turbidityReadingPeriodMs": 1000,
"bridgePowerControllerEnabled": 1
},
"data_types": [],
"position": 0,
"sensor_type": {
"display_name": "Spotter",
"name": "sofar_bridge"
},
"firmware_sha": "1e97d2c4",
"configuration_crc": "0x7678be55",
"bristlemouth_node_id": "0x6b721cca35d6e6be"
},
{
"configuration": {
"sample_count": 6,
"sample_interval": 0,
"subsample_count": 9,
"subsample_interval": 6
},
"data_types": [
{
"data_type_name": "sofar_temperature_12bits",
"unit_type": "temperature",
"units": "°C"
}
],
"position": 1,
"sensor_type": {
"display_name": "Sofar Temperature",
"name": "sofar_tsys01"
},
"firmware_sha": "1e97d2c4",
"configuration_crc": "0x5db49e4e",
"bristlemouth_node_id": "0x9397191e2e5bab8c"
},
{
"configuration": {},
"data_types": [
{
"data_type_name": "rbrcoda3_meanpressure_21bits",
"unit_type": "pressure",
"units": "μbar"
},
{
"data_type_name": "rbrcoda3_stdevpressure_15bits",
"unit_type": "pressure",
"units": "μbar"
}
],
"position": 2,
"sensor_type": {
"display_name": "RBRcoda3.D",
"name": "rbrcoda3_depth"
},
"firmware_sha": "1e97d2c4",
"configuration_crc": "0x08beb883",
"bristlemouth_node_id": "0x6b721cca35d6e6be"
}
],
"timestamp": "2025-12-01T08:00:00.000Z"
},
{
"configuration_checksum": "0xb6929687",
"sensor_configurations": [
{
"configuration": {
"sampleDurationMs": 60000,
"sampleIntervalMs": 600000,
"samplesPerReport": 2,
"subsampleEnabled": 0,
"softReadingPeriodMs": 500,
"subsampleDurationMs": 60000,
"subsampleIntervalMs": 300000,
"ticksSamplingEnabled": 0,
"transmitAggregations": 1,
"alignmentInterval5Min": 1,
"currentReadingPeriodMs": 60000,
"rbrCodaReadingPeriodMs": 500,
"turbidityReadingPeriodMs": 1000,
"bridgePowerControllerEnabled": 1
},
"data_types": [],
"position": 0,
"sensor_type": {
"display_name": "Spotter",
"name": "sofar_bridge"
},
"firmware_sha": "1e97d2c4",
"configuration_crc": "0x7678be55",
"bristlemouth_node_id": "0x6b721cca35d6e6be"
},
{
"configuration": {
"sample_count": 6,
"sample_interval": 0,
"subsample_count": 9,
"subsample_interval": 6
},
"data_types": [
{
"data_type_name": "sofar_temperature_12bits",
"unit_type": "temperature",
"units": "°C"
}
],
"position": 1,
"sensor_type": {
"display_name": "Sofar Temperature",
"name": "sofar_tsys01"
},
"firmware_sha": "1e97d2c4",
"configuration_crc": "0x5db49e4e",
"bristlemouth_node_id": "0x9397191e2e5bab8c"
},
{
"configuration": {
"type_id": 2
},
"data_types": [
{
"data_type_name": "rbrcoda3_meanpressure_21bits",
"unit_type": "pressure",
"units": "μbar"
},
{
"data_type_name": "rbrcoda3_stdevpressure_15bits",
"unit_type": "pressure",
"units": "μbar"
},
{
"data_type_name": "rbrcoda3_meantemperature_20bits",
"unit_type": "temperature",
"units": "°C"
}
],
"position": 2,
"sensor_type": {
"display_name": "RBRcoda3 T.D",
"name": "rbrcoda3_module1"
},
"firmware_sha": "1e97d2c4",
"configuration_crc": "0xeb8308ba",
"bristlemouth_node_id": "0xca35d6e66b721cbe"
}
],
"timestamp": "2025-12-01T08:00:00.000Z"
}
]
}
{% endtab %} {% endtabs %}