Pulse Grow Sensors 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-sensors-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 Sensors 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: Sensors
description: A collection of API operations related to devices.
paths:
/sensors/{sensorId}/recent-data:
get:
tags:
- Sensors
summary: Sensor Recent Data
description: Gets the last data point for a sensor
parameters:
- name: sensorId
in: path
description: The sensor 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/MostRecentSensorDataPointDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getSensorsBySensorIdRecentData
x-operation-id-source: derived
/sensors/{sensorId}/force-read:
get:
tags:
- Sensors
summary: Force an immediate sensor reading
parameters:
- name: sensorId
in: path
description: The sensor identifier
required: true
schema:
type: integer
format: int32
example: 123
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UniversalDataPointDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getSensorsBySensorIdForceRead
x-operation-id-source: derived
/sensors/{sensorId}/data-range:
get:
tags:
- Sensors
summary: Data Range for Sensor.
description: Retrieves all datapoints within a specified timespan the sensor.
parameters:
- name: sensorId
in: path
description: The sensor 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/UniversalDataPointArrayDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getSensorsBySensorIdDataRange
x-operation-id-source: derived
/sensors/ids:
get:
tags:
- Sensors
summary: All Sensor Ids
description: Retrieves all of the sensor 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: getSensorsIds
x-operation-id-source: derived
/sensors/{sensorId}/details:
get:
tags:
- Sensors
summary: All Sensor Details
parameters:
- name: sensorId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SensorDeviceDetailsDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
operationId: getSensorsBySensorIdDetails
x-operation-id-source: derived
components:
schemas:
Ph10SensorCalibrationInformationDto:
type: object
properties:
lastPh4CalibrationDate:
type:
- string
- 'null'
format: date-time
lastPh7CalibrationDate:
type:
- string
- 'null'
format: date-time
lastPh10CalibrationDate:
type:
- string
- 'null'
format: date-time
additionalProperties: false
HighChartAuxiliaryData:
type: object
properties:
color:
type:
- string
- 'null'
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
MostRecentSensorDataPointDto:
type: object
properties:
sensorType:
$ref: '#/components/schemas/SensorType'
deviceType:
$ref: '#/components/schemas/DeviceType'
name:
type:
- string
- 'null'
dataPointDto:
$ref: '#/components/schemas/UniversalDataPointDto'
additionalProperties: false
UniversalDataPointArrayDto:
type: object
properties:
dataPointValues:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/UniversalDataPointDtoMultipleValue'
dataPointValuesCreatedAt:
type:
- array
- 'null'
items:
type: string
format: date-time
additionalProperties: false
SensorType:
type: integer
format: int32
SensorThresholdType:
type: integer
format: int32
UniversalDataPointDtoMultipleValue:
type: object
properties:
paramName:
type:
- string
- 'null'
measuringUnit:
type:
- string
- 'null'
paramValues:
type:
- array
- 'null'
items:
type: number
format: float
highChartAuxiliaryData:
$ref: '#/components/schemas/HighChartAuxiliaryData'
sensorReadingType:
$ref: '#/components/schemas/SensorReadingType'
additionalProperties: false
DeviceType:
type: integer
format: int32
SensorDeviceDetailsDto:
type: object
properties:
id:
type: integer
format: int32
name:
type:
- string
- 'null'
sensorType:
$ref: '#/components/schemas/SensorType'
growId:
type: integer
format: int32
hubId:
type: integer
format: int32
hubName:
type:
- string
- 'null'
hidden:
type: boolean
vpdTarget:
type:
- number
- 'null'
format: float
vpdLeafTemperatureOffsetinF:
type:
- number
- 'null'
format: float
orpCalibrationOffSet:
type:
- integer
- 'null'
format: int32
dayStart:
type: string
format: date-span
nightStart:
type: string
format: date-span
sensorTemplateId:
type:
- integer
- 'null'
format: int32
sensorTemplateName:
type:
- string
- 'null'
thresholds:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/SensorThresholdDto'
offsetId:
type:
- integer
- 'null'
format: int32
ph10SensorCalibrationInformationDto:
$ref: '#/components/schemas/Ph10SensorCalibrationInformationDto'
ec1SensorCalibrationInformationDto:
$ref: '#/components/schemas/Ec1SensorCalibrationInformationDto'
parSensorSubtype:
$ref: '#/components/schemas/ParSensorSubtype'
additionalProperties: false
SensorReadingType:
type: integer
format: int32
SensorThresholdDto:
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'
thresholdType:
$ref: '#/components/schemas/SensorThresholdType'
transitionalDelay:
type:
- string
- 'null'
format: date-span
additionalProperties: false
ParSensorSubtype:
type: integer
format: int32
UniversalDataPointDto:
type: object
properties:
dataPointValues:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/UniversalDataPointDtoSingleValue'
sensorId:
type: integer
format: int32
createdAt:
type: string
format: date-time
additionalProperties: false
UniversalDataPointDtoSingleValue:
type: object
properties:
paramName:
type:
- string
- 'null'
measuringUnit:
type:
- string
- 'null'
paramValue:
type:
- number
- 'null'
format: float
highChartAuxiliaryData:
$ref: '#/components/schemas/HighChartAuxiliaryData'
sensorReadingType:
$ref: '#/components/schemas/SensorReadingType'
additionalProperties: false
Ec1SensorCalibrationInformationDto:
type: object
properties:
lastCalibrationDate:
type:
- string
- 'null'
format: date-time
isCalibrationUiShown:
type: boolean
additionalProperties: false