Pulse Grow Sensors API

A collection of API operations related to devices.

Operations 5

GET /sensors/{sensorId}/recent-data Sensor Recent Data #
GET /sensors/{sensorId}/force-read Force an immediate sensor reading #
GET /sensors/{sensorId}/data-range Data Range for Sensor. #
GET /sensors/ids All Sensor Ids #
GET /sensors/{sensorId}/details All Sensor Details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pulse-grow-sensors-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

pulse-grow-sensors-api-openapi.yml Raw ↑
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