Download OpenAPI specification:Download
Version 1 of the VDEM REST API. The API provides read access to VDEM community instance resources and messages.
Returns a welcome message and a list of VDEM API endpoints. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "message": "Welcome to the VDEM API",
- "version": "1.0.0",
- "status": "OK",
- "timestamp": "2025-05-02T13:23:08.545286Z",
- "endpoints": [
- [
- "/account",
- "/customer",
- "/devices",
- "/messages",
- "/messages/last",
- "/reference",
- "/reference/places",
- "/site",
- "/site/messages",
- "/sites"
]
]
}Returns a user account profile. The request will only return information for the user account associated with the access key. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "address": {
- "zip": "string",
- "city": "string",
- "address_1": "string",
- "address_2": "string",
- "county": "string",
- "state": "string"
}, - "phone": "string",
- "lastUpdate": 0,
- "name": "string",
- "active": true,
- "description": "string",
- "id": "string",
- "abbreviation": "string",
- "email": "string",
- "URL": "string",
- "createDate": 0
}Returns a customer profile. The request will only return information for the customer account associated with the access key. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "entityType": "CUSTOMER",
- "visible": true,
- "dates": {
- "modified": 1732569730,
- "created": 1732569730,
- "activated": 1732569730
}, - "address": {
- "county": "",
- "zip": "",
- "state": "",
- "city": "",
- "address_1": "",
- "address_2": ""
}, - "email": "",
- "display_name": "Merak Labs",
- "active": true,
- "base_name": "Merak Labs",
- "description": "Merak Labs",
- "phone": "",
- "type": "commercial"
}Returns a list of device profiles. The list contains devices assigned to your customer account. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "modelID": "",
- "model": "Corbo 12 Iridium",
- "entityType": "DEVICE",
- "configuration": {
- "firmwareVersion": {
- "value": "14"
}, - "reportRate": {
- "value": 15,
- "unit": "minutes"
}, - "sampleRate": {
- "value": 15,
- "unit": "minutes"
}
}, - "dates": {
- "modified": 1745341349,
- "created": 1745341349,
- "activated": 1745341349
}, - "status": "online",
- "attributes": { },
- "name": "Corbo 12 Iridium",
- "make": "Green Stream Technologies Inc",
- "sensors": {
- "rainGauge": {
- "serialNumber": "",
- "modelID": "",
- "configuration": { },
- "name": "Lufft WS100",
- "description": "Lufft WS100 RADAR Rain gage",
- "model": "WS100",
- "type": "rainGauge",
- "make": "Lufft"
}
}, - "parts": {
- "solarPanel": {
- "model": "SP-100W",
- "attributes": {
- "wattage": {
- "value": 100,
- "unit": "watts"
}
}, - "serialNumber": "",
- "type": "SolarPanel",
- "modelID": "",
- "make": "SolarTech"
}, - "SLABattery": {
- "model": "PS-1290 F2",
- "attributes": {
- "volts": {
- "value": 12,
- "unit": "volts"
}, - "amperage": {
- "value": 9,
- "unit": "Ah"
}
}, - "serialNumber": "",
- "type": "Battery",
- "modelID": "",
- "make": "PowerSonic"
}, - "solarMount": {
- "model": "",
- "attributes": {
- "material": {
- "value": "Aluminum"
}
}, - "serialNumber": "",
- "type": "SolarMountBracket",
- "modelID": "",
- "make": "SolarTech"
}
}, - "commands": {
- "getMeasurements": {
- "name": "get measurements",
- "description": "request a device measurement read",
- "lastExecuted": 1745071707,
- "parameters": { },
- "status": "complete"
}, - "getConfiguration": {
- "name": "read configuration",
- "description": "request a device configuration read",
- "lastExecuted": 1745071707,
- "parameters": { },
- "status": "complete"
}
}, - "description": "Corbo 12 Gateway with Iridium wireless communications",
- "serialNumber": "",
- "type": "Iridium Gateway",
- "id": "b7eb4993-fd92-41a3-86c8-e6c55f28ab3a"
}Returns an list of messages for assigned sites. The API takes two query parameters, start and end. Both parameters are date values that are in Epoch time format. A valid access key must be provided in the header of the request.
| start required | integer <int64> Example: start=1745341349 Start time in epoch format |
| end required | integer <int64> Example: end=1745345000 End time in epoch format |
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
[- {
- "ina219": {
- "current": -116.4,
- "voltage": 13.59
}, - "id": "e00fce6837fdd220918a5d73",
- "lufft": {
- "precip": {
- "intensity": 0.01,
- "type": 60,
- "abs": 0
}
}, - "lte": {
- "rssi": -118,
- "signalQuality": 62.5
}, - "timestamp": 1745510400,
- "siteID": "296e3d7e-ac29-4968-a3ae-f17fa2260dc1",
- "device": "GS24M03-10145"
}
]Returns the last (x) messages for assigned sites. The API takes one query parameter, limit. The parameters specifies the number of messages to return for each site. A valid access key must be provided in the header of the request.
| limit required | integer >= 1 Example: limit=10 Number of messages to return |
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
[- {
- "ina219": {
- "current": -116.4,
- "voltage": 13.59
}, - "id": "e00fce6837fdd220918a5d73",
- "lufft": {
- "precip": {
- "intensity": 0.01,
- "type": 60,
- "abs": 0
}
}, - "lte": {
- "rssi": -118,
- "signalQuality": 62.5
}, - "timestamp": 1745510400,
- "siteID": "296e3d7e-ac29-4968-a3ae-f17fa2260dc1",
- "device": "GS24M03-10145"
}
]Returns a list of reference endpoints. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "message": "Welcome to the VDEM Reference API",
- "version": "1.0.0",
- "status": "OK",
- "timestamp": "2025-05-02T15:39:40.059280Z",
- "endpoints": [
- "/v1/places"
]
}Returns a list of VDEM geographic locations to include cities, counties and VDEM regions. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "SITE": {
- "displayName": "Sites",
- "list": [
- {
- "name": "Council Precip Gage",
- "geolocation": {
- "center": {
- "latitude": "37.08211341",
- "longitude": "-82.07941509"
}, - "bounds": {
- "nw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "se": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "sw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "ne": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}
}
}
}
]
}, - "CITY": {
- "displayName": "Sites",
- "list": [
- {
- "name": "Council Precip Gage",
- "geolocation": {
- "center": {
- "latitude": "37.08211341",
- "longitude": "-82.07941509"
}, - "bounds": {
- "nw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "se": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "sw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "ne": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}
}
}
}
]
}, - "COUNTY": {
- "displayName": "Sites",
- "list": [
- {
- "name": "Council Precip Gage",
- "geolocation": {
- "center": {
- "latitude": "37.08211341",
- "longitude": "-82.07941509"
}, - "bounds": {
- "nw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "se": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "sw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "ne": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}
}
}
}
]
}, - "VDEM_REGION": {
- "displayName": "Sites",
- "list": [
- {
- "name": "Council Precip Gage",
- "geolocation": {
- "center": {
- "latitude": "37.08211341",
- "longitude": "-82.07941509"
}, - "bounds": {
- "nw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "se": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "sw": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}, - "ne": {
- "latitude": 38.844908999078115,
- "longitude": -77.037356
}
}
}
}
]
}
}Returns a site profile. The API takes a single query parameter, id. The id corresponds to a sites uinique id and is obtained by calling the /sites API. A valid access key must be provided in the header of the request.
| id required | string Example: id=bda75fd3-a685-4340-bbe8-d748b15fe084 The unique identifier of the site |
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
{- "msg": {
- "ina219": {
- "current": 0,
- "voltage": 0
}, - "lufft": {
- "precip": {
- "intensity": 0,
- "type": 0,
- "abs": 0
}
}, - "lte": {
- "rssi": 0,
- "signalQuality": 0
}, - "senix": {
- "mm": 0,
- "temp": 0
}, - "timestamp": 1743797085
}, - "address": {
- "county": "Buchanan",
- "zip": "",
- "state": "VA",
- "address2": "",
- "city": "",
- "address1": ""
}, - "filters": {
- "VDEM_REGION": "Region 4",
- "WFO": "Charleston",
- "CITY": null,
- "COUNTY": "Buchanan"
}, - "lastUpdate": "2025-04-04T20:04:45+0000",
- "name": "Dismal Creek at Pilgrim's Knob",
- "enabled": false,
- "active": false,
- "createDate": "2025-04-04T20:04:45+0000",
- "parameters": [
- {
- "thresholds": [
- {
- "value": 10
}
], - "min": 10,
- "max": 14.8,
- "type": "voltage",
- "unit": "mm",
- "MLLW": 0,
- "elevation": 0
}
], - "comms": {
- "type": "Iridium",
- "carrier": ""
}, - "description": "",
- "geometry": {
- "center": {
- "latitude": 37.2387303,
- "longitude": -81.9126922
}
}, - "id": "4a30e4c2-a8d1-4500-bdf9-68c52fda7860",
- "device": null
}Returns messages for a site. The API takes two query parameters, start and end. Both parameters are date values that are in Epoch time format. A valid access key must be provided in the header of the request.
| start required | integer <int64> Example: start=1745341349 Start time in epoch format |
| end required | integer <int64> Example: end=1745345000 End time in epoch format |
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
[- {
- "ina219": {
- "current": -116.4,
- "voltage": 13.59
}, - "id": "e00fce6837fdd220918a5d73",
- "lufft": {
- "precip": {
- "intensity": 0.01,
- "type": 60,
- "abs": 0
}
}, - "lte": {
- "rssi": -118,
- "signalQuality": 62.5
}, - "timestamp": 1745510400,
- "siteID": "296e3d7e-ac29-4968-a3ae-f17fa2260dc1",
- "device": "GS24M03-10145"
}
]Returns a list of assigned sites. A valid access key must be provided in the header of the request.
| x-api-key required | string Example: 06a713ec-cb37-455f-8966-ca814bded57b The access key provided by Green Stream. A new access key can provided upon request. |
[- {
- "thingName": "GS24M02-10006",
- "msg": {
- "ina219": {
- "current": -114.6,
- "voltage": 12.9
}, - "lufft": {
- "precip": {
- "intensity": 0,
- "type": 0,
- "abs": 0
}
}, - "lte": {
- "rssi": -114,
- "signalQuality": 18.75
}, - "csi": {
- "basic": {
- "ft": 35.22,
- "voltage": 12.55
}
}, - "senix": {
- "mm": 0,
- "temp": 0
}, - "thingName": "GS24M02-10006",
- "id": "e00fce684bc74a2fccfd7e6e",
- "timestamp": 1746054900
}, - "address": {
- "county": "Buchanan",
- "zip": "24614",
- "state": "Virginia",
- "city": "Grundy",
- "address_1": "1236 Almarine Drive",
- "address_2": ""
}, - "filters": {
- "VDEM_REGION": "Region 4",
- "WFO": "Charleston",
- "CITY": null,
- "COUNTY": "Buchanan"
}, - "lastUpdate": "2025-04-30T23:15:17+0000",
- "name": "Slate Creek Precipitation Gage",
- "enabled": true,
- "active": true,
- "createDate": "2024-02-27T00:39:23+0000",
- "testOnline": true,
- "owner": "Merak Labs/Buchanan Co.",
- "sensors": [
- {
- "input": "RS-485",
- "make": "Lufft",
- "model": "WS100",
- "slot": "motherboard"
}
], - "parameters": [
- {
- "name": "Voltage",
- "unit": "v",
- "min": 10,
- "max": 14.8,
- "type": "voltage",
- "elevation": 38.85,
- "MLLW": 0,
- "thresholds": [
- {
- "color": "#17CC34",
- "name": "Excellent",
- "value": 13
}
]
}
], - "comms": {
- "type": "LTE",
- "carrier": "AT&T"
}, - "description": "Shed behind Big Sandy Soil & Water",
- "geometry": {
- "center": {
- "latitude": 37.29603,
- "longitude": -82.04846
}
}, - "id": "bda75fd3-a685-4340-bbe8-d748b15fe084"
}
]