From e75e4d86e9acf309755c9274e424e355fe584c5c Mon Sep 17 00:00:00 2001 From: Aaron Chong Date: Sun, 21 Jul 2024 04:53:13 +0000 Subject: [PATCH] Generate API for rio Signed-off-by: Aaron Chong --- packages/api-client/lib/openapi/api.ts | 306 ++++++++++++++++++++++++- packages/api-client/lib/version.ts | 2 +- packages/api-client/schema/index.ts | 98 +++++++- 3 files changed, 400 insertions(+), 6 deletions(-) diff --git a/packages/api-client/lib/openapi/api.ts b/packages/api-client/lib/openapi/api.ts index 34c1739bf..a6b128624 100644 --- a/packages/api-client/lib/openapi/api.ts +++ b/packages/api-client/lib/openapi/api.ts @@ -1957,6 +1957,31 @@ export interface ResumedBy { */ labels: Array; } +/** + * + * @export + * @interface Rio + */ +export interface Rio { + /** + * + * @type {string} + * @memberof Rio + */ + id: string; + /** + * + * @type {string} + * @memberof Rio + */ + type: string; + /** + * + * @type {object} + * @memberof Rio + */ + data: object; +} /** * * @export @@ -6590,7 +6615,7 @@ export const DefaultApiAxiosParamCreator = function (configuration?: Configurati }; }, /** - * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` + * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` ### /rios ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"object\" } }, \"required\": [ \"id\", \"type\", \"data\" ], \"title\": \"Rio\", \"type\": \"object\" } ``` * @summary Socket.io endpoint * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -6708,7 +6733,7 @@ export const DefaultApiFp = function (configuration?: Configuration) { )(axios, localVarOperationServerBasePath || basePath); }, /** - * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` + * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` ### /rios ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"object\" } }, \"required\": [ \"id\", \"type\", \"data\" ], \"title\": \"Rio\", \"type\": \"object\" } ``` * @summary Socket.io endpoint * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -6779,7 +6804,7 @@ export const DefaultApiFactory = function ( .then((request) => request(axios, basePath)); }, /** - * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` + * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` ### /rios ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"object\" } }, \"required\": [ \"id\", \"type\", \"data\" ], \"title\": \"Rio\", \"type\": \"object\" } ``` * @summary Socket.io endpoint * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -6842,7 +6867,7 @@ export class DefaultApi extends BaseAPI { } /** - * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` + * # NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint. ## About This exposes a minimal pubsub system built on top of socket.io. It works similar to a normal socket.io endpoint, except that are 2 special rooms which control subscriptions. ## Rooms ### subscribe Clients must send a message to this room to start receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### unsubscribe Clients can send a message to this room to stop receiving messages on other rooms. The message must be of the form: ``` { \"room\": \"\" } ``` ### /alerts ``` { \"$defs\": { \"Category\": { \"enum\": [ \"default\", \"task\", \"fleet\", \"robot\" ], \"title\": \"Category\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\", \"acknowledged_by\", \"unix_millis_acknowledged_time\" ], \"title\": \"Alert\", \"type\": \"object\" } ``` ### /beacons ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"category\", \"activated\", \"level\" ], \"title\": \"BeaconState\", \"type\": \"object\" } ``` ### /building_map ``` { \"$defs\": { \"AffineImage\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ], \"title\": \"AffineImage\", \"type\": \"object\" }, \"Door\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"type\": \"number\" }, \"door_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door Type\", \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"type\": \"number\" }, \"motion_direction\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Motion Direction\", \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ], \"title\": \"Door\", \"type\": \"object\" }, \"Graph\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"vertices\": { \"items\": { \"$ref\": \"#/$defs/GraphNode\" }, \"title\": \"Vertices\", \"type\": \"array\" }, \"edges\": { \"items\": { \"$ref\": \"#/$defs/GraphEdge\" }, \"title\": \"Edges\", \"type\": \"array\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ], \"title\": \"Graph\", \"type\": \"object\" }, \"GraphEdge\": { \"properties\": { \"v1_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V1 Idx\", \"type\": \"integer\" }, \"v2_idx\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"V2 Idx\", \"type\": \"integer\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" }, \"edge_type\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Edge Type\", \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ], \"title\": \"GraphEdge\", \"type\": \"object\" }, \"GraphNode\": { \"properties\": { \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"params\": { \"items\": { \"$ref\": \"#/$defs/Param\" }, \"title\": \"Params\", \"type\": \"array\" } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ], \"title\": \"GraphNode\", \"type\": \"object\" }, \"Level\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"type\": \"number\" }, \"images\": { \"items\": { \"$ref\": \"#/$defs/AffineImage\" }, \"title\": \"Images\", \"type\": \"array\" }, \"places\": { \"items\": { \"$ref\": \"#/$defs/Place\" }, \"title\": \"Places\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"nav_graphs\": { \"items\": { \"$ref\": \"#/$defs/Graph\" }, \"title\": \"Nav Graphs\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ], \"title\": \"Level\", \"type\": \"object\" }, \"Lift\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"type\": \"string\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"doors\": { \"items\": { \"$ref\": \"#/$defs/Door\" }, \"title\": \"Doors\", \"type\": \"array\" }, \"wall_graph\": { \"$ref\": \"#/$defs/Graph\" }, \"ref_x\": { \"title\": \"Ref X\", \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ], \"title\": \"Lift\", \"type\": \"object\" }, \"Param\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"type\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Type\", \"type\": \"integer\" }, \"value_int\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Value Int\", \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ], \"title\": \"Param\", \"type\": \"object\" }, \"Place\": { \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ], \"title\": \"Place\", \"type\": \"object\" } }, \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"levels\": { \"items\": { \"$ref\": \"#/$defs/Level\" }, \"title\": \"Levels\", \"type\": \"array\" }, \"lifts\": { \"items\": { \"$ref\": \"#/$defs/Lift\" }, \"title\": \"Lifts\", \"type\": \"array\" } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"title\": \"BuildingMap\", \"type\": \"object\" } ``` ### /building_map/fire_alarm_trigger ``` { \"properties\": { \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"trigger\": { \"title\": \"Trigger\", \"type\": \"boolean\" } }, \"required\": [ \"unix_millis_time\", \"trigger\" ], \"title\": \"FireAlarmTriggerState\", \"type\": \"object\" } ``` ### /delivery_alerts ``` { \"$defs\": { \"Action\": { \"enum\": [ \"waiting\", \"cancel\", \"override\", \"resume\" ], \"title\": \"Action\", \"type\": \"string\" }, \"Category\": { \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"title\": \"Category\", \"type\": \"string\" }, \"Tier\": { \"enum\": [ \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/$defs/Category\" }, \"tier\": { \"$ref\": \"#/$defs/Tier\" }, \"action\": { \"$ref\": \"#/$defs/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"title\": \"DeliveryAlert\", \"type\": \"object\" } ``` ### /doors/{door_name}/state ``` { \"$defs\": { \"DoorMode\": { \"properties\": { \"value\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Value\", \"type\": \"integer\" } }, \"required\": [ \"value\" ], \"title\": \"DoorMode\", \"type\": \"object\" }, \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"door_time\": { \"$ref\": \"#/$defs/Time\" }, \"door_name\": { \"title\": \"Door Name\", \"type\": \"string\" }, \"current_mode\": { \"$ref\": \"#/$defs/DoorMode\" } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"title\": \"DoorState\", \"type\": \"object\" } ``` ### /lifts/{lift_name}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"lift_time\": { \"$ref\": \"#/$defs/Time\" }, \"lift_name\": { \"title\": \"Lift Name\", \"type\": \"string\" }, \"available_floors\": { \"items\": { \"type\": \"string\" }, \"title\": \"Available Floors\", \"type\": \"array\" }, \"current_floor\": { \"title\": \"Current Floor\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"type\": \"string\" }, \"door_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Door State\", \"type\": \"integer\" }, \"motion_state\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Motion State\", \"type\": \"integer\" }, \"available_modes\": { \"items\": { \"type\": \"integer\" }, \"title\": \"Available Modes\", \"type\": \"array\" }, \"current_mode\": { \"maximum\": 255, \"minimum\": 0, \"title\": \"Current Mode\", \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"title\": \"LiftState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/state ``` { \"$defs\": { \"AssignedTo\": { \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ], \"title\": \"AssignedTo\", \"type\": \"object\" }, \"Assignment\": { \"properties\": { \"fleet_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Fleet Name\" }, \"expected_robot_name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Expected Robot Name\" } }, \"title\": \"Assignment\", \"type\": \"object\" }, \"Booking\": { \"properties\": { \"id\": { \"description\": \"The unique identifier for this task\", \"title\": \"Id\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Earliest Start Time\" }, \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Request Time\" }, \"priority\": { \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Priority information about this task\", \"title\": \"Priority\" }, \"labels\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"title\": \"Labels\" }, \"requester\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"(Optional) An identifier for the entity that requested this task\", \"title\": \"Requester\" } }, \"required\": [ \"id\" ], \"title\": \"Booking\", \"type\": \"object\" }, \"Cancellation\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Cancellation\", \"type\": \"object\" }, \"Category\": { \"description\": \"The category of this task or phase\", \"title\": \"Category\", \"type\": \"string\" }, \"Detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" } ], \"description\": \"Detailed information about a task, phase, or event\", \"title\": \"Detail\" }, \"Dispatch\": { \"properties\": { \"status\": { \"$ref\": \"#/$defs/Status2\" }, \"assignment\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Assignment\" }, { \"type\": \"null\" } ], \"default\": null }, \"errors\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Error\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Errors\" } }, \"required\": [ \"status\" ], \"title\": \"Dispatch\", \"type\": \"object\" }, \"Error\": { \"properties\": { \"code\": { \"anyOf\": [ { \"minimum\": 0, \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A standard code for the kind of error that has occurred\", \"title\": \"Code\" }, \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The category of the error\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Details about the error\", \"title\": \"Detail\" } }, \"title\": \"Error\", \"type\": \"object\" }, \"EstimateMillis\": { \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"title\": \"EstimateMillis\", \"type\": \"integer\" }, \"EventState\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The brief name of the event\", \"title\": \"Name\" }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the event\" }, \"deps\": { \"anyOf\": [ { \"items\": { \"minimum\": 0, \"type\": \"integer\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"title\": \"Deps\" } }, \"required\": [ \"id\" ], \"title\": \"EventState\", \"type\": \"object\" }, \"Id\": { \"minimum\": 0, \"title\": \"Id\", \"type\": \"integer\" }, \"Interruption\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the interruption request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"resumed_by\": { \"anyOf\": [ { \"$ref\": \"#/$defs/ResumedBy\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Interruption\", \"type\": \"object\" }, \"Killed\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the cancellation request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Killed\", \"type\": \"object\" }, \"Phase\": { \"properties\": { \"id\": { \"$ref\": \"#/$defs/Id\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"final_event_id\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/EventState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"title\": \"Events\" }, \"skip_requests\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/SkipPhaseRequest\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about any skip requests that have been received\", \"title\": \"Skip Requests\" } }, \"required\": [ \"id\" ], \"title\": \"Phase\", \"type\": \"object\" }, \"ResumedBy\": { \"properties\": { \"unix_millis_request_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The time that the resume request arrived\", \"title\": \"Unix Millis Request Time\" }, \"labels\": { \"description\": \"Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"labels\" ], \"title\": \"ResumedBy\", \"type\": \"object\" }, \"SkipPhaseRequest\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" }, \"undo\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Undo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about an undo skip request that applied to this request\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"SkipPhaseRequest\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ], \"title\": \"Status\", \"type\": \"string\" }, \"Status2\": { \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ], \"title\": \"Status2\", \"type\": \"string\" }, \"Undo\": { \"properties\": { \"unix_millis_request_time\": { \"description\": \"The time that the undo skip request arrived\", \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"labels\": { \"description\": \"Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.\", \"items\": { \"type\": \"string\" }, \"title\": \"Labels\", \"type\": \"array\" } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ], \"title\": \"Undo\", \"type\": \"object\" } }, \"properties\": { \"booking\": { \"$ref\": \"#/$defs/Booking\" }, \"category\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Category\" }, { \"type\": \"null\" } ], \"default\": null }, \"detail\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Detail\" }, { \"type\": \"null\" } ], \"default\": null }, \"unix_millis_start_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Start Time\" }, \"unix_millis_finish_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Finish Time\" }, \"original_estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"estimate_millis\": { \"anyOf\": [ { \"$ref\": \"#/$defs/EstimateMillis\" }, { \"type\": \"null\" } ], \"default\": null }, \"assigned_to\": { \"anyOf\": [ { \"$ref\": \"#/$defs/AssignedTo\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Which agent (robot) is the task assigned to\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null }, \"dispatch\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Dispatch\" }, { \"type\": \"null\" } ], \"default\": null }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phase\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"title\": \"Phases\" }, \"completed\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the IDs of completed phases of this task\", \"title\": \"Completed\" }, \"active\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Id\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the active phase for this task\" }, \"pending\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Id\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"An array of the pending phases of this task\", \"title\": \"Pending\" }, \"interruptions\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Interruption\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"title\": \"Interruptions\" }, \"cancellation\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Cancellation\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was cancelled, this will describe information about the request.\" }, \"killed\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Killed\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"If the task was killed, this will describe information about the request.\" } }, \"required\": [ \"booking\" ], \"title\": \"TaskState\", \"type\": \"object\" } ``` ### /tasks/{task_id}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Phases\": { \"additionalProperties\": false, \"properties\": { \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall phase\", \"title\": \"Log\" }, \"events\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"title\": \"Events\" } }, \"title\": \"Phases\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"additionalProperties\": false, \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log entries related to the overall task\", \"title\": \"Log\" }, \"phases\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/Phases\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"title\": \"Phases\" } }, \"required\": [ \"task_id\" ], \"title\": \"TaskEventLog\", \"type\": \"object\" } ``` ### /dispensers/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"DispenserState\", \"type\": \"object\" } ``` ### /ingestors/{guid}/state ``` { \"$defs\": { \"Time\": { \"properties\": { \"sec\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Sec\", \"type\": \"integer\" }, \"nanosec\": { \"maximum\": 4294967295, \"minimum\": 0, \"title\": \"Nanosec\", \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ], \"title\": \"Time\", \"type\": \"object\" } }, \"properties\": { \"time\": { \"$ref\": \"#/$defs/Time\" }, \"guid\": { \"title\": \"Guid\", \"type\": \"string\" }, \"mode\": { \"maximum\": 2147483647, \"minimum\": -2147483648, \"title\": \"Mode\", \"type\": \"integer\" }, \"request_guid_queue\": { \"items\": { \"type\": \"string\" }, \"title\": \"Request Guid Queue\", \"type\": \"array\" }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"title\": \"IngestorState\", \"type\": \"object\" } ``` ### /fleets/{name}/state ``` { \"$defs\": { \"Commission\": { \"properties\": { \"dispatch_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Dispatch Tasks\" }, \"direct_tasks\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Direct Tasks\" }, \"idle_behavior\": { \"anyOf\": [ { \"type\": \"boolean\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.\", \"title\": \"Idle Behavior\" } }, \"title\": \"Commission\", \"type\": \"object\" }, \"Issue\": { \"properties\": { \"category\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Category of the robot\'s issue\", \"title\": \"Category\" }, \"detail\": { \"anyOf\": [ { \"type\": \"object\" }, { \"items\": {}, \"type\": \"array\" }, { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Detailed information about the issue\", \"title\": \"Detail\" } }, \"title\": \"Issue\", \"type\": \"object\" }, \"Location2D\": { \"properties\": { \"map\": { \"title\": \"Map\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"type\": \"number\" } }, \"required\": [ \"map\", \"x\", \"y\", \"yaw\" ], \"title\": \"Location2D\", \"type\": \"object\" }, \"MutexGroups\": { \"properties\": { \"locked\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of mutex groups that this robot has currently locked\", \"title\": \"Locked\" }, \"requesting\": { \"anyOf\": [ { \"items\": { \"type\": \"string\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of the mutex groups that this robot is currently requesting but has not lockd yet\", \"title\": \"Requesting\" } }, \"title\": \"MutexGroups\", \"type\": \"object\" }, \"RobotState\": { \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"status\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Status\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A simple token representing the status of the robot\" }, \"task_id\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"title\": \"Task Id\" }, \"unix_millis_time\": { \"anyOf\": [ { \"type\": \"integer\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Unix Millis Time\" }, \"location\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Location2D\" }, { \"type\": \"null\" } ], \"default\": null }, \"battery\": { \"anyOf\": [ { \"maximum\": 1.0, \"minimum\": 0.0, \"type\": \"number\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"title\": \"Battery\" }, \"issues\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/Issue\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A list of issues with the robot that operators need to address\", \"title\": \"Issues\" }, \"commission\": { \"anyOf\": [ { \"$ref\": \"#/$defs/Commission\" }, { \"type\": \"null\" } ], \"default\": null }, \"mutex_groups\": { \"anyOf\": [ { \"$ref\": \"#/$defs/MutexGroups\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Information about the mutex groups that this robot is interacting with\" } }, \"title\": \"RobotState\", \"type\": \"object\" }, \"Status\": { \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ], \"title\": \"Status\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"$ref\": \"#/$defs/RobotState\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"title\": \"Robots\" } }, \"title\": \"FleetState\", \"type\": \"object\" } ``` ### /fleets/{name}/log ``` { \"$defs\": { \"LogEntry\": { \"properties\": { \"seq\": { \"description\": \"Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.\", \"exclusiveMaximum\": 4294967296, \"minimum\": 0, \"title\": \"Seq\", \"type\": \"integer\" }, \"tier\": { \"allOf\": [ { \"$ref\": \"#/$defs/Tier\" } ], \"description\": \"The importance level of the log entry\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"description\": \"The text of the log entry\", \"title\": \"Text\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ], \"title\": \"LogEntry\", \"type\": \"object\" }, \"Tier\": { \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ], \"title\": \"Tier\", \"type\": \"string\" } }, \"properties\": { \"name\": { \"anyOf\": [ { \"type\": \"string\" }, { \"type\": \"null\" } ], \"default\": null, \"title\": \"Name\" }, \"log\": { \"anyOf\": [ { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Log for the overall fleet\", \"title\": \"Log\" }, \"robots\": { \"anyOf\": [ { \"additionalProperties\": { \"items\": { \"$ref\": \"#/$defs/LogEntry\" }, \"type\": \"array\" }, \"type\": \"object\" }, { \"type\": \"null\" } ], \"default\": null, \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"title\": \"Robots\" } }, \"title\": \"FleetLog\", \"type\": \"object\" } ``` ### /rios ``` { \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"object\" } }, \"required\": [ \"id\", \"type\", \"data\" ], \"title\": \"Rio\", \"type\": \"object\" } ``` * @summary Socket.io endpoint * @param {*} [options] Override http request option. * @throws {RequiredError} @@ -9245,6 +9270,279 @@ export class LiftsApi extends BaseAPI { } } +/** + * RIOsApi - axios parameter creator + * @export + */ +export const RIOsApiAxiosParamCreator = function (configuration?: Configuration) { + return { + /** + * + * @summary Put Rio + * @param {Rio} rio + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + putRioRiosPut: async ( + rio: Rio, + authorization?: string | null, + options: RawAxiosRequestConfig = {}, + ): Promise => { + // verify required parameter 'rio' is not null or undefined + assertParamExists('putRioRiosPut', 'rio', rio); + const localVarPath = `/rios`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options }; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (authorization != null) { + localVarHeaderParameter['authorization'] = String(authorization); + } + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = { + ...localVarHeaderParameter, + ...headersFromBaseOptions, + ...options.headers, + }; + localVarRequestOptions.data = serializeDataIfNeeded( + rio, + localVarRequestOptions, + configuration, + ); + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * + * @summary Query Rios + * @param {string | null} [id] comma separated list of ids + * @param {string | null} [type] comma separated list of types + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + queryRiosRiosGet: async ( + id?: string | null, + type?: string | null, + authorization?: string | null, + options: RawAxiosRequestConfig = {}, + ): Promise => { + const localVarPath = `/rios`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options }; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + if (id !== undefined) { + localVarQueryParameter['id'] = id; + } + + if (type !== undefined) { + localVarQueryParameter['type'] = type; + } + + if (authorization != null) { + localVarHeaderParameter['authorization'] = String(authorization); + } + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = { + ...localVarHeaderParameter, + ...headersFromBaseOptions, + ...options.headers, + }; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + }; +}; + +/** + * RIOsApi - functional programming interface + * @export + */ +export const RIOsApiFp = function (configuration?: Configuration) { + const localVarAxiosParamCreator = RIOsApiAxiosParamCreator(configuration); + return { + /** + * + * @summary Put Rio + * @param {Rio} rio + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async putRioRiosPut( + rio: Rio, + authorization?: string | null, + options?: RawAxiosRequestConfig, + ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.putRioRiosPut( + rio, + authorization, + options, + ); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = + operationServerMap['RIOsApi.putRioRiosPut']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => + createRequestFunction( + localVarAxiosArgs, + globalAxios, + BASE_PATH, + configuration, + )(axios, localVarOperationServerBasePath || basePath); + }, + /** + * + * @summary Query Rios + * @param {string | null} [id] comma separated list of ids + * @param {string | null} [type] comma separated list of types + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async queryRiosRiosGet( + id?: string | null, + type?: string | null, + authorization?: string | null, + options?: RawAxiosRequestConfig, + ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { + const localVarAxiosArgs = await localVarAxiosParamCreator.queryRiosRiosGet( + id, + type, + authorization, + options, + ); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = + operationServerMap['RIOsApi.queryRiosRiosGet']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => + createRequestFunction( + localVarAxiosArgs, + globalAxios, + BASE_PATH, + configuration, + )(axios, localVarOperationServerBasePath || basePath); + }, + }; +}; + +/** + * RIOsApi - factory interface + * @export + */ +export const RIOsApiFactory = function ( + configuration?: Configuration, + basePath?: string, + axios?: AxiosInstance, +) { + const localVarFp = RIOsApiFp(configuration); + return { + /** + * + * @summary Put Rio + * @param {Rio} rio + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + putRioRiosPut(rio: Rio, authorization?: string | null, options?: any): AxiosPromise { + return localVarFp + .putRioRiosPut(rio, authorization, options) + .then((request) => request(axios, basePath)); + }, + /** + * + * @summary Query Rios + * @param {string | null} [id] comma separated list of ids + * @param {string | null} [type] comma separated list of types + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + queryRiosRiosGet( + id?: string | null, + type?: string | null, + authorization?: string | null, + options?: any, + ): AxiosPromise> { + return localVarFp + .queryRiosRiosGet(id, type, authorization, options) + .then((request) => request(axios, basePath)); + }, + }; +}; + +/** + * RIOsApi - object-oriented interface + * @export + * @class RIOsApi + * @extends {BaseAPI} + */ +export class RIOsApi extends BaseAPI { + /** + * + * @summary Put Rio + * @param {Rio} rio + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RIOsApi + */ + public putRioRiosPut(rio: Rio, authorization?: string | null, options?: RawAxiosRequestConfig) { + return RIOsApiFp(this.configuration) + .putRioRiosPut(rio, authorization, options) + .then((request) => request(this.axios, this.basePath)); + } + + /** + * + * @summary Query Rios + * @param {string | null} [id] comma separated list of ids + * @param {string | null} [type] comma separated list of types + * @param {string | null} [authorization] + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof RIOsApi + */ + public queryRiosRiosGet( + id?: string | null, + type?: string | null, + authorization?: string | null, + options?: RawAxiosRequestConfig, + ) { + return RIOsApiFp(this.configuration) + .queryRiosRiosGet(id, type, authorization, options) + .then((request) => request(this.axios, this.basePath)); + } +} + /** * TasksApi - axios parameter creator * @export diff --git a/packages/api-client/lib/version.ts b/packages/api-client/lib/version.ts index e92be8828..94ff8a57a 100644 --- a/packages/api-client/lib/version.ts +++ b/packages/api-client/lib/version.ts @@ -1,5 +1,5 @@ // THIS FILE IS GENERATED export const version = { - rmfServer: '4484e98b95f71637026e2ce89d14d31033e5d615', + rmfServer: '2f1a0d0c2bd132af390cb038f93c8a7579a91e44', openapiGenerator: '', }; diff --git a/packages/api-client/schema/index.ts b/packages/api-client/schema/index.ts index 6347d021c..a9a0c8aa0 100644 --- a/packages/api-client/schema/index.ts +++ b/packages/api-client/schema/index.ts @@ -6,7 +6,7 @@ export default { get: { summary: 'Socket.io endpoint', description: - '# NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint.\n\n## About\nThis exposes a minimal pubsub system built on top of socket.io.\nIt works similar to a normal socket.io endpoint, except that are 2 special\nrooms which control subscriptions.\n\n## Rooms\n### subscribe\nClients must send a message to this room to start receiving messages on other rooms.\nThe message must be of the form:\n\n```\n{\n "room": ""\n}\n```\n\n### unsubscribe\nClients can send a message to this room to stop receiving messages on other rooms.\nThe message must be of the form:\n\n```\n{\n "room": ""\n}\n```\n### /alerts\n\n\n```\n{\n "$defs": {\n "Category": {\n "enum": [\n "default",\n "task",\n "fleet",\n "robot"\n ],\n "title": "Category",\n "type": "string"\n }\n },\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "original_id": {\n "title": "Original Id",\n "type": "string"\n },\n "category": {\n "$ref": "#/$defs/Category"\n },\n "unix_millis_created_time": {\n "title": "Unix Millis Created Time",\n "type": "integer"\n },\n "acknowledged_by": {\n "title": "Acknowledged By",\n "type": "string"\n },\n "unix_millis_acknowledged_time": {\n "title": "Unix Millis Acknowledged Time",\n "type": "integer"\n }\n },\n "required": [\n "id",\n "original_id",\n "category",\n "unix_millis_created_time",\n "acknowledged_by",\n "unix_millis_acknowledged_time"\n ],\n "title": "Alert",\n "type": "object"\n}\n```\n\n\n### /beacons\n\n\n```\n{\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "online": {\n "title": "Online",\n "type": "boolean"\n },\n "category": {\n "title": "Category",\n "type": "string"\n },\n "activated": {\n "title": "Activated",\n "type": "boolean"\n },\n "level": {\n "title": "Level",\n "type": "string"\n }\n },\n "required": [\n "id",\n "online",\n "category",\n "activated",\n "level"\n ],\n "title": "BeaconState",\n "type": "object"\n}\n```\n\n\n### /building_map\n\n\n```\n{\n "$defs": {\n "AffineImage": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "x_offset": {\n "title": "X Offset",\n "type": "number"\n },\n "y_offset": {\n "title": "Y Offset",\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "type": "number"\n },\n "scale": {\n "title": "Scale",\n "type": "number"\n },\n "encoding": {\n "title": "Encoding",\n "type": "string"\n },\n "data": {\n "title": "Data",\n "type": "string"\n }\n },\n "required": [\n "name",\n "x_offset",\n "y_offset",\n "yaw",\n "scale",\n "encoding",\n "data"\n ],\n "title": "AffineImage",\n "type": "object"\n },\n "Door": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "v1_x": {\n "title": "V1 X",\n "type": "number"\n },\n "v1_y": {\n "title": "V1 Y",\n "type": "number"\n },\n "v2_x": {\n "title": "V2 X",\n "type": "number"\n },\n "v2_y": {\n "title": "V2 Y",\n "type": "number"\n },\n "door_type": {\n "maximum": 255,\n "minimum": 0,\n "title": "Door Type",\n "type": "integer"\n },\n "motion_range": {\n "title": "Motion Range",\n "type": "number"\n },\n "motion_direction": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Motion Direction",\n "type": "integer"\n }\n },\n "required": [\n "name",\n "v1_x",\n "v1_y",\n "v2_x",\n "v2_y",\n "door_type",\n "motion_range",\n "motion_direction"\n ],\n "title": "Door",\n "type": "object"\n },\n "Graph": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "vertices": {\n "items": {\n "$ref": "#/$defs/GraphNode"\n },\n "title": "Vertices",\n "type": "array"\n },\n "edges": {\n "items": {\n "$ref": "#/$defs/GraphEdge"\n },\n "title": "Edges",\n "type": "array"\n },\n "params": {\n "items": {\n "$ref": "#/$defs/Param"\n },\n "title": "Params",\n "type": "array"\n }\n },\n "required": [\n "name",\n "vertices",\n "edges",\n "params"\n ],\n "title": "Graph",\n "type": "object"\n },\n "GraphEdge": {\n "properties": {\n "v1_idx": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "V1 Idx",\n "type": "integer"\n },\n "v2_idx": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "V2 Idx",\n "type": "integer"\n },\n "params": {\n "items": {\n "$ref": "#/$defs/Param"\n },\n "title": "Params",\n "type": "array"\n },\n "edge_type": {\n "maximum": 255,\n "minimum": 0,\n "title": "Edge Type",\n "type": "integer"\n }\n },\n "required": [\n "v1_idx",\n "v2_idx",\n "params",\n "edge_type"\n ],\n "title": "GraphEdge",\n "type": "object"\n },\n "GraphNode": {\n "properties": {\n "x": {\n "title": "X",\n "type": "number"\n },\n "y": {\n "title": "Y",\n "type": "number"\n },\n "name": {\n "title": "Name",\n "type": "string"\n },\n "params": {\n "items": {\n "$ref": "#/$defs/Param"\n },\n "title": "Params",\n "type": "array"\n }\n },\n "required": [\n "x",\n "y",\n "name",\n "params"\n ],\n "title": "GraphNode",\n "type": "object"\n },\n "Level": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "elevation": {\n "title": "Elevation",\n "type": "number"\n },\n "images": {\n "items": {\n "$ref": "#/$defs/AffineImage"\n },\n "title": "Images",\n "type": "array"\n },\n "places": {\n "items": {\n "$ref": "#/$defs/Place"\n },\n "title": "Places",\n "type": "array"\n },\n "doors": {\n "items": {\n "$ref": "#/$defs/Door"\n },\n "title": "Doors",\n "type": "array"\n },\n "nav_graphs": {\n "items": {\n "$ref": "#/$defs/Graph"\n },\n "title": "Nav Graphs",\n "type": "array"\n },\n "wall_graph": {\n "$ref": "#/$defs/Graph"\n }\n },\n "required": [\n "name",\n "elevation",\n "images",\n "places",\n "doors",\n "nav_graphs",\n "wall_graph"\n ],\n "title": "Level",\n "type": "object"\n },\n "Lift": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "levels": {\n "items": {\n "type": "string"\n },\n "title": "Levels",\n "type": "array"\n },\n "doors": {\n "items": {\n "$ref": "#/$defs/Door"\n },\n "title": "Doors",\n "type": "array"\n },\n "wall_graph": {\n "$ref": "#/$defs/Graph"\n },\n "ref_x": {\n "title": "Ref X",\n "type": "number"\n },\n "ref_y": {\n "title": "Ref Y",\n "type": "number"\n },\n "ref_yaw": {\n "title": "Ref Yaw",\n "type": "number"\n },\n "width": {\n "title": "Width",\n "type": "number"\n },\n "depth": {\n "title": "Depth",\n "type": "number"\n }\n },\n "required": [\n "name",\n "levels",\n "doors",\n "wall_graph",\n "ref_x",\n "ref_y",\n "ref_yaw",\n "width",\n "depth"\n ],\n "title": "Lift",\n "type": "object"\n },\n "Param": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "type": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Type",\n "type": "integer"\n },\n "value_int": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Value Int",\n "type": "integer"\n },\n "value_float": {\n "title": "Value Float",\n "type": "number"\n },\n "value_string": {\n "title": "Value String",\n "type": "string"\n },\n "value_bool": {\n "title": "Value Bool",\n "type": "boolean"\n }\n },\n "required": [\n "name",\n "type",\n "value_int",\n "value_float",\n "value_string",\n "value_bool"\n ],\n "title": "Param",\n "type": "object"\n },\n "Place": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "x": {\n "title": "X",\n "type": "number"\n },\n "y": {\n "title": "Y",\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "type": "number"\n },\n "position_tolerance": {\n "title": "Position Tolerance",\n "type": "number"\n },\n "yaw_tolerance": {\n "title": "Yaw Tolerance",\n "type": "number"\n }\n },\n "required": [\n "name",\n "x",\n "y",\n "yaw",\n "position_tolerance",\n "yaw_tolerance"\n ],\n "title": "Place",\n "type": "object"\n }\n },\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "levels": {\n "items": {\n "$ref": "#/$defs/Level"\n },\n "title": "Levels",\n "type": "array"\n },\n "lifts": {\n "items": {\n "$ref": "#/$defs/Lift"\n },\n "title": "Lifts",\n "type": "array"\n }\n },\n "required": [\n "name",\n "levels",\n "lifts"\n ],\n "title": "BuildingMap",\n "type": "object"\n}\n```\n\n\n### /building_map/fire_alarm_trigger\n\n\n```\n{\n "properties": {\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "trigger": {\n "title": "Trigger",\n "type": "boolean"\n }\n },\n "required": [\n "unix_millis_time",\n "trigger"\n ],\n "title": "FireAlarmTriggerState",\n "type": "object"\n}\n```\n\n\n### /delivery_alerts\n\n\n```\n{\n "$defs": {\n "Action": {\n "enum": [\n "waiting",\n "cancel",\n "override",\n "resume"\n ],\n "title": "Action",\n "type": "string"\n },\n "Category": {\n "enum": [\n "missing",\n "wrong",\n "obstructed",\n "cancelled"\n ],\n "title": "Category",\n "type": "string"\n },\n "Tier": {\n "enum": [\n "warning",\n "error"\n ],\n "title": "Tier",\n "type": "string"\n }\n },\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "category": {\n "$ref": "#/$defs/Category"\n },\n "tier": {\n "$ref": "#/$defs/Tier"\n },\n "action": {\n "$ref": "#/$defs/Action"\n },\n "task_id": {\n "title": "Task Id",\n "type": "string"\n },\n "message": {\n "title": "Message",\n "type": "string"\n }\n },\n "required": [\n "id",\n "category",\n "tier",\n "action",\n "task_id",\n "message"\n ],\n "title": "DeliveryAlert",\n "type": "object"\n}\n```\n\n\n### /doors/{door_name}/state\n\n\n```\n{\n "$defs": {\n "DoorMode": {\n "properties": {\n "value": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Value",\n "type": "integer"\n }\n },\n "required": [\n "value"\n ],\n "title": "DoorMode",\n "type": "object"\n },\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "door_time": {\n "$ref": "#/$defs/Time"\n },\n "door_name": {\n "title": "Door Name",\n "type": "string"\n },\n "current_mode": {\n "$ref": "#/$defs/DoorMode"\n }\n },\n "required": [\n "door_time",\n "door_name",\n "current_mode"\n ],\n "title": "DoorState",\n "type": "object"\n}\n```\n\n\n### /lifts/{lift_name}/state\n\n\n```\n{\n "$defs": {\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "lift_time": {\n "$ref": "#/$defs/Time"\n },\n "lift_name": {\n "title": "Lift Name",\n "type": "string"\n },\n "available_floors": {\n "items": {\n "type": "string"\n },\n "title": "Available Floors",\n "type": "array"\n },\n "current_floor": {\n "title": "Current Floor",\n "type": "string"\n },\n "destination_floor": {\n "title": "Destination Floor",\n "type": "string"\n },\n "door_state": {\n "maximum": 255,\n "minimum": 0,\n "title": "Door State",\n "type": "integer"\n },\n "motion_state": {\n "maximum": 255,\n "minimum": 0,\n "title": "Motion State",\n "type": "integer"\n },\n "available_modes": {\n "items": {\n "type": "integer"\n },\n "title": "Available Modes",\n "type": "array"\n },\n "current_mode": {\n "maximum": 255,\n "minimum": 0,\n "title": "Current Mode",\n "type": "integer"\n },\n "session_id": {\n "title": "Session Id",\n "type": "string"\n }\n },\n "required": [\n "lift_time",\n "lift_name",\n "available_floors",\n "current_floor",\n "destination_floor",\n "door_state",\n "motion_state",\n "available_modes",\n "current_mode",\n "session_id"\n ],\n "title": "LiftState",\n "type": "object"\n}\n```\n\n\n### /tasks/{task_id}/state\n\n\n```\n{\n "$defs": {\n "AssignedTo": {\n "properties": {\n "group": {\n "title": "Group",\n "type": "string"\n },\n "name": {\n "title": "Name",\n "type": "string"\n }\n },\n "required": [\n "group",\n "name"\n ],\n "title": "AssignedTo",\n "type": "object"\n },\n "Assignment": {\n "properties": {\n "fleet_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Fleet Name"\n },\n "expected_robot_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Expected Robot Name"\n }\n },\n "title": "Assignment",\n "type": "object"\n },\n "Booking": {\n "properties": {\n "id": {\n "description": "The unique identifier for this task",\n "title": "Id",\n "type": "string"\n },\n "unix_millis_earliest_start_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Earliest Start Time"\n },\n "unix_millis_request_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Request Time"\n },\n "priority": {\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Priority information about this task",\n "title": "Priority"\n },\n "labels": {\n "anyOf": [\n {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "title": "Labels"\n },\n "requester": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "(Optional) An identifier for the entity that requested this task",\n "title": "Requester"\n }\n },\n "required": [\n "id"\n ],\n "title": "Booking",\n "type": "object"\n },\n "Cancellation": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the cancellation request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Cancellation",\n "type": "object"\n },\n "Category": {\n "description": "The category of this task or phase",\n "title": "Category",\n "type": "string"\n },\n "Detail": {\n "anyOf": [\n {\n "type": "object"\n },\n {\n "items": {},\n "type": "array"\n },\n {\n "type": "string"\n }\n ],\n "description": "Detailed information about a task, phase, or event",\n "title": "Detail"\n },\n "Dispatch": {\n "properties": {\n "status": {\n "$ref": "#/$defs/Status2"\n },\n "assignment": {\n "anyOf": [\n {\n "$ref": "#/$defs/Assignment"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "errors": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Error"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Errors"\n }\n },\n "required": [\n "status"\n ],\n "title": "Dispatch",\n "type": "object"\n },\n "Error": {\n "properties": {\n "code": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A standard code for the kind of error that has occurred",\n "title": "Code"\n },\n "category": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The category of the error",\n "title": "Category"\n },\n "detail": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Details about the error",\n "title": "Detail"\n }\n },\n "title": "Error",\n "type": "object"\n },\n "EstimateMillis": {\n "description": "An estimate, in milliseconds, of how long the subject will take to complete",\n "minimum": 0,\n "title": "EstimateMillis",\n "type": "integer"\n },\n "EventState": {\n "properties": {\n "id": {\n "$ref": "#/$defs/Id"\n },\n "status": {\n "anyOf": [\n {\n "$ref": "#/$defs/Status"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The brief name of the event",\n "title": "Name"\n },\n "detail": {\n "anyOf": [\n {\n "$ref": "#/$defs/Detail"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Detailed information about the event"\n },\n "deps": {\n "anyOf": [\n {\n "items": {\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "This event may depend on other events. This array contains the IDs of those other event dependencies.",\n "title": "Deps"\n }\n },\n "required": [\n "id"\n ],\n "title": "EventState",\n "type": "object"\n },\n "Id": {\n "minimum": 0,\n "title": "Id",\n "type": "integer"\n },\n "Interruption": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the interruption request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n },\n "resumed_by": {\n "anyOf": [\n {\n "$ref": "#/$defs/ResumedBy"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about the resume request that ended this interruption. This field will be missing if the interruption is still active."\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Interruption",\n "type": "object"\n },\n "Killed": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the cancellation request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Killed",\n "type": "object"\n },\n "Phase": {\n "properties": {\n "id": {\n "$ref": "#/$defs/Id"\n },\n "category": {\n "anyOf": [\n {\n "$ref": "#/$defs/Category"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "detail": {\n "anyOf": [\n {\n "$ref": "#/$defs/Detail"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "unix_millis_start_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Start Time"\n },\n "unix_millis_finish_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Finish Time"\n },\n "original_estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "final_event_id": {\n "anyOf": [\n {\n "$ref": "#/$defs/Id"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "events": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/EventState"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.",\n "title": "Events"\n },\n "skip_requests": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/SkipPhaseRequest"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about any skip requests that have been received",\n "title": "Skip Requests"\n }\n },\n "required": [\n "id"\n ],\n "title": "Phase",\n "type": "object"\n },\n "ResumedBy": {\n "properties": {\n "unix_millis_request_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The time that the resume request arrived",\n "title": "Unix Millis Request Time"\n },\n "labels": {\n "description": "Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "labels"\n ],\n "title": "ResumedBy",\n "type": "object"\n },\n "SkipPhaseRequest": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the skip request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n },\n "undo": {\n "anyOf": [\n {\n "$ref": "#/$defs/Undo"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about an undo skip request that applied to this request"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "SkipPhaseRequest",\n "type": "object"\n },\n "Status": {\n "enum": [\n "uninitialized",\n "blocked",\n "error",\n "failed",\n "queued",\n "standby",\n "underway",\n "delayed",\n "skipped",\n "canceled",\n "killed",\n "completed"\n ],\n "title": "Status",\n "type": "string"\n },\n "Status2": {\n "enum": [\n "queued",\n "selected",\n "dispatched",\n "failed_to_assign",\n "canceled_in_flight"\n ],\n "title": "Status2",\n "type": "string"\n },\n "Undo": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the undo skip request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Undo",\n "type": "object"\n }\n },\n "properties": {\n "booking": {\n "$ref": "#/$defs/Booking"\n },\n "category": {\n "anyOf": [\n {\n "$ref": "#/$defs/Category"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "detail": {\n "anyOf": [\n {\n "$ref": "#/$defs/Detail"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "unix_millis_start_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Start Time"\n },\n "unix_millis_finish_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Finish Time"\n },\n "original_estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "assigned_to": {\n "anyOf": [\n {\n "$ref": "#/$defs/AssignedTo"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Which agent (robot) is the task assigned to"\n },\n "status": {\n "anyOf": [\n {\n "$ref": "#/$defs/Status"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "dispatch": {\n "anyOf": [\n {\n "$ref": "#/$defs/Dispatch"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "phases": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/Phase"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.",\n "title": "Phases"\n },\n "completed": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Id"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "An array of the IDs of completed phases of this task",\n "title": "Completed"\n },\n "active": {\n "anyOf": [\n {\n "$ref": "#/$defs/Id"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The ID of the active phase for this task"\n },\n "pending": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Id"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "An array of the pending phases of this task",\n "title": "Pending"\n },\n "interruptions": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/Interruption"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.",\n "title": "Interruptions"\n },\n "cancellation": {\n "anyOf": [\n {\n "$ref": "#/$defs/Cancellation"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "If the task was cancelled, this will describe information about the request."\n },\n "killed": {\n "anyOf": [\n {\n "$ref": "#/$defs/Killed"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "If the task was killed, this will describe information about the request."\n }\n },\n "required": [\n "booking"\n ],\n "title": "TaskState",\n "type": "object"\n}\n```\n\n\n### /tasks/{task_id}/log\n\n\n```\n{\n "$defs": {\n "LogEntry": {\n "properties": {\n "seq": {\n "description": "Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.",\n "exclusiveMaximum": 4294967296,\n "minimum": 0,\n "title": "Seq",\n "type": "integer"\n },\n "tier": {\n "allOf": [\n {\n "$ref": "#/$defs/Tier"\n }\n ],\n "description": "The importance level of the log entry"\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "description": "The text of the log entry",\n "title": "Text",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ],\n "title": "LogEntry",\n "type": "object"\n },\n "Phases": {\n "additionalProperties": false,\n "properties": {\n "log": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Log entries related to the overall phase",\n "title": "Log"\n },\n "events": {\n "anyOf": [\n {\n "additionalProperties": {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary whose keys (property names) are the indices of an event in the phase",\n "title": "Events"\n }\n },\n "title": "Phases",\n "type": "object"\n },\n "Tier": {\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ],\n "title": "Tier",\n "type": "string"\n }\n },\n "additionalProperties": false,\n "properties": {\n "task_id": {\n "title": "Task Id",\n "type": "string"\n },\n "log": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Log entries related to the overall task",\n "title": "Log"\n },\n "phases": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/Phases"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary whose keys (property names) are the indices of a phase",\n "title": "Phases"\n }\n },\n "required": [\n "task_id"\n ],\n "title": "TaskEventLog",\n "type": "object"\n}\n```\n\n\n### /dispensers/{guid}/state\n\n\n```\n{\n "$defs": {\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "time": {\n "$ref": "#/$defs/Time"\n },\n "guid": {\n "title": "Guid",\n "type": "string"\n },\n "mode": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Mode",\n "type": "integer"\n },\n "request_guid_queue": {\n "items": {\n "type": "string"\n },\n "title": "Request Guid Queue",\n "type": "array"\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "title": "DispenserState",\n "type": "object"\n}\n```\n\n\n### /ingestors/{guid}/state\n\n\n```\n{\n "$defs": {\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "time": {\n "$ref": "#/$defs/Time"\n },\n "guid": {\n "title": "Guid",\n "type": "string"\n },\n "mode": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Mode",\n "type": "integer"\n },\n "request_guid_queue": {\n "items": {\n "type": "string"\n },\n "title": "Request Guid Queue",\n "type": "array"\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "title": "IngestorState",\n "type": "object"\n}\n```\n\n\n### /fleets/{name}/state\n\n\n```\n{\n "$defs": {\n "Commission": {\n "properties": {\n "dispatch_tasks": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.",\n "title": "Dispatch Tasks"\n },\n "direct_tasks": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.",\n "title": "Direct Tasks"\n },\n "idle_behavior": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.",\n "title": "Idle Behavior"\n }\n },\n "title": "Commission",\n "type": "object"\n },\n "Issue": {\n "properties": {\n "category": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Category of the robot\'s issue",\n "title": "Category"\n },\n "detail": {\n "anyOf": [\n {\n "type": "object"\n },\n {\n "items": {},\n "type": "array"\n },\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Detailed information about the issue",\n "title": "Detail"\n }\n },\n "title": "Issue",\n "type": "object"\n },\n "Location2D": {\n "properties": {\n "map": {\n "title": "Map",\n "type": "string"\n },\n "x": {\n "title": "X",\n "type": "number"\n },\n "y": {\n "title": "Y",\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "type": "number"\n }\n },\n "required": [\n "map",\n "x",\n "y",\n "yaw"\n ],\n "title": "Location2D",\n "type": "object"\n },\n "MutexGroups": {\n "properties": {\n "locked": {\n "anyOf": [\n {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A list of mutex groups that this robot has currently locked",\n "title": "Locked"\n },\n "requesting": {\n "anyOf": [\n {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A list of the mutex groups that this robot is currently requesting but has not lockd yet",\n "title": "Requesting"\n }\n },\n "title": "MutexGroups",\n "type": "object"\n },\n "RobotState": {\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Name"\n },\n "status": {\n "anyOf": [\n {\n "$ref": "#/$defs/Status"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A simple token representing the status of the robot"\n },\n "task_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.",\n "title": "Task Id"\n },\n "unix_millis_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Time"\n },\n "location": {\n "anyOf": [\n {\n "$ref": "#/$defs/Location2D"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "battery": {\n "anyOf": [\n {\n "maximum": 1.0,\n "minimum": 0.0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)",\n "title": "Battery"\n },\n "issues": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Issue"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A list of issues with the robot that operators need to address",\n "title": "Issues"\n },\n "commission": {\n "anyOf": [\n {\n "$ref": "#/$defs/Commission"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "mutex_groups": {\n "anyOf": [\n {\n "$ref": "#/$defs/MutexGroups"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about the mutex groups that this robot is interacting with"\n }\n },\n "title": "RobotState",\n "type": "object"\n },\n "Status": {\n "enum": [\n "uninitialized",\n "offline",\n "shutdown",\n "idle",\n "charging",\n "working",\n "error"\n ],\n "title": "Status",\n "type": "string"\n }\n },\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Name"\n },\n "robots": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/RobotState"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of the states of the robots that belong to this fleet",\n "title": "Robots"\n }\n },\n "title": "FleetState",\n "type": "object"\n}\n```\n\n\n### /fleets/{name}/log\n\n\n```\n{\n "$defs": {\n "LogEntry": {\n "properties": {\n "seq": {\n "description": "Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.",\n "exclusiveMaximum": 4294967296,\n "minimum": 0,\n "title": "Seq",\n "type": "integer"\n },\n "tier": {\n "allOf": [\n {\n "$ref": "#/$defs/Tier"\n }\n ],\n "description": "The importance level of the log entry"\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "description": "The text of the log entry",\n "title": "Text",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ],\n "title": "LogEntry",\n "type": "object"\n },\n "Tier": {\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ],\n "title": "Tier",\n "type": "string"\n }\n },\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Name"\n },\n "log": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Log for the overall fleet",\n "title": "Log"\n },\n "robots": {\n "anyOf": [\n {\n "additionalProperties": {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Dictionary of logs for the individual robots. The keys (property names) are the robot names.",\n "title": "Robots"\n }\n },\n "title": "FleetLog",\n "type": "object"\n}\n```\n\n', + '# NOTE: This endpoint is here for documentation purposes only, this is _not_ a REST endpoint.\n\n## About\nThis exposes a minimal pubsub system built on top of socket.io.\nIt works similar to a normal socket.io endpoint, except that are 2 special\nrooms which control subscriptions.\n\n## Rooms\n### subscribe\nClients must send a message to this room to start receiving messages on other rooms.\nThe message must be of the form:\n\n```\n{\n "room": ""\n}\n```\n\n### unsubscribe\nClients can send a message to this room to stop receiving messages on other rooms.\nThe message must be of the form:\n\n```\n{\n "room": ""\n}\n```\n### /alerts\n\n\n```\n{\n "$defs": {\n "Category": {\n "enum": [\n "default",\n "task",\n "fleet",\n "robot"\n ],\n "title": "Category",\n "type": "string"\n }\n },\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "original_id": {\n "title": "Original Id",\n "type": "string"\n },\n "category": {\n "$ref": "#/$defs/Category"\n },\n "unix_millis_created_time": {\n "title": "Unix Millis Created Time",\n "type": "integer"\n },\n "acknowledged_by": {\n "title": "Acknowledged By",\n "type": "string"\n },\n "unix_millis_acknowledged_time": {\n "title": "Unix Millis Acknowledged Time",\n "type": "integer"\n }\n },\n "required": [\n "id",\n "original_id",\n "category",\n "unix_millis_created_time",\n "acknowledged_by",\n "unix_millis_acknowledged_time"\n ],\n "title": "Alert",\n "type": "object"\n}\n```\n\n\n### /beacons\n\n\n```\n{\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "online": {\n "title": "Online",\n "type": "boolean"\n },\n "category": {\n "title": "Category",\n "type": "string"\n },\n "activated": {\n "title": "Activated",\n "type": "boolean"\n },\n "level": {\n "title": "Level",\n "type": "string"\n }\n },\n "required": [\n "id",\n "online",\n "category",\n "activated",\n "level"\n ],\n "title": "BeaconState",\n "type": "object"\n}\n```\n\n\n### /building_map\n\n\n```\n{\n "$defs": {\n "AffineImage": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "x_offset": {\n "title": "X Offset",\n "type": "number"\n },\n "y_offset": {\n "title": "Y Offset",\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "type": "number"\n },\n "scale": {\n "title": "Scale",\n "type": "number"\n },\n "encoding": {\n "title": "Encoding",\n "type": "string"\n },\n "data": {\n "title": "Data",\n "type": "string"\n }\n },\n "required": [\n "name",\n "x_offset",\n "y_offset",\n "yaw",\n "scale",\n "encoding",\n "data"\n ],\n "title": "AffineImage",\n "type": "object"\n },\n "Door": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "v1_x": {\n "title": "V1 X",\n "type": "number"\n },\n "v1_y": {\n "title": "V1 Y",\n "type": "number"\n },\n "v2_x": {\n "title": "V2 X",\n "type": "number"\n },\n "v2_y": {\n "title": "V2 Y",\n "type": "number"\n },\n "door_type": {\n "maximum": 255,\n "minimum": 0,\n "title": "Door Type",\n "type": "integer"\n },\n "motion_range": {\n "title": "Motion Range",\n "type": "number"\n },\n "motion_direction": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Motion Direction",\n "type": "integer"\n }\n },\n "required": [\n "name",\n "v1_x",\n "v1_y",\n "v2_x",\n "v2_y",\n "door_type",\n "motion_range",\n "motion_direction"\n ],\n "title": "Door",\n "type": "object"\n },\n "Graph": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "vertices": {\n "items": {\n "$ref": "#/$defs/GraphNode"\n },\n "title": "Vertices",\n "type": "array"\n },\n "edges": {\n "items": {\n "$ref": "#/$defs/GraphEdge"\n },\n "title": "Edges",\n "type": "array"\n },\n "params": {\n "items": {\n "$ref": "#/$defs/Param"\n },\n "title": "Params",\n "type": "array"\n }\n },\n "required": [\n "name",\n "vertices",\n "edges",\n "params"\n ],\n "title": "Graph",\n "type": "object"\n },\n "GraphEdge": {\n "properties": {\n "v1_idx": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "V1 Idx",\n "type": "integer"\n },\n "v2_idx": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "V2 Idx",\n "type": "integer"\n },\n "params": {\n "items": {\n "$ref": "#/$defs/Param"\n },\n "title": "Params",\n "type": "array"\n },\n "edge_type": {\n "maximum": 255,\n "minimum": 0,\n "title": "Edge Type",\n "type": "integer"\n }\n },\n "required": [\n "v1_idx",\n "v2_idx",\n "params",\n "edge_type"\n ],\n "title": "GraphEdge",\n "type": "object"\n },\n "GraphNode": {\n "properties": {\n "x": {\n "title": "X",\n "type": "number"\n },\n "y": {\n "title": "Y",\n "type": "number"\n },\n "name": {\n "title": "Name",\n "type": "string"\n },\n "params": {\n "items": {\n "$ref": "#/$defs/Param"\n },\n "title": "Params",\n "type": "array"\n }\n },\n "required": [\n "x",\n "y",\n "name",\n "params"\n ],\n "title": "GraphNode",\n "type": "object"\n },\n "Level": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "elevation": {\n "title": "Elevation",\n "type": "number"\n },\n "images": {\n "items": {\n "$ref": "#/$defs/AffineImage"\n },\n "title": "Images",\n "type": "array"\n },\n "places": {\n "items": {\n "$ref": "#/$defs/Place"\n },\n "title": "Places",\n "type": "array"\n },\n "doors": {\n "items": {\n "$ref": "#/$defs/Door"\n },\n "title": "Doors",\n "type": "array"\n },\n "nav_graphs": {\n "items": {\n "$ref": "#/$defs/Graph"\n },\n "title": "Nav Graphs",\n "type": "array"\n },\n "wall_graph": {\n "$ref": "#/$defs/Graph"\n }\n },\n "required": [\n "name",\n "elevation",\n "images",\n "places",\n "doors",\n "nav_graphs",\n "wall_graph"\n ],\n "title": "Level",\n "type": "object"\n },\n "Lift": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "levels": {\n "items": {\n "type": "string"\n },\n "title": "Levels",\n "type": "array"\n },\n "doors": {\n "items": {\n "$ref": "#/$defs/Door"\n },\n "title": "Doors",\n "type": "array"\n },\n "wall_graph": {\n "$ref": "#/$defs/Graph"\n },\n "ref_x": {\n "title": "Ref X",\n "type": "number"\n },\n "ref_y": {\n "title": "Ref Y",\n "type": "number"\n },\n "ref_yaw": {\n "title": "Ref Yaw",\n "type": "number"\n },\n "width": {\n "title": "Width",\n "type": "number"\n },\n "depth": {\n "title": "Depth",\n "type": "number"\n }\n },\n "required": [\n "name",\n "levels",\n "doors",\n "wall_graph",\n "ref_x",\n "ref_y",\n "ref_yaw",\n "width",\n "depth"\n ],\n "title": "Lift",\n "type": "object"\n },\n "Param": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "type": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Type",\n "type": "integer"\n },\n "value_int": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Value Int",\n "type": "integer"\n },\n "value_float": {\n "title": "Value Float",\n "type": "number"\n },\n "value_string": {\n "title": "Value String",\n "type": "string"\n },\n "value_bool": {\n "title": "Value Bool",\n "type": "boolean"\n }\n },\n "required": [\n "name",\n "type",\n "value_int",\n "value_float",\n "value_string",\n "value_bool"\n ],\n "title": "Param",\n "type": "object"\n },\n "Place": {\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "x": {\n "title": "X",\n "type": "number"\n },\n "y": {\n "title": "Y",\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "type": "number"\n },\n "position_tolerance": {\n "title": "Position Tolerance",\n "type": "number"\n },\n "yaw_tolerance": {\n "title": "Yaw Tolerance",\n "type": "number"\n }\n },\n "required": [\n "name",\n "x",\n "y",\n "yaw",\n "position_tolerance",\n "yaw_tolerance"\n ],\n "title": "Place",\n "type": "object"\n }\n },\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "levels": {\n "items": {\n "$ref": "#/$defs/Level"\n },\n "title": "Levels",\n "type": "array"\n },\n "lifts": {\n "items": {\n "$ref": "#/$defs/Lift"\n },\n "title": "Lifts",\n "type": "array"\n }\n },\n "required": [\n "name",\n "levels",\n "lifts"\n ],\n "title": "BuildingMap",\n "type": "object"\n}\n```\n\n\n### /building_map/fire_alarm_trigger\n\n\n```\n{\n "properties": {\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "trigger": {\n "title": "Trigger",\n "type": "boolean"\n }\n },\n "required": [\n "unix_millis_time",\n "trigger"\n ],\n "title": "FireAlarmTriggerState",\n "type": "object"\n}\n```\n\n\n### /delivery_alerts\n\n\n```\n{\n "$defs": {\n "Action": {\n "enum": [\n "waiting",\n "cancel",\n "override",\n "resume"\n ],\n "title": "Action",\n "type": "string"\n },\n "Category": {\n "enum": [\n "missing",\n "wrong",\n "obstructed",\n "cancelled"\n ],\n "title": "Category",\n "type": "string"\n },\n "Tier": {\n "enum": [\n "warning",\n "error"\n ],\n "title": "Tier",\n "type": "string"\n }\n },\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "category": {\n "$ref": "#/$defs/Category"\n },\n "tier": {\n "$ref": "#/$defs/Tier"\n },\n "action": {\n "$ref": "#/$defs/Action"\n },\n "task_id": {\n "title": "Task Id",\n "type": "string"\n },\n "message": {\n "title": "Message",\n "type": "string"\n }\n },\n "required": [\n "id",\n "category",\n "tier",\n "action",\n "task_id",\n "message"\n ],\n "title": "DeliveryAlert",\n "type": "object"\n}\n```\n\n\n### /doors/{door_name}/state\n\n\n```\n{\n "$defs": {\n "DoorMode": {\n "properties": {\n "value": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Value",\n "type": "integer"\n }\n },\n "required": [\n "value"\n ],\n "title": "DoorMode",\n "type": "object"\n },\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "door_time": {\n "$ref": "#/$defs/Time"\n },\n "door_name": {\n "title": "Door Name",\n "type": "string"\n },\n "current_mode": {\n "$ref": "#/$defs/DoorMode"\n }\n },\n "required": [\n "door_time",\n "door_name",\n "current_mode"\n ],\n "title": "DoorState",\n "type": "object"\n}\n```\n\n\n### /lifts/{lift_name}/state\n\n\n```\n{\n "$defs": {\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "lift_time": {\n "$ref": "#/$defs/Time"\n },\n "lift_name": {\n "title": "Lift Name",\n "type": "string"\n },\n "available_floors": {\n "items": {\n "type": "string"\n },\n "title": "Available Floors",\n "type": "array"\n },\n "current_floor": {\n "title": "Current Floor",\n "type": "string"\n },\n "destination_floor": {\n "title": "Destination Floor",\n "type": "string"\n },\n "door_state": {\n "maximum": 255,\n "minimum": 0,\n "title": "Door State",\n "type": "integer"\n },\n "motion_state": {\n "maximum": 255,\n "minimum": 0,\n "title": "Motion State",\n "type": "integer"\n },\n "available_modes": {\n "items": {\n "type": "integer"\n },\n "title": "Available Modes",\n "type": "array"\n },\n "current_mode": {\n "maximum": 255,\n "minimum": 0,\n "title": "Current Mode",\n "type": "integer"\n },\n "session_id": {\n "title": "Session Id",\n "type": "string"\n }\n },\n "required": [\n "lift_time",\n "lift_name",\n "available_floors",\n "current_floor",\n "destination_floor",\n "door_state",\n "motion_state",\n "available_modes",\n "current_mode",\n "session_id"\n ],\n "title": "LiftState",\n "type": "object"\n}\n```\n\n\n### /tasks/{task_id}/state\n\n\n```\n{\n "$defs": {\n "AssignedTo": {\n "properties": {\n "group": {\n "title": "Group",\n "type": "string"\n },\n "name": {\n "title": "Name",\n "type": "string"\n }\n },\n "required": [\n "group",\n "name"\n ],\n "title": "AssignedTo",\n "type": "object"\n },\n "Assignment": {\n "properties": {\n "fleet_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Fleet Name"\n },\n "expected_robot_name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Expected Robot Name"\n }\n },\n "title": "Assignment",\n "type": "object"\n },\n "Booking": {\n "properties": {\n "id": {\n "description": "The unique identifier for this task",\n "title": "Id",\n "type": "string"\n },\n "unix_millis_earliest_start_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Earliest Start Time"\n },\n "unix_millis_request_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Request Time"\n },\n "priority": {\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Priority information about this task",\n "title": "Priority"\n },\n "labels": {\n "anyOf": [\n {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about how and why this task was booked, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "title": "Labels"\n },\n "requester": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "(Optional) An identifier for the entity that requested this task",\n "title": "Requester"\n }\n },\n "required": [\n "id"\n ],\n "title": "Booking",\n "type": "object"\n },\n "Cancellation": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the cancellation request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the cancel request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Cancellation",\n "type": "object"\n },\n "Category": {\n "description": "The category of this task or phase",\n "title": "Category",\n "type": "string"\n },\n "Detail": {\n "anyOf": [\n {\n "type": "object"\n },\n {\n "items": {},\n "type": "array"\n },\n {\n "type": "string"\n }\n ],\n "description": "Detailed information about a task, phase, or event",\n "title": "Detail"\n },\n "Dispatch": {\n "properties": {\n "status": {\n "$ref": "#/$defs/Status2"\n },\n "assignment": {\n "anyOf": [\n {\n "$ref": "#/$defs/Assignment"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "errors": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Error"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Errors"\n }\n },\n "required": [\n "status"\n ],\n "title": "Dispatch",\n "type": "object"\n },\n "Error": {\n "properties": {\n "code": {\n "anyOf": [\n {\n "minimum": 0,\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A standard code for the kind of error that has occurred",\n "title": "Code"\n },\n "category": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The category of the error",\n "title": "Category"\n },\n "detail": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Details about the error",\n "title": "Detail"\n }\n },\n "title": "Error",\n "type": "object"\n },\n "EstimateMillis": {\n "description": "An estimate, in milliseconds, of how long the subject will take to complete",\n "minimum": 0,\n "title": "EstimateMillis",\n "type": "integer"\n },\n "EventState": {\n "properties": {\n "id": {\n "$ref": "#/$defs/Id"\n },\n "status": {\n "anyOf": [\n {\n "$ref": "#/$defs/Status"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The brief name of the event",\n "title": "Name"\n },\n "detail": {\n "anyOf": [\n {\n "$ref": "#/$defs/Detail"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Detailed information about the event"\n },\n "deps": {\n "anyOf": [\n {\n "items": {\n "minimum": 0,\n "type": "integer"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "This event may depend on other events. This array contains the IDs of those other event dependencies.",\n "title": "Deps"\n }\n },\n "required": [\n "id"\n ],\n "title": "EventState",\n "type": "object"\n },\n "Id": {\n "minimum": 0,\n "title": "Id",\n "type": "integer"\n },\n "Interruption": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the interruption request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the purpose of the interruption, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n },\n "resumed_by": {\n "anyOf": [\n {\n "$ref": "#/$defs/ResumedBy"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about the resume request that ended this interruption. This field will be missing if the interruption is still active."\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Interruption",\n "type": "object"\n },\n "Killed": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the cancellation request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the kill request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Killed",\n "type": "object"\n },\n "Phase": {\n "properties": {\n "id": {\n "$ref": "#/$defs/Id"\n },\n "category": {\n "anyOf": [\n {\n "$ref": "#/$defs/Category"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "detail": {\n "anyOf": [\n {\n "$ref": "#/$defs/Detail"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "unix_millis_start_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Start Time"\n },\n "unix_millis_finish_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Finish Time"\n },\n "original_estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "final_event_id": {\n "anyOf": [\n {\n "$ref": "#/$defs/Id"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "events": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/EventState"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.",\n "title": "Events"\n },\n "skip_requests": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/SkipPhaseRequest"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about any skip requests that have been received",\n "title": "Skip Requests"\n }\n },\n "required": [\n "id"\n ],\n "title": "Phase",\n "type": "object"\n },\n "ResumedBy": {\n "properties": {\n "unix_millis_request_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The time that the resume request arrived",\n "title": "Unix Millis Request Time"\n },\n "labels": {\n "description": "Labels to describe the resume request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "labels"\n ],\n "title": "ResumedBy",\n "type": "object"\n },\n "SkipPhaseRequest": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the skip request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the purpose of the skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n },\n "undo": {\n "anyOf": [\n {\n "$ref": "#/$defs/Undo"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about an undo skip request that applied to this request"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "SkipPhaseRequest",\n "type": "object"\n },\n "Status": {\n "enum": [\n "uninitialized",\n "blocked",\n "error",\n "failed",\n "queued",\n "standby",\n "underway",\n "delayed",\n "skipped",\n "canceled",\n "killed",\n "completed"\n ],\n "title": "Status",\n "type": "string"\n },\n "Status2": {\n "enum": [\n "queued",\n "selected",\n "dispatched",\n "failed_to_assign",\n "canceled_in_flight"\n ],\n "title": "Status2",\n "type": "string"\n },\n "Undo": {\n "properties": {\n "unix_millis_request_time": {\n "description": "The time that the undo skip request arrived",\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "labels": {\n "description": "Labels to describe the undo skip request, items can be a single value like `dashboard` or a key-value pair like `app=dashboard`, in the case of a single value, it will be interpreted as a key-value pair with an empty string value.",\n "items": {\n "type": "string"\n },\n "title": "Labels",\n "type": "array"\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ],\n "title": "Undo",\n "type": "object"\n }\n },\n "properties": {\n "booking": {\n "$ref": "#/$defs/Booking"\n },\n "category": {\n "anyOf": [\n {\n "$ref": "#/$defs/Category"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "detail": {\n "anyOf": [\n {\n "$ref": "#/$defs/Detail"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "unix_millis_start_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Start Time"\n },\n "unix_millis_finish_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Finish Time"\n },\n "original_estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "estimate_millis": {\n "anyOf": [\n {\n "$ref": "#/$defs/EstimateMillis"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "assigned_to": {\n "anyOf": [\n {\n "$ref": "#/$defs/AssignedTo"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Which agent (robot) is the task assigned to"\n },\n "status": {\n "anyOf": [\n {\n "$ref": "#/$defs/Status"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "dispatch": {\n "anyOf": [\n {\n "$ref": "#/$defs/Dispatch"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "phases": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/Phase"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.",\n "title": "Phases"\n },\n "completed": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Id"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "An array of the IDs of completed phases of this task",\n "title": "Completed"\n },\n "active": {\n "anyOf": [\n {\n "$ref": "#/$defs/Id"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The ID of the active phase for this task"\n },\n "pending": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Id"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "An array of the pending phases of this task",\n "title": "Pending"\n },\n "interruptions": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/Interruption"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.",\n "title": "Interruptions"\n },\n "cancellation": {\n "anyOf": [\n {\n "$ref": "#/$defs/Cancellation"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "If the task was cancelled, this will describe information about the request."\n },\n "killed": {\n "anyOf": [\n {\n "$ref": "#/$defs/Killed"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "If the task was killed, this will describe information about the request."\n }\n },\n "required": [\n "booking"\n ],\n "title": "TaskState",\n "type": "object"\n}\n```\n\n\n### /tasks/{task_id}/log\n\n\n```\n{\n "$defs": {\n "LogEntry": {\n "properties": {\n "seq": {\n "description": "Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.",\n "exclusiveMaximum": 4294967296,\n "minimum": 0,\n "title": "Seq",\n "type": "integer"\n },\n "tier": {\n "allOf": [\n {\n "$ref": "#/$defs/Tier"\n }\n ],\n "description": "The importance level of the log entry"\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "description": "The text of the log entry",\n "title": "Text",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ],\n "title": "LogEntry",\n "type": "object"\n },\n "Phases": {\n "additionalProperties": false,\n "properties": {\n "log": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Log entries related to the overall phase",\n "title": "Log"\n },\n "events": {\n "anyOf": [\n {\n "additionalProperties": {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary whose keys (property names) are the indices of an event in the phase",\n "title": "Events"\n }\n },\n "title": "Phases",\n "type": "object"\n },\n "Tier": {\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ],\n "title": "Tier",\n "type": "string"\n }\n },\n "additionalProperties": false,\n "properties": {\n "task_id": {\n "title": "Task Id",\n "type": "string"\n },\n "log": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Log entries related to the overall task",\n "title": "Log"\n },\n "phases": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/Phases"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary whose keys (property names) are the indices of a phase",\n "title": "Phases"\n }\n },\n "required": [\n "task_id"\n ],\n "title": "TaskEventLog",\n "type": "object"\n}\n```\n\n\n### /dispensers/{guid}/state\n\n\n```\n{\n "$defs": {\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "time": {\n "$ref": "#/$defs/Time"\n },\n "guid": {\n "title": "Guid",\n "type": "string"\n },\n "mode": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Mode",\n "type": "integer"\n },\n "request_guid_queue": {\n "items": {\n "type": "string"\n },\n "title": "Request Guid Queue",\n "type": "array"\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "title": "DispenserState",\n "type": "object"\n}\n```\n\n\n### /ingestors/{guid}/state\n\n\n```\n{\n "$defs": {\n "Time": {\n "properties": {\n "sec": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Sec",\n "type": "integer"\n },\n "nanosec": {\n "maximum": 4294967295,\n "minimum": 0,\n "title": "Nanosec",\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ],\n "title": "Time",\n "type": "object"\n }\n },\n "properties": {\n "time": {\n "$ref": "#/$defs/Time"\n },\n "guid": {\n "title": "Guid",\n "type": "string"\n },\n "mode": {\n "maximum": 2147483647,\n "minimum": -2147483648,\n "title": "Mode",\n "type": "integer"\n },\n "request_guid_queue": {\n "items": {\n "type": "string"\n },\n "title": "Request Guid Queue",\n "type": "array"\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "title": "IngestorState",\n "type": "object"\n}\n```\n\n\n### /fleets/{name}/state\n\n\n```\n{\n "$defs": {\n "Commission": {\n "properties": {\n "dispatch_tasks": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Should the robot accept dispatched tasks, true/false. When used in a request, leave this unset to not change the robot\'s current value.",\n "title": "Dispatch Tasks"\n },\n "direct_tasks": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Should the robot accept direct task requests, true/false. When used in a request, leave this unset to not change the robot\'s current value.",\n "title": "Direct Tasks"\n },\n "idle_behavior": {\n "anyOf": [\n {\n "type": "boolean"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Should the robot perform its idle behavior, true/false. When used in a request, leave this unset to not change the robot\'s current value.",\n "title": "Idle Behavior"\n }\n },\n "title": "Commission",\n "type": "object"\n },\n "Issue": {\n "properties": {\n "category": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Category of the robot\'s issue",\n "title": "Category"\n },\n "detail": {\n "anyOf": [\n {\n "type": "object"\n },\n {\n "items": {},\n "type": "array"\n },\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Detailed information about the issue",\n "title": "Detail"\n }\n },\n "title": "Issue",\n "type": "object"\n },\n "Location2D": {\n "properties": {\n "map": {\n "title": "Map",\n "type": "string"\n },\n "x": {\n "title": "X",\n "type": "number"\n },\n "y": {\n "title": "Y",\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "type": "number"\n }\n },\n "required": [\n "map",\n "x",\n "y",\n "yaw"\n ],\n "title": "Location2D",\n "type": "object"\n },\n "MutexGroups": {\n "properties": {\n "locked": {\n "anyOf": [\n {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A list of mutex groups that this robot has currently locked",\n "title": "Locked"\n },\n "requesting": {\n "anyOf": [\n {\n "items": {\n "type": "string"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A list of the mutex groups that this robot is currently requesting but has not lockd yet",\n "title": "Requesting"\n }\n },\n "title": "MutexGroups",\n "type": "object"\n },\n "RobotState": {\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Name"\n },\n "status": {\n "anyOf": [\n {\n "$ref": "#/$defs/Status"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A simple token representing the status of the robot"\n },\n "task_id": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.",\n "title": "Task Id"\n },\n "unix_millis_time": {\n "anyOf": [\n {\n "type": "integer"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Unix Millis Time"\n },\n "location": {\n "anyOf": [\n {\n "$ref": "#/$defs/Location2D"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "battery": {\n "anyOf": [\n {\n "maximum": 1.0,\n "minimum": 0.0,\n "type": "number"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)",\n "title": "Battery"\n },\n "issues": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/Issue"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A list of issues with the robot that operators need to address",\n "title": "Issues"\n },\n "commission": {\n "anyOf": [\n {\n "$ref": "#/$defs/Commission"\n },\n {\n "type": "null"\n }\n ],\n "default": null\n },\n "mutex_groups": {\n "anyOf": [\n {\n "$ref": "#/$defs/MutexGroups"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Information about the mutex groups that this robot is interacting with"\n }\n },\n "title": "RobotState",\n "type": "object"\n },\n "Status": {\n "enum": [\n "uninitialized",\n "offline",\n "shutdown",\n "idle",\n "charging",\n "working",\n "error"\n ],\n "title": "Status",\n "type": "string"\n }\n },\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Name"\n },\n "robots": {\n "anyOf": [\n {\n "additionalProperties": {\n "$ref": "#/$defs/RobotState"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "A dictionary of the states of the robots that belong to this fleet",\n "title": "Robots"\n }\n },\n "title": "FleetState",\n "type": "object"\n}\n```\n\n\n### /fleets/{name}/log\n\n\n```\n{\n "$defs": {\n "LogEntry": {\n "properties": {\n "seq": {\n "description": "Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.",\n "exclusiveMaximum": 4294967296,\n "minimum": 0,\n "title": "Seq",\n "type": "integer"\n },\n "tier": {\n "allOf": [\n {\n "$ref": "#/$defs/Tier"\n }\n ],\n "description": "The importance level of the log entry"\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "description": "The text of the log entry",\n "title": "Text",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ],\n "title": "LogEntry",\n "type": "object"\n },\n "Tier": {\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ],\n "title": "Tier",\n "type": "string"\n }\n },\n "properties": {\n "name": {\n "anyOf": [\n {\n "type": "string"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "title": "Name"\n },\n "log": {\n "anyOf": [\n {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Log for the overall fleet",\n "title": "Log"\n },\n "robots": {\n "anyOf": [\n {\n "additionalProperties": {\n "items": {\n "$ref": "#/$defs/LogEntry"\n },\n "type": "array"\n },\n "type": "object"\n },\n {\n "type": "null"\n }\n ],\n "default": null,\n "description": "Dictionary of logs for the individual robots. The keys (property names) are the robot names.",\n "title": "Robots"\n }\n },\n "title": "FleetLog",\n "type": "object"\n}\n```\n\n\n### /rios\n\n\n```\n{\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "type": {\n "title": "Type",\n "type": "string"\n },\n "data": {\n "title": "Data",\n "type": "object"\n }\n },\n "required": [\n "id",\n "type",\n "data"\n ],\n "title": "Rio",\n "type": "object"\n}\n```\n\n', operationId: '_lambda__socket_io_get', responses: { '200': { @@ -2277,6 +2277,92 @@ export default { }, }, }, + '/rios': { + get: { + tags: ['RIOs'], + summary: 'Query Rios', + operationId: 'query_rios_rios_get', + parameters: [ + { + name: 'id', + in: 'query', + required: false, + schema: { + anyOf: [{ type: 'string' }, { type: 'null' }], + description: 'comma separated list of ids', + title: 'Id', + }, + description: 'comma separated list of ids', + }, + { + name: 'type', + in: 'query', + required: false, + schema: { + anyOf: [{ type: 'string' }, { type: 'null' }], + description: 'comma separated list of types', + title: 'Type', + }, + description: 'comma separated list of types', + }, + { + name: 'authorization', + in: 'header', + required: false, + schema: { anyOf: [{ type: 'string' }, { type: 'null' }], title: 'Authorization' }, + }, + ], + responses: { + '200': { + description: 'Successful Response', + content: { + 'application/json': { + schema: { + type: 'array', + items: { $ref: '#/components/schemas/Rio' }, + title: 'Response Query Rios Rios Get', + }, + }, + }, + }, + '422': { + description: 'Validation Error', + content: { + 'application/json': { schema: { $ref: '#/components/schemas/HTTPValidationError' } }, + }, + }, + }, + }, + put: { + tags: ['RIOs'], + summary: 'Put Rio', + operationId: 'put_rio_rios_put', + parameters: [ + { + name: 'authorization', + in: 'header', + required: false, + schema: { anyOf: [{ type: 'string' }, { type: 'null' }], title: 'Authorization' }, + }, + ], + requestBody: { + required: true, + content: { 'application/json': { schema: { $ref: '#/components/schemas/Rio' } } }, + }, + responses: { + '200': { + description: 'Successful Response', + content: { 'application/json': { schema: {} } }, + }, + '422': { + description: 'Validation Error', + content: { + 'application/json': { schema: { $ref: '#/components/schemas/HTTPValidationError' } }, + }, + }, + }, + }, + }, '/admin/users': { get: { tags: ['Admin'], @@ -3958,6 +4044,16 @@ export default { required: ['labels'], title: 'ResumedBy', }, + Rio: { + properties: { + id: { type: 'string', title: 'Id' }, + type: { type: 'string', title: 'Type' }, + data: { type: 'object', title: 'Data' }, + }, + type: 'object', + required: ['id', 'type', 'data'], + title: 'Rio', + }, RobotCommissionResponse: { properties: { commission: { $ref: '#/components/schemas/Result' },