diff --git a/project/soar/swagger.json b/project/soar/swagger.json index 008b966e586c38fd30c86114d10215e654add9a4..12a468e881147d6476e33a28545bfe4644552cbf 100644 --- a/project/soar/swagger.json +++ b/project/soar/swagger.json @@ -1,1160 +1,1160 @@ { - "components": { - "schemas": { - "MESSAGE": { - "description": "Full message definition with message-metadata in `header` and different message type schemas under `payload`", - "properties": { - "header": { - "$ref": "#/components/schemas/header" - }, - "payload": { - "$ref": "#/components/schemas/payload" - } - }, - "required": [ - "header", - "payload" + "components": { + "schemas": { + "MESSAGE": { + "description": "Full message definition with message-metadata in `header` and different message type schemas under `payload`", + "properties": { + "header": { + "$ref": "#/components/schemas/header" + }, + "payload": { + "$ref": "#/components/schemas/payload" + } + }, + "required": [ + "header", + "payload" + ], + "type": "object" + }, + "acknowledgement": { + "properties": { + "approved": { + "description": "Human-in-the-loop approval.1 - Plan approved; 0 - Plan Rejected", + "type": "boolean" + }, + "autonomy_engine_plan_ID": { + "description": "Mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform", + "example": 1, + "type": "integer" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "acknowledgement" ], - "type": "object" - }, - "acknowledgement": { - "properties": { - "approved": { - "description": "Human-in-the-loop approval.1 - Plan approved; 0 - Plan Rejected", - "type": "boolean" - }, - "autonomy_engine_plan_ID": { - "description": "Mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform", - "example": 1, - "type": "integer" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "acknowledgement" - ], - "example": "acknowledgement", - "type": "string" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "reav-x-1", - "type": "string" - } - }, - "required": [ - "message_type", - "autonomy_engine_plan_ID", - "platform_ID", - "approved" + "example": "acknowledgement", + "type": "string" + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "reav-x-1", + "type": "string" + } + }, + "required": [ + "message_type", + "autonomy_engine_plan_ID", + "platform_ID", + "approved" + ], + "type": "object" + }, + "alert": { + "properties": { + "code": { + "description": "Alert code", + "example": 345, + "type": "integer" + }, + "details": { + "description": "Detailed reason for the alert ", + "example": "Discrepancy between rudder and actuator positions : Rudder Pos=10.31\u00b0, Steering Actuator Pos=28.65\u00b0, Discrepancy=18.33\u00b0", + "type": "string" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "alert" ], - "type": "object" - }, - "alert": { - "properties": { - "code": { - "description": "Alert code", - "example": 345, - "type": "integer" - }, - "details": { - "description": "Detailed reason for the alert ", - "example": "Discrepancy between rudder and actuator positions : Rudder Pos=10.31\u00b0, Steering Actuator Pos=28.65\u00b0, Discrepancy=18.33\u00b0", - "type": "string" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "alert" - ], - "example": "alert", - "type": "string" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "usvdecibel", - "type": "string" - }, - "platform_timestamp": { - "description": "Timestamp for onboard platform status message", - "example": "2022-12-21T00:00:00Z", - "format": "date-time", - "type": "string" - }, - "severity": { - "description": "Severity level of alert", - "enum": [ - "Emergency", - "Alarm", - "Warning", - "Caution" - ], - "example": "Alarm", - "type": "string" - }, - "subsystem": { - "description": "System that generated the alert", - "example": "Onboard Fault Monitor", - "type": "string" - }, - "summary": { - "description": "High level description of the alert", - "example": "Steering Damage - Port Side", - "type": "string" - } - }, - "required": [ - "message_type", - "platform_ID", - "code", - "severity" + "example": "alert", + "type": "string" + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "usvdecibel", + "type": "string" + }, + "platform_timestamp": { + "description": "Timestamp for onboard platform status message", + "example": "2022-12-21T00:00:00Z", + "format": "date-time", + "type": "string" + }, + "severity": { + "description": "Severity level of alert", + "enum": [ + "Emergency", + "Alarm", + "Warning", + "Caution" ], - "type": "object" - }, - "header": { - "discriminator": { - "propertyName": "message_type" - }, - "properties": { - "delivery_type": { - "default": "publish", - "description": "To publish or broadcast this message.", - "enum": [ - "broadcast", - "publish" - ], - "example": "publish", - "type": "string" - }, - "destination": { - "description": "Publisher topic; What is the destination of this message", - "example": "ah1", - "type": "string" - }, - "encoded": { - "description": "Indicate that message raw (encoded) or decoded. Options: encoded=true, decoded=false", - "example": false, - "type": "boolean" - }, - "message_ID": { - "description": "An identifier for the type of message received.", - "example": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd", - "type": "string" - }, - "source": { - "description": "The sender; Where is this message from", - "example": "autonomy_engine", - "type": "string" - }, - "timestamp": { - "description": "Timestamp of message", - "example": "2022-11-16T00:00:00Z", - "format": "date-time", - "type": "string" - }, - "version": { - "description": "Version of comms backbone message format protocol", - "example": 2.0, - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "mission_plan": { - "properties": { - "autonomy_engine_plan_ID": { - "description": "Unique identifier for this plangenerated by the Autonomy Engine", - "example": 3, - "type": "integer" - }, - "emergency": { - "default": false, - "description": "To indicate if this is an emergency. true = emergency and false = no emergency", - "example": false, - "type": "boolean" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "mission_plan" - ], - "example": "mission_plan", - "type": "string" - }, - "plan": { - "items": { - "properties": { - "action": { - "description": "Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`.", - "enum": [ - "move", - "payload", - "dive", - "send_hits", - "scanline", - "scanpoint", - "go_home", - "surface_now", - "stop_mission", - "abort_now" - ], - "example": "move", - "type": "string" - }, - "activate_payload": { - "description": "To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`", - "example": true, - "type": "boolean" - }, - "altitude": { - "description": "Altitude of next action", - "example": 15.0, - "format": "float", - "type": "number" - }, - "depth": { - "description": "Depth of next action", - "example": 15.0, - "format": "float", - "type": "number" - }, - "start_point_latitude": { - "description": "Start point, y-coordinate", - "example": 50.37072283932642, - "format": "float", - "type": "number" - }, - "start_point_longitude": { - "description": "Start point, x-coordinate", - "example": -4.187143188645706, - "format": "float", - "type": "number" - }, - "target_waypoint_latitude": { - "description": "Target waypoint, y-coordinate", - "example": 50.37072283932642, - "format": "float", - "type": "number" - }, - "target_waypoint_longitude": { - "description": "Target waypoint, x-coordinate", - "example": -4.187143188645706, - "format": "float", - "type": "number" - }, - "timeout": { - "description": "Timeout set to perform action", - "example": 1800.0, - "format": "float", - "type": "number" - } - }, - "required": [ - "target_waypoint_latitude", - "target_waypoint_longitude" - ], - "type": "object" - }, - "type": "array" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "reav-x-1", - "type": "string" - } - }, - "required": [ - "message_type", - "autonomy_engine_plan_ID", - "platform_ID", - "plan" + "example": "Alarm", + "type": "string" + }, + "subsystem": { + "description": "System that generated the alert", + "example": "Onboard Fault Monitor", + "type": "string" + }, + "summary": { + "description": "High level description of the alert", + "example": "Steering Damage - Port Side", + "type": "string" + } + }, + "required": [ + "message_type", + "platform_ID", + "code", + "severity" + ], + "type": "object" + }, + "header": { + "discriminator": { + "propertyName": "message_type" + }, + "properties": { + "delivery_type": { + "default": "publish", + "description": "To publish or broadcast this message.", + "enum": [ + "broadcast", + "publish" ], - "type": "object" - }, - "mission_plan_encoded": { - "properties": { - "data": { - "description": "encoded string. E.g. Base64 encoded", - "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", - "type": "string" - }, - "file_name": { - "description": "Name of file", - "example": "ah1-0238126349247372.bin", - "type": "string" - }, - "is_binary": { - "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", - "example": true, - "type": "boolean" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "mission_plan_encoded" - ], - "example": "mission_plan_encoded", - "type": "string" - }, - "mime_type": { - "description": "MIME type", - "example": "application/gzip", - "type": "string" - } - }, - "required": [ - "data", - "is_binary" + "example": "publish", + "type": "string" + }, + "destination": { + "description": "Publisher topic; What is the destination of this message", + "example": "ah1", + "type": "string" + }, + "encoded": { + "description": "Indicate that message raw (encoded) or decoded. Options: encoded=true, decoded=false", + "example": false, + "type": "boolean" + }, + "message_ID": { + "description": "An identifier for the type of message received.", + "example": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd", + "type": "string" + }, + "source": { + "description": "The sender; Where is this message from", + "example": "autonomy_engine", + "type": "string" + }, + "timestamp": { + "description": "Timestamp of message", + "example": "2022-11-16T00:00:00Z", + "format": "date-time", + "type": "string" + }, + "version": { + "description": "Version of comms backbone message format protocol", + "example": 2.0, + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "mission_plan": { + "properties": { + "autonomy_engine_plan_ID": { + "description": "Unique identifier for this plangenerated by the Autonomy Engine", + "example": 3, + "type": "integer" + }, + "emergency": { + "default": false, + "description": "To indicate if this is an emergency. true = emergency and false = no emergency", + "example": false, + "type": "boolean" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "mission_plan" ], - "type": "object" - }, - "observation": { - "properties": { - "additional_data": { - "description": "Placeholder field for any additional data", - "example": { - "sensor_payload": false - } - }, - "message_type": { - "description": "Type of message", + "example": "mission_plan", + "type": "string" + }, + "plan": { + "items": { + "properties": { + "action": { + "description": "Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`.", "enum": [ - "observation" + "move", + "payload", + "dive", + "send_hits", + "scanline", + "scanpoint", + "go_home", + "surface_now", + "stop_mission", + "abort_now" ], - "example": "observation", - "type": "string" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "reav-x-1", + "example": "move", "type": "string" - }, - "points_of_interest": { - "description": "Points from features of interest identified by platform if any found.", - "items": { - "properties": { - "latitude": { - "description": "Identified y-coordinate of point of interest", - "example": 178.2, - "format": "float", - "type": "number" - }, - "longitude": { - "description": "Identified x-coordinate of point of interest", - "example": -10.122, - "format": "float", - "type": "number" - }, - "quality_of_point": { - "description": "Quality/strength of points from features of interest identified by platform.", - "example": 0.98, - "format": "float", - "type": "number" - } - }, - "required": [ - "latitude", - "longitude" - ], - "type": "object" - }, - "type": "array" - }, - "region_surveyed": { - "description": "Region surveyed by given platform. GEOJSON", - "example": "", - "nullable": true - } - }, - "required": [ - "message_type", - "platform_ID" - ], - "type": "object" - }, - "observation_encoded": { - "properties": { - "data": { - "description": "encoded string. E.g. Base64 encoded", - "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", - "type": "string" - }, - "file_name": { - "description": "Name of file", - "example": "ah1-0238126349247372.bin", - "type": "string" - }, - "is_binary": { - "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", + }, + "activate_payload": { + "description": "To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`", "example": true, "type": "boolean" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "observation_encoded" - ], - "example": "observation_encoded", - "type": "string" - }, - "mime_type": { - "description": "MIME type", - "example": "application/gzip", - "type": "string" - } - }, - "required": [ - "data", - "is_binary" - ], - "type": "object" - }, - "payload": { - "discriminator": { - "mapping": { - "acknowledgement": "#/components/schemas/acknowledgement", - "alert": "#/components/schemas/alert", - "mission_plan": "#/components/schemas/mission_plan", - "mission_plan_encoded": "#/components/schemas/mission_plan_encoded", - "observation": "#/components/schemas/observation", - "observation_encoded": "#/components/schemas/observation_encoded", - "planning_configuration": "#/components/schemas/planning_configuration", - "platform_status": "#/components/schemas/platform_status", - "platform_status_encoded": "#/components/schemas/platform_status_encoded", - "survey": "#/components/schemas/survey", - "survey_encoded": "#/components/schemas/survey_encoded" - }, - "propertyName": "message_type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/alert" - }, - { - "$ref": "#/components/schemas/acknowledgement" - }, - { - "$ref": "#/components/schemas/mission_plan" - }, - { - "$ref": "#/components/schemas/mission_plan_encoded" - }, - { - "$ref": "#/components/schemas/observation" - }, - { - "$ref": "#/components/schemas/observation_encoded" - }, - { - "$ref": "#/components/schemas/planning_configuration" - }, - { - "$ref": "#/components/schemas/platform_status" - }, - { - "$ref": "#/components/schemas/platform_status_encoded" - }, - { - "$ref": "#/components/schemas/survey" - }, - { - "$ref": "#/components/schemas/survey_encoded" - } - ] - }, - "planning_configuration": { - "properties": { - "exclusion_zones": { - "description": "Exclusion zones for all platforms", - "items": { - "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", - "properties": { - "geometry_coordinates": { - "example": [ - [ - [ - -4.1777839187560915, - 50.34173405662855 - ], - [ - -4.1777839187560915, - 50.33820949229701 - ], - [ - -4.143667777943875, - 50.33820949229701 - ], - [ - -4.143667777943875, - 50.34173405662855 - ], - [ - -4.1777839187560915, - 50.34173405662855 - ] - ] - ], - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "planning_configuration" - ], - "example": "planning_configuration", - "type": "string" - }, - "planning_config_ID": { - "description": "Unique identifier tagged to version of this configuration plan", - "example": 3, - "type": "integer" - }, - "region_of_interest": { - "description": "Region of interest for the entire operation", - "items": { - "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", - "properties": { - "geometry_coordinates": { - "example": [ - [ - [ - -4.1777839187560915, - 50.34173405662855 - ], - [ - -4.1777839187560915, - 50.33820949229701 - ], - [ - -4.143667777943875, - 50.33820949229701 - ], - [ - -4.143667777943875, - 50.34173405662855 - ], - [ - -4.1777839187560915, - 50.34173405662855 - ] - ] - ], - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "squads": { - "items": { - "properties": { - "no_of_platforms": { - "description": "Number of platforms", - "example": 3, - "type": "integer" - }, - "platforms": { - "description": "Squad consists of these platforms", - "items": { - "properties": { - "active": { - "description": "If platform is active = True, and inactive = False", - "example": true, - "type": "boolean" - }, - "additional_data": { - "description": "Any addition fields/data to be added here", - "example": { - "new_sensor_a": "test_sensor", - "range": 10.0 - }, - "type": "object" - }, - "beacon_ID": { - "description": "Unique identifier (number) for the beacon associated to this platform", - "example": 2407, - "type": "number" - }, - "emergency": { - "properties": { - "safe_command": { - "description": "Command/Action that is native to respective partner's platform/C2", - "enum": [ - "go_home", - "abort_now", - "stop_now", - "surface_now" - ], - "example": "go_home", - "type": "string" - }, - "target_depth": { - "description": "Z-coordinate safe place for respective platform . If platform to NOT stay at depth, key in `0.0`", - "example": 10.0, - "format": "float", - "type": "number" - }, - "target_waypoint_latitude": { - "description": "Y-coordinate safe place for respective platform", - "example": 50.365, - "format": "float", - "type": "number" - }, - "target_waypoint_longitude": { - "description": "X-coordinate safe place for respective platform", - "example": -7.432, - "format": "float", - "type": "number" - } - }, - "required": [ - "target_waypoint_latitude", - "target_waypoint_longitude", - "target_depth" - ], - "type": "object" - }, - "endurance_relative_to_water_speed": { - "properties": { - "avg_battery_rating": { - "description": "Battery endurance rating during standard operational speed usage (m/s)", - "example": 1.9, - "format": "float", - "type": "number" - }, - "max_battery_rating": { - "description": "Battery endurance rating during maximum speed usage (m/s)", - "example": 1.23, - "format": "float", - "type": "number" - }, - "min_battery_rating": { - "description": "Battery endurance rating during maximum speed usage (m/s)", - "example": 3.32, - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "max_velocity": { - "description": "Maximum velocity set for platform", - "example": 0.9, - "format": "float", - "type": "number" - }, - "min_altitude": { - "description": "Minimum altitude set for platform", - "example": 15.2, - "format": "float", - "type": "number" - }, - "min_velocity": { - "description": "Minimum velocity set for platform", - "example": 0.1, - "format": "float", - "type": "number" - }, - "model": { - "example": "reav", - "type": "string" - }, - "operator": { - "description": "Operator of platform", - "example": "noc", - "type": "string" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "reav-x-1", - "type": "string" - }, - "scan_sensor": { - "properties": { - "angle": { - "description": "Angle of range of swath width (in degrees)", - "example": 140.0, - "format": "float", - "type": "number" - }, - "frequency": { - "description": "Frequency of scanning sensor (in kHz)", - "example": 700.0, - "format": "float", - "type": "number" - }, - "sensor_type": { - "description": "Unique identifier for this platform", - "enum": [ - "SIDESCAN", - "MBES" - ], - "example": "MBES", - "type": "string" - }, - "swath_width": { - "description": "Function of `target_altitude` for the platform's swath width (in metres)", - "example": 38.0, - "format": "float", - "type": "number" - }, - "warmup_time": { - "description": "Warmup time (seconds) for sensor to start up.", - "example": 180.0, - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "target_altitude": { - "description": "Target altitude set for platform. This affects swath width", - "example": 15.0, - "format": "float", - "type": "number" - }, - "turning_radius": { - "description": "Turning radius of platform (in metres)", - "example": 1.0, - "format": "float", - "type": "number" - } - }, - "required": [ - "operator", - "platform_ID", - "active", - "model" - ], - "type": "object" - }, - "type": "array" - }, - "squad_ID": { - "description": "Identifier of given squad", - "example": 23, - "type": "integer" - }, - "squad_mission_type": { - "description": "Mission of given squad: `tracking`, `survey`, `inspection`", - "enum": [ - "tracking", - "survey", - "inspection" - ], - "example": "survey", - "type": "string" - } - }, - "required": [ - "squad_ID", - "no_of_platforms", - "platforms", - "squad_mission_type" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "message_type", - "planning_config_ID", - "squads", - "exclusion_zones", - "region_of_interest" - ], - "type": "object" - }, - "platform_status": { - "properties": { - "altitude": { - "description": "Target altitude in metres", - "example": 20.0, - "format": "float", - "type": "number" - }, - "autonomy_engine_plan_ID": { - "description": "Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform", - "example": 1, - "type": "integer" - }, - "battery_output": { - "description": "Battery output in kW", - "example": 80.2, + }, + "altitude": { + "description": "Altitude of next action", + "example": 15.0, "format": "float", "type": "number" - }, - "battery_remaining_capacity": { - "description": "Battery remaining % provided by respective C2", - "example": 80.2, + }, + "depth": { + "description": "Depth of next action", + "example": 15.0, "format": "float", "type": "number" - }, - "depth": { - "default": 0.0, - "description": "Target depth in metres", - "example": 50.0, + }, + "start_point_latitude": { + "description": "Start point, y-coordinate", + "example": 50.37072283932642, "format": "float", "type": "number" - }, - "endurance": { - "description": "Estimate of hours of operation remaining based on present output or performance", - "example": 7.4, + }, + "start_point_longitude": { + "description": "Start point, x-coordinate", + "example": -4.187143188645706, "format": "float", "type": "number" - }, - "fuel_remaining_capacity": { - "description": "Percentage remaining capacity", - "example": 80.2, + }, + "target_waypoint_latitude": { + "description": "Target waypoint, y-coordinate", + "example": 50.37072283932642, "format": "float", "type": "number" - }, - "fuel_volume": { - "description": "Litres of liquid fuel", - "example": 12.5, + }, + "target_waypoint_longitude": { + "description": "Target waypoint, x-coordinate", + "example": -4.187143188645706, "format": "float", "type": "number" - }, - "heading": { - "description": "Angular distance relative to north, usually 000\u00b0 at north, clockwise through 359\u00b0, in degrees", - "example": 124.3, + }, + "timeout": { + "description": "Timeout set to perform action", + "example": 1800.0, "format": "float", "type": "number" - }, - "health_status": { - "description": "Health status where 0 is OK, 1 is platform has an ERROR", - "example": false, - "type": "boolean" - }, - "latitude": { - "description": "Latitude (Y-coordinate) in decimal degrees.", + } + }, + "required": [ + "target_waypoint_latitude", + "target_waypoint_longitude" + ], + "type": "object" + }, + "type": "array" + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "reav-x-1", + "type": "string" + } + }, + "required": [ + "message_type", + "autonomy_engine_plan_ID", + "platform_ID", + "plan" + ], + "type": "object" + }, + "mission_plan_encoded": { + "properties": { + "data": { + "description": "encoded string. E.g. Base64 encoded", + "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", + "type": "string" + }, + "file_name": { + "description": "Name of file", + "example": "ah1-0238126349247372.bin", + "type": "string" + }, + "is_binary": { + "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", + "example": true, + "type": "boolean" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "mission_plan_encoded" + ], + "example": "mission_plan_encoded", + "type": "string" + }, + "mime_type": { + "description": "MIME type", + "example": "application/gzip", + "type": "string" + } + }, + "required": [ + "data", + "is_binary" + ], + "type": "object" + }, + "observation": { + "properties": { + "additional_data": { + "description": "Placeholder field for any additional data", + "example": { + "sensor_payload": false + } + }, + "message_type": { + "description": "Type of message", + "enum": [ + "observation" + ], + "example": "observation", + "type": "string" + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "reav-x-1", + "type": "string" + }, + "points_of_interest": { + "description": "Points from features of interest identified by platform if any found.", + "items": { + "properties": { + "latitude": { + "description": "Identified y-coordinate of point of interest", "example": 178.2, "format": "float", "type": "number" - }, - "localisation_east_error": { - "description": "Difference in EAST between deadreckoningand USBL update.", - "example": 0.000129, - "format": "float", - "type": "number" - }, - "localisation_north_error": { - "description": "Difference in NORTH between deadreckoning and USBL update.", - "example": 0.000129, + }, + "longitude": { + "description": "Identified x-coordinate of point of interest", + "example": -10.122, "format": "float", "type": "number" - }, - "longitude": { - "description": "Longitude (X-coordinate) in decimal degrees.", - "example": -10.122, + }, + "quality_of_point": { + "description": "Quality/strength of points from features of interest identified by platform.", + "example": 0.98, "format": "float", "type": "number" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "platform_status" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object" + }, + "type": "array" + }, + "region_surveyed": { + "description": "Region surveyed by given platform. GEOJSON", + "example": "", + "nullable": true + } + }, + "required": [ + "message_type", + "platform_ID" + ], + "type": "object" + }, + "observation_encoded": { + "properties": { + "data": { + "description": "encoded string. E.g. Base64 encoded", + "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", + "type": "string" + }, + "file_name": { + "description": "Name of file", + "example": "ah1-0238126349247372.bin", + "type": "string" + }, + "is_binary": { + "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", + "example": true, + "type": "boolean" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "observation_encoded" + ], + "example": "observation_encoded", + "type": "string" + }, + "mime_type": { + "description": "MIME type", + "example": "application/gzip", + "type": "string" + } + }, + "required": [ + "data", + "is_binary" + ], + "type": "object" + }, + "payload": { + "discriminator": { + "mapping": { + "acknowledgement": "#/components/schemas/acknowledgement", + "alert": "#/components/schemas/alert", + "mission_plan": "#/components/schemas/mission_plan", + "mission_plan_encoded": "#/components/schemas/mission_plan_encoded", + "observation": "#/components/schemas/observation", + "observation_encoded": "#/components/schemas/observation_encoded", + "planning_configuration": "#/components/schemas/planning_configuration", + "platform_status": "#/components/schemas/platform_status", + "platform_status_encoded": "#/components/schemas/platform_status_encoded", + "survey": "#/components/schemas/survey", + "survey_encoded": "#/components/schemas/survey_encoded" + }, + "propertyName": "message_type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/alert" + }, + { + "$ref": "#/components/schemas/acknowledgement" + }, + { + "$ref": "#/components/schemas/mission_plan" + }, + { + "$ref": "#/components/schemas/mission_plan_encoded" + }, + { + "$ref": "#/components/schemas/observation" + }, + { + "$ref": "#/components/schemas/observation_encoded" + }, + { + "$ref": "#/components/schemas/planning_configuration" + }, + { + "$ref": "#/components/schemas/platform_status" + }, + { + "$ref": "#/components/schemas/platform_status_encoded" + }, + { + "$ref": "#/components/schemas/survey" + }, + { + "$ref": "#/components/schemas/survey_encoded" + } + ] + }, + "planning_configuration": { + "properties": { + "exclusion_zones": { + "description": "Exclusion zones for all platforms", + "items": { + "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", + "properties": { + "geometry_coordinates": { + "example": [ + [ + [ + -4.1777839187560915, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.34173405662855 + ] + ] ], - "example": "platform_status", - "type": "string" - }, - "mission_plan_ID": { - "description": "Mission plan ID according to platform-C2 system", - "example": 1, - "type": "integer" - }, - "mission_track_ID": { - "description": "Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)", - "example": 4, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "planning_configuration" + ], + "example": "planning_configuration", + "type": "string" + }, + "planning_config_ID": { + "description": "Unique identifier tagged to version of this configuration plan", + "example": 3, + "type": "integer" + }, + "region_of_interest": { + "description": "Region of interest for the entire operation", + "items": { + "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)", + "properties": { + "geometry_coordinates": { + "example": [ + [ + [ + -4.1777839187560915, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.33820949229701 + ], + [ + -4.143667777943875, + 50.34173405662855 + ], + [ + -4.1777839187560915, + 50.34173405662855 + ] + ] + ], + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "squads": { + "items": { + "properties": { + "no_of_platforms": { + "description": "Number of platforms", + "example": 3, "type": "integer" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "reav-x-1", - "type": "string" - }, - "platform_state": { - "description": "Current state executed by platform. E.g. STOP, IDLE, ABORT.", - "example": "ABORT", - "type": "string" - }, - "platform_timestamp": { - "description": "Timestamp for onboard platform status message", - "example": "2022-12-21T00:00:00Z", - "format": "date-time", - "type": "string" - }, - "range_to_go": { - "description": "Estimated distance to reach next waypoint", - "example": 124.3, - "format": "float", - "type": "number" - }, - "sensor_config": { - "description": "Scanning sensor on platform available to be controlled by the Autonomy Engine", - "properties": { - "additional_data": { + }, + "platforms": { + "description": "Squad consists of these platforms", + "items": { + "properties": { + "active": { + "description": "If platform is active = True, and inactive = False", + "example": true, + "type": "boolean" + }, + "additional_data": { "description": "Any addition fields/data to be added here", "example": { - "payload": [ - 1.2, - 434 - ] + "new_sensor_a": "test_sensor", + "range": 10.0 }, "type": "object" - }, - "sensor_on": { - "description": "Sensor switched on (true) or off (false)", - "example": true, - "type": "boolean" - }, - "sensor_serial": { - "description": "serial number of sensor", - "example": "mbes-002a", + }, + "beacon_ID": { + "description": "Unique identifier (number) for the beacon associated to this platform", + "example": 2407, + "type": "number" + }, + "emergency": { + "properties": { + "safe_command": { + "description": "Command/Action that is native to respective partner's platform/C2", + "enum": [ + "go_home", + "abort_now", + "stop_now", + "surface_now" + ], + "example": "go_home", + "type": "string" + }, + "target_depth": { + "description": "Z-coordinate safe place for respective platform . If platform to NOT stay at depth, key in `0.0`", + "example": 10.0, + "format": "float", + "type": "number" + }, + "target_waypoint_latitude": { + "description": "Y-coordinate safe place for respective platform", + "example": 50.365, + "format": "float", + "type": "number" + }, + "target_waypoint_longitude": { + "description": "X-coordinate safe place for respective platform", + "example": -7.432, + "format": "float", + "type": "number" + } + }, + "required": [ + "target_waypoint_latitude", + "target_waypoint_longitude", + "target_depth" + ], + "type": "object" + }, + "endurance_relative_to_water_speed": { + "properties": { + "avg_battery_rating": { + "description": "Battery endurance rating during standard operational speed usage (m/s)", + "example": 1.9, + "format": "float", + "type": "number" + }, + "max_battery_rating": { + "description": "Battery endurance rating during maximum speed usage (m/s)", + "example": 1.23, + "format": "float", + "type": "number" + }, + "min_battery_rating": { + "description": "Battery endurance rating during maximum speed usage (m/s)", + "example": 3.32, + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "max_velocity": { + "description": "Maximum velocity set for platform", + "example": 0.9, + "format": "float", + "type": "number" + }, + "min_altitude": { + "description": "Minimum altitude set for platform", + "example": 15.2, + "format": "float", + "type": "number" + }, + "min_velocity": { + "description": "Minimum velocity set for platform", + "example": 0.1, + "format": "float", + "type": "number" + }, + "model": { + "example": "reav", + "type": "string" + }, + "operator": { + "description": "Operator of platform", + "example": "noc", "type": "string" - } + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "reav-x-1", + "type": "string" + }, + "scan_sensor": { + "properties": { + "angle": { + "description": "Angle of range of swath width (in degrees)", + "example": 140.0, + "format": "float", + "type": "number" + }, + "frequency": { + "description": "Frequency of scanning sensor (in kHz)", + "example": 700.0, + "format": "float", + "type": "number" + }, + "sensor_type": { + "description": "Unique identifier for this platform", + "enum": [ + "SIDESCAN", + "MBES" + ], + "example": "MBES", + "type": "string" + }, + "swath_width": { + "description": "Function of `target_altitude` for the platform's swath width (in metres)", + "example": 38.0, + "format": "float", + "type": "number" + }, + "warmup_time": { + "description": "Warmup time (seconds) for sensor to start up.", + "example": 180.0, + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "target_altitude": { + "description": "Target altitude set for platform. This affects swath width", + "example": 15.0, + "format": "float", + "type": "number" + }, + "turning_radius": { + "description": "Turning radius of platform (in metres)", + "example": 1.0, + "format": "float", + "type": "number" + } + }, + "required": [ + "operator", + "platform_ID", + "active", + "model" + ], + "type": "object" }, - "type": "object" - }, - "speed_over_ground": { - "description": "Speed over ground", - "example": 124.3, - "format": "float", - "type": "number" - }, - "status_source": { - "description": "Indicate if this status message is from the platform or USBL", - "enum": [ - "usbl", - "onboard_platform" - ], - "example": "usbl", - "type": "string" - }, - "thrust_applied": { - "description": "Thrust applied", - "example": 124.3, - "format": "float", - "type": "number" - }, - "transmission_mode": { - "description": "Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)", + "type": "array" + }, + "squad_ID": { + "description": "Identifier of given squad", + "example": 23, + "type": "integer" + }, + "squad_mission_type": { + "description": "Mission of given squad: `tracking`, `survey`, `inspection`", "enum": [ - "acoustics", - "iridium", - "wifi", - "starlink" + "tracking", + "survey", + "inspection" ], - "example": "wifi", - "type": "string" - }, - "usbl_fix_seconds_ago": { - "description": "USBL Fix received x second ago.", - "example": 10.0, - "format": "float", - "type": "number" - }, - "water_current_velocity": { - "description": "Water current magnitude and direction", - "example": "124.3NE", + "example": "survey", "type": "string" - } + } + }, + "required": [ + "squad_ID", + "no_of_platforms", + "platforms", + "squad_mission_type" + ], + "type": "object" }, - "required": [ - "message_type", - "platform_ID", - "status_source", - "platform_timestamp", - "latitude", - "longitude" + "type": "array" + } + }, + "required": [ + "message_type", + "planning_config_ID", + "squads", + "exclusion_zones", + "region_of_interest" + ], + "type": "object" + }, + "platform_status": { + "properties": { + "altitude": { + "description": "Target altitude in metres", + "example": 20.0, + "format": "float", + "type": "number" + }, + "autonomy_engine_plan_ID": { + "description": "Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform", + "example": 1, + "type": "integer" + }, + "battery_output": { + "description": "Battery output in kW", + "example": 80.2, + "format": "float", + "type": "number" + }, + "battery_remaining_capacity": { + "description": "Battery remaining % provided by respective C2", + "example": 80.2, + "format": "float", + "type": "number" + }, + "depth": { + "default": 0.0, + "description": "Target depth in metres", + "example": 50.0, + "format": "float", + "type": "number" + }, + "endurance": { + "description": "Estimate of hours of operation remaining based on present output or performance", + "example": 7.4, + "format": "float", + "type": "number" + }, + "fuel_remaining_capacity": { + "description": "Percentage remaining capacity", + "example": 80.2, + "format": "float", + "type": "number" + }, + "fuel_volume": { + "description": "Litres of liquid fuel", + "example": 12.5, + "format": "float", + "type": "number" + }, + "heading": { + "description": "Angular distance relative to north, usually 000\u00b0 at north, clockwise through 359\u00b0, in degrees", + "example": 124.3, + "format": "float", + "type": "number" + }, + "health_status": { + "description": "Health status where 0 is OK, 1 is platform has an ERROR", + "example": false, + "type": "boolean" + }, + "latitude": { + "description": "Latitude (Y-coordinate) in decimal degrees.", + "example": 178.2, + "format": "float", + "type": "number" + }, + "localisation_east_error": { + "description": "Difference in EAST between deadreckoningand USBL update.", + "example": 0.000129, + "format": "float", + "type": "number" + }, + "localisation_north_error": { + "description": "Difference in NORTH between deadreckoning and USBL update.", + "example": 0.000129, + "format": "float", + "type": "number" + }, + "longitude": { + "description": "Longitude (X-coordinate) in decimal degrees.", + "example": -10.122, + "format": "float", + "type": "number" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "platform_status" ], - "type": "object" - }, - "platform_status_encoded": { + "example": "platform_status", + "type": "string" + }, + "mission_plan_ID": { + "description": "Mission plan ID according to platform-C2 system", + "example": 1, + "type": "integer" + }, + "mission_track_ID": { + "description": "Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)", + "example": 4, + "type": "integer" + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "reav-x-1", + "type": "string" + }, + "platform_state": { + "description": "Current state executed by platform. E.g. STOP, IDLE, ABORT.", + "example": "ABORT", + "type": "string" + }, + "platform_timestamp": { + "description": "Timestamp for onboard platform status message", + "example": "2022-12-21T00:00:00Z", + "format": "date-time", + "type": "string" + }, + "range_to_go": { + "description": "Estimated distance to reach next waypoint", + "example": 124.3, + "format": "float", + "type": "number" + }, + "sensor_config": { + "description": "Scanning sensor on platform available to be controlled by the Autonomy Engine", "properties": { - "data": { - "description": "encoded string. E.g. Base64 encoded", - "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", - "type": "string" - }, - "file_name": { - "description": "Name of file", - "example": "ah1-0238126349247372.bin", - "type": "string" - }, - "is_binary": { - "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", - "example": true, - "type": "boolean" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "platform_status_encoded" - ], - "example": "platform_status_encoded", - "type": "string" - }, - "mime_type": { - "description": "MIME type", - "example": "application/gzip", - "type": "string" - } + "additional_data": { + "description": "Any addition fields/data to be added here", + "example": { + "payload": [ + 1.2, + 434 + ] + }, + "type": "object" + }, + "sensor_on": { + "description": "Sensor switched on (true) or off (false)", + "example": true, + "type": "boolean" + }, + "sensor_serial": { + "description": "serial number of sensor", + "example": "mbes-002a", + "type": "string" + } }, - "required": [ - "data", - "is_binary" - ], "type": "object" - }, - "survey": { - "properties": { - "latitude_A": { - "description": "Latitude of point A(intersection of normal)from waypoint A to survey line", - "example": 178.2, - "format": "float", - "type": "number" - }, - "latitude_B": { - "description": "Latitude of point B(intersection of normal)from waypoint B to survey line", - "example": 178.2, - "format": "float", - "type": "number" - }, - "latitude_C": { - "description": "Latitude of point C(intersection of normal)from waypoint C to survey line", - "example": 178.2, - "format": "float", - "type": "number" - }, - "latitude_D": { - "description": "Latitude of point D(intersection of normal)from waypoint D to survey line", - "example": 178.2, - "format": "float", - "type": "number" - }, - "latitude_E": { - "description": "Latitude of point E(intersection of normal)from waypoint E to survey line", - "example": 178.2, - "format": "float", - "type": "number" - }, - "longitude_A": { - "description": "Longitude of point A(intersection of normal)from waypoint A to survey line", - "example": -10.122, - "format": "float", - "type": "number" - }, - "longitude_B": { - "description": "Longitude of point B(intersection of normal)from waypoint B to survey line", - "example": -10.122, - "format": "float", - "type": "number" - }, - "longitude_C": { - "description": "Longitude of point C(intersection of normal)from waypoint C to survey line", - "example": -10.122, - "format": "float", - "type": "number" - }, - "longitude_D": { - "description": "Longitude of point D(intersection of normal)from waypoint D to survey line", - "example": -10.122, - "format": "float", - "type": "number" - }, - "longitude_E": { - "description": "Longitude of point E(intersection of normal)from waypoint E to survey line", - "example": -10.122, - "format": "float", - "type": "number" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "survey" - ], - "example": "survey", - "type": "string" - }, - "platform_ID": { - "description": "Unique identifier for this platform", - "example": "ecosub-2", - "type": "string" - }, - "timestamp": { - "description": "Timestamp for onboard message", - "example": "2022-12-21T00:00:00Z", - "format": "date-time", - "type": "string" - }, - "track_ID": { - "description": "Track number of action(s) currently executed by platform", - "example": 1, - "type": "integer" - } - }, - "required": [ - "latitude_A", - "longitude_A", - "latitude_B", - "longitude_B", - "platform_ID" + }, + "speed_over_ground": { + "description": "Speed over ground", + "example": 124.3, + "format": "float", + "type": "number" + }, + "status_source": { + "description": "Indicate if this status message is from the platform or USBL", + "enum": [ + "usbl", + "onboard_platform" ], - "type": "object" - }, - "survey_encoded": { - "properties": { - "data": { - "description": "encoded string. E.g. Base64 encoded", - "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", - "type": "string" - }, - "file_name": { - "description": "Name of file", - "example": "ah1-0238126349247372.bin", - "type": "string" - }, - "is_binary": { - "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", - "example": true, - "type": "boolean" - }, - "message_type": { - "description": "Type of message", - "enum": [ - "survey_encoded" - ], - "example": "survey_encoded", - "type": "string" - }, - "mime_type": { - "description": "MIME type", - "example": "application/gzip", - "type": "string" - } - }, - "required": [ - "data", - "is_binary" + "example": "usbl", + "type": "string" + }, + "thrust_applied": { + "description": "Thrust applied", + "example": 124.3, + "format": "float", + "type": "number" + }, + "transmission_mode": { + "description": "Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)", + "enum": [ + "acoustics", + "iridium", + "wifi", + "starlink" ], - "type": "object" - } + "example": "wifi", + "type": "string" + }, + "usbl_fix_seconds_ago": { + "description": "USBL Fix received x second ago.", + "example": 10.0, + "format": "float", + "type": "number" + }, + "water_current_velocity": { + "description": "Water current magnitude and direction", + "example": "124.3NE", + "type": "string" + } + }, + "required": [ + "message_type", + "platform_ID", + "status_source", + "platform_timestamp", + "latitude", + "longitude" + ], + "type": "object" + }, + "platform_status_encoded": { + "properties": { + "data": { + "description": "encoded string. E.g. Base64 encoded", + "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", + "type": "string" + }, + "file_name": { + "description": "Name of file", + "example": "ah1-0238126349247372.bin", + "type": "string" + }, + "is_binary": { + "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", + "example": true, + "type": "boolean" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "platform_status_encoded" + ], + "example": "platform_status_encoded", + "type": "string" + }, + "mime_type": { + "description": "MIME type", + "example": "application/gzip", + "type": "string" + } + }, + "required": [ + "data", + "is_binary" + ], + "type": "object" + }, + "survey": { + "properties": { + "latitude_A": { + "description": "Latitude of point A(intersection of normal)from waypoint A to survey line", + "example": 178.2, + "format": "float", + "type": "number" + }, + "latitude_B": { + "description": "Latitude of point B(intersection of normal)from waypoint B to survey line", + "example": 178.2, + "format": "float", + "type": "number" + }, + "latitude_C": { + "description": "Latitude of point C(intersection of normal)from waypoint C to survey line", + "example": 178.2, + "format": "float", + "type": "number" + }, + "latitude_D": { + "description": "Latitude of point D(intersection of normal)from waypoint D to survey line", + "example": 178.2, + "format": "float", + "type": "number" + }, + "latitude_E": { + "description": "Latitude of point E(intersection of normal)from waypoint E to survey line", + "example": 178.2, + "format": "float", + "type": "number" + }, + "longitude_A": { + "description": "Longitude of point A(intersection of normal)from waypoint A to survey line", + "example": -10.122, + "format": "float", + "type": "number" + }, + "longitude_B": { + "description": "Longitude of point B(intersection of normal)from waypoint B to survey line", + "example": -10.122, + "format": "float", + "type": "number" + }, + "longitude_C": { + "description": "Longitude of point C(intersection of normal)from waypoint C to survey line", + "example": -10.122, + "format": "float", + "type": "number" + }, + "longitude_D": { + "description": "Longitude of point D(intersection of normal)from waypoint D to survey line", + "example": -10.122, + "format": "float", + "type": "number" + }, + "longitude_E": { + "description": "Longitude of point E(intersection of normal)from waypoint E to survey line", + "example": -10.122, + "format": "float", + "type": "number" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "survey" + ], + "example": "survey", + "type": "string" + }, + "platform_ID": { + "description": "Unique identifier for this platform", + "example": "ecosub-2", + "type": "string" + }, + "timestamp": { + "description": "Timestamp for onboard message", + "example": "2022-12-21T00:00:00Z", + "format": "date-time", + "type": "string" + }, + "track_ID": { + "description": "Track number of action(s) currently executed by platform", + "example": 1, + "type": "integer" + } + }, + "required": [ + "latitude_A", + "longitude_A", + "latitude_B", + "longitude_B", + "platform_ID" + ], + "type": "object" + }, + "survey_encoded": { + "properties": { + "data": { + "description": "encoded string. E.g. Base64 encoded", + "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==", + "type": "string" + }, + "file_name": { + "description": "Name of file", + "example": "ah1-0238126349247372.bin", + "type": "string" + }, + "is_binary": { + "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.", + "example": true, + "type": "boolean" + }, + "message_type": { + "description": "Type of message", + "enum": [ + "survey_encoded" + ], + "example": "survey_encoded", + "type": "string" + }, + "mime_type": { + "description": "MIME type", + "example": "application/gzip", + "type": "string" + } + }, + "required": [ + "data", + "is_binary" + ], + "type": "object" } - }, - "info":{ - "description":"SoAR message protocol in schemas", - "title":"SoAR Backbone Message Formats", - "version":"0.2" - }, - "openapi": "3.0.2", - "paths": {} + } + }, + "info": { + "description": "SoAR message protocol in schemas", + "title": "SoAR Backbone Message Formats", + "version": "1.0" + }, + "openapi": "3.0.2", + "paths": {} } \ No newline at end of file