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 Spotter, specified by spotterId, between startDate and endDate.
Query Parameters
| Name | Type | Description |
|---|---|---|
spotterId |
string | The Spotter ID 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
The response body includes the configurations of all sensors attached to the Smart Mooring during the specified time window, ordered by timestamp.
| Name | Type | Description |
|---|---|---|
timestamp |
string | ISO 8601-formatted timestamp indicating the time the configuration was reported by the Spotter. |
configuration_checksum |
string | A unique identifier for the Smart Mooring configuration. Can be cross-referenced with the sensor data samples returned by the Sensor Data endpoint to determine the sensor configuration at the time of data collection. |
sensor_configurations |
array | The complete configuration of all sensors attached to the Spotter's Smart Mooring at a given time. |
Sensor Configurations
The sensor_configurations array contains details on the configuration of each sensor.
| Name | Type | Description |
|---|---|---|
app_name |
string | The name of the sensor, returned for Bristlemouth sensors. |
sensor_type |
object | The name and display name of the sensor. |
position |
integer | The sensor's physical position in the Smart Mooring relative to the Spotter, with 1 being closest to the Spotter and 0 being the Bristlemouth processor within the Spotter at the root of the Smart Mooring. |
configuration |
object | The sensor's configuration settings. |
data_types |
array | The data fields and units potentially returned by the sensor among its data samples. |
firmware_sha |
string | The Bristlemouth mote's firmware version. |
bristlemouth_node_id |
string | The Bristlemouth mote's ID. |
configuration_crc |
string | An error-detecting code for the Bristlemouth mote. |
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 Responses
Configuration history:
{
"status": "success",
"spotterId": "SPOT-31082C",
"data": [
{
"timestamp": "2025-09-02T02:16:07.000Z",
"sensor_configurations": [
{
"app_name": "bridge",
"position": 0,
"data_types": [],
"firmware_sha": "3610e39f",
"configuration": {
"sampleDurationMs": 840000,
"sampleIntervalMs": 1800000,
"samplesPerReport": 2,
"subsampleEnabled": 0,
"softReadingPeriodMs": 500,
"subsampleDurationMs": 60000,
"subsampleIntervalMs": 300000,
"ticksSamplingEnabled": 0,
"transmitAggregations": 1,
"alignmentInterval5Min": 1,
"sensorsCheckIntervalS": 60,
"sensorsPollIntervalMs": 10000,
"currentReadingPeriodMs": 60000,
"rbrCodaReadingPeriodMs": 500,
"disableUnusedPortsTimeMs": 0,
"turbidityReadingPeriodMs": 1000,
"bridgePowerControllerEnabled": 1
},
"configuration_crc": "0xedba5d73",
"bristlemouth_node_id": "0xd158263d60f8e3a1",
"sensor_type": {
"name": "bm_bridge_1",
"display_name": "Spotter"
}
},
{
"app_name": "borealis",
"position": 1,
"data_types": [
{
"units": "unitless",
"unit_type": "boolean",
"data_type_name": "generic_boolean_1bits"
},
{
"units": "dB re µPa²",
"unit_type": "sound_pressure_level",
"data_type_name": "bm_borealis_spl_broadband_8bits"
},
{
"units": "dB re µPa²",
"unit_type": "interquartile_range",
"data_type_name": "bm_borealis_max_iqr_8bits"
},
{
"units": "unitless",
"unit_type": "index",
"data_type_name": "bm_borealis_max_iqr_band_number_6bits"
},
{
"units": "unitless",
"unit_type": "spectral_entropy",
"data_type_name": "bm_borealis_entropy_8bits"
},
{
"units": "unitless",
"unit_type": "buffer_length",
"data_type_name": "generic_buffer_length_8bits"
},
{
"units": "bit",
"unit_type": "bit",
"data_type_name": "generic_dummy_1bits"
}
],
"firmware_sha": "98b26cbb",
"configuration": {
"enable_dsp": 1,
"enable_sbc": 1,
"dfu_confirm": 1,
"sample_rate": 48000,
"sbc_command": "/usr/local/bin/borealis_hydrotwin.sh",
"hydrotwin_ldr": 3,
"report_interval": 810,
"enable_daq_recording": 1,
"disableUnusedPortsTimeMs": 0
},
"configuration_crc": "0x4d24634d",
"bristlemouth_node_id": "0x9d24ede22a7e7413",
"sensor_type": {
"name": "bm_borealis_1",
"display_name": "Bristlemouth Borealis Hydrophone"
}
}
],
"configuration_checksum": "0x4b15a6d0"
}
]
}
No configuration history:
{
"status": "success",
"spotterId": "SPOT-010423",
"data": []
}
{
"status": "error",
"message": "Device not found"
}
{
"message": "Authentication Failed"
}
{
"message": "No token provided"
}