Pulse Grow · Capability

Pulse Api — ProLightReading

Pulse Api — ProLightReading. 2 operations. Lead operation: Remotely triggers a light reading off of a Pulse Pro. The Result needs to be fetched separately in 5-10 seconds There is a small chance of the Pro failing to trigger a light reading remotely If no new data is found - retrigger in 1 minute. Self-contained Naftiko capability covering one Pulse Grow business surface.

Run with Naftiko Pulse GrowProLightReading

What You Can Do

GET
Get — Remotely triggers a light reading off of a Pulse Pro.
/v1/api/devices/{deviceid}/trigger-light-reading
GET
Get — Retrieves (one page worth of) light readings(including spectrum) for a given device, supports pagination.
/v1/api/light-readings/{deviceid}

MCP Tools

remotely-triggers-light-reading-off

Remotely triggers a light reading off of a Pulse Pro.

read-only idempotent
retrieves-one-page-worth-light

Retrieves (one page worth of) light readings(including spectrum) for a given device, supports pagination.

read-only idempotent

Capability Spec

pulse-grow-prolightreading.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pulse Api — ProLightReading
  description: 'Pulse Api — ProLightReading. 2 operations. Lead operation: Remotely triggers a light reading off of a Pulse
    Pro.

    The Result needs to be fetched separately in 5-10 seconds

    There is a small chance of the Pro failing to trigger a light reading remotely

    If no new data is found - retrigger in 1 minute. Self-contained Naftiko capability covering one Pulse Grow business surface.'
  tags:
  - Pulse Grow
  - ProLightReading
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PULSE_GROW_API_KEY: PULSE_GROW_API_KEY
capability:
  consumes:
  - type: http
    namespace: pulse-grow-prolightreading
    baseUri: ''
    description: Pulse Api — ProLightReading business capability. Self-contained, no shared references.
    resources:
    - name: api-devices-deviceId-trigger-light-reading
      path: /api/devices/{deviceId}/trigger-light-reading
      operations:
      - name: get
        method: GET
        description: Remotely triggers a light reading off of a Pulse Pro.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deviceId
          in: path
          type: integer
          description: Id of the device
          required: true
    - name: api-light-readings-deviceId
      path: /api/light-readings/{deviceId}
      operations:
      - name: get
        method: GET
        description: Retrieves (one page worth of) light readings(including spectrum) for a given device, supports pagination.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: deviceId
          in: path
          type: integer
          description: Id of the device
          required: true
        - name: page
          in: query
          type: integer
          description: Object containing requested page position. Note that page numeration starts from zero
  exposes:
  - type: rest
    namespace: pulse-grow-prolightreading-rest
    port: 8080
    description: REST adapter for Pulse Api — ProLightReading. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/devices/{deviceid}/trigger-light-reading
      name: api-devices-deviceid-trigger-light-reading
      description: REST surface for api-devices-deviceId-trigger-light-reading.
      operations:
      - method: GET
        name: get
        description: Remotely triggers a light reading off of a Pulse Pro.
        call: pulse-grow-prolightreading.get
        with:
          deviceId: rest.deviceId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/light-readings/{deviceid}
      name: api-light-readings-deviceid
      description: REST surface for api-light-readings-deviceId.
      operations:
      - method: GET
        name: get
        description: Retrieves (one page worth of) light readings(including spectrum) for a given device, supports pagination.
        call: pulse-grow-prolightreading.get
        with:
          deviceId: rest.deviceId
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: pulse-grow-prolightreading-mcp
    port: 9090
    transport: http
    description: MCP adapter for Pulse Api — ProLightReading. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: remotely-triggers-light-reading-off
      description: Remotely triggers a light reading off of a Pulse Pro.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-prolightreading.get
      with:
        deviceId: tools.deviceId
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieves-one-page-worth-light
      description: Retrieves (one page worth of) light readings(including spectrum) for a given device, supports pagination.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-prolightreading.get
      with:
        deviceId: tools.deviceId
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.