swagger: "2.0"
schemes:
  - http
host: demo.waterlinked.com
info:
  contact:
    x-twitter: waterlinkedas
  description: |-
    API for the Water Linked Underwater GPS. For more details: http://www.waterlinked.com

    Recommended approach for connecting to a Underwater GPS via the API is:
    - If "GET /api/" times out, the Underwater GPS is not running (on this IP address)
    - If "GET /api/" responds with 200 OK check that the api version returrned (eg "v1") is supported by the client (eg: also supports "v1").
    - If the api version returned does not match what the client supports: give an error to the user and recommend upgrading. (Eg: response is "v2" while client only supports "v1")
    - If "GET /api/" responds with 301 Moved permanently. "GET /api/v1/version" to check if the kit has a version earlier than 1.5.
    - "GET /api/v1/version" will always respond with 200 OK on Underwater GPS earlier than 1.5 release.

    Configuration API is is not considered stable and will potentially be changed
  title: The Water Linked Underwater GPS API
  version: 1.0.0
  x-apisguru-categories:
    - location
  x-logo:
    url: https://twitter.com/waterlinkedas/profile_image?size=original
  x-origin:
    - format: swagger
      url: http://demo.waterlinked.com/swagger/swagger.json
      version: "2.0"
  x-providerName: waterlinked.com
consumes:
  - application/json
produces:
  - application/json
responses:
  BadRequest:
    description: Bad Request
  Conflict:
    description: Conflict
  Forbidden:
    description: Forbidden
  InternalServerError:
    description: Internal Server Error
  NoContent:
    description: No Content
  NotFound:
    description: Not Found
  OK:
    description: OK
  RequestTimeout:
    description: Request Timeout
  ServiceUnavailable:
    description: Service Unavailable
paths:
  /api/:
    get:
      operationId: about#ApiVersion
      produces:
        - application/vnd.wupdater.apiversion
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WupdaterApiversion"
      schemes:
        - http
      summary: ApiVersion about
      tags:
        - about
  /api/v1/about:
    get:
      description: Get about information
      operationId: about#Get
      produces:
        - application/vnd.waterlinked.about+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedAbout"
      schemes:
        - http
      summary: Get about
      tags:
        - about
  /api/v1/about/factoryreset:
    post:
      description: Reset all settings on master electronics
      operationId: about#FactoryReset
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "404":
          description: Not Found
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "503":
          description: Service Unavailable
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: FactoryReset about
      tags:
        - about
  /api/v1/about/led:
    get:
      description: Flash LED1 on master electronics
      operationId: about#LED
      produces:
        - text/plain
      responses:
        "200":
          description: OK
        "404":
          description: Not Found
      schemes:
        - http
      summary: LED about
      tags:
        - about
  /api/v1/about/status:
    get:
      description: Get current IMU and GPS status
      operationId: about#Status
      produces:
        - application/vnd.waterlinked.status+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedStatus"
      schemes:
        - http
      summary: Status about
      tags:
        - about
  /api/v1/about/temperature:
    get:
      description: Get board temperature
      operationId: about#Temperature
      produces:
        - application/vnd.waterlinked.temperature+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedTemperature"
      schemes:
        - http
      summary: Temperature about
      tags:
        - about
  /api/v1/config/antenna:
    get:
      description: Get Antenna configuration
      operationId: config#GetAntennaConfig
      produces:
        - application/vnd.waterlinked.antenna_config+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedAntenna_config"
      schemes:
        - http
      summary: GetAntennaConfig config
      tags:
        - config
    put:
      description: Modify Antenna configuration
      operationId: config#ModifyAntennaConfig
      parameters:
        - description: Configuration parameters for antenna set up
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/ModifyAntennaConfigConfigPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "503":
          description: Service Unavailable
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: ModifyAntennaConfig config
      tags:
        - config
  /api/v1/config/generic:
    get:
      description: Get generic configuration
      operationId: config#Get
      produces:
        - application/vnd.waterlinked.configuration+json
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedConfiguration"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: Get config
      tags:
        - config
    put:
      description: Modify generic configuration
      operationId: config#Modify
      parameters:
        - description: Configuration parameters
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/ModifyConfigPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "503":
          description: Service Unavailable
      schemes:
        - http
      summary: Modify config
      tags:
        - config
  /api/v1/config/ip:
    get:
      description: Get IP configuration
      operationId: config#GetIP
      produces:
        - application/vnd.waterlinked.ip_config+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedIp_config"
      schemes:
        - http
      summary: GetIP config
      tags:
        - config
    put:
      description: Modify IP configuration
      operationId: config#ModifyIP
      parameters:
        - description: Configuration parameters
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/ModifyIPConfigPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "503":
          description: Service Unavailable
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: ModifyIP config
      tags:
        - config
  /api/v1/config/receivers/:
    get:
      description: (Re)Load current receiver settings and return them
      operationId: config#ListReceiver
      produces:
        - application/vnd.waterlinked.receiver+json; type=collection
      responses:
        "200":
          description: Returned list of receivers
          schema:
            $ref: "#/definitions/WaterlinkedReceiverCollection"
      schemes:
        - http
      summary: ListReceiver config
      tags:
        - config
  "/api/v1/config/receivers/{ID}":
    get:
      description: Get receiver configuration by id
      operationId: config#ShowReceiver
      parameters:
        - description: Identifier
          in: path
          name: ID
          required: true
          type: integer
      produces:
        - application/vnd.waterlinked.receiver+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedReceiver"
        "404":
          description: Not Found
      schemes:
        - http
      summary: ShowReceiver config
      tags:
        - config
    put:
      description: Modify receiver configuration, does not apply the change until generic modify is called. Calling list will discard changes
      operationId: config#ModifyReceiver
      parameters:
        - description: Identifier
          in: path
          name: ID
          required: true
          type: integer
        - description: A receiver configuration
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/ModifyReceiverConfigPayload"
      responses:
        "204":
          description: No Content
        "404":
          description: Not Found
      schemes:
        - http
      summary: ModifyReceiver config
      tags:
        - config
  /api/v1/config/wifi:
    get:
      description: Get WIFI configuration
      operationId: config#GetWIFI
      produces:
        - application/vnd.waterlinked.wifi_config+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedWifi_config"
      schemes:
        - http
      summary: GetWIFI config
      tags:
        - config
    put:
      description: Modify WIFI configuration
      operationId: config#ModifyWIFI
      parameters:
        - description: Configuration parameters
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/ModifyWIFIConfigPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "503":
          description: Service Unavailable
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: ModifyWIFI config
      tags:
        - config
  /api/v1/external/depth:
    put:
      description: Set depth from external source. If Locator A1 is used, this is required to get a position
      operationId: external#SetDepth
      parameters:
        - description: Current locator depth and temperature
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/SetDepthExternalPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: SetDepth external
      tags:
        - external
  /api/v1/external/imu:
    get:
      description: "[DEPRECATED]Get rotation and acceleration of vehicle Locator is mounted on which was previously set"
      operationId: external#GetVehicleIMU
      produces:
        - application/vnd.wl.external.vehicle.imu+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WlExternalVehicleImu"
        "204":
          description: No Content
      schemes:
        - http
      summary: GetVehicleIMU external
      tags:
        - external
    put:
      description: "[DEPRECATED]Set rotation and acceleration of vehicle Locator is mounted on. This is used to improve positioning of vehicle"
      operationId: external#SetVehicleIMU
      parameters:
        - description: Set current rotation and acceleration of vehicle
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/SetVehicleIMUExternalPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: SetVehicleIMU external
      tags:
        - external
  /api/v1/external/master:
    put:
      description: Set current global position of master electronics from external source. Values are only used if GPS mode is set to use external GPS
      operationId: external#SetMaster
      parameters:
        - description: Global master position from external source
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/SetMasterExternalPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: SetMaster external
      tags:
        - external
  /api/v1/external/orientation:
    get:
      description: Get orientation of Vehicle/ROV/Locator set by SetOrientation
      operationId: external#GetOrientation
      produces:
        - application/vnd.waterlinked.operation_response+json
        - application/vnd.wl.external.locator.orientation+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WlExternalLocatorOrientation"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: GetOrientation external
      tags:
        - external
    put:
      description: Set orientation/compass heading of Vehicle/ROV/Locator. This is used only for visualization in GUI
      operationId: external#SetOrientation
      parameters:
        - description: Set current compass heading of ROV/locator
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/SetOrientationExternalPayload"
      produces:
        - application/vnd.waterlinked.operation_response+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: SetOrientation external
      tags:
        - external
  /api/v1/imu/calibrate:
    get:
      description: Get IMU status and orientation
      operationId: imu#Get
      produces:
        - application/vnd.waterlinked.imu+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedImu"
      schemes:
        - http
      summary: Get imu
      tags:
        - imu
    post:
      description: "[DEPRECATED]Start calibration"
      operationId: imu#Calibrate
      parameters:
        - description: IMU calibration action
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/CalibrateImuPayload"
      produces:
        - text/plain
      responses:
        "200":
          description: OK
        "408":
          description: Request Timeout
        "409":
          description: Conflict
      schemes:
        - http
      summary: Calibrate imu
      tags:
        - imu
  /api/v1/imu/resetgyros:
    post:
      description: Reset Gyro
      operationId: imu#ResetGyro
      produces:
        - text/plain
      responses:
        "200":
          description: OK
        "408":
          description: Request Timeout
        "409":
          description: Conflict
      schemes:
        - http
      summary: ResetGyro imu
      tags:
        - imu
  /api/v1/imu/setnorth:
    post:
      description: Set north point
      operationId: imu#SetNorth
      parameters:
        - description: IMU set north
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/SetNorthImuPayload"
      produces:
        - text/plain
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "408":
          description: Request Timeout
        "409":
          description: Conflict
      schemes:
        - http
      summary: SetNorth imu
      tags:
        - imu
  /api/v1/poi/:
    get:
      description: List all points of interest
      operationId: poi#List
      produces:
        - application/vnd.waterlinked.poi+json; type=collection
      responses:
        "200":
          description: Return list of all POIs
          schema:
            $ref: "#/definitions/WaterlinkedPoiCollection"
        "404":
          description: Not Found
      schemes:
        - http
      summary: List poi
      tags:
        - poi
    post:
      description: Create a new POI
      operationId: poi#Create
      parameters:
        - description: A list of all POI
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/CreatePoiPayload"
      produces:
        - application/vnd.goa.error
      responses:
        "201":
          description: Resource created
          headers:
            Location:
              description: href to created resource
              pattern: ^/poi/[0-9]+$
              type: string
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/error"
        "403":
          description: Forbidden
      schemes:
        - http
      summary: Create poi
      tags:
        - poi
  "/api/v1/poi/{ID}":
    delete:
      operationId: poi#Delete
      parameters:
        - in: path
          name: ID
          required: true
          type: integer
      produces:
        - application/vnd.goa.error
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/error"
        "404":
          description: Not Found
      schemes:
        - http
      summary: Delete poi
      tags:
        - poi
    get:
      description: Get a POI
      operationId: poi#Show
      parameters:
        - in: path
          name: ID
          required: true
          type: integer
      produces:
        - application/vnd.waterlinked.poi+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedPoi"
        "404":
          description: Not Found
      schemes:
        - http
      summary: Show poi
      tags:
        - poi
    patch:
      operationId: poi#Update
      parameters:
        - in: path
          name: ID
          required: true
          type: integer
        - description: A list of all POI
          in: body
          name: payload
          required: true
          schema:
            $ref: "#/definitions/UpdatePoiPayload"
      produces:
        - application/vnd.goa.error
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
          schema:
            $ref: "#/definitions/error"
        "404":
          description: Not Found
      schemes:
        - http
      summary: Update poi
      tags:
        - poi
  /api/v1/position/acoustic/filtered:
    get:
      description: "Get current Kalman filtered acoustic position relative to master acoustics. Expected update frequency: 4 Hz"
      operationId: position#AcousticFiltered
      produces:
        - application/vnd.waterlinked.accoustic.position+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedAccousticPosition"
        "500":
          description: Internal Server Error
      schemes:
        - http
      summary: AcousticFiltered position
      tags:
        - position
  /api/v1/position/acoustic/raw:
    get:
      description: "Get current unfiltered acoustic position relative to master acoustics. Expected update frequency: 4 Hz"
      operationId: position#AcousticRaw
      produces:
        - application/vnd.waterlinked.accoustic.position+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WaterlinkedAccousticPosition"
        "500":
          description: Internal Server Error
      schemes:
        - http
      summary: AcousticRaw position
      tags:
        - position
  /api/v1/position/global:
    get:
      description: "Get current global position of locator. Locator position is calculated from the current acoustic position and the global position of the master electronics. Expected update frequency: 4 Hz"
      operationId: position#Get
      produces:
        - application/vnd.wl.satellite.position+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WlSatellitePosition"
        "500":
          description: Internal Server Error
      schemes:
        - http
      summary: Get position
      tags:
        - position
  /api/v1/position/master:
    get:
      description: "Get current global position of master electronics. Expected update frequency: 1 Hz"
      operationId: position#GetMaster
      produces:
        - application/vnd.wl.satellite.position+json
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WlSatellitePosition"
        "500":
          description: Internal Server Error
      schemes:
        - http
      summary: GetMaster position
      tags:
        - position
  /api/v1/status_report/:
    get:
      description: Get list of status reports from all status groups
      operationId: status_report#Get
      produces:
        - application/vnd.wl.status.group+json; type=collection
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WlStatusGroupCollection"
      schemes:
        - http
      summary: Get status_report
      tags:
        - status_report
  /api/v1/warnings/:
    get:
      description: "[DEPRECATED] Get current list of messages"
      operationId: warnings#Get
      produces:
        - application/vnd.waterlinked.operation_response+json
        - application/vnd.wl.warning+json; type=collection
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/WlWarningCollection"
        "500":
          description: Internal Server Error
          schema:
            $ref: "#/definitions/WaterlinkedOperation_response"
      schemes:
        - http
      summary: Get warnings
      tags:
        - warnings
definitions:
  CalibrateImuPayload:
    description: IMU calibration action
    example:
      action: start
    properties:
      action:
        description: IMU Calibration Action to use
        enum:
          - start
          - abort
        example: start
        type: string
    required:
      - action
    title: CalibrateImuPayload
    type: object
  CreatePoiPayload:
    description: A list of all POI
    example:
      depth: 0.9848439086783396
      icon: Ut molestias laboriosam.
      id: 3408207428662661600
      lat: 0.8147274904139097
      lng: 0.06472337355304676
      name: Reprehenderit non architecto quia.
      visible: false
    properties:
      depth:
        description: Depth of POI
        example: 0.9848439086783396
        format: double
        type: number
      icon:
        description: Icon of POI
        example: Ut molestias laboriosam.
        type: string
      id:
        description: Unique POI id
        example: 3408207428662661600
        format: int64
        type: integer
      lat:
        description: Latitude of POI
        example: 0.8147274904139097
        format: double
        type: number
      lng:
        description: Longitude of POI
        example: 0.06472337355304676
        format: double
        type: number
      name:
        description: Name of POI
        example: Reprehenderit non architecto quia.
        type: string
      visible:
        description: Visibility of POI
        example: false
        type: boolean
    required:
      - name
      - lat
      - lng
      - depth
      - icon
      - visible
    title: CreatePoiPayload
    type: object
  ModifyAntennaConfigConfigPayload:
    description: Configuration parameters for antenna set up
    example:
      antenna_rotation: 90
      depth: 2
      x: -2
      y: 2
    properties:
      antenna_rotation:
        description: Configured rotation of antenna relative to forward arrow on topside housing. Clockwise is positive direction (degrees)
        example: 90
        maximum: 360
        minimum: 0
        type: integer
      depth:
        description: Configured depth relative to surface (meter)
        example: 2
        maximum: 10
        minimum: 0.1
        type: number
      x:
        description: Configured f position relative to master electronics (meter)
        example: -2
        maximum: 100
        minimum: -100
        type: number
      y:
        description: Configured Y position relative to master electronics (meter)
        example: 2
        maximum: 100
        minimum: -100
        type: number
    required:
      - x
      - y
      - depth
      - antenna_rotation
    title: ModifyAntennaConfigConfigPayload
    type: object
  ModifyConfigPayload:
    description: Configuration parameters
    example:
      antenna_enabled: true
      channel: 13
      compass: external
      environment: openwater
      external_pps_enabled: false
      gps: external
      imu_vehicle_enabled: true
      locator_type: a1
      range_max_x: 50
      range_max_y: 50
      range_max_z: 50
      range_min_x: -50
      range_min_y: -50
      search_direction: 30
      search_radius: 150
      search_sector: 90
      speed_of_sound: 1475
      static_lat: 63.422
      static_lon: 10.424
      static_orientation: 42
    properties:
      antenna_enabled:
        description: Enable use of antenna
        example: true
        type: boolean
      channel:
        description: Channel to use
        example: 13
        maximum: 6000
        minimum: 0
        type: integer
      compass:
        description: Compass provider setting
        enum:
          - onboard
          - static
          - external
        example: external
        type: string
      environment:
        description: "[Deprecated] Environment setting"
        enum:
          - reflective
          - openwater
        example: openwater
        type: string
      external_pps_enabled:
        description: Enable external PPS input to master
        example: false
        type: boolean
      gps:
        description: GPS provider setting
        enum:
          - onboard
          - static
          - external
        example: external
        type: string
      imu_vehicle_enabled:
        description: "[Deprecated] Enable IMU input from vehicle"
        example: true
        type: boolean
      locator_type:
        description: Locator type in use
        enum:
          - d1
          - a1
          - s2
          - p2
          - u1
        example: a1
        type: string
      range_max_x:
        description: "[Deprecated] Max range (meters)"
        example: 50
        maximum: 100
        minimum: 0
        type: number
      range_max_y:
        description: "[Deprecated] Max range (meters)"
        example: 50
        maximum: 100
        minimum: 0
        type: number
      range_max_z:
        description: "[Deprecated] Max range (meters)"
        example: 50
        maximum: 100
        minimum: 0
        type: number
      range_min_x:
        description: "[Deprecated] Max range (meters)"
        example: -50
        maximum: 0
        minimum: -100
        type: number
      range_min_y:
        description: "[Deprecated] Max range (meters)"
        example: -50
        maximum: 0
        minimum: -100
        type: number
      search_direction:
        description: Direction of circular search area section
        example: 30
        maximum: 360
        minimum: 0
        type: number
      search_radius:
        description: Radius of circular search area
        example: 150
        maximum: 300
        minimum: 1
        type: number
      search_sector:
        description: Sector angle of circular search area
        example: 90
        maximum: 360
        minimum: 1
        type: number
      speed_of_sound:
        description: Speed of sound use by the system
        example: 1475
        maximum: 2000
        minimum: 1000
        type: integer
      static_lat:
        description: Latitude to use in static mode
        example: 63.422
        maximum: 90
        minimum: -90
        type: number
      static_lon:
        description: Longitude to use in static mode
        example: 10.424
        maximum: 180
        minimum: -180
        type: number
      static_orientation:
        description: Orientation/compass reading to use in static mode (degrees)
        example: 42
        maximum: 359
        minimum: 0
        type: number
    required:
      - channel
      - locator_type
      - gps
      - compass
      - static_lat
      - static_lon
      - static_orientation
    title: ModifyConfigPayload
    type: object
  ModifyIPConfigPayload:
    description: Configuration parameters
    example:
      address: 10.11.12.94
      dhcp: true
      dns: 10.11.12.1
      gateway: 10.11.12.1
      prefix: 24
    properties:
      address:
        description: IP address to use
        example: 10.11.12.94
        type: string
      dhcp:
        description: DHCP to use
        example: true
        type: boolean
      dns:
        description: DNS to use
        example: 10.11.12.1
        type: string
      gateway:
        description: Gateway to use
        example: 10.11.12.1
        type: string
      prefix:
        description: Prefix to use
        example: 24
        maximum: 31
        minimum: 1
        type: integer
    required:
      - address
      - gateway
      - prefix
      - dns
      - dhcp
    title: ModifyIPConfigPayload
    type: object
  ModifyReceiverConfigPayload:
    description: A receiver configuration
    example:
      id: 2339264502380679700
      x: 0.0158212572962501
      y: 0.08142596921667565
      z: 0.34617068793186784
    properties:
      id:
        description: Unique receiver identifier
        example: 2339264502380679700
        format: int64
        type: integer
      x:
        description: Configured X position relative to master electronics (meter)
        example: 0.0158212572962501
        format: double
        type: number
      y:
        description: Configured Y position relative to master electronics (meter)
        example: 0.08142596921667565
        format: double
        type: number
      z:
        description: Configured Z position relative to master electronics (meter)
        example: 0.34617068793186784
        format: double
        type: number
    required:
      - id
      - x
      - y
      - z
    title: ModifyReceiverConfigPayload
    type: object
  ModifyWIFIConfigPayload:
    description: Configuration parameters
    example:
      mode: ap
      password: 10.11.12.1
      ssid: 10.11.12.94
    properties:
      mode:
        description: Which mode should the WiFi be in?
        enum:
          - ap
          - client
        example: ap
        type: string
      password:
        description: Password to use for WiFi in Client mode
        example: 10.11.12.1
        type: string
      ssid:
        description: WIFI SSID to use for WiFi in Client mode
        example: 10.11.12.94
        type: string
    required:
      - ssid
      - password
      - mode
    title: ModifyWIFIConfigPayload
    type: object
  SetDepthExternalPayload:
    description: Current locator depth and temperature
    example:
      depth: 3.2
      temp: 11.2
    properties:
      depth:
        description: Curent depth (meter)
        example: 3.2
        maximum: 500
        minimum: 0
        type: number
      temp:
        description: Current water temperature (C)
        example: 11.2
        maximum: 60
        minimum: -10
        type: number
    required:
      - depth
      - temp
    title: SetDepthExternalPayload
    type: object
  SetMasterExternalPayload:
    description: Global master position from external source
    example:
      cog: 42
      fix_quality: 1
      hdop: 1.9
      lat: 63.422
      lon: 10.424
      numsats: 11
      orientation: 42
      sog: 0.5
    properties:
      cog:
        description: Course over ground (degrees). -1 means no data.
        example: 42
        maximum: 359.999
        minimum: -1
        type: number
      fix_quality:
        description: Fix quality. 0 if no data.
        example: 1
        minimum: 0
        type: number
      hdop:
        description: Horizontal dilution of precision. -1 means no data.
        example: 1.9
        minimum: -1
        type: number
      lat:
        description: Current Latitude
        example: 63.422
        maximum: 90
        minimum: -90
        type: number
      lon:
        description: Current Longitude
        example: 10.424
        maximum: 180
        minimum: -180
        type: number
      numsats:
        description: Number of satellites. -1 means no data.
        example: 11
        minimum: -1
        type: number
      orientation:
        description: Current orientation/compass heading (degrees)
        example: 42
        maximum: 359.999
        minimum: 0
        type: number
      sog:
        description: Speed over ground (km/h). -1 means no data.
        example: 0.5
        minimum: -1
        type: number
    required:
      - lat
      - lon
      - orientation
    title: SetMasterExternalPayload
    type: object
  SetNorthImuPayload:
    description: IMU set north
    example:
      heading: 50
    properties:
      heading:
        description: Current heading
        example: 50
        maximum: 360
        minimum: 0
        type: number
    required:
      - heading
    title: SetNorthImuPayload
    type: object
  SetOrientationExternalPayload:
    description: Set current compass heading of ROV/locator
    example:
      orientation: 42
    properties:
      orientation:
        description: Current orientation/compass heading (degrees). -1 means no orientation set
        example: 42
        maximum: 359.999
        minimum: -1
        type: number
    required:
      - orientation
    title: SetOrientationExternalPayload
    type: object
  SetVehicleIMUExternalPayload:
    description: Set current rotation and acceleration of vehicle
    example:
      pitch: 30
      roll: -30
      x: 10
      y: -10
      yaw: 30
      z: 5
    properties:
      pitch:
        description: Current pitch of vehicle(degrees).
        example: 30
        maximum: 90
        minimum: -90
        type: number
      roll:
        description: Current roll of vehicle(degrees).
        example: -30
        maximum: 180
        minimum: -180
        type: number
      x:
        description: Current acceleration in x-axis of vehicle.
        example: 10
        maximum: 20
        minimum: -20
        type: number
      y:
        description: Current acceleration in y-axis of vehicle.
        example: -10
        maximum: 20
        minimum: -20
        type: number
      yaw:
        description: Current yaw of vehicle(degrees).
        example: 30
        maximum: 180
        minimum: -180
        type: number
      z:
        description: Current acceleration in z-axis of vehicle.
        example: 5
        maximum: 20
        minimum: -20
        type: number
    required:
      - pitch
      - roll
      - yaw
      - x
      - y
      - z
    title: SetVehicleIMUExternalPayload
    type: object
  UpdatePoiPayload:
    description: A list of all POI
    example:
      depth: 0.9848439086783396
      icon: Ut molestias laboriosam.
      id: 3408207428662661600
      lat: 0.8147274904139097
      lng: 0.06472337355304676
      name: Reprehenderit non architecto quia.
      visible: false
    properties:
      depth:
        description: Depth of POI
        example: 0.9848439086783396
        format: double
        type: number
      icon:
        description: Icon of POI
        example: Ut molestias laboriosam.
        type: string
      id:
        description: Unique POI id
        example: 3408207428662661600
        format: int64
        type: integer
      lat:
        description: Latitude of POI
        example: 0.8147274904139097
        format: double
        type: number
      lng:
        description: Longitude of POI
        example: 0.06472337355304676
        format: double
        type: number
      name:
        description: Name of POI
        example: Reprehenderit non architecto quia.
        type: string
      visible:
        description: Visibility of POI
        example: false
        type: boolean
    required:
      - name
      - lat
      - lng
      - depth
      - icon
      - visible
    title: UpdatePoiPayload
    type: object
  WaterlinkedAbout:
    description: About information (default view)
    example:
      chipid: "0x123456789"
      hardware_revision: 1
      product_id: 1
      product_name: Underwater GPS
      variant: standard
      version: 1.0.0 (abc.def)
      version_short: 1.0.0
    properties:
      chipid:
        description: Chip identifier
        example: "0x123456789"
        type: string
      hardware_revision:
        description: Hardware revision
        example: 1
        format: int64
        type: integer
      product_id:
        description: Product ID
        example: 1
        format: int64
        type: integer
      product_name:
        description: Product name
        example: Underwater GPS
        type: string
      variant:
        description: Product variant
        example: standard
        type: string
      version:
        description: Detailed Web Server version string
        example: 1.0.0 (abc.def)
        type: string
      version_short:
        description: Short Web Server version string
        example: 1.0.0
        type: string
    required:
      - version
      - version_short
      - chipid
      - product_name
      - hardware_revision
      - product_id
      - variant
    title: "Mediatype identifier: application/vnd.waterlinked.about+json; view=default"
    type: object
  WaterlinkedAccousticPosition:
    description: Current relative Locator position (default view)
    example:
      position_valid: true
      receiver_distance:
        - 0.4571247391045424
        - 0.4571247391045424
      receiver_nsd:
        - 0.748659470979663
        - 0.748659470979663
      receiver_rssi:
        - 0.8800592996534627
        - 0.8800592996534627
        - 0.8800592996534627
      receiver_valid:
        - 0.768439233512868
        - 0.768439233512868
      std: 0.5
      x: 32.1
      y: 11.2
      z: 10.2
    properties:
      position_valid:
        description: Is current position valid or not
        example: true
        type: boolean
      receiver_distance:
        description: Measured distance to the locator for each receiver
        example:
          - 0.4571247391045424
          - 0.4571247391045424
        items:
          example: 0.4571247391045424
          format: double
          type: number
        type: array
      receiver_nsd:
        description: Measured NSD for each receiver
        example:
          - 0.748659470979663
          - 0.748659470979663
        items:
          example: 0.748659470979663
          format: double
          type: number
        type: array
      receiver_rssi:
        description: Measured RSSI for each receiver
        example:
          - 0.8800592996534627
          - 0.8800592996534627
          - 0.8800592996534627
        items:
          example: 0.8800592996534627
          format: double
          type: number
        type: array
      receiver_valid:
        description: Is signal valid or not for each receiver
        example:
          - 0.768439233512868
          - 0.768439233512868
        items:
          example: 0.768439233512868
          format: double
          type: number
        type: array
      std:
        description: Current acoustic position accuracy (meter)
        example: 0.5
        minimum: 0
        type: number
      x:
        description: Current acoustic x position relative to master electronics (meter)
        example: 32.1
        format: double
        type: number
      y:
        description: Current acoustic y position relative to master electronics (meter)
        example: 11.2
        format: double
        type: number
      z:
        description: Current acoustic z position (depth) relative to master electronics (meter)
        example: 10.2
        minimum: 0
        type: number
    required:
      - x
      - y
      - z
      - std
      - position_valid
      - receiver_distance
      - receiver_rssi
      - receiver_nsd
      - receiver_valid
    title: "Mediatype identifier: application/vnd.waterlinked.accoustic.position+json; view=default"
    type: object
  WaterlinkedAntenna_config:
    description: Configuration parameters for antenna set up (default view)
    example:
      antenna_rotation: 90
      depth: 2
      x: -2
      y: 2
    properties:
      antenna_rotation:
        description: Configured rotation of antenna relative to forward arrow on topside housing. Clockwise is positive direction (degrees)
        example: 90
        maximum: 360
        minimum: 0
        type: integer
      depth:
        description: Configured depth relative to surface (meter)
        example: 2
        maximum: 10
        minimum: 0.1
        type: number
      x:
        description: Configured f position relative to master electronics (meter)
        example: -2
        maximum: 100
        minimum: -100
        type: number
      y:
        description: Configured Y position relative to master electronics (meter)
        example: 2
        maximum: 100
        minimum: -100
        type: number
    required:
      - x
      - y
      - depth
      - antenna_rotation
    title: "Mediatype identifier: application/vnd.waterlinked.antenna_config+json; view=default"
    type: object
  WaterlinkedConfiguration:
    description: Configuration parameters (default view)
    example:
      antenna_enabled: true
      channel: 13
      compass: external
      environment: openwater
      external_pps_enabled: false
      gps: external
      imu_vehicle_enabled: true
      locator_type: a1
      range_max_x: 50
      range_max_y: 50
      range_max_z: 50
      range_min_x: -50
      range_min_y: -50
      search_direction: 30
      search_radius: 150
      search_sector: 90
      speed_of_sound: 1475
      static_lat: 63.422
      static_lon: 10.424
      static_orientation: 42
    properties:
      antenna_enabled:
        description: Enable use of antenna
        example: true
        type: boolean
      channel:
        description: Channel to use
        example: 13
        maximum: 6000
        minimum: 0
        type: integer
      compass:
        description: Compass provider setting
        enum:
          - onboard
          - static
          - external
        example: external
        type: string
      environment:
        description: "[Deprecated] Environment setting"
        enum:
          - reflective
          - openwater
        example: openwater
        type: string
      external_pps_enabled:
        description: Enable external PPS input to master
        example: false
        type: boolean
      gps:
        description: GPS provider setting
        enum:
          - onboard
          - static
          - external
        example: external
        type: string
      imu_vehicle_enabled:
        description: "[Deprecated] Enable IMU input from vehicle"
        example: true
        type: boolean
      locator_type:
        description: Locator type in use
        enum:
          - d1
          - a1
          - s2
          - p2
          - u1
        example: a1
        type: string
      range_max_x:
        description: "[Deprecated] Max range (meters)"
        example: 50
        maximum: 100
        minimum: 0
        type: number
      range_max_y:
        description: "[Deprecated] Max range (meters)"
        example: 50
        maximum: 100
        minimum: 0
        type: number
      range_max_z:
        description: "[Deprecated] Max range (meters)"
        example: 50
        maximum: 100
        minimum: 0
        type: number
      range_min_x:
        description: "[Deprecated] Max range (meters)"
        example: -50
        maximum: 0
        minimum: -100
        type: number
      range_min_y:
        description: "[Deprecated] Max range (meters)"
        example: -50
        maximum: 0
        minimum: -100
        type: number
      search_direction:
        description: Direction of circular search area section
        example: 30
        maximum: 360
        minimum: 0
        type: number
      search_radius:
        description: Radius of circular search area
        example: 150
        maximum: 300
        minimum: 1
        type: number
      search_sector:
        description: Sector angle of circular search area
        example: 90
        maximum: 360
        minimum: 1
        type: number
      speed_of_sound:
        description: Speed of sound use by the system
        example: 1475
        maximum: 2000
        minimum: 1000
        type: integer
      static_lat:
        description: Latitude to use in static mode
        example: 63.422
        maximum: 90
        minimum: -90
        type: number
      static_lon:
        description: Longitude to use in static mode
        example: 10.424
        maximum: 180
        minimum: -180
        type: number
      static_orientation:
        description: Orientation/compass reading to use in static mode (degrees)
        example: 42
        maximum: 359
        minimum: 0
        type: number
    required:
      - channel
      - locator_type
      - gps
      - compass
      - static_lat
      - static_lon
      - static_orientation
    title: "Mediatype identifier: application/vnd.waterlinked.configuration+json; view=default"
    type: object
  WaterlinkedImu:
    description: IMU status and orientation information (default view)
    example:
      pitch: 0
      progress: 50
      roll: 0
      state: 0
      yaw: 0
    properties:
      pitch:
        description: Pitch
        example: 0
        maximum: 360
        minimum: 0
        type: number
      progress:
        description: Calibration progress
        example: 50
        maximum: 100
        minimum: 0
        type: integer
      roll:
        description: Roll
        example: 0
        maximum: 360
        minimum: 0
        type: number
      state:
        description: IMU calibration state. 0=running, 1=calibrating
        example: 0
        maximum: 3
        minimum: 0
        type: integer
      yaw:
        description: Yaw
        example: 0
        maximum: 360
        minimum: 0
        type: number
    required:
      - roll
      - pitch
      - yaw
      - state
      - progress
    title: "Mediatype identifier: application/vnd.waterlinked.imu+json; view=default"
    type: object
  WaterlinkedIp_config:
    description: Configuration parameters (default view)
    example:
      address: 10.11.12.94
      dhcp: true
      dns: 10.11.12.1
      gateway: 10.11.12.1
      prefix: 24
    properties:
      address:
        description: IP address to use
        example: 10.11.12.94
        type: string
      dhcp:
        description: DHCP to use
        example: true
        type: boolean
      dns:
        description: DNS to use
        example: 10.11.12.1
        type: string
      gateway:
        description: Gateway to use
        example: 10.11.12.1
        type: string
      prefix:
        description: Prefix to use
        example: 24
        maximum: 31
        minimum: 1
        type: integer
    required:
      - address
      - gateway
      - prefix
      - dns
      - dhcp
    title: "Mediatype identifier: application/vnd.waterlinked.ip_config+json; view=default"
    type: object
  WaterlinkedOperation_response:
    description: Response from server on operations performed (default view)
    example:
      error: something went wrong
      success: false
    properties:
      error:
        description: Error if it occurs
        example: something went wrong
        type: string
      success:
        description: Status of operation
        example: false
        type: boolean
    required:
      - success
    title: "Mediatype identifier: application/vnd.waterlinked.operation_response+json; view=default"
    type: object
  WaterlinkedPoi:
    description: A list of all POI (default view)
    example:
      depth: 0.9848439086783396
      icon: Ut molestias laboriosam.
      id: 3408207428662661600
      lat: 0.8147274904139097
      lng: 0.06472337355304676
      name: Reprehenderit non architecto quia.
      visible: false
    properties:
      depth:
        description: Depth of POI
        example: 0.9848439086783396
        format: double
        type: number
      icon:
        description: Icon of POI
        example: Ut molestias laboriosam.
        type: string
      id:
        description: Unique POI id
        example: 3408207428662661600
        format: int64
        type: integer
      lat:
        description: Latitude of POI
        example: 0.8147274904139097
        format: double
        type: number
      lng:
        description: Longitude of POI
        example: 0.06472337355304676
        format: double
        type: number
      name:
        description: Name of POI
        example: Reprehenderit non architecto quia.
        type: string
      visible:
        description: Visibility of POI
        example: false
        type: boolean
    required:
      - name
      - lat
      - lng
      - depth
      - icon
      - visible
    title: "Mediatype identifier: application/vnd.waterlinked.poi+json; view=default"
    type: object
  WaterlinkedPoiCollection:
    description: WaterlinkedPoiCollection is the media type for an array of WaterlinkedPoi (default view)
    example:
      - depth: 0.9848439086783396
        icon: Ut molestias laboriosam.
        id: 3408207428662661600
        lat: 0.8147274904139097
        lng: 0.06472337355304676
        name: Reprehenderit non architecto quia.
        visible: false
      - depth: 0.9848439086783396
        icon: Ut molestias laboriosam.
        id: 3408207428662661600
        lat: 0.8147274904139097
        lng: 0.06472337355304676
        name: Reprehenderit non architecto quia.
        visible: false
    items:
      $ref: "#/definitions/WaterlinkedPoi"
    title: "Mediatype identifier: application/vnd.waterlinked.poi+json; type=collection; view=default"
    type: array
  WaterlinkedReceiver:
    description: A receiver configuration (default view)
    example:
      id: 2339264502380679700
      x: 0.0158212572962501
      y: 0.08142596921667565
      z: 0.34617068793186784
    properties:
      id:
        description: Unique receiver identifier
        example: 2339264502380679700
        format: int64
        type: integer
      x:
        description: Configured X position relative to master electronics (meter)
        example: 0.0158212572962501
        format: double
        type: number
      y:
        description: Configured Y position relative to master electronics (meter)
        example: 0.08142596921667565
        format: double
        type: number
      z:
        description: Configured Z position relative to master electronics (meter)
        example: 0.34617068793186784
        format: double
        type: number
    required:
      - id
      - x
      - y
      - z
    title: "Mediatype identifier: application/vnd.waterlinked.receiver+json; view=default"
    type: object
  WaterlinkedReceiverCollection:
    description: WaterlinkedReceiverCollection is the media type for an array of WaterlinkedReceiver (default view)
    example:
      - id: 2339264502380679700
        x: 0.0158212572962501
        y: 0.08142596921667565
        z: 0.34617068793186784
      - id: 2339264502380679700
        x: 0.0158212572962501
        y: 0.08142596921667565
        z: 0.34617068793186784
      - id: 2339264502380679700
        x: 0.0158212572962501
        y: 0.08142596921667565
        z: 0.34617068793186784
    items:
      $ref: "#/definitions/WaterlinkedReceiver"
    title: "Mediatype identifier: application/vnd.waterlinked.receiver+json; type=collection; view=default"
    type: array
  WaterlinkedStatus:
    description: Status information (default view)
    example:
      battery: 90
      gps: 2
      imu: 2
    properties:
      battery:
        description: Locator battery level in percent. -1 if not available or applicable
        example: 90
        maximum: 100
        minimum: -1
        type: integer
      gps:
        description: GPS lock status
        example: 2
        maximum: 3
        minimum: 0
        type: integer
      imu:
        description: IMU calibration status
        example: 2
        maximum: 3
        minimum: 0
        type: integer
    required:
      - imu
      - gps
      - battery
    title: "Mediatype identifier: application/vnd.waterlinked.status+json; view=default"
    type: object
  WaterlinkedTemperature:
    description: Temperature information (default view)
    example:
      board: 37
      water: 10
    properties:
      board:
        description: Board temperature (C)
        example: 37
        format: double
        type: number
      water:
        description: Water temperature (C)
        example: 10
        format: double
        type: number
    required:
      - board
      - water
    title: "Mediatype identifier: application/vnd.waterlinked.temperature+json; view=default"
    type: object
  WaterlinkedWifi_config:
    description: Configuration parameters (default view)
    example:
      mode: ap
      password: 10.11.12.1
      ssid: 10.11.12.94
    properties:
      mode:
        description: Which mode should the WiFi be in?
        enum:
          - ap
          - client
        example: ap
        type: string
      password:
        description: Password to use for WiFi in Client mode
        example: 10.11.12.1
        type: string
      ssid:
        description: WIFI SSID to use for WiFi in Client mode
        example: 10.11.12.94
        type: string
    required:
      - ssid
      - password
      - mode
    title: "Mediatype identifier: application/vnd.waterlinked.wifi_config+json; view=default"
    type: object
  WlExternalLocatorOrientation:
    description: Set current compass heading of ROV/locator (default view)
    example:
      orientation: 42
    properties:
      orientation:
        description: Current orientation/compass heading (degrees). -1 means no orientation set
        example: 42
        maximum: 359.999
        minimum: -1
        type: number
    required:
      - orientation
    title: "Mediatype identifier: application/vnd.wl.external.locator.orientation+json; view=default"
    type: object
  WlExternalVehicleImu:
    description: Set current rotation and acceleration of vehicle (default view)
    example:
      pitch: 30
      roll: -30
      x: 10
      y: -10
      yaw: 30
      z: 5
    properties:
      pitch:
        description: Current pitch of vehicle(degrees).
        example: 30
        maximum: 90
        minimum: -90
        type: number
      roll:
        description: Current roll of vehicle(degrees).
        example: -30
        maximum: 180
        minimum: -180
        type: number
      x:
        description: Current acceleration in x-axis of vehicle.
        example: 10
        maximum: 20
        minimum: -20
        type: number
      y:
        description: Current acceleration in y-axis of vehicle.
        example: -10
        maximum: 20
        minimum: -20
        type: number
      yaw:
        description: Current yaw of vehicle(degrees).
        example: 30
        maximum: 180
        minimum: -180
        type: number
      z:
        description: Current acceleration in z-axis of vehicle.
        example: 5
        maximum: 20
        minimum: -20
        type: number
    required:
      - pitch
      - roll
      - yaw
      - x
      - y
      - z
    title: "Mediatype identifier: application/vnd.wl.external.vehicle.imu+json; view=default"
    type: object
  WlSatellitePosition:
    description: GPS and IMU position (default view)
    example:
      cog: 42
      fix_quality: 1
      hdop: 1.9
      lat: 63.422
      lon: 10.424
      numsats: 11
      orientation: 42
      sog: 0.5
    properties:
      cog:
        description: Course over ground (degrees). -1 means no data.
        example: 42
        maximum: 359.999
        minimum: -1
        type: number
      fix_quality:
        description: Fix quality. 0 if no data.
        example: 1
        minimum: 0
        type: number
      hdop:
        description: Horizontal dilution of precision. -1 means no data.
        example: 1.9
        minimum: -1
        type: number
      lat:
        description: Current Latitude
        example: 63.422
        maximum: 90
        minimum: -90
        type: number
      lon:
        description: Current Longitude
        example: 10.424
        maximum: 180
        minimum: -180
        type: number
      numsats:
        description: Number of satellites. -1 means no data.
        example: 11
        minimum: -1
        type: number
      orientation:
        description: Current orientation/compass heading (degrees). -1 means no data.
        example: 42
        maximum: 359.999
        minimum: -1
        type: number
      sog:
        description: Speed over ground (km/h). -1 means no data.
        example: 0.5
        minimum: -1
        type: number
    required:
      - lat
      - lon
      - orientation
      - cog
      - sog
      - hdop
      - numsats
      - fix_quality
    title: "Mediatype identifier: application/vnd.wl.satellite.position+json; view=default"
    type: object
  WlStatusGroup:
    description: Current status from one specific status group (default view)
    example:
      error_ids:
        - Quasi itaque nemo dolorem ea molestias.
        - Quasi itaque nemo dolorem ea molestias.
        - Quasi itaque nemo dolorem ea molestias.
      message: Nihil sit qui.
      status: warning
      status_group: Temporibus omnis dolor saepe quam.
      status_group_id: Distinctio qui.
    properties:
      error_ids:
        description: Identifiers for warnings/errors
        example:
          - Quasi itaque nemo dolorem ea molestias.
          - Quasi itaque nemo dolorem ea molestias.
          - Quasi itaque nemo dolorem ea molestias.
        items:
          example: Quasi itaque nemo dolorem ea molestias.
          type: string
        type: array
      message:
        description: Message
        example: Nihil sit qui.
        type: string
      status:
        description: Status
        enum:
          - ok
          - warning
          - error
        example: warning
        type: string
      status_group:
        description: Status group friendly name
        example: Temporibus omnis dolor saepe quam.
        type: string
      status_group_id:
        description: Status group identifier
        example: Distinctio qui.
        type: string
    required:
      - status_group
      - status_group_id
      - status
      - message
      - error_ids
    title: "Mediatype identifier: application/vnd.wl.status.group+json; view=default"
    type: object
  WlStatusGroupCollection:
    description: WlStatusGroupCollection is the media type for an array of WlStatusGroup (default view)
    example:
      - error_ids:
          - Quasi itaque nemo dolorem ea molestias.
          - Quasi itaque nemo dolorem ea molestias.
          - Quasi itaque nemo dolorem ea molestias.
        message: Nihil sit qui.
        status: warning
        status_group: Temporibus omnis dolor saepe quam.
        status_group_id: Distinctio qui.
      - error_ids:
          - Quasi itaque nemo dolorem ea molestias.
          - Quasi itaque nemo dolorem ea molestias.
          - Quasi itaque nemo dolorem ea molestias.
        message: Nihil sit qui.
        status: warning
        status_group: Temporibus omnis dolor saepe quam.
        status_group_id: Distinctio qui.
    items:
      $ref: "#/definitions/WlStatusGroup"
    title: "Mediatype identifier: application/vnd.wl.status.group+json; type=collection; view=default"
    type: array
  WlWarning:
    description: Warning message (default view)
    example:
      id: Cupiditate et laboriosam.
      message: Non illo dolor illo facilis nihil nemo.
      severity: Facilis sed animi distinctio praesentium.
    properties:
      id:
        description: Identifier
        example: Cupiditate et laboriosam.
        type: string
      message:
        description: Message
        example: Non illo dolor illo facilis nihil nemo.
        type: string
      severity:
        description: Severity
        example: Facilis sed animi distinctio praesentium.
        type: string
    required:
      - id
      - message
      - severity
    title: "Mediatype identifier: application/vnd.wl.warning+json; view=default"
    type: object
  WlWarningCollection:
    description: WlWarningCollection is the media type for an array of WlWarning (default view)
    example:
      - id: Cupiditate et laboriosam.
        message: Non illo dolor illo facilis nihil nemo.
        severity: Facilis sed animi distinctio praesentium.
      - id: Cupiditate et laboriosam.
        message: Non illo dolor illo facilis nihil nemo.
        severity: Facilis sed animi distinctio praesentium.
    items:
      $ref: "#/definitions/WlWarning"
    title: "Mediatype identifier: application/vnd.wl.warning+json; type=collection; view=default"
    type: array
  WupdaterApiversion:
    description: Returns supported api versions (default view)
    example:
      versions:
        - v1
        - v2
    properties:
      versions:
        description: Supported api versions
        example:
          - v1
          - v2
        items:
          example: Dicta rem tenetur commodi eum.
          type: string
        type: array
    required:
      - versions
    title: "Mediatype identifier: application/vnd.wupdater.apiversion; view=default"
    type: object
  error:
    description: Error response media type (default view)
    example:
      code: invalid_value
      detail: Value of ID must be an integer
      id: 3F1FKVRR
      meta:
        timestamp: 1458609066
      status: "400"
    properties:
      code:
        description: an application-specific error code, expressed as a string value.
        example: invalid_value
        type: string
      detail:
        description: a human-readable explanation specific to this occurrence of the problem.
        example: Value of ID must be an integer
        type: string
      id:
        description: a unique identifier for this particular occurrence of the problem.
        example: 3F1FKVRR
        type: string
      meta:
        additionalProperties: true
        description: a meta object containing non-standard meta-information about the error.
        example:
          timestamp: 1458609066
        type: object
      status:
        description: the HTTP status code applicable to this problem, expressed as a string value.
        example: "400"
        type: string
    title: "Mediatype identifier: application/vnd.goa.error; view=default"
    type: object
