Golioth · Capability

Golioth Management API — Devices

Golioth Management API — Devices. Manage the device inventory for a Golioth project, including create, list, update, delete, and credential management. Self-contained Naftiko capability covering one Golioth business surface.

Golioth Management API — Devices is a Naftiko capability published by Golioth, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 5 operations.

The capability includes 2 read-only operations and 3 state-changing operations. Lead operation: Golioth List Devices. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Golioth, Devices, and Management.

Run with Naftiko GoliothDevicesManagement

MCP Tools

golioth-list-devices

Golioth List Devices

read-only idempotent
golioth-create-device

Golioth Create Device

golioth-get-device

Golioth Get Device

read-only idempotent
golioth-update-device

Golioth Update Device

golioth-delete-device

Golioth Delete Device

idempotent

Capability Spec

management-devices.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Golioth Management API — Devices
  description: Golioth Management API — Devices. Manage the device inventory for a Golioth project, including create, list, update, delete, and credential management. Self-contained Naftiko capability covering one Golioth business surface.
  tags:
    - Golioth
    - Devices
    - Management
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
  - namespace: env
    keys:
      GOLIOTH_API_KEY: GOLIOTH_API_KEY
capability:
  consumes:
    - type: http
      namespace: management-devices
      baseUri: https://api.golioth.io
      description: Golioth Management API — Devices business capability. Self-contained.
      resources:
        - name: v1-devices
          path: /v1/projects/{projectId}/devices
          operations:
            - name: listDevices
              method: GET
              description: Golioth List Devices
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: createDevice
              method: POST
              description: Golioth Create Device
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
                - name: body
                  in: body
                  type: object
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v1-devices-by-id
          path: /v1/projects/{projectId}/devices/{deviceId}
          operations:
            - name: getDevice
              method: GET
              description: Golioth Get Device
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
                - name: deviceId
                  in: path
                  type: string
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: updateDevice
              method: PATCH
              description: Golioth Update Device
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
                - name: deviceId
                  in: path
                  type: string
                  required: true
                - name: body
                  in: body
                  type: object
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: deleteDevice
              method: DELETE
              description: Golioth Delete Device
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
                - name: deviceId
                  in: path
                  type: string
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v1-devices-credentials
          path: /v1/projects/{projectId}/devices/{deviceId}/credentials
          operations:
            - name: listCredentials
              method: GET
              description: Golioth List Device Credentials
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
                - name: deviceId
                  in: path
                  type: string
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: createCredential
              method: POST
              description: Golioth Create Device Credential
              outputRawFormat: json
              inputParameters:
                - name: projectId
                  in: path
                  type: string
                  required: true
                - name: deviceId
                  in: path
                  type: string
                  required: true
                - name: body
                  in: body
                  type: object
                  required: true
              outputParameters:
                - name: result
                  type: object
                  value: $.
      authentication:
        type: apikey
        key: x-api-key
        value: '{{env.GOLIOTH_API_KEY}}'
        placement: header
  exposes:
    - type: mcp
      namespace: management-devices-mcp
      port: 9090
      transport: http
      description: MCP adapter for Golioth Management API — Devices.
      tools:
        - name: golioth-list-devices
          description: Golioth List Devices
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: management-devices.listDevices
          with:
            projectId: tools.projectId
          outputParameters:
            - type: object
              mapping: $.
        - name: golioth-create-device
          description: Golioth Create Device
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: management-devices.createDevice
          with:
            projectId: tools.projectId
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: golioth-get-device
          description: Golioth Get Device
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: management-devices.getDevice
          with:
            projectId: tools.projectId
            deviceId: tools.deviceId
          outputParameters:
            - type: object
              mapping: $.
        - name: golioth-update-device
          description: Golioth Update Device
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: management-devices.updateDevice
          with:
            projectId: tools.projectId
            deviceId: tools.deviceId
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: golioth-delete-device
          description: Golioth Delete Device
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: management-devices.deleteDevice
          with:
            projectId: tools.projectId
            deviceId: tools.deviceId
          outputParameters:
            - type: object
              mapping: $.