Skip to main content

Conserv Public API (1.1.0)

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.

Public API

List events

Returns a paginated list of events.

Authorizations:
apiKeyAuth
query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "pagination": {
    }
}

Create a data export job

Initiates an asynchronous export of sensor data for the specified date range (maximum 7 days). Returns a job UUID to poll for status.

Authorizations:
apiKeyAuth
Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "start": "2024-06-01T00:00:00.000Z",
  • "end": "2024-06-07T23:59:59.999Z"
}

Response samples

Content type
application/json
{
  • "uuid": "cc0e8400-e29b-41d4-a716-446655440007",
  • "message": "Export job created successfully"
}

Get export job status

Returns the current status of a previously created export job.

Authorizations:
apiKeyAuth
path Parameters
uuid
required
string <uuid>
Example: cc0e8400-e29b-41d4-a716-446655440007

The UUID of the export job

Responses

Response samples

Content type
application/json
{
  • "uuid": "cc0e8400-e29b-41d4-a716-446655440007",
  • "status": "completed",
  • "status_message": null,
  • "completed_at": "2024-06-01T12:05:00.000Z"
}

Generate a download link for a completed export

Generates a pre-signed download URL for a completed export job. The URL is time-limited.

Authorizations:
apiKeyAuth
path Parameters
uuid
required
string <uuid>
Example: cc0e8400-e29b-41d4-a716-446655440007

The UUID of the completed export job

Responses

Response samples

Content type
application/json
{}

List all level profiles

Returns all environmental level profiles (target ranges for temperature, humidity, etc.).

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all locations

Returns all locations (facilities) accessible to the authenticated API key holder.

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "locations": [
    ]
}

List observations

Returns a paginated list of observations (manual condition notes and inspections).

Authorizations:
apiKeyAuth
query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

Responses

Response samples

Content type
application/json
{
  • "observations": [
    ],
  • "pagination": {
    }
}

List all sensors

Returns all sensors accessible to the authenticated API key holder.

Authorizations:
apiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get sensor time-series data

Returns time-series readings for a sensor within the specified date range (maximum 1 year).

Authorizations:
apiKeyAuth
path Parameters
sensorId
required
string <uuid>
Example: 770e8400-e29b-41d4-a716-446655440002

The UUID of the sensor

query Parameters
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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List sensors in a space

Returns all sensors located within the specified space.

Authorizations:
apiKeyAuth
path Parameters
spaceId
required
string <uuid>
Example: 660e8400-e29b-41d4-a716-446655440001

The UUID of the space

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List spaces for a location

Returns all spaces (zones/rooms) within a given location.

Authorizations:
apiKeyAuth
path Parameters
locationId
required
string <uuid>
Example: 550e8400-e29b-41d4-a716-446655440000

The UUID of the location

Responses

Response samples

Content type
application/json
{
  • "location": "Main Museum",
  • "spaces": [
    ]
}