Nine Fives Attenuator API

Attenuation setpoint control

OpenAPI Specification

nine-fives-attenuator-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Nine Fives Programmable REST Attenuator API
  version: '1.0'
  description: JSON REST API served on port 80 by the Nine Fives POE-ATTEN-6G programmable RF attenuator for programmatic control and monitoring. Faithfully transcribed from the published device reference manual; the device also exposes SCPI over raw TCP (port 5025) and HiSLIP (port 4880). No authentication is required — the API is served directly by the device over the local network (Ethernet or USB-C).
  contact:
    name: Nine Fives
    url: https://ninefives.com
  x-generated: '2026-07-20'
  x-method: generated
  x-source: https://docs.ninefives.com/attenuator/rest-api/overview/
servers:
- url: http://{deviceIp}
  description: Device-hosted API on port 80 (default Ethernet fallback IP 192.168.0.95, USB-C 192.168.42.95)
  variables:
    deviceIp:
      default: 192.168.0.95
      description: The IP address of the attenuator device on the local network
tags:
- name: Attenuator
  description: Attenuation setpoint control
paths:
  /api/attenuator:
    get:
      operationId: getAttenuation
      tags:
      - Attenuator
      summary: Get current attenuation setpoint
      description: Returns the current attenuation setpoint in dB.
      responses:
        '200':
          description: Current setpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attenuation'
    post:
      operationId: setAttenuation
      tags:
      - Attenuator
      summary: Set attenuation setpoint
      description: Sets the attenuation setpoint in dB. Valid range 0 to 95.25 dB in steps of 0.25 dB.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Attenuation'
      responses:
        '200':
          description: Setpoint applied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attenuation'
        '400':
          description: Invalid request body
        '500':
          description: Failed to set setpoint (value out of range or invalid step size)
  /api/attenuator/startup:
    get:
      operationId: getStartupAttenuation
      tags:
      - Attenuator
      summary: Get startup attenuation setpoint
      description: Returns the startup attenuation setpoint — the value applied when the device boots.
      responses:
        '200':
          description: Startup setpoint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartupAttenuation'
    post:
      operationId: setStartupAttenuation
      tags:
      - Attenuator
      summary: Set startup attenuation setpoint
      description: Sets the startup attenuation setpoint. Persisted and applied on every device boot. Valid range 0 to 95.25 dB in steps of 0.25 dB.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartupAttenuation'
      responses:
        '200':
          description: Startup setpoint saved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartupAttenuation'
        '400':
          description: Invalid request body
        '500':
          description: Failed to save startup setpoint
components:
  schemas:
    Attenuation:
      type: object
      required:
      - setpoint
      properties:
        setpoint:
          type: number
          minimum: 0
          maximum: 95.25
          multipleOf: 0.25
          description: Attenuation setpoint in dB (0 to 95.25 in steps of 0.25)
    StartupAttenuation:
      type: object
      required:
      - startup_setpoint
      properties:
        startup_setpoint:
          type: number
          minimum: 0
          maximum: 95.25
          multipleOf: 0.25
          description: Startup attenuation setpoint in dB, persisted across boots