@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api The Water Linked Underwater GPS API
@base http://demo.waterlinked.com
@endpoints 38
@hint download_for_search
@toc api(38)

@endpoint GET /api/
@returns(200)

@endpoint GET /api/v1/about
@returns(200)

@endpoint POST /api/v1/about/factoryreset
@returns(200)
@errors {404, 500, 503}

@endpoint GET /api/v1/about/led
@returns(200)
@errors {404}

@endpoint GET /api/v1/about/status
@returns(200)

@endpoint GET /api/v1/about/temperature
@returns(200)

@endpoint GET /api/v1/config/antenna
@returns(200)

@endpoint PUT /api/v1/config/antenna
@required {payload: map}
@returns(200)
@errors {400, 500, 503}

@endpoint GET /api/v1/config/generic
@returns(200)
@errors {500}

@endpoint PUT /api/v1/config/generic
@required {payload: map}
@returns(200)
@errors {400, 500, 503}

@endpoint GET /api/v1/config/ip
@returns(200)

@endpoint PUT /api/v1/config/ip
@required {payload: map}
@returns(200)
@errors {400, 500, 503}

@endpoint GET /api/v1/config/receivers/
@returns(200)

@endpoint GET /api/v1/config/receivers/{ID}
@required {ID: any}
@returns(200)
@errors {404}

@endpoint PUT /api/v1/config/receivers/{ID}
@required {ID: any, payload: map}
@returns(204)
@errors {404}

@endpoint GET /api/v1/config/wifi
@returns(200)

@endpoint PUT /api/v1/config/wifi
@required {payload: map}
@returns(200)
@errors {400, 500, 503}

@endpoint PUT /api/v1/external/depth
@required {payload: map}
@returns(200)
@errors {500}

@endpoint GET /api/v1/external/imu
@returns(200)
@returns(204)

@endpoint PUT /api/v1/external/imu
@required {payload: map}
@returns(200)
@errors {500}

@endpoint PUT /api/v1/external/master
@required {payload: map}
@returns(200)
@errors {500}

@endpoint GET /api/v1/external/orientation
@returns(200)
@errors {500}

@endpoint PUT /api/v1/external/orientation
@required {payload: map}
@returns(200)
@errors {500}

@endpoint GET /api/v1/imu/calibrate
@returns(200)

@endpoint POST /api/v1/imu/calibrate
@required {payload: map}
@returns(200)
@errors {408, 409}

@endpoint POST /api/v1/imu/resetgyros
@returns(200)
@errors {408, 409}

@endpoint POST /api/v1/imu/setnorth
@required {payload: map}
@returns(200)
@errors {400, 408, 409}

@endpoint GET /api/v1/poi/
@returns(200)
@errors {404}

@endpoint POST /api/v1/poi/
@required {payload: map}
@returns(201)
@errors {400, 403}

@endpoint GET /api/v1/poi/{ID}
@required {ID: any}
@returns(200)
@errors {404}

@endpoint DELETE /api/v1/poi/{ID}
@required {ID: any}
@returns(204)
@errors {400, 404}

@endpoint PATCH /api/v1/poi/{ID}
@required {ID: any, payload: map}
@returns(204)
@errors {400, 404}

@endpoint GET /api/v1/position/acoustic/filtered
@returns(200)
@errors {500}

@endpoint GET /api/v1/position/acoustic/raw
@returns(200)
@errors {500}

@endpoint GET /api/v1/position/global
@returns(200)
@errors {500}

@endpoint GET /api/v1/position/master
@returns(200)
@errors {500}

@endpoint GET /api/v1/status_report/
@returns(200)

@endpoint GET /api/v1/warnings/
@returns(200)
@errors {500}

@end
