Reolink · Capability

Reolink Camera HTTP API — PTZ

Reolink Camera HTTP API — PTZ. 9 operations. Lead operation: Get auto-tracking settings. Self-contained Naftiko capability covering one Reolink business surface.

Run with Naftiko ReolinkPTZ

What You Can Do

POST
Getautotrack — Get auto-tracking settings
/v1/cgi-bin/api-cgi-cmd-getautotrack-token-token
POST
Getptzcheckstate — Get PTZ calibration status
/v1/cgi-bin/api-cgi-cmd-getptzcheckstate-token-token
POST
Getptzpatrol — Get PTZ patrol settings
/v1/cgi-bin/api-cgi-cmd-getptzpatrol-token-token
POST
Getptzpreset — Get PTZ presets
/v1/cgi-bin/api-cgi-cmd-getptzpreset-token-token
POST
Ptzcheck — Calibrate PTZ
/v1/cgi-bin/api-cgi-cmd-ptzcheck-token-token
POST
Ptzctrl — Control PTZ movement
/v1/cgi-bin/api-cgi-cmd-ptzctrl-token-token
POST
Setautotrack — Set auto-tracking settings
/v1/cgi-bin/api-cgi-cmd-setautotrack-token-token
POST
Setptzpatrol — Set PTZ patrol configuration
/v1/cgi-bin/api-cgi-cmd-setptzpatrol-token-token
POST
Setptzpreset — Set PTZ preset position
/v1/cgi-bin/api-cgi-cmd-setptzpreset-token-token

MCP Tools

get-auto-tracking-settings

Get auto-tracking settings

read-only
get-ptz-calibration-status

Get PTZ calibration status

read-only
get-ptz-patrol-settings

Get PTZ patrol settings

read-only
get-ptz-presets

Get PTZ presets

read-only
calibrate-ptz

Calibrate PTZ

control-ptz-movement

Control PTZ movement

set-auto-tracking-settings

Set auto-tracking settings

set-ptz-patrol-configuration

Set PTZ patrol configuration

set-ptz-preset-position

Set PTZ preset position

Capability Spec

camera-ptz.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Reolink Camera HTTP API — PTZ
  description: 'Reolink Camera HTTP API — PTZ. 9 operations. Lead operation: Get auto-tracking settings. Self-contained Naftiko
    capability covering one Reolink business surface.'
  tags:
  - Reolink
  - PTZ
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    REOLINK_API_KEY: REOLINK_API_KEY
capability:
  consumes:
  - type: http
    namespace: camera-ptz
    baseUri: https://{camera_ip}
    description: Reolink Camera HTTP API — PTZ business capability. Self-contained, no shared references.
    resources:
    - name: cgi-bin-api.cgi?cmd=GetAutoTrack&token={token}
      path: /cgi-bin/api.cgi?cmd=GetAutoTrack&token={token}
      operations:
      - name: getautotrack
        method: POST
        description: Get auto-tracking 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=GetPtzCheckState&token={token}
      path: /cgi-bin/api.cgi?cmd=GetPtzCheckState&token={token}
      operations:
      - name: getptzcheckstate
        method: POST
        description: Get PTZ calibration 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=GetPtzPatrol&token={token}
      path: /cgi-bin/api.cgi?cmd=GetPtzPatrol&token={token}
      operations:
      - name: getptzpatrol
        method: POST
        description: Get PTZ patrol 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=GetPtzPreset&token={token}
      path: /cgi-bin/api.cgi?cmd=GetPtzPreset&token={token}
      operations:
      - name: getptzpreset
        method: POST
        description: Get PTZ presets
        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=PtzCheck&token={token}
      path: /cgi-bin/api.cgi?cmd=PtzCheck&token={token}
      operations:
      - name: ptzcheck
        method: POST
        description: Calibrate PTZ
        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=PtzCtrl&token={token}
      path: /cgi-bin/api.cgi?cmd=PtzCtrl&token={token}
      operations:
      - name: ptzctrl
        method: POST
        description: Control PTZ movement
        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=SetAutoTrack&token={token}
      path: /cgi-bin/api.cgi?cmd=SetAutoTrack&token={token}
      operations:
      - name: setautotrack
        method: POST
        description: Set auto-tracking 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=SetPtzPatrol&token={token}
      path: /cgi-bin/api.cgi?cmd=SetPtzPatrol&token={token}
      operations:
      - name: setptzpatrol
        method: POST
        description: Set PTZ patrol configuration
        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=SetPtzPreset&token={token}
      path: /cgi-bin/api.cgi?cmd=SetPtzPreset&token={token}
      operations:
      - name: setptzpreset
        method: POST
        description: Set PTZ preset position
        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-ptz-rest
    port: 8080
    description: REST adapter for Reolink Camera HTTP API — PTZ. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/cgi-bin/api-cgi-cmd-getautotrack-token-token
      name: cgi-bin-api-cgi-cmd-getautotrack-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetAutoTrack&token={token}.
      operations:
      - method: POST
        name: getautotrack
        description: Get auto-tracking settings
        call: camera-ptz.getautotrack
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getptzcheckstate-token-token
      name: cgi-bin-api-cgi-cmd-getptzcheckstate-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetPtzCheckState&token={token}.
      operations:
      - method: POST
        name: getptzcheckstate
        description: Get PTZ calibration status
        call: camera-ptz.getptzcheckstate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getptzpatrol-token-token
      name: cgi-bin-api-cgi-cmd-getptzpatrol-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetPtzPatrol&token={token}.
      operations:
      - method: POST
        name: getptzpatrol
        description: Get PTZ patrol settings
        call: camera-ptz.getptzpatrol
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-getptzpreset-token-token
      name: cgi-bin-api-cgi-cmd-getptzpreset-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=GetPtzPreset&token={token}.
      operations:
      - method: POST
        name: getptzpreset
        description: Get PTZ presets
        call: camera-ptz.getptzpreset
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-ptzcheck-token-token
      name: cgi-bin-api-cgi-cmd-ptzcheck-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=PtzCheck&token={token}.
      operations:
      - method: POST
        name: ptzcheck
        description: Calibrate PTZ
        call: camera-ptz.ptzcheck
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-ptzctrl-token-token
      name: cgi-bin-api-cgi-cmd-ptzctrl-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=PtzCtrl&token={token}.
      operations:
      - method: POST
        name: ptzctrl
        description: Control PTZ movement
        call: camera-ptz.ptzctrl
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-setautotrack-token-token
      name: cgi-bin-api-cgi-cmd-setautotrack-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=SetAutoTrack&token={token}.
      operations:
      - method: POST
        name: setautotrack
        description: Set auto-tracking settings
        call: camera-ptz.setautotrack
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-setptzpatrol-token-token
      name: cgi-bin-api-cgi-cmd-setptzpatrol-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=SetPtzPatrol&token={token}.
      operations:
      - method: POST
        name: setptzpatrol
        description: Set PTZ patrol configuration
        call: camera-ptz.setptzpatrol
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cgi-bin/api-cgi-cmd-setptzpreset-token-token
      name: cgi-bin-api-cgi-cmd-setptzpreset-token-token
      description: REST surface for cgi-bin-api.cgi?cmd=SetPtzPreset&token={token}.
      operations:
      - method: POST
        name: setptzpreset
        description: Set PTZ preset position
        call: camera-ptz.setptzpreset
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: camera-ptz-mcp
    port: 9090
    transport: http
    description: MCP adapter for Reolink Camera HTTP API — PTZ. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-auto-tracking-settings
      description: Get auto-tracking settings
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-ptz.getautotrack
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-ptz-calibration-status
      description: Get PTZ calibration status
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-ptz.getptzcheckstate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-ptz-patrol-settings
      description: Get PTZ patrol settings
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-ptz.getptzpatrol
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-ptz-presets
      description: Get PTZ presets
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: camera-ptz.getptzpreset
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: calibrate-ptz
      description: Calibrate PTZ
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-ptz.ptzcheck
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: control-ptz-movement
      description: Control PTZ movement
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-ptz.ptzctrl
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-auto-tracking-settings
      description: Set auto-tracking settings
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-ptz.setautotrack
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-ptz-patrol-configuration
      description: Set PTZ patrol configuration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-ptz.setptzpatrol
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-ptz-preset-position
      description: Set PTZ preset position
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: camera-ptz.setptzpreset
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.