Pulse Grow Devices API
A collection of API operations related to devices.
A collection of API operations related to devices.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pulse-grow-devices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Pulse Devices API
description: '# Introduction
The Pulse API is an HTTP API that is designed to interact with your pulse account and devices.'
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: Devices
description: A collection of API operations related to devices.
paths:
/devices/{deviceId}/recent-data:
get:
tags:
- Devices
summary: Device Recent Data
description: Gets the last data point for a device
parameters:
- name: deviceId
in: path
description: The device identifier for which to retrieve the latest data.
required: true
schema:
type: integer
format: int32
example: 123
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PublicApiDataPoint'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getDevicesByDeviceIdRecentData
x-operation-id-source: derived
/devices/{deviceId}/data-range:
get:
tags:
- Devices
summary: Data Range for Device.
description: Retrieves all datapoints within a specified timespan the device.
parameters:
- name: deviceId
in: path
description: The device identifier for which to retrieve data.
required: true
schema:
type: integer
format: int32
example: 123
- name: start
in: query
description: The beginning time of your data range in ISO 8601 format.
required: true
schema:
type: string
format: date-time
example: '2020-01-31T01:11:22Z'
- name: end
in: query
description: The end time of your data range in ISO 8601 format. If not provided, API will use the current time.
schema:
type: string
format: date-time
example: '2020-01-31T20:11:22Z'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PublicApiDataPoint'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getDevicesByDeviceIdDataRange
x-operation-id-source: derived
/devices/ids:
get:
tags:
- Devices
summary: All Device Ids
description: Retrieves all of the device ids assigned to the grow.
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: integer
format: int32
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getDevicesIds
x-operation-id-source: derived
/devices/details:
get:
tags:
- Devices
summary: All Device Details
description: Retrieves detailed information for all devices on the grow.
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DeviceDetailsDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getDevicesDetails
x-operation-id-source: derived
/devices/range:
get:
tags:
- Devices
summary: Data Range for All Devices.
description: Retrieves all datapoints within a specified timespan for all devices on grow. Max data range of 7 days.
parameters:
- name: start
in: query
description: The beginning time of your data range in ISO 8601 format.
required: true
schema:
type: string
format: date-time
example: '2020-01-31T01:11:22Z'
- name: end
in: query
description: The end time of your data range in ISO 8601 format. If not provided, API will use the current time.
schema:
type: string
format: date-time
example: '2020-01-31T20:11:22Z'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PublicApiDataPoint'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getDevicesRange
x-operation-id-source: derived
components:
schemas:
DeviceOffsetsDto:
type: object
properties:
tempOffset:
type: number
format: double
humidityOffset:
type: number
format: double
lightOffset:
type: number
format: double
airPressureOffset:
type: number
format: double
vpdLeafTempOffsetInF:
type: number
format: double
additionalProperties: false
DeviceDetailsDto:
type: object
properties:
id:
type: integer
format: int32
deviceType:
$ref: '#/components/schemas/DeviceType'
powerThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
connectivityThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
outletToBatteryTransitionThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
lowBatteryThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
dayThresholds:
$ref: '#/components/schemas/DeviceThresholdDto'
nightThresholds:
$ref: '#/components/schemas/DeviceThresholdDto'
offsets:
$ref: '#/components/schemas/DeviceOffsetsDto'
vpdLeafTempOffsetInF:
type: number
format: double
dayStart:
type:
- string
- 'null'
nightStart:
type:
- string
- 'null'
name:
type:
- string
- 'null'
vpdTarget:
type:
- number
- 'null'
format: double
templateId:
type:
- integer
- 'null'
format: int32
templateName:
type:
- string
- 'null'
templateTypeId:
type:
- integer
- 'null'
format: int32
batteryType:
$ref: '#/components/schemas/BatteryType'
lowBatteryVoltage:
type: number
format: float
macAddress:
type:
- string
- 'null'
lastCo2CalibrationDate:
type:
- string
- 'null'
format: date-time
additionalProperties: false
PublicApiDataPoint:
type: object
properties:
deviceId:
type: integer
format: int32
pluggedIn:
type: boolean
batteryV:
type: number
format: float
electricImpId:
type:
- string
- 'null'
signalStrength:
type: integer
format: int32
createdAt:
type: string
format: date-time
deviceType:
$ref: '#/components/schemas/DeviceType'
temperatureF:
type: number
format: double
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
dpC:
type: number
format: double
dpF:
type: number
format: double
temperatureC:
type: number
format: double
lightCalculationReading:
$ref: '#/components/schemas/PublicApiLightCalculationDto'
additionalProperties: false
ThresholdType:
type: integer
format: int32
DeviceThresholdDto:
type: object
properties:
lightThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
temperatureThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
humidityThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
vpdThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
dewPointThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
co2Threshold:
$ref: '#/components/schemas/ViewThresholdDto'
vocThreshold:
$ref: '#/components/schemas/ViewThresholdDto'
dewPointThresholdDual:
$ref: '#/components/schemas/ViewThresholdDto'
additionalProperties: false
ViewThresholdDto:
type: object
properties:
id:
type:
- integer
- 'null'
format: int32
notificationActive:
type:
- boolean
- 'null'
lowThresholdValue:
type:
- number
- 'null'
format: double
highThresholdValue:
type:
- number
- 'null'
format: double
delay:
type:
- string
- 'null'
format: date-span
day:
type:
- boolean
- 'null'
deviceId:
type:
- integer
- 'null'
format: int32
thresholdType:
$ref: '#/components/schemas/ThresholdType'
additionalProperties: false
DeviceType:
type: integer
format: int32
BatteryType:
type: integer
format: int32
PublicApiLightCalculationDto:
type: object
properties:
channels:
type:
- array
- 'null'
items:
type: number
format: double
tint:
type: number
format: double
gain:
type: integer
format: int32
ppfd:
type:
- number
- 'null'
format: double
pfdRed:
type:
- number
- 'null'
format: double
pfdGreen:
type:
- number
- 'null'
format: double
pfdBlue:
type:
- number
- 'null'
format: double
pfdIr:
type:
- number
- 'null'
format: double
additionalProperties: false