Eversensor API (DS v1)
The Data Services v1 Eversensor API provides direct access to Eversensor readings and waveform records by MAC address. Use it when you need to query raw sensor data for a known device rather than through a higher-level asset model.
This API complements the v2020-07 machine and steam trap APIs. The primary use case is MHM (Machine Health Monitoring) sensor data — querying vibration readings and full-time waveform records by sensor MAC address.
For steam trap sensor data, use the steam trap timeseries endpoint at /v2020-07/steamtraps/{id}/timeseries. The DS v1 Eversensor API is optimized for MHM sensor access by MAC address rather than by machine or asset ID.
Base Path
https://api.data.everactive.com/ds/v1/eversensors
All endpoints require a Bearer token. See Authentication.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /ds/v1/eversensors | List all Eversensors on your account |
GET | /ds/v1/eversensors/{macAddress}/readings/last | Get the most recent reading from a sensor |
GET | /ds/v1/eversensors/{macAddress}/readings | Get readings for a sensor over a time range |
GET | /ds/v1/eversensors/{macAddress}/timewaveforms | List full-time waveform records for a sensor |
GET | /ds/v1/eversensors/{macAddress}/timewaveforms/{waveformId} | Get a single full-time waveform record |
MAC Address Format
MAC addresses are colon-separated hexadecimal, uppercase:
AA:BB:CC:DD:EE:FF
Pass the MAC address as a URL path segment exactly as shown. The API does not accept alternative formats (no dashes, no lowercase normalization).
GET /ds/v1/eversensors
Returns a paginated list of all Eversensors associated with your account.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
customer-id | string (repeatable) | Filter by customer ID. Accepts a single value or a comma-separated list. Can be specified multiple times. |
mac-address | string | Filter to a specific sensor by MAC address |
type | string | Filter by sensor type |
last-part-number | string | Filter by part number |
last-serial-number | string | Filter by serial number |
last-firmware-version | string | Filter by current firmware version |
manufactured-firmware-version | string | Filter by firmware version at manufacture |
last-association-gateway-serial | string | Filter by the serial number of the last associated gateway |
devkitBundled | boolean | Filter to sensors that are part of a devkit bundle (true or false) |
page | number | Page number (1-based) |
page-size | number | Results per page |
sort-by | string | Field to sort by |
sort-dir | asc | desc | Sort direction |
Example Request
curl -X GET "https://api.data.everactive.com/ds/v1/eversensors?type=vibration&page=1&page-size=25" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example Response
{
"data": [
{
"macAddress": "AA:BB:CC:DD:EE:FF",
"type": "vibration",
"lastPartNumber": "EVA-100",
"lastSerialNumber": "SN-00123",
"lastFirmwareVersion": "2.4.1",
"lastAssociationGatewaySerial": "GW-00456"
}
],
"totalCount": 1,
"page": 1,
"pageSize": 25
}
GET /ds/v1/eversensors/{macAddress}/readings/last
Returns the single most recent reading from the specified sensor. The response shape depends on the sensor type.
Path Parameters
| Parameter | Description |
|---|---|
macAddress | MAC address of the sensor (AA:BB:CC:DD:EE:FF) |
Example Request
curl -X GET "https://api.data.everactive.com/ds/v1/eversensors/AA:BB:CC:DD:EE:FF/readings/last" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example Response (vibration sensor)
{
"data": {
"macAddress": "AA:BB:CC:DD:EE:FF",
"timestamp": 1716076800,
"rmsVelocityX": 0.42,
"rmsVelocityY": 0.38,
"rmsVelocityZ": 0.51,
"temperature": 42.3
}
}
The data field contains one of the following reading types depending on the sensor:
| Sensor Type | Reading Schema |
|---|---|
| Temperature / Humidity | TempHumidityNodeReading |
| Vibration / Electrical | VibrationElectricalNodeReading |
| Environmental | EnvironmentalNodeReading |
GET /ds/v1/eversensors/{macAddress}/readings
Returns readings for a sensor within a time range. Results are scoped to the authenticated account.
Path Parameters
| Parameter | Description |
|---|---|
macAddress | MAC address of the sensor |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start-time | number | No | Start of the time range. Unix epoch (seconds). |
end-time | number | No | End of the time range. Unix epoch (seconds). |
Times are Unix epoch seconds. Convert ISO 8601 timestamps before passing them. See Time-Series Data for guidance on date ranges and downsampling.
Example Request
curl -X GET "https://api.data.everactive.com/ds/v1/eversensors/AA:BB:CC:DD:EE:FF/readings?start-time=1716000000&end-time=1716086400" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example Response
{
"data": [
{
"macAddress": "AA:BB:CC:DD:EE:FF",
"timestamp": 1716003600,
"rmsVelocityX": 0.41,
"rmsVelocityY": 0.37,
"rmsVelocityZ": 0.49,
"temperature": 41.8
},
{
"macAddress": "AA:BB:CC:DD:EE:FF",
"timestamp": 1716007200,
"rmsVelocityX": 0.44,
"rmsVelocityY": 0.39,
"rmsVelocityZ": 0.52,
"temperature": 42.1
}
]
}
GET /ds/v1/eversensors/{macAddress}/timewaveforms
Returns a paginated list of full-time waveform (FTWF) records for the specified sensor. Full-time waveforms contain high-resolution vibration waveform data captured at a specific point in time, used for spectrum analysis.
Path Parameters
| Parameter | Description |
|---|---|
macAddress | MAC address of the sensor |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
startTime | number | Start of the time range (Unix epoch seconds) |
endTime | number | End of the time range (Unix epoch seconds) |
page | number | Page number |
pageSize | number | Results per page |
sortBy | string | Field to sort by |
sortDir | asc | desc | Sort direction |
Example Request
curl -X GET "https://api.data.everactive.com/ds/v1/eversensors/AA:BB:CC:DD:EE:FF/timewaveforms?startTime=1716000000&endTime=1716086400&pageSize=10" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example Response
{
"data": [
{
"id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"macAddress": "AA:BB:CC:DD:EE:FF",
"timestamp": 1716048000,
"sampleRate": 6400,
"axis": "X"
}
],
"totalCount": 1,
"page": 1,
"pageSize": 10
}
GET /ds/v1/eversensors/{macAddress}/timewaveforms/{waveformId}
Returns the full detail of a single full-time waveform record, including the raw waveform data points. Use this after listing waveforms to retrieve the complete record for analysis.
Path Parameters
| Parameter | Description |
|---|---|
macAddress | MAC address of the sensor |
waveformId | ID of the waveform record (from the list response) |
Example Request
curl -X GET "https://api.data.everactive.com/ds/v1/eversensors/AA:BB:CC:DD:EE:FF/timewaveforms/d4e5f6a7-b8c9-0123-defa-234567890123" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example Response
{
"data": {
"id": "d4e5f6a7-b8c9-0123-defa-234567890123",
"macAddress": "AA:BB:CC:DD:EE:FF",
"timestamp": 1716048000,
"sampleRate": 6400,
"axis": "X",
"waveform": [0.012, -0.008, 0.021, -0.015, 0.033]
}
}
Related Resources
- Authentication — how to obtain a Bearer token
- REST API — full platform API overview and available resources
- Time-Series Data — guidance on date ranges, downsampling, and data retention limits
- Webhooks — receive sensor readings pushed to your endpoint in real time