Pulse Grow · Capability

Pulse Api — Sensors

Pulse Api — Sensors. 5 operations. Lead operation: All Sensor Ids. Self-contained Naftiko capability covering one Pulse Grow business surface.

Run with Naftiko Pulse GrowSensors

What You Can Do

GET
Get — All Sensor Ids
/v1/sensors/ids
GET
Get — Data Range for Sensor. Each Datapoint in range will be counted towards your api usage limit.
/v1/sensors/{sensorid}/data-range
GET
Get — All Sensor Details
/v1/sensors/{sensorid}/details
GET
Get — Force an immediate sensor reading
/v1/sensors/{sensorid}/force-read
GET
Get — Sensor Recent Data
/v1/sensors/{sensorid}/recent-data

MCP Tools

all-sensor-ids

All Sensor Ids

read-only idempotent
data-range-sensor-each-datapoint

Data Range for Sensor. Each Datapoint in range will be counted towards your api usage limit.

read-only idempotent
all-sensor-details

All Sensor Details

read-only idempotent
force-immediate-sensor-reading

Force an immediate sensor reading

read-only idempotent
sensor-recent-data

Sensor Recent Data

read-only idempotent

Capability Spec

pulse-grow-sensors.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pulse Api — Sensors
  description: 'Pulse Api — Sensors. 5 operations. Lead operation: All Sensor Ids. Self-contained Naftiko capability covering
    one Pulse Grow business surface.'
  tags:
  - Pulse Grow
  - Sensors
  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-sensors
    baseUri: ''
    description: Pulse Api — Sensors business capability. Self-contained, no shared references.
    resources:
    - name: sensors-ids
      path: /sensors/ids
      operations:
      - name: get
        method: GET
        description: All Sensor Ids
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: sensors-sensorId-data-range
      path: /sensors/{sensorId}/data-range
      operations:
      - name: get
        method: GET
        description: Data Range for Sensor. Each Datapoint in range will be counted towards your api usage limit.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sensorId
          in: path
          type: integer
          description: The sensor identifier for which to retrieve data.
          required: true
        - name: start
          in: query
          type: string
          description: The beginning time of your data range in ISO 8601 format.
          required: true
        - name: end
          in: query
          type: string
          description: The end time of your data range in ISO 8601 format. If not provided, API will use the current time.
    - name: sensors-sensorId-details
      path: /sensors/{sensorId}/details
      operations:
      - name: get
        method: GET
        description: All Sensor Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sensorId
          in: path
          type: integer
          required: true
    - name: sensors-sensorId-force-read
      path: /sensors/{sensorId}/force-read
      operations:
      - name: get
        method: GET
        description: Force an immediate sensor reading
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sensorId
          in: path
          type: integer
          description: The sensor identifier
          required: true
    - name: sensors-sensorId-recent-data
      path: /sensors/{sensorId}/recent-data
      operations:
      - name: get
        method: GET
        description: Sensor Recent Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sensorId
          in: path
          type: integer
          description: The sensor identifier for which to retrieve the latest data.
          required: true
  exposes:
  - type: rest
    namespace: pulse-grow-sensors-rest
    port: 8080
    description: REST adapter for Pulse Api — Sensors. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/sensors/ids
      name: sensors-ids
      description: REST surface for sensors-ids.
      operations:
      - method: GET
        name: get
        description: All Sensor Ids
        call: pulse-grow-sensors.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sensors/{sensorid}/data-range
      name: sensors-sensorid-data-range
      description: REST surface for sensors-sensorId-data-range.
      operations:
      - method: GET
        name: get
        description: Data Range for Sensor. Each Datapoint in range will be counted towards your api usage limit.
        call: pulse-grow-sensors.get
        with:
          sensorId: rest.sensorId
          start: rest.start
          end: rest.end
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sensors/{sensorid}/details
      name: sensors-sensorid-details
      description: REST surface for sensors-sensorId-details.
      operations:
      - method: GET
        name: get
        description: All Sensor Details
        call: pulse-grow-sensors.get
        with:
          sensorId: rest.sensorId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sensors/{sensorid}/force-read
      name: sensors-sensorid-force-read
      description: REST surface for sensors-sensorId-force-read.
      operations:
      - method: GET
        name: get
        description: Force an immediate sensor reading
        call: pulse-grow-sensors.get
        with:
          sensorId: rest.sensorId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sensors/{sensorid}/recent-data
      name: sensors-sensorid-recent-data
      description: REST surface for sensors-sensorId-recent-data.
      operations:
      - method: GET
        name: get
        description: Sensor Recent Data
        call: pulse-grow-sensors.get
        with:
          sensorId: rest.sensorId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: pulse-grow-sensors-mcp
    port: 9090
    transport: http
    description: MCP adapter for Pulse Api — Sensors. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: all-sensor-ids
      description: All Sensor Ids
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-sensors.get
      outputParameters:
      - type: object
        mapping: $.
    - name: data-range-sensor-each-datapoint
      description: Data Range for Sensor. Each Datapoint in range will be counted towards your api usage limit.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-sensors.get
      with:
        sensorId: tools.sensorId
        start: tools.start
        end: tools.end
      outputParameters:
      - type: object
        mapping: $.
    - name: all-sensor-details
      description: All Sensor Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-sensors.get
      with:
        sensorId: tools.sensorId
      outputParameters:
      - type: object
        mapping: $.
    - name: force-immediate-sensor-reading
      description: Force an immediate sensor reading
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-sensors.get
      with:
        sensorId: tools.sensorId
      outputParameters:
      - type: object
        mapping: $.
    - name: sensor-recent-data
      description: Sensor Recent Data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: pulse-grow-sensors.get
      with:
        sensorId: tools.sensorId
      outputParameters:
      - type: object
        mapping: $.