Pulse Grow Hub API
A collection of API operations related to users.
A collection of API operations related to users.
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-hub-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 Api AllDevices Hub 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
servers:
- url: https://api.pulsegrow.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Hub
description: A collection of API operations related to users.
paths:
/hubs/ids:
get:
tags:
- Hub
summary: All Hub Ids
description: Retrieves all of the hubs 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
/hubs/{hubId}:
get:
tags:
- Hub
summary: Gets details for hub
parameters:
- name: hubId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/HubDetailsDto'
'400':
description: Bad Request
content:
application/json:
schema:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
type: string
components:
schemas:
HubThresholdType:
type: integer
format: int32
SensorType:
type: integer
format: int32
ParSensorSubtype:
type: integer
format: int32
HubDetailsDto:
type: object
properties:
id:
type: integer
format: int32
name:
type:
- string
- 'null'
hubThresholds:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/HubThresholdDto'
hidden:
type: boolean
macAddress:
type:
- string
- 'null'
growId:
type: integer
format: int32
sensorDevices:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/SensorDeviceViewDto'
additionalProperties: false
SensorDeviceViewDto:
type: object
properties:
id:
type: integer
format: int32
displayOrder:
type:
- integer
- 'null'
format: int32
name:
type:
- string
- 'null'
growId:
type: integer
format: int32
hidden:
type: boolean
hubId:
type:
- integer
- 'null'
format: int32
parSensorSubtype:
$ref: '#/components/schemas/ParSensorSubtype'
deviceType:
$ref: '#/components/schemas/DeviceType'
sensorType:
$ref: '#/components/schemas/SensorType'
additionalProperties: false
HubThresholdDto:
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'
hubId:
type:
- integer
- 'null'
format: int32
thresholdType:
$ref: '#/components/schemas/HubThresholdType'
additionalProperties: false
DeviceType:
type: integer
format: int32