Pulse Grow AllDevices API
A collection of API operations related to devices.
A collection of API operations related to devices.
openapi: 3.0.4
info:
title: Pulse Api AllDevices API
description: "# Introduction\n\nThe Pulse API is an HTTP API that is designed to interact with your pulse account and devices. \n\nNote that not all app functionality has yet been exposed through this api, so if you need additional functionality, contact our support team at support@pulsegrow.com and we will add it for you. \n\nThis API reference includes all technical documentation developers need to integrate third-party applications and platforms. If you have any additional questions send an email to our support team at support@pulsegrow.com\n\n# Authentication\n\nAll HTTP requests made against the Pulse API must be validated with an API Key.\n\n### Acquiring an API Key\n\nTo generate a new api key go to https://app.pulsegrow.com/account, scroll down to the api key section, and press the \"Add Api Key\" button.\n\n### Using Your API Key \n\nNote: API keys are generated per grow and only have access to that grow's resources (users, devices, etc). \n\nAll requests should target domain `https://api.pulsegrow.com`.\n\nYou need to provide the API key via the `x-api-key` header.\n\nSecurity Warning: It's important to secure your API Key against public access. Guard and secure it like a password. If you suspect that your API key has been compromised, revoke it via the web application at https://app.pulsegrow.com/account. \n\nSample request:\n\n```\n\ncurl --request GET \"https://api.pulsegrow.com/devices/{deviceId}/recent-data\" --header \"x-api-key: {apiKey}\"\n\n``` \n\n### Api consumption\n\n Api consumption is measured by number of datapoints retrieved.\n\n An api call that does not retrieve datapoints counts as one datapoint.\n\n Hobbyist users can use up to 4800 datapoints daily, Enthusiasts and Professionals 24000 and 120000, respectively \n\n"
termsOfService: https://pulsegrow.com/terms
contact:
name: Need help? Contact support
email: support@pulsegrow.com
version: v1
x-logo:
url: https://cdn.shopify.com/s/files/1/2451/2393/files/logo_1_400x.png
altText: The Logo
tags:
- name: AllDevices
description: A collection of API operations related to devices.
paths:
/all-devices:
get:
tags:
- AllDevices
summary: 'Gets all of the grows devices, including latest data.
Sparklines (data for the last hour) are not included'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NonTypeSpecificDeviceListDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
components:
schemas:
UniversalDataPointDtoSingleValue:
type: object
properties:
paramName:
type: string
nullable: true
measuringUnit:
type: string
nullable: true
paramValue:
type: number
format: float
nullable: true
highChartAuxiliaryData:
$ref: '#/components/schemas/HighChartAuxiliaryData'
sensorReadingType:
$ref: '#/components/schemas/SensorReadingType'
additionalProperties: false
SensorType:
type: integer
format: int32
MostRecentSensorDataPointDto:
type: object
properties:
sensorType:
$ref: '#/components/schemas/SensorType'
deviceType:
$ref: '#/components/schemas/DeviceType'
name:
type: string
nullable: true
dataPointDto:
$ref: '#/components/schemas/UniversalDataPointDto'
additionalProperties: false
OpenSprinklerSpecificData:
type: object
properties:
lastOnline:
type: string
format: date-time
nullable: true
nextOpenSprinklerProgramRunInfo:
$ref: '#/components/schemas/NextOpenSprinklerProgramRunInfo'
lastRanProgramName:
type: string
nullable: true
lastRunProgramId:
type: integer
format: int32
nullable: true
mac:
type: string
nullable: true
lastRunDuration:
type: integer
format: int32
nullable: true
lastRunTimeEnd:
type: string
format: date-time
nullable: true
pausedUntil:
type: string
format: date-time
nullable: true
lastSynced:
type: string
format: date-time
nullable: true
durations:
type: array
items:
type: integer
format: int32
nullable: true
lastAutomationInfo:
$ref: '#/components/schemas/LastAutomationInfo'
additionalProperties: false
DataPointDto:
type: object
properties:
deviceId:
type: integer
format: int32
pluggedIn:
type: boolean
batteryV:
type: number
format: float
electricImpId:
type: string
nullable: true
signalStrength:
type: integer
format: int32
createdAt:
type: string
format: date-time
deviceType:
$ref: '#/components/schemas/DeviceType'
temperatureF:
type: number
format: float
humidityRh:
type: number
format: float
lightLux:
type: number
format: float
airPressure:
type: number
format: float
vpd:
type: number
format: double
co2:
type: integer
format: int32
co2Temperature:
type: number
format: double
co2Rh:
type: number
format: double
voc:
type: integer
format: int32
channel1:
type: number
format: double
channel2:
type: number
format: double
channel3:
type: number
format: double
channel4:
type: number
format: double
channel5:
type: number
format: double
channel6:
type: number
format: double
channel7:
type: number
format: double
channel8:
type: number
format: double
near:
type: number
format: double
clear:
type: number
format: double
flicker:
type: number
format: double
par:
type: number
format: double
gain:
type: integer
format: int32
tint:
type: number
format: double
additionalProperties: false
SensorReadingType:
type: integer
format: int32
NonTypeSpecificDeviceListDto:
type: object
properties:
deviceViewDtos:
type: array
items:
$ref: '#/components/schemas/DeviceViewDto'
nullable: true
universalSensorViews:
type: array
items:
$ref: '#/components/schemas/SensorDeviceViewUniversalDto'
nullable: true
hubViewDtos:
type: array
items:
$ref: '#/components/schemas/HubViewDto'
nullable: true
controlsViewDtos:
type: array
items:
$ref: '#/components/schemas/ControlsViewDto'
nullable: true
additionalProperties: false
HighChartAuxiliaryData:
type: object
properties:
color:
type: string
nullable: true
readOnly: true
yAxis:
type: integer
format: int32
valueDecimal:
type: integer
format: int32
redCoefficient:
type: integer
format: int32
greenCoefficient:
type: integer
format: int32
blueCoefficient:
type: integer
format: int32
additionalProperties: false
ControlType:
type: integer
format: int32
UniversalDataPointArrayDto:
type: object
properties:
dataPointValues:
type: array
items:
$ref: '#/components/schemas/UniversalDataPointDtoMultipleValue'
nullable: true
dataPointValuesCreatedAt:
type: array
items:
type: string
format: date-time
nullable: true
additionalProperties: false
DeviceViewDto:
type: object
properties:
id:
type: integer
format: int32
displayOrder:
type: integer
format: int32
nullable: true
name:
type: string
nullable: true
growId:
type: integer
format: int32
hidden:
type: boolean
deviceType:
$ref: '#/components/schemas/DeviceType'
guid:
type: string
format: uuid
templateId:
type: integer
format: int32
nullable: true
pulseGuid:
type: string
format: uuid
dayStart:
type: string
format: date-span
nightStart:
type: string
format: date-span
isDay:
type: boolean
vpdLeafTempOffsetInF:
type: number
format: double
vpdTarget:
type: number
format: double
nullable: true
batteryCount:
type: integer
format: int32
lowBatteryVoltage:
type: number
format: float
mostRecentDataPoint:
$ref: '#/components/schemas/DataPointDto'
lastHourData:
type: array
items:
$ref: '#/components/schemas/DataPointDto'
nullable: true
proLightReadingPreviewDto:
$ref: '#/components/schemas/ProLightReadingPreviewDto'
growTimezoneOffset:
type: integer
format: int32
additionalProperties: false
HubViewDto:
type: object
properties:
id:
type: integer
format: int32
displayOrder:
type: integer
format: int32
nullable: true
name:
type: string
nullable: true
growId:
type: integer
format: int32
hidden:
type: boolean
deviceType:
$ref: '#/components/schemas/DeviceType'
mostRecentDataPoint:
$ref: '#/components/schemas/HubDataPointDto'
additionalProperties: false
ControlsViewDto:
type: object
properties:
id:
type: integer
format: int32
name:
type: string
nullable: true
controlType:
$ref: '#/components/schemas/ControlType'
displayOrder:
type: integer
format: int32
nullable: true
deviceType:
$ref: '#/components/schemas/DeviceType'
openSprinklerSpecificData:
$ref: '#/components/schemas/OpenSprinklerSpecificData'
additionalProperties: false
DeviceType:
type: integer
format: int32
ParSensorSubtype:
type: integer
format: int32
NextOpenSprinklerProgramRunInfo:
type: object
properties:
programId:
type: integer
format: int32
inDays:
type: integer
format: int32
startTime:
type: string
format: date-span
nullable: true
programName:
type: string
nullable: true
dayOfRun:
type: string
format: date-time
additionalProperties: false
UniversalDataPointDtoMultipleValue:
type: object
properties:
paramName:
type: string
nullable: true
measuringUnit:
type: string
nullable: true
paramValues:
type: array
items:
type: number
format: float
nullable: true
highChartAuxiliaryData:
$ref: '#/components/schemas/HighChartAuxiliaryData'
sensorReadingType:
$ref: '#/components/schemas/SensorReadingType'
additionalProperties: false
ProLightReadingPreviewDto:
type: object
properties:
id:
type: integer
format: int32
ppfd:
type: number
format: double
dli:
type: number
format: double
nullable: true
createdAt:
type: string
format: date-time
additionalProperties: false
HubDataPointDto:
type: object
properties:
deviceId:
type: integer
format: int32
pluggedIn:
type: boolean
batteryV:
type: number
format: float
electricImpId:
type: string
nullable: true
signalStrength:
type: integer
format: int32
createdAt:
type: string
format: date-time
additionalProperties: false
UniversalDataPointDto:
type: object
properties:
dataPointValues:
type: array
items:
$ref: '#/components/schemas/UniversalDataPointDtoSingleValue'
nullable: true
sensorId:
type: integer
format: int32
createdAt:
type: string
format: date-time
additionalProperties: false
SensorDeviceViewUniversalDto:
type: object
properties:
id:
type: integer
format: int32
displayOrder:
type: integer
format: int32
nullable: true
name:
type: string
nullable: true
growId:
type: integer
format: int32
hidden:
type: boolean
hubId:
type: integer
format: int32
nullable: true
deviceType:
$ref: '#/components/schemas/DeviceType'
mostRecentDataPoint:
$ref: '#/components/schemas/UniversalDataPointDto'
sensorType:
$ref: '#/components/schemas/SensorType'
lastHourDataPointDtos:
$ref: '#/components/schemas/UniversalDataPointArrayDto'
templateId:
type: integer
format: int32
nullable: true
dayStart:
type: string
format: date-span
nightStart:
type: string
format: date-span
parSensorSubtype:
$ref: '#/components/schemas/ParSensorSubtype'
additionalProperties: false
LastAutomationInfo:
type: object
properties:
durations:
type: array
items:
type: integer
format: int32
nullable: true
sensorId:
type: integer
format: int32
triggeringValue:
type: string
nullable: true
time:
type: string
format: date-time
mostRecentSensorDataPointDto:
$ref: '#/components/schemas/MostRecentSensorDataPointDto'
additionalProperties: false