The Water Linked Underwater GPS API icon

The Water Linked Underwater GPS API

API for the Water Linked Underwater GPS

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "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\n\nRecommended approach for connecting to a Underwater GPS via the API is:\n- If \"GET /api/\" times out, the Underwater GPS is not running (on this IP address)\n- If \"GET /api/\" responds with 200 OK check that the api version returrned (eg \"v1\") is supported by the client (eg: also supports \"v1\").\n- 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\")\n- If \"GET /api/\" responds with 301 Moved permanently. \"GET /api/v1/version\" to check if the kit has a version earlier than 1.5.\n- \"GET /api/v1/version\" will always respond with 200 OK on Underwater GPS earlier than 1.5 release.\n\nConfiguration 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://api.apis.guru/v2/cache/logo/https_twitter.com_waterlinkedas_profile_image.jpeg"
    },
    "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"
    }
  }
}