Reolink · Capability

Reolink Camera HTTP API — System

Reolink Camera HTTP API — System. 12 operations. Lead operation: Format storage drive. Self-contained Naftiko capability covering one Reolink business surface.

Run with Naftiko ReolinkSystem

What You Can Do

POST
Formathdd — Format storage drive
/v1/cgi-bin/api-cgi-cmd-formathdd-token-token
POST
Getability — Get user abilities and permissions
/v1/cgi-bin/api-cgi-cmd-getability-token-token
POST
Getautomaint — Get automatic maintenance settings
/v1/cgi-bin/api-cgi-cmd-getautomaint-token-token
POST
Getautoupgrade — Get auto upgrade settings
/v1/cgi-bin/api-cgi-cmd-getautoupgrade-token-token
POST
Getchannelstatus — Get channel status
/v1/cgi-bin/api-cgi-cmd-getchannelstatus-token-token
POST
Getdevinfo — Get device information
/v1/cgi-bin/api-cgi-cmd-getdevinfo-token-token
POST
Getdevname — Get device name
/v1/cgi-bin/api-cgi-cmd-getdevname-token-token
POST
Gethddinfo — Get storage information
/v1/cgi-bin/api-cgi-cmd-gethddinfo-token-token
POST
Gettime — Get device time
/v1/cgi-bin/api-cgi-cmd-gettime-token-token
POST
Reboot — Reboot the device
/v1/cgi-bin/api-cgi-cmd-reboot-token-token
POST
Setdevname — Set device name
/v1/cgi-bin/api-cgi-cmd-setdevname-token-token
POST
Settime — Set device time
/v1/cgi-bin/api-cgi-cmd-settime-token-token

MCP Tools

format-storage-drive

Format storage drive

get-user-abilities-and-permissions

Get user abilities and permissions

read-only
get-automatic-maintenance-settings

Get automatic maintenance settings

read-only
get-auto-upgrade-settings

Get auto upgrade settings

read-only
get-channel-status

Get channel status

read-only
get-device-information

Get device information

read-only
get-device-name

Get device name

read-only
get-storage-information

Get storage information

read-only
get-device-time

Get device time

read-only
reboot-device

Reboot the device

set-device-name

Set device name

set-device-time

Set device time

Capability Spec

camera-system.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Reolink Camera HTTP API — System
  description: 'Reolink Camera HTTP API — System. 12 operations. Lead operation: Format storage drive. Self-contained Naftiko
    capability covering one Reolink business surface.'
  tags:
  - Reolink
  - System
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    REOLINK_API_KEY: REOLINK_API_KEY
capability:
  consumes:
  - type: http
    namespace: camera-system
    baseUri: https://{camera_ip}
    description: Reolink Camera HTTP API — System business capability. Self-contained, no shared references.
    resources:
    - name: cgi-bin-api.cgi?cmd=FormatHdd&token={token}
      path: /cgi-bin/api.cgi?cmd=FormatHdd&token={token}
      operations:
      - name: formathdd
        method: POST
        description: Format storage drive
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetAbility&token={token}
      path: /cgi-bin/api.cgi?cmd=GetAbility&token={token}
      operations:
      - name: getability
        method: POST
        description: Get user abilities and permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetAutoMaint&token={token}
      path: /cgi-bin/api.cgi?cmd=GetAutoMaint&token={token}
      operations:
      - name: getautomaint
        method: POST
        description: Get automatic maintenance settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetAutoUpgrade&token={token}
      path: /cgi-bin/api.cgi?cmd=GetAutoUpgrade&token={token}
      operations:
      - name: getautoupgrade
        method: POST
        description: Get auto upgrade settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetChannelStatus&token={token}
      path: /cgi-bin/api.cgi?cmd=GetChannelStatus&token={token}
      operations:
      - name: getchannelstatus
        method: POST
        description: Get channel status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetDevInfo&token={token}
      path: /cgi-bin/api.cgi?cmd=GetDevInfo&token={token}
      operations:
      - name: getdevinfo
        method: POST
        description: Get device information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetDevName&token={token}
      path: /cgi-bin/api.cgi?cmd=GetDevName&token={token}
      operations:
      - name: getdevname
        method: POST
        description: Get device name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetHddInfo&token={token}
      path: /cgi-bin/api.cgi?cmd=GetHddInfo&token={token}
      operations:
      - name: gethddinfo
        method: POST
        description: Get storage information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=GetTime&token={token}
      path: /cgi-bin/api.cgi?cmd=GetTime&token={token}
      operations:
      - name: gettime
        method: POST
        description: Get device time
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=Reboot&token={token}
      path: /cgi-bin/api.cgi?cmd=Reboot&token={token}
      operations:
      - name: reboot
        method: POST
        description: Reboot the device
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=SetDevName&token={token}
      path: /cgi-bin/api.cgi?cmd=SetDevName&token={token}
      operations:
      - name: setdevname
        method: POST
        description: Set device name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: cgi-bin-api.cgi?cmd=SetTime&token={token}
      path: /cgi-bin/api.cgi?cmd=SetTime&token={token}
      operations:
      - name: settime
        method: POST
        description: Set device time
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: token
      value: '{{env.REOLINK_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: camera-system-rest
    port: 8080
    description: REST adapter for Reolink Camera HTTP API — System. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/cgi-bin/api-cgi-cmd-formathdd-token-token
      name: cgi-bin-api-cgi-cmd-formathdd-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=FormatHdd&token={token}.
      operations:
      - method: POST
        name: formathdd
        description: Format storage drive
        call: camera-system.formathdd
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getability-token-token
      name: cgi-bin-api-cgi-cmd-getability-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetAbility&token={token}.
      operations:
      - method: POST
        name: getability
        description: Get user abilities and permissions
        call: camera-system.getability
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getautomaint-token-token
      name: cgi-bin-api-cgi-cmd-getautomaint-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetAutoMaint&token={token}.
      operations:
      - method: POST
        name: getautomaint
        description: Get automatic maintenance settings
        call: camera-system.getautomaint
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getautoupgrade-token-token
      name: cgi-bin-api-cgi-cmd-getautoupgrade-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetAutoUpgrade&token={token}.
      operations:
      - method: POST
        name: getautoupgrade
        description: Get auto upgrade settings
        call: camera-system.getautoupgrade
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getchannelstatus-token-token
      name: cgi-bin-api-cgi-cmd-getchannelstatus-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetChannelStatus&token={token}.
      operations:
      - method: POST
        name: getchannelstatus
        description: Get channel status
        call: camera-system.getchannelstatus
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getdevinfo-token-token
      name: cgi-bin-api-cgi-cmd-getdevinfo-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetDevInfo&token={token}.
      operations:
      - method: POST
        name: getdevinfo
        description: Get device information
        call: camera-system.getdevinfo
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getdevname-token-token
      name: cgi-bin-api-cgi-cmd-getdevname-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetDevName&token={token}.
      operations:
      - method: POST
        name: getdevname
        description: Get device name
        call: camera-system.getdevname
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-gethddinfo-token-token
      name: cgi-bin-api-cgi-cmd-gethddinfo-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetHddInfo&token={token}.
      operations:
      - method: POST
        name: gethddinfo
        description: Get storage information
        call: camera-system.gethddinfo
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-gettime-token-token
      name: cgi-bin-api-cgi-cmd-gettime-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetTime&token={token}.
      operations:
      - method: POST
        name: gettime
        description: Get device time
        call: camera-system.gettime
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-reboot-token-token
      name: cgi-bin-api-cgi-cmd-reboot-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=Reboot&token={token}.
      operations:
      - method: POST
        name: reboot
        description: Reboot the device
        call: camera-system.reboot
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-setdevname-token-token
      name: cgi-bin-api-cgi-cmd-setdevname-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=SetDevName&token={token}.
      operations:
      - method: POST
        name: setdevname
        description: Set device name
        call: camera-system.setdevname
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-settime-token-token
      name: cgi-bin-api-cgi-cmd-settime-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=SetTime&token={token}.
      operations:
      - method: POST
        name: settime
        description: Set device time
        call: camera-system.settime
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: camera-system-mcp
    port: 9090
    transport: http
    description: MCP adapter for Reolink Camera HTTP API — System. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: format-storage-drive
      description: Format storage drive
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-system.formathdd
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-abilities-and-permissions
      description: Get user abilities and permissions
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.getability
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-automatic-maintenance-settings
      description: Get automatic maintenance settings
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.getautomaint
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-auto-upgrade-settings
      description: Get auto upgrade settings
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.getautoupgrade
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-channel-status
      description: Get channel status
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.getchannelstatus
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-device-information
      description: Get device information
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.getdevinfo
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-device-name
      description: Get device name
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.getdevname
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-storage-information
      description: Get storage information
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.gethddinfo
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-device-time
      description: Get device time
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-system.gettime
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: reboot-device
      description: Reboot the device
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-system.reboot
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-device-name
      description: Set device name
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-system.setdevname
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-device-time
      description: Set device time
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-system.settime
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.