Download OpenAPI specification:Download
The Conserv Public API gives API key holders programmatic access to their environmental monitoring data. Use it to retrieve sensor readings, query observations, and export data for integration with your own systems.
Returns a paginated list of events.
| page | integer >= 1 Default: 1 Example: page=1 Page number (1-based) |
{- "events": [
- {
- "id": "990e8400-e29b-41d4-a716-446655440004",
- "type": "alert",
- "sensorId": "770e8400-e29b-41d4-a716-446655440002",
- "locationId": "550e8400-e29b-41d4-a716-446655440000",
- "spaceId": "660e8400-e29b-41d4-a716-446655440001",
- "severity": "warning",
- "message": "Temperature exceeded upper threshold",
- "metadata": { },
- "timestamp": "2024-06-01T12:00:00.000Z",
- "acknowledged": false,
- "acknowledgedBy": null,
- "acknowledgedAt": null
}
], - "pagination": {
- "page": 1,
- "pageSize": 25,
- "total": 100,
- "totalPages": 4
}
}Initiates an asynchronous export of sensor data for the specified date range (maximum 7 days). Returns a job UUID to poll for status.
| start required | string <date-time> Start of the export range (ISO 8601 format) |
| end required | string <date-time> End of the export range (ISO 8601 format). Maximum 7 days from start. |
{- "start": "2024-06-01T00:00:00.000Z",
- "end": "2024-06-07T23:59:59.999Z"
}{- "uuid": "cc0e8400-e29b-41d4-a716-446655440007",
- "message": "Export job created successfully"
}Returns the current status of a previously created export job.
| uuid required | string <uuid> Example: cc0e8400-e29b-41d4-a716-446655440007 The UUID of the export job |
{- "uuid": "cc0e8400-e29b-41d4-a716-446655440007",
- "status": "completed",
- "status_message": null,
- "completed_at": "2024-06-01T12:05:00.000Z"
}Generates a pre-signed download URL for a completed export job. The URL is time-limited.
| uuid required | string <uuid> Example: cc0e8400-e29b-41d4-a716-446655440007 The UUID of the completed export job |
{- "fileName": "export-2024-06-01.csv"
}Returns all environmental level profiles (target ranges for temperature, humidity, etc.).
[- {
- "id": "880e8400-e29b-41d4-a716-446655440003",
- "name": "Standard Archive",
- "levels": [
- {
- "metric": "temperature",
- "description": "Temperature target range",
- "minValue": 15,
- "maxValue": 25,
- "unit": "°C",
- "targetValue": 20
}
]
}
]Returns all locations (facilities) accessible to the authenticated API key holder.
{- "locations": [
- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "Main Museum",
- "address": {
- "street": "123 Main St",
- "city": "Springfield"
}, - "createdAt": "2023-01-15T10:30:00.000Z"
}
]
}Returns a paginated list of observations (manual condition notes and inspections).
| page | integer >= 1 Default: 1 Example: page=1 Page number (1-based) |
{- "observations": [
- {
- "id": "aa0e8400-e29b-41d4-a716-446655440005",
- "userId": "bb0e8400-e29b-41d4-a716-446655440006",
- "locationId": "550e8400-e29b-41d4-a716-446655440000",
- "spaceId": "660e8400-e29b-41d4-a716-446655440001",
- "sensorId": "770e8400-e29b-41d4-a716-446655440002",
- "observationType": "condition_note",
- "title": "HVAC performance improvement noted",
- "description": "Temperature has stabilized after recent HVAC maintenance",
- "timestamp": "2024-06-01T12:00:00.000Z",
- "createdAt": "2024-06-01T12:00:00.000Z"
}
], - "pagination": {
- "page": 1,
- "pageSize": 25,
- "total": 50,
- "totalPages": 2
}
}Returns all sensors accessible to the authenticated API key holder.
[- {
- "id": "770e8400-e29b-41d4-a716-446655440002",
- "name": "Sensor A1",
- "model": "Conserv SCS-3-5",
- "spaceId": "660e8400-e29b-41d4-a716-446655440001",
- "status": "active",
- "lastReading": "2024-06-01T12:00:00.000Z"
}
]Returns time-series readings for a sensor within the specified date range (maximum 1 year).
| sensorId required | string <uuid> Example: 770e8400-e29b-41d4-a716-446655440002 The UUID of the sensor |
| startDate required | string <date-time> Example: startDate=2024-01-01T00:00:00.000Z Start of the date range (ISO 8601 format) |
| endDate required | string <date-time> Example: endDate=2024-06-30T23:59:59.999Z End of the date range (ISO 8601 format). Maximum span is 1 year from startDate. |
[- {
- "timestamp": "2024-01-01T00:00:00.000Z",
- "temperature": 21.5,
- "humidity": 55.3,
- "illuminance": 320,
- "uv": 0.4
}
]Returns all sensors located within the specified space.
| spaceId required | string <uuid> Example: 660e8400-e29b-41d4-a716-446655440001 The UUID of the space |
[- {
- "id": "770e8400-e29b-41d4-a716-446655440002",
- "name": "Sensor A1",
- "model": "Conserv SCS-3-5",
- "spaceId": "660e8400-e29b-41d4-a716-446655440001",
- "status": "active",
- "lastReading": "2024-06-01T12:00:00.000Z"
}
]Returns all spaces (zones/rooms) within a given location.
| locationId required | string <uuid> Example: 550e8400-e29b-41d4-a716-446655440000 The UUID of the location |
{- "location": "Main Museum",
- "spaces": [
- {
- "id": "660e8400-e29b-41d4-a716-446655440001",
- "name": "Gallery A",
- "locationId": "550e8400-e29b-41d4-a716-446655440000",
- "type": "gallery"
}
]
}