Pulse Grow · Capability

Pulse Api — Devices

Pulse Api — Devices. 5 operations. Lead operation: All Device Details. Self-contained Naftiko capability covering one Pulse Grow business surface.

Run with Naftiko Pulse GrowDevices

What You Can Do

GET
Get — All Device Details
/v1/devices/details
GET
Get — All Device Ids
/v1/devices/ids
GET
Get — Data Range for All Devices. Each Datapoint will be counted towards your api usage limit.
/v1/devices/range
GET
Get — Data Range for Device. Each Datapoint in range will be counted towards your api usage limit.
/v1/devices/{deviceid}/data-range
GET
Get — Device Recent Data
/v1/devices/{deviceid}/recent-data

MCP Tools

all-device-details

All Device Details

read-only idempotent
all-device-ids

All Device Ids

read-only idempotent
data-range-all-devices-each

Data Range for All Devices. Each Datapoint will be counted towards your api usage limit.

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

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

read-only idempotent
device-recent-data

Device Recent Data

read-only idempotent

Capability Spec

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