diff --git a/packages/api-client/lib/index.ts b/packages/api-client/lib/index.ts
index 3c034dc1d..c0030e596 100644
--- a/packages/api-client/lib/index.ts
+++ b/packages/api-client/lib/index.ts
@@ -4,7 +4,7 @@ import {
ApiServerModelsTortoiseModelsAlertsAlertLeaf,
ApiServerModelsTortoiseModelsBeaconsBeaconStateLeaf as BeaconState,
BuildingMap,
- ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf as DeliveryAlert,
+ DeliveryAlert,
DispenserHealth,
DispenserState,
DoorHealth,
diff --git a/packages/api-client/lib/openapi/api.ts b/packages/api-client/lib/openapi/api.ts
index 20bb5a3c4..904e10908 100644
--- a/packages/api-client/lib/openapi/api.ts
+++ b/packages/api-client/lib/openapi/api.ts
@@ -31,6 +31,21 @@ import {
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';
+/**
+ * An enumeration.
+ * @export
+ * @enum {string}
+ */
+
+export const Action = {
+ Waiting: 'waiting',
+ Cancelled: 'cancelled',
+ Override: 'override',
+ Resume: 'resume',
+} as const;
+
+export type Action = typeof Action[keyof typeof Action];
+
/**
*
* @export
@@ -139,6 +154,36 @@ export interface AffineImage {
*/
data: string;
}
+/**
+ * An enumeration.
+ * @export
+ * @enum {string}
+ */
+
+export const ApiServerModelsDeliveryAlertsDeliveryAlertCategory = {
+ Missing: 'missing',
+ Wrong: 'wrong',
+ Obstructed: 'obstructed',
+ Cancelled: 'cancelled',
+} as const;
+
+export type ApiServerModelsDeliveryAlertsDeliveryAlertCategory =
+ typeof ApiServerModelsDeliveryAlertsDeliveryAlertCategory[keyof typeof ApiServerModelsDeliveryAlertsDeliveryAlertCategory];
+
+/**
+ * An enumeration.
+ * @export
+ * @enum {string}
+ */
+
+export const ApiServerModelsDeliveryAlertsDeliveryAlertTier = {
+ Warning: 'warning',
+ Error: 'error',
+} as const;
+
+export type ApiServerModelsDeliveryAlertsDeliveryAlertTier =
+ typeof ApiServerModelsDeliveryAlertsDeliveryAlertTier[keyof typeof ApiServerModelsDeliveryAlertsDeliveryAlertTier];
+
/**
*
* @export
@@ -183,6 +228,22 @@ export interface ApiServerModelsRmfApiFleetStateFleetState {
*/
robots?: { [key: string]: RobotState };
}
+/**
+ * An enumeration.
+ * @export
+ * @enum {string}
+ */
+
+export const ApiServerModelsRmfApiLogEntryTier = {
+ Uninitialized: 'uninitialized',
+ Info: 'info',
+ Warning: 'warning',
+ Error: 'error',
+} as const;
+
+export type ApiServerModelsRmfApiLogEntryTier =
+ typeof ApiServerModelsRmfApiLogEntryTier[keyof typeof ApiServerModelsRmfApiLogEntryTier];
+
/**
* An enumeration.
* @export
@@ -291,49 +352,6 @@ export interface ApiServerModelsTortoiseModelsBeaconsBeaconStateLeaf {
*/
level?: string | null;
}
-/**
- * Custom alerts for custom delivery tasks
- * @export
- * @interface ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
-export interface ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf {
- /**
- *
- * @type {string}
- * @memberof ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
- id: string;
- /**
- * Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled
- * @type {string}
- * @memberof ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
- category: string;
- /**
- * Warning: warning
Error: error
- * @type {string}
- * @memberof ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
- tier: string;
- /**
- *
- * @type {string}
- * @memberof ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
- task_id?: string | null;
- /**
- * Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume
- * @type {string}
- * @memberof ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
- action: string;
- /**
- *
- * @type {string}
- * @memberof ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf
- */
- message?: string | null;
-}
/**
*
* @export
@@ -691,6 +709,49 @@ export interface Datum {
*/
activities: Array;
}
+/**
+ *
+ * @export
+ * @interface DeliveryAlert
+ */
+export interface DeliveryAlert {
+ /**
+ *
+ * @type {string}
+ * @memberof DeliveryAlert
+ */
+ id: string;
+ /**
+ *
+ * @type {ApiServerModelsDeliveryAlertsDeliveryAlertCategory}
+ * @memberof DeliveryAlert
+ */
+ category: ApiServerModelsDeliveryAlertsDeliveryAlertCategory;
+ /**
+ *
+ * @type {ApiServerModelsDeliveryAlertsDeliveryAlertTier}
+ * @memberof DeliveryAlert
+ */
+ tier: ApiServerModelsDeliveryAlertsDeliveryAlertTier;
+ /**
+ *
+ * @type {Action}
+ * @memberof DeliveryAlert
+ */
+ action: Action;
+ /**
+ *
+ * @type {string}
+ * @memberof DeliveryAlert
+ */
+ task_id: string;
+ /**
+ *
+ * @type {string}
+ * @memberof DeliveryAlert
+ */
+ message: string;
+}
/**
* Detailed information about a task, phase, or event
* @export
@@ -1589,10 +1650,10 @@ export interface LogEntry {
seq: number;
/**
* The importance level of the log entry
- * @type {Tier}
+ * @type {ApiServerModelsRmfApiLogEntryTier}
* @memberof LogEntry
*/
- tier: Tier;
+ tier: ApiServerModelsRmfApiLogEntryTier;
/**
*
* @type {number}
@@ -2864,21 +2925,6 @@ export interface TaskState {
*/
unix_millis_warn_time?: number;
}
-/**
- * An enumeration.
- * @export
- * @enum {string}
- */
-
-export const Tier = {
- Uninitialized: 'uninitialized',
- Info: 'info',
- Warning: 'warning',
- Error: 'error',
-} as const;
-
-export type Tier = typeof Tier[keyof typeof Tier];
-
/**
*
* @export
@@ -5560,7 +5606,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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"description\": \"Custom alerts for custom delivery tasks\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled\", \"maxLength\": 10, \"type\": \"string\" }, \"tier\": { \"title\": \"Tier\", \"description\": \"Warning: warning
Error: error\", \"maxLength\": 7, \"type\": \"string\" }, \"task_id\": { \"title\": \"Task Id\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"action\": { \"title\": \"Action\", \"description\": \"Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume\", \"maxLength\": 9, \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\" ], \"additionalProperties\": false } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
+ * # 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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"tier\": { \"$ref\": \"#/definitions/Tier\" }, \"action\": { \"$ref\": \"#/definitions/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"definitions\": { \"Category\": { \"title\": \"Category\", \"description\": \"An enumeration.\", \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"type\": \"string\" }, \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"warning\", \"error\" ], \"type\": \"string\" }, \"Action\": { \"title\": \"Action\", \"description\": \"An enumeration.\", \"enum\": [ \"waiting\", \"cancelled\", \"override\", \"resume\" ], \"type\": \"string\" } } } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
* @summary Socket.io endpoint
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -5639,7 +5685,7 @@ export const DefaultApiFp = function (configuration?: Configuration) {
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
- * # 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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"description\": \"Custom alerts for custom delivery tasks\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled\", \"maxLength\": 10, \"type\": \"string\" }, \"tier\": { \"title\": \"Tier\", \"description\": \"Warning: warning
Error: error\", \"maxLength\": 7, \"type\": \"string\" }, \"task_id\": { \"title\": \"Task Id\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"action\": { \"title\": \"Action\", \"description\": \"Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume\", \"maxLength\": 9, \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\" ], \"additionalProperties\": false } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
+ * # 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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"tier\": { \"$ref\": \"#/definitions/Tier\" }, \"action\": { \"$ref\": \"#/definitions/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"definitions\": { \"Category\": { \"title\": \"Category\", \"description\": \"An enumeration.\", \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"type\": \"string\" }, \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"warning\", \"error\" ], \"type\": \"string\" }, \"Action\": { \"title\": \"Action\", \"description\": \"An enumeration.\", \"enum\": [ \"waiting\", \"cancelled\", \"override\", \"resume\" ], \"type\": \"string\" } } } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
* @summary Socket.io endpoint
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -5694,7 +5740,7 @@ export const DefaultApiFactory = function (
return localVarFp.getUserUserGet(options).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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"description\": \"Custom alerts for custom delivery tasks\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled\", \"maxLength\": 10, \"type\": \"string\" }, \"tier\": { \"title\": \"Tier\", \"description\": \"Warning: warning
Error: error\", \"maxLength\": 7, \"type\": \"string\" }, \"task_id\": { \"title\": \"Task Id\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"action\": { \"title\": \"Action\", \"description\": \"Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume\", \"maxLength\": 9, \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\" ], \"additionalProperties\": false } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
+ * # 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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"tier\": { \"$ref\": \"#/definitions/Tier\" }, \"action\": { \"$ref\": \"#/definitions/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"definitions\": { \"Category\": { \"title\": \"Category\", \"description\": \"An enumeration.\", \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"type\": \"string\" }, \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"warning\", \"error\" ], \"type\": \"string\" }, \"Action\": { \"title\": \"Action\", \"description\": \"An enumeration.\", \"enum\": [ \"waiting\", \"cancelled\", \"override\", \"resume\" ], \"type\": \"string\" } } } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
* @summary Socket.io endpoint
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -5752,7 +5798,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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"description\": \"Custom alerts for custom delivery tasks\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled\", \"maxLength\": 10, \"type\": \"string\" }, \"tier\": { \"title\": \"Tier\", \"description\": \"Warning: warning
Error: error\", \"maxLength\": 7, \"type\": \"string\" }, \"task_id\": { \"title\": \"Task Id\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"action\": { \"title\": \"Action\", \"description\": \"Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume\", \"maxLength\": 9, \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\" ], \"additionalProperties\": false } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
+ * # 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 ``` { \"title\": \"Alert\", \"description\": \"General alert that can be triggered by events.\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"original_id\": { \"title\": \"Original Id\", \"maxLength\": 255, \"type\": \"string\" }, \"category\": { \"title\": \"Category\", \"description\": \"Default: default
Task: task
Fleet: fleet
Robot: robot\", \"maxLength\": 7, \"type\": \"string\" }, \"unix_millis_created_time\": { \"title\": \"Unix Millis Created Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"type\": \"integer\" }, \"acknowledged_by\": { \"title\": \"Acknowledged By\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"unix_millis_acknowledged_time\": { \"title\": \"Unix Millis Acknowledged Time\", \"minimum\": -9223372036854775808, \"maximum\": 9223372036854775807, \"nullable\": true, \"type\": \"integer\" } }, \"required\": [ \"id\", \"original_id\", \"category\", \"unix_millis_created_time\" ], \"additionalProperties\": false } ``` ### /beacons ``` { \"title\": \"BeaconState\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"maxLength\": 255, \"type\": \"string\" }, \"online\": { \"title\": \"Online\", \"type\": \"boolean\" }, \"category\": { \"title\": \"Category\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"activated\": { \"title\": \"Activated\", \"type\": \"boolean\" }, \"level\": { \"title\": \"Level\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" } }, \"required\": [ \"id\", \"online\", \"activated\" ], \"additionalProperties\": false } ``` ### /building_map ``` { \"title\": \"BuildingMap\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Level\" } }, \"lifts\": { \"title\": \"Lifts\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Lift\" } } }, \"required\": [ \"name\", \"levels\", \"lifts\" ], \"definitions\": { \"AffineImage\": { \"title\": \"AffineImage\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x_offset\": { \"title\": \"X Offset\", \"default\": 0, \"type\": \"number\" }, \"y_offset\": { \"title\": \"Y Offset\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"scale\": { \"title\": \"Scale\", \"default\": 0, \"type\": \"number\" }, \"encoding\": { \"title\": \"Encoding\", \"default\": \"\", \"type\": \"string\" }, \"data\": { \"title\": \"Data\", \"type\": \"string\" } }, \"required\": [ \"name\", \"x_offset\", \"y_offset\", \"yaw\", \"scale\", \"encoding\", \"data\" ] }, \"Place\": { \"title\": \"Place\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"yaw\": { \"title\": \"Yaw\", \"default\": 0, \"type\": \"number\" }, \"position_tolerance\": { \"title\": \"Position Tolerance\", \"default\": 0, \"type\": \"number\" }, \"yaw_tolerance\": { \"title\": \"Yaw Tolerance\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"x\", \"y\", \"yaw\", \"position_tolerance\", \"yaw_tolerance\" ] }, \"Door\": { \"title\": \"Door\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"v1_x\": { \"title\": \"V1 X\", \"default\": 0, \"type\": \"number\" }, \"v1_y\": { \"title\": \"V1 Y\", \"default\": 0, \"type\": \"number\" }, \"v2_x\": { \"title\": \"V2 X\", \"default\": 0, \"type\": \"number\" }, \"v2_y\": { \"title\": \"V2 Y\", \"default\": 0, \"type\": \"number\" }, \"door_type\": { \"title\": \"Door Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_range\": { \"title\": \"Motion Range\", \"default\": 0, \"type\": \"number\" }, \"motion_direction\": { \"title\": \"Motion Direction\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" } }, \"required\": [ \"name\", \"v1_x\", \"v1_y\", \"v2_x\", \"v2_y\", \"door_type\", \"motion_range\", \"motion_direction\" ] }, \"Param\": { \"title\": \"Param\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"type\": { \"title\": \"Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"value_int\": { \"title\": \"Value Int\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"value_float\": { \"title\": \"Value Float\", \"default\": 0, \"type\": \"number\" }, \"value_string\": { \"title\": \"Value String\", \"default\": \"\", \"type\": \"string\" }, \"value_bool\": { \"title\": \"Value Bool\", \"default\": false, \"type\": \"boolean\" } }, \"required\": [ \"name\", \"type\", \"value_int\", \"value_float\", \"value_string\", \"value_bool\" ] }, \"GraphNode\": { \"title\": \"GraphNode\", \"type\": \"object\", \"properties\": { \"x\": { \"title\": \"X\", \"default\": 0, \"type\": \"number\" }, \"y\": { \"title\": \"Y\", \"default\": 0, \"type\": \"number\" }, \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"x\", \"y\", \"name\", \"params\" ] }, \"GraphEdge\": { \"title\": \"GraphEdge\", \"type\": \"object\", \"properties\": { \"v1_idx\": { \"title\": \"V1 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"v2_idx\": { \"title\": \"V2 Idx\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } }, \"edge_type\": { \"title\": \"Edge Type\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" } }, \"required\": [ \"v1_idx\", \"v2_idx\", \"params\", \"edge_type\" ] }, \"Graph\": { \"title\": \"Graph\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"vertices\": { \"title\": \"Vertices\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphNode\" } }, \"edges\": { \"title\": \"Edges\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/GraphEdge\" } }, \"params\": { \"title\": \"Params\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Param\" } } }, \"required\": [ \"name\", \"vertices\", \"edges\", \"params\" ] }, \"Level\": { \"title\": \"Level\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"elevation\": { \"title\": \"Elevation\", \"default\": 0, \"type\": \"number\" }, \"images\": { \"title\": \"Images\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/AffineImage\" } }, \"places\": { \"title\": \"Places\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Place\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"nav_graphs\": { \"title\": \"Nav Graphs\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Graph\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] } }, \"required\": [ \"name\", \"elevation\", \"images\", \"places\", \"doors\", \"nav_graphs\", \"wall_graph\" ] }, \"Lift\": { \"title\": \"Lift\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"default\": \"\", \"type\": \"string\" }, \"levels\": { \"title\": \"Levels\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"doors\": { \"title\": \"Doors\", \"default\": [], \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Door\" } }, \"wall_graph\": { \"title\": \"Wall Graph\", \"default\": { \"name\": \"\", \"vertices\": [], \"edges\": [], \"params\": [] }, \"allOf\": [ { \"$ref\": \"#/definitions/Graph\" } ] }, \"ref_x\": { \"title\": \"Ref X\", \"default\": 0, \"type\": \"number\" }, \"ref_y\": { \"title\": \"Ref Y\", \"default\": 0, \"type\": \"number\" }, \"ref_yaw\": { \"title\": \"Ref Yaw\", \"default\": 0, \"type\": \"number\" }, \"width\": { \"title\": \"Width\", \"default\": 0, \"type\": \"number\" }, \"depth\": { \"title\": \"Depth\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"name\", \"levels\", \"doors\", \"wall_graph\", \"ref_x\", \"ref_y\", \"ref_yaw\", \"width\", \"depth\" ] } } } ``` ### /delivery_alerts ``` { \"title\": \"DeliveryAlert\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"type\": \"string\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"tier\": { \"$ref\": \"#/definitions/Tier\" }, \"action\": { \"$ref\": \"#/definitions/Action\" }, \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"message\": { \"title\": \"Message\", \"type\": \"string\" } }, \"required\": [ \"id\", \"category\", \"tier\", \"action\", \"task_id\", \"message\" ], \"definitions\": { \"Category\": { \"title\": \"Category\", \"description\": \"An enumeration.\", \"enum\": [ \"missing\", \"wrong\", \"obstructed\", \"cancelled\" ], \"type\": \"string\" }, \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"warning\", \"error\" ], \"type\": \"string\" }, \"Action\": { \"title\": \"Action\", \"description\": \"An enumeration.\", \"enum\": [ \"waiting\", \"cancelled\", \"override\", \"resume\" ], \"type\": \"string\" } } } ``` ### /doors/{door_name}/state ``` { \"title\": \"DoorState\", \"type\": \"object\", \"properties\": { \"door_time\": { \"title\": \"Door Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"door_name\": { \"title\": \"Door Name\", \"default\": \"\", \"type\": \"string\" }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": { \"value\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/DoorMode\" } ] } }, \"required\": [ \"door_time\", \"door_name\", \"current_mode\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] }, \"DoorMode\": { \"title\": \"DoorMode\", \"type\": \"object\", \"properties\": { \"value\": { \"title\": \"Value\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"value\" ] } } } ``` ### /doors/{door_name}/health ``` { \"title\": \"DoorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /lifts/{lift_name}/state ``` { \"title\": \"LiftState\", \"type\": \"object\", \"properties\": { \"lift_time\": { \"title\": \"Lift Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"lift_name\": { \"title\": \"Lift Name\", \"default\": \"\", \"type\": \"string\" }, \"available_floors\": { \"title\": \"Available Floors\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"current_floor\": { \"title\": \"Current Floor\", \"default\": \"\", \"type\": \"string\" }, \"destination_floor\": { \"title\": \"Destination Floor\", \"default\": \"\", \"type\": \"string\" }, \"door_state\": { \"title\": \"Door State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"motion_state\": { \"title\": \"Motion State\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"available_modes\": { \"title\": \"Available Modes\", \"type\": \"array\", \"items\": { \"type\": \"integer\" } }, \"current_mode\": { \"title\": \"Current Mode\", \"default\": 0, \"minimum\": 0, \"maximum\": 255, \"type\": \"integer\" }, \"session_id\": { \"title\": \"Session Id\", \"default\": \"\", \"type\": \"string\" } }, \"required\": [ \"lift_time\", \"lift_name\", \"available_floors\", \"current_floor\", \"destination_floor\", \"door_state\", \"motion_state\", \"available_modes\", \"current_mode\", \"session_id\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /lifts/{lift_name}/health ``` { \"title\": \"LiftHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /tasks/{task_id}/state ``` { \"title\": \"TaskState\", \"type\": \"object\", \"properties\": { \"booking\": { \"$ref\": \"#/definitions/Booking\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"assigned_to\": { \"title\": \"Assigned To\", \"description\": \"Which agent (robot) is the task assigned to\", \"allOf\": [ { \"$ref\": \"#/definitions/AssignedTo\" } ] }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"dispatch\": { \"$ref\": \"#/definitions/Dispatch\" }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phase\" } }, \"completed\": { \"title\": \"Completed\", \"description\": \"An array of the IDs of completed phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"active\": { \"title\": \"Active\", \"description\": \"The ID of the active phase for this task\", \"allOf\": [ { \"$ref\": \"#/definitions/Id\" } ] }, \"pending\": { \"title\": \"Pending\", \"description\": \"An array of the pending phases of this task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Id\" } }, \"interruptions\": { \"title\": \"Interruptions\", \"description\": \"A dictionary of interruptions that have been applied to this task. The keys (property names) are the unique token of the interruption request.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Interruption\" } }, \"cancellation\": { \"title\": \"Cancellation\", \"description\": \"If the task was cancelled, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Cancellation\" } ] }, \"killed\": { \"title\": \"Killed\", \"description\": \"If the task was killed, this will describe information about the request.\", \"allOf\": [ { \"$ref\": \"#/definitions/Killed\" } ] }, \"unix_millis_warn_time\": { \"title\": \"Unix Millis Warn Time\", \"type\": \"integer\" } }, \"required\": [ \"booking\" ], \"definitions\": { \"Booking\": { \"title\": \"Booking\", \"type\": \"object\", \"properties\": { \"id\": { \"title\": \"Id\", \"description\": \"The unique identifier for this task\", \"type\": \"string\" }, \"unix_millis_earliest_start_time\": { \"title\": \"Unix Millis Earliest Start Time\", \"type\": \"integer\" }, \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"type\": \"integer\" }, \"priority\": { \"title\": \"Priority\", \"description\": \"Priority information about this task\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"string\" } ] }, \"labels\": { \"title\": \"Labels\", \"description\": \"Information about how and why this task was booked\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"requester\": { \"title\": \"Requester\", \"description\": \"(Optional) An identifier for the entity that requested this task\", \"type\": \"string\" } }, \"required\": [ \"id\" ] }, \"Category\": { \"title\": \"Category\", \"description\": \"The category of this task or phase\", \"type\": \"string\" }, \"Detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about a task, phase, or event\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] }, \"EstimateMillis\": { \"title\": \"EstimateMillis\", \"description\": \"An estimate, in milliseconds, of how long the subject will take to complete\", \"minimum\": 0, \"type\": \"integer\" }, \"AssignedTo\": { \"title\": \"AssignedTo\", \"type\": \"object\", \"properties\": { \"group\": { \"title\": \"Group\", \"type\": \"string\" }, \"name\": { \"title\": \"Name\", \"type\": \"string\" } }, \"required\": [ \"group\", \"name\" ] }, \"Status\": { \"title\": \"Status\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"blocked\", \"error\", \"failed\", \"queued\", \"standby\", \"underway\", \"delayed\", \"skipped\", \"canceled\", \"killed\", \"completed\" ] }, \"Status1\": { \"title\": \"Status1\", \"description\": \"An enumeration.\", \"enum\": [ \"queued\", \"selected\", \"dispatched\", \"failed_to_assign\", \"canceled_in_flight\" ] }, \"Assignment\": { \"title\": \"Assignment\", \"type\": \"object\", \"properties\": { \"fleet_name\": { \"title\": \"Fleet Name\", \"type\": \"string\" }, \"expected_robot_name\": { \"title\": \"Expected Robot Name\", \"type\": \"string\" } } }, \"Error\": { \"title\": \"Error\", \"type\": \"object\", \"properties\": { \"code\": { \"title\": \"Code\", \"description\": \"A standard code for the kind of error that has occurred\", \"minimum\": 0, \"type\": \"integer\" }, \"category\": { \"title\": \"Category\", \"description\": \"The category of the error\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Details about the error\", \"type\": \"string\" } } }, \"Dispatch\": { \"title\": \"Dispatch\", \"type\": \"object\", \"properties\": { \"status\": { \"$ref\": \"#/definitions/Status1\" }, \"assignment\": { \"$ref\": \"#/definitions/Assignment\" }, \"errors\": { \"title\": \"Errors\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Error\" } } }, \"required\": [ \"status\" ] }, \"Id\": { \"title\": \"Id\", \"minimum\": 0, \"type\": \"integer\" }, \"EventState\": { \"title\": \"EventState\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"status\": { \"$ref\": \"#/definitions/Status\" }, \"name\": { \"title\": \"Name\", \"description\": \"The brief name of the event\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the event\", \"allOf\": [ { \"$ref\": \"#/definitions/Detail\" } ] }, \"deps\": { \"title\": \"Deps\", \"description\": \"This event may depend on other events. This array contains the IDs of those other event dependencies.\", \"type\": \"array\", \"items\": { \"type\": \"integer\", \"minimum\": 0 } } }, \"required\": [ \"id\" ] }, \"Undo\": { \"title\": \"Undo\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the undo skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the undo skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"SkipPhaseRequest\": { \"title\": \"SkipPhaseRequest\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the skip request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the skip request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"undo\": { \"title\": \"Undo\", \"description\": \"Information about an undo skip request that applied to this request\", \"allOf\": [ { \"$ref\": \"#/definitions/Undo\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Phase\": { \"title\": \"Phase\", \"type\": \"object\", \"properties\": { \"id\": { \"$ref\": \"#/definitions/Id\" }, \"category\": { \"$ref\": \"#/definitions/Category\" }, \"detail\": { \"$ref\": \"#/definitions/Detail\" }, \"unix_millis_start_time\": { \"title\": \"Unix Millis Start Time\", \"type\": \"integer\" }, \"unix_millis_finish_time\": { \"title\": \"Unix Millis Finish Time\", \"type\": \"integer\" }, \"original_estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"estimate_millis\": { \"$ref\": \"#/definitions/EstimateMillis\" }, \"final_event_id\": { \"$ref\": \"#/definitions/Id\" }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/EventState\" } }, \"skip_requests\": { \"title\": \"Skip Requests\", \"description\": \"Information about any skip requests that have been received\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/SkipPhaseRequest\" } } }, \"required\": [ \"id\" ] }, \"ResumedBy\": { \"title\": \"ResumedBy\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the resume request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the resume request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"labels\" ] }, \"Interruption\": { \"title\": \"Interruption\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the interruption request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the purpose of the interruption\", \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"resumed_by\": { \"title\": \"Resumed By\", \"description\": \"Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.\", \"allOf\": [ { \"$ref\": \"#/definitions/ResumedBy\" } ] } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Cancellation\": { \"title\": \"Cancellation\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the cancel request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] }, \"Killed\": { \"title\": \"Killed\", \"type\": \"object\", \"properties\": { \"unix_millis_request_time\": { \"title\": \"Unix Millis Request Time\", \"description\": \"The time that the cancellation request arrived\", \"type\": \"integer\" }, \"labels\": { \"title\": \"Labels\", \"description\": \"Labels to describe the kill request\", \"type\": \"array\", \"items\": { \"type\": \"string\" } } }, \"required\": [ \"unix_millis_request_time\", \"labels\" ] } } } ``` ### /tasks/{task_id}/log ``` { \"title\": \"TaskEventLog\", \"type\": \"object\", \"properties\": { \"task_id\": { \"title\": \"Task Id\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall task\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"phases\": { \"title\": \"Phases\", \"description\": \"A dictionary whose keys (property names) are the indices of a phase\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/Phases\" } } }, \"required\": [ \"task_id\" ], \"additionalProperties\": false, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] }, \"Phases\": { \"title\": \"Phases\", \"type\": \"object\", \"properties\": { \"log\": { \"title\": \"Log\", \"description\": \"Log entries related to the overall phase\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"events\": { \"title\": \"Events\", \"description\": \"A dictionary whose keys (property names) are the indices of an event in the phase\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"additionalProperties\": false } } } ``` ### /dispensers/{guid}/state ``` { \"title\": \"DispenserState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /dispensers/{guid}/health ``` { \"title\": \"DispenserHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /ingestors/{guid}/state ``` { \"title\": \"IngestorState\", \"type\": \"object\", \"properties\": { \"time\": { \"title\": \"Time\", \"default\": { \"sec\": 0, \"nanosec\": 0 }, \"allOf\": [ { \"$ref\": \"#/definitions/Time\" } ] }, \"guid\": { \"title\": \"Guid\", \"default\": \"\", \"type\": \"string\" }, \"mode\": { \"title\": \"Mode\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"request_guid_queue\": { \"title\": \"Request Guid Queue\", \"default\": [], \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"seconds_remaining\": { \"title\": \"Seconds Remaining\", \"default\": 0, \"type\": \"number\" } }, \"required\": [ \"time\", \"guid\", \"mode\", \"request_guid_queue\", \"seconds_remaining\" ], \"definitions\": { \"Time\": { \"title\": \"Time\", \"type\": \"object\", \"properties\": { \"sec\": { \"title\": \"Sec\", \"default\": 0, \"minimum\": -2147483648, \"maximum\": 2147483647, \"type\": \"integer\" }, \"nanosec\": { \"title\": \"Nanosec\", \"default\": 0, \"minimum\": 0, \"maximum\": 4294967295, \"type\": \"integer\" } }, \"required\": [ \"sec\", \"nanosec\" ] } } } ``` ### /ingestors/{guid}/health ``` { \"title\": \"IngestorHealth\", \"type\": \"object\", \"properties\": { \"health_status\": { \"title\": \"Health Status\", \"maxLength\": 255, \"nullable\": true, \"type\": \"string\" }, \"health_message\": { \"title\": \"Health Message\", \"nullable\": true, \"type\": \"string\" }, \"id_\": { \"title\": \"Id \", \"maxLength\": 255, \"type\": \"string\" } }, \"required\": [ \"health_status\", \"id_\" ], \"additionalProperties\": false } ``` ### /fleets/{name}/state ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"robots\": { \"title\": \"Robots\", \"description\": \"A dictionary of the states of the robots that belong to this fleet\", \"type\": \"object\", \"additionalProperties\": { \"$ref\": \"#/definitions/RobotState\" } } }, \"definitions\": { \"Status2\": { \"title\": \"Status2\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"offline\", \"shutdown\", \"idle\", \"charging\", \"working\", \"error\" ] }, \"Location2D\": { \"title\": \"Location2D\", \"type\": \"object\", \"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\" ] }, \"Issue\": { \"title\": \"Issue\", \"type\": \"object\", \"properties\": { \"category\": { \"title\": \"Category\", \"description\": \"Category of the robot\'s issue\", \"type\": \"string\" }, \"detail\": { \"title\": \"Detail\", \"description\": \"Detailed information about the issue\", \"anyOf\": [ { \"type\": \"object\" }, { \"type\": \"array\", \"items\": {} }, { \"type\": \"string\" } ] } } }, \"RobotState\": { \"title\": \"RobotState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"status\": { \"description\": \"A simple token representing the status of the robot\", \"allOf\": [ { \"$ref\": \"#/definitions/Status2\" } ] }, \"task_id\": { \"title\": \"Task Id\", \"description\": \"The ID of the task this robot is currently working on. Empty string if the robot is not working on a task.\", \"type\": \"string\" }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"location\": { \"$ref\": \"#/definitions/Location2D\" }, \"battery\": { \"title\": \"Battery\", \"description\": \"State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)\", \"minimum\": 0.0, \"maximum\": 1.0, \"type\": \"number\" }, \"issues\": { \"title\": \"Issues\", \"description\": \"A list of issues with the robot that operators need to address\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/Issue\" } } } } } } ``` ### /fleets/{name}/log ``` { \"title\": \"FleetState\", \"type\": \"object\", \"properties\": { \"name\": { \"title\": \"Name\", \"type\": \"string\" }, \"log\": { \"title\": \"Log\", \"description\": \"Log for the overall fleet\", \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } }, \"robots\": { \"title\": \"Robots\", \"description\": \"Dictionary of logs for the individual robots. The keys (property names) are the robot names.\", \"type\": \"object\", \"additionalProperties\": { \"type\": \"array\", \"items\": { \"$ref\": \"#/definitions/LogEntry\" } } } }, \"definitions\": { \"Tier\": { \"title\": \"Tier\", \"description\": \"An enumeration.\", \"enum\": [ \"uninitialized\", \"info\", \"warning\", \"error\" ] }, \"LogEntry\": { \"title\": \"LogEntry\", \"type\": \"object\", \"properties\": { \"seq\": { \"title\": \"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, \"type\": \"integer\" }, \"tier\": { \"description\": \"The importance level of the log entry\", \"allOf\": [ { \"$ref\": \"#/definitions/Tier\" } ] }, \"unix_millis_time\": { \"title\": \"Unix Millis Time\", \"type\": \"integer\" }, \"text\": { \"title\": \"Text\", \"description\": \"The text of the log entry\", \"type\": \"string\" } }, \"required\": [ \"seq\", \"tier\", \"unix_millis_time\", \"text\" ] } } } ```
* @summary Socket.io endpoint
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@@ -5773,88 +5819,62 @@ export const DeliveryAlertsApiAxiosParamCreator = function (configuration?: Conf
return {
/**
*
- * @summary Create Delivery Alert
- * @param {string} category
- * @param {string} tier
+ * @summary Respond To Delivery Alert
+ * @param {string} deliveryAlertId
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertCategory} category
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertTier} tier
* @param {string} taskId
+ * @param {Action} action
* @param {string} message
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- createDeliveryAlertDeliveryAlertsPost: async (
- category: string,
- tier: string,
+ respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost: async (
+ deliveryAlertId: string,
+ category: ApiServerModelsDeliveryAlertsDeliveryAlertCategory,
+ tier: ApiServerModelsDeliveryAlertsDeliveryAlertTier,
taskId: string,
+ action: Action,
message: string,
options: AxiosRequestConfig = {},
): Promise => {
+ // verify required parameter 'deliveryAlertId' is not null or undefined
+ assertParamExists(
+ 'respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost',
+ 'deliveryAlertId',
+ deliveryAlertId,
+ );
// verify required parameter 'category' is not null or undefined
- assertParamExists('createDeliveryAlertDeliveryAlertsPost', 'category', category);
+ assertParamExists(
+ 'respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost',
+ 'category',
+ category,
+ );
// verify required parameter 'tier' is not null or undefined
- assertParamExists('createDeliveryAlertDeliveryAlertsPost', 'tier', tier);
+ assertParamExists(
+ 'respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost',
+ 'tier',
+ tier,
+ );
// verify required parameter 'taskId' is not null or undefined
- assertParamExists('createDeliveryAlertDeliveryAlertsPost', 'taskId', taskId);
+ assertParamExists(
+ 'respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost',
+ 'taskId',
+ taskId,
+ );
+ // verify required parameter 'action' is not null or undefined
+ assertParamExists(
+ 'respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost',
+ 'action',
+ action,
+ );
// verify required parameter 'message' is not null or undefined
- assertParamExists('createDeliveryAlertDeliveryAlertsPost', 'message', message);
- const localVarPath = `/delivery_alerts`;
- // 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: 'POST', ...baseOptions, ...options };
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (category !== undefined) {
- localVarQueryParameter['category'] = category;
- }
-
- if (tier !== undefined) {
- localVarQueryParameter['tier'] = tier;
- }
-
- if (taskId !== undefined) {
- localVarQueryParameter['task_id'] = taskId;
- }
-
- if (message !== undefined) {
- localVarQueryParameter['message'] = message;
- }
-
- setSearchParams(localVarUrlObj, localVarQueryParameter);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {
- ...localVarHeaderParameter,
- ...headersFromBaseOptions,
- ...options.headers,
- };
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- *
- * @summary Get Delivery Alert
- * @param {string} deliveryAlertId
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet: async (
- deliveryAlertId: string,
- options: AxiosRequestConfig = {},
- ): Promise => {
- // verify required parameter 'deliveryAlertId' is not null or undefined
assertParamExists(
- 'getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet',
- 'deliveryAlertId',
- deliveryAlertId,
+ 'respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost',
+ 'message',
+ message,
);
- const localVarPath = `/delivery_alerts/{delivery_alert_id}`.replace(
+ const localVarPath = `/delivery_alerts/{delivery_alert_id}/response`.replace(
`{${'delivery_alert_id'}}`,
encodeURIComponent(String(deliveryAlertId)),
);
@@ -5865,85 +5885,7 @@ export const DeliveryAlertsApiAxiosParamCreator = function (configuration?: Conf
baseOptions = configuration.baseOptions;
}
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- setSearchParams(localVarUrlObj, localVarQueryParameter);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {
- ...localVarHeaderParameter,
- ...headersFromBaseOptions,
- ...options.headers,
- };
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- *
- * @summary Get Delivery Alerts
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getDeliveryAlertsDeliveryAlertsGet: async (
- options: AxiosRequestConfig = {},
- ): Promise => {
- const localVarPath = `/delivery_alerts`;
- // 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;
-
- setSearchParams(localVarUrlObj, localVarQueryParameter);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {
- ...localVarHeaderParameter,
- ...headersFromBaseOptions,
- ...options.headers,
- };
-
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- *
- * @summary Query Delivery Alerts
- * @param {string} [category] comma separated list of alert categories
- * @param {string} [tier] comma separated of tier
- * @param {string} [taskId] comma separated list of task_id
- * @param {string} [action] comma separated list of action
- * @param {string} [message] comma separated of message
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- queryDeliveryAlertsDeliveryAlertsQueryGet: async (
- category?: string,
- tier?: string,
- taskId?: string,
- action?: string,
- message?: string,
- options: AxiosRequestConfig = {},
- ): Promise => {
- const localVarPath = `/delivery_alerts/query`;
- // 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 localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
@@ -5975,63 +5917,6 @@ export const DeliveryAlertsApiAxiosParamCreator = function (configuration?: Conf
...options.headers,
};
- return {
- url: toPathString(localVarUrlObj),
- options: localVarRequestOptions,
- };
- },
- /**
- *
- * @summary Update Delivery Alert Action
- * @param {string} deliveryAlertId
- * @param {string} action
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost: async (
- deliveryAlertId: string,
- action: string,
- options: AxiosRequestConfig = {},
- ): Promise => {
- // verify required parameter 'deliveryAlertId' is not null or undefined
- assertParamExists(
- 'updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost',
- 'deliveryAlertId',
- deliveryAlertId,
- );
- // verify required parameter 'action' is not null or undefined
- assertParamExists(
- 'updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost',
- 'action',
- action,
- );
- const localVarPath = `/delivery_alerts/{delivery_alert_id}/action`.replace(
- `{${'delivery_alert_id'}}`,
- encodeURIComponent(String(deliveryAlertId)),
- );
- // 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: 'POST', ...baseOptions, ...options };
- const localVarHeaderParameter = {} as any;
- const localVarQueryParameter = {} as any;
-
- if (action !== undefined) {
- localVarQueryParameter['action'] = action;
- }
-
- setSearchParams(localVarUrlObj, localVarQueryParameter);
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
- localVarRequestOptions.headers = {
- ...localVarHeaderParameter,
- ...headersFromBaseOptions,
- ...options.headers,
- };
-
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
@@ -6049,104 +5934,28 @@ export const DeliveryAlertsApiFp = function (configuration?: Configuration) {
return {
/**
*
- * @summary Create Delivery Alert
- * @param {string} category
- * @param {string} tier
+ * @summary Respond To Delivery Alert
+ * @param {string} deliveryAlertId
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertCategory} category
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertTier} tier
* @param {string} taskId
+ * @param {Action} action
* @param {string} message
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async createDeliveryAlertDeliveryAlertsPost(
- category: string,
- tier: string,
+ async respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
+ deliveryAlertId: string,
+ category: ApiServerModelsDeliveryAlertsDeliveryAlertCategory,
+ tier: ApiServerModelsDeliveryAlertsDeliveryAlertTier,
taskId: string,
+ action: Action,
message: string,
options?: AxiosRequestConfig,
- ): Promise<
- (
- axios?: AxiosInstance,
- basePath?: string,
- ) => AxiosPromise
- > {
+ ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
const localVarAxiosArgs =
- await localVarAxiosParamCreator.createDeliveryAlertDeliveryAlertsPost(
- category,
- tier,
- taskId,
- message,
- options,
- );
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- *
- * @summary Get Delivery Alert
- * @param {string} deliveryAlertId
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet(
- deliveryAlertId: string,
- options?: AxiosRequestConfig,
- ): Promise<
- (
- axios?: AxiosInstance,
- basePath?: string,
- ) => AxiosPromise
- > {
- const localVarAxiosArgs =
- await localVarAxiosParamCreator.getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet(
+ await localVarAxiosParamCreator.respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
deliveryAlertId,
- options,
- );
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- *
- * @summary Get Delivery Alerts
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async getDeliveryAlertsDeliveryAlertsGet(
- options?: AxiosRequestConfig,
- ): Promise<
- (
- axios?: AxiosInstance,
- basePath?: string,
- ) => AxiosPromise>
- > {
- const localVarAxiosArgs = await localVarAxiosParamCreator.getDeliveryAlertsDeliveryAlertsGet(
- options,
- );
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
- /**
- *
- * @summary Query Delivery Alerts
- * @param {string} [category] comma separated list of alert categories
- * @param {string} [tier] comma separated of tier
- * @param {string} [taskId] comma separated list of task_id
- * @param {string} [action] comma separated list of action
- * @param {string} [message] comma separated of message
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async queryDeliveryAlertsDeliveryAlertsQueryGet(
- category?: string,
- tier?: string,
- taskId?: string,
- action?: string,
- message?: string,
- options?: AxiosRequestConfig,
- ): Promise<
- (
- axios?: AxiosInstance,
- basePath?: string,
- ) => AxiosPromise>
- > {
- const localVarAxiosArgs =
- await localVarAxiosParamCreator.queryDeliveryAlertsDeliveryAlertsQueryGet(
category,
tier,
taskId,
@@ -6156,32 +5965,6 @@ export const DeliveryAlertsApiFp = function (configuration?: Configuration) {
);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
- /**
- *
- * @summary Update Delivery Alert Action
- * @param {string} deliveryAlertId
- * @param {string} action
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- async updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
- deliveryAlertId: string,
- action: string,
- options?: AxiosRequestConfig,
- ): Promise<
- (
- axios?: AxiosInstance,
- basePath?: string,
- ) => AxiosPromise
- > {
- const localVarAxiosArgs =
- await localVarAxiosParamCreator.updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
- deliveryAlertId,
- action,
- options,
- );
- return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
- },
};
};
@@ -6198,93 +5981,33 @@ export const DeliveryAlertsApiFactory = function (
return {
/**
*
- * @summary Create Delivery Alert
- * @param {string} category
- * @param {string} tier
+ * @summary Respond To Delivery Alert
+ * @param {string} deliveryAlertId
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertCategory} category
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertTier} tier
* @param {string} taskId
+ * @param {Action} action
* @param {string} message
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- createDeliveryAlertDeliveryAlertsPost(
- category: string,
- tier: string,
+ respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
+ deliveryAlertId: string,
+ category: ApiServerModelsDeliveryAlertsDeliveryAlertCategory,
+ tier: ApiServerModelsDeliveryAlertsDeliveryAlertTier,
taskId: string,
+ action: Action,
message: string,
options?: any,
- ): AxiosPromise {
- return localVarFp
- .createDeliveryAlertDeliveryAlertsPost(category, tier, taskId, message, options)
- .then((request) => request(axios, basePath));
- },
- /**
- *
- * @summary Get Delivery Alert
- * @param {string} deliveryAlertId
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet(
- deliveryAlertId: string,
- options?: any,
- ): AxiosPromise {
- return localVarFp
- .getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet(deliveryAlertId, options)
- .then((request) => request(axios, basePath));
- },
- /**
- *
- * @summary Get Delivery Alerts
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- getDeliveryAlertsDeliveryAlertsGet(
- options?: any,
- ): AxiosPromise> {
+ ): AxiosPromise {
return localVarFp
- .getDeliveryAlertsDeliveryAlertsGet(options)
- .then((request) => request(axios, basePath));
- },
- /**
- *
- * @summary Query Delivery Alerts
- * @param {string} [category] comma separated list of alert categories
- * @param {string} [tier] comma separated of tier
- * @param {string} [taskId] comma separated list of task_id
- * @param {string} [action] comma separated list of action
- * @param {string} [message] comma separated of message
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- queryDeliveryAlertsDeliveryAlertsQueryGet(
- category?: string,
- tier?: string,
- taskId?: string,
- action?: string,
- message?: string,
- options?: any,
- ): AxiosPromise> {
- return localVarFp
- .queryDeliveryAlertsDeliveryAlertsQueryGet(category, tier, taskId, action, message, options)
- .then((request) => request(axios, basePath));
- },
- /**
- *
- * @summary Update Delivery Alert Action
- * @param {string} deliveryAlertId
- * @param {string} action
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- */
- updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
- deliveryAlertId: string,
- action: string,
- options?: any,
- ): AxiosPromise {
- return localVarFp
- .updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
+ .respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
deliveryAlertId,
+ category,
+ tier,
+ taskId,
action,
+ message,
options,
)
.then((request) => request(axios, basePath));
@@ -6301,100 +6024,34 @@ export const DeliveryAlertsApiFactory = function (
export class DeliveryAlertsApi extends BaseAPI {
/**
*
- * @summary Create Delivery Alert
- * @param {string} category
- * @param {string} tier
+ * @summary Respond To Delivery Alert
+ * @param {string} deliveryAlertId
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertCategory} category
+ * @param {ApiServerModelsDeliveryAlertsDeliveryAlertTier} tier
* @param {string} taskId
+ * @param {Action} action
* @param {string} message
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof DeliveryAlertsApi
*/
- public createDeliveryAlertDeliveryAlertsPost(
- category: string,
- tier: string,
+ public respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
+ deliveryAlertId: string,
+ category: ApiServerModelsDeliveryAlertsDeliveryAlertCategory,
+ tier: ApiServerModelsDeliveryAlertsDeliveryAlertTier,
taskId: string,
+ action: Action,
message: string,
options?: AxiosRequestConfig,
) {
return DeliveryAlertsApiFp(this.configuration)
- .createDeliveryAlertDeliveryAlertsPost(category, tier, taskId, message, options)
- .then((request) => request(this.axios, this.basePath));
- }
-
- /**
- *
- * @summary Get Delivery Alert
- * @param {string} deliveryAlertId
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof DeliveryAlertsApi
- */
- public getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet(
- deliveryAlertId: string,
- options?: AxiosRequestConfig,
- ) {
- return DeliveryAlertsApiFp(this.configuration)
- .getDeliveryAlertDeliveryAlertsDeliveryAlertIdGet(deliveryAlertId, options)
- .then((request) => request(this.axios, this.basePath));
- }
-
- /**
- *
- * @summary Get Delivery Alerts
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof DeliveryAlertsApi
- */
- public getDeliveryAlertsDeliveryAlertsGet(options?: AxiosRequestConfig) {
- return DeliveryAlertsApiFp(this.configuration)
- .getDeliveryAlertsDeliveryAlertsGet(options)
- .then((request) => request(this.axios, this.basePath));
- }
-
- /**
- *
- * @summary Query Delivery Alerts
- * @param {string} [category] comma separated list of alert categories
- * @param {string} [tier] comma separated of tier
- * @param {string} [taskId] comma separated list of task_id
- * @param {string} [action] comma separated list of action
- * @param {string} [message] comma separated of message
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof DeliveryAlertsApi
- */
- public queryDeliveryAlertsDeliveryAlertsQueryGet(
- category?: string,
- tier?: string,
- taskId?: string,
- action?: string,
- message?: string,
- options?: AxiosRequestConfig,
- ) {
- return DeliveryAlertsApiFp(this.configuration)
- .queryDeliveryAlertsDeliveryAlertsQueryGet(category, tier, taskId, action, message, options)
- .then((request) => request(this.axios, this.basePath));
- }
-
- /**
- *
- * @summary Update Delivery Alert Action
- * @param {string} deliveryAlertId
- * @param {string} action
- * @param {*} [options] Override http request option.
- * @throws {RequiredError}
- * @memberof DeliveryAlertsApi
- */
- public updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
- deliveryAlertId: string,
- action: string,
- options?: AxiosRequestConfig,
- ) {
- return DeliveryAlertsApiFp(this.configuration)
- .updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
+ .respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
deliveryAlertId,
+ category,
+ tier,
+ taskId,
action,
+ message,
options,
)
.then((request) => request(this.axios, this.basePath));
diff --git a/packages/api-client/lib/version.ts b/packages/api-client/lib/version.ts
index fd7b7b378..be82c1387 100644
--- a/packages/api-client/lib/version.ts
+++ b/packages/api-client/lib/version.ts
@@ -3,6 +3,6 @@ import { version as rmfModelVer } from 'rmf-models';
export const version = {
rmfModels: rmfModelVer,
- rmfServer: '4f6e8567a0a3a44896f60898e84130c2be8a94c7',
+ rmfServer: '1403b63032764b781ef1ba349e50a9d895204bbb',
openapiGenerator: '6.2.1',
};
diff --git a/packages/api-client/schema/index.ts b/packages/api-client/schema/index.ts
index 6c36fad06..46c790d68 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:
- '\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 \n### /alerts\n\n\n```\n{\n "title": "Alert",\n "description": "General alert that can be triggered by events.",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "maxLength": 255,\n "type": "string"\n },\n "original_id": {\n "title": "Original Id",\n "maxLength": 255,\n "type": "string"\n },\n "category": {\n "title": "Category",\n "description": "Default: default
Task: task
Fleet: fleet
Robot: robot",\n "maxLength": 7,\n "type": "string"\n },\n "unix_millis_created_time": {\n "title": "Unix Millis Created Time",\n "minimum": -9223372036854775808,\n "maximum": 9223372036854775807,\n "type": "integer"\n },\n "acknowledged_by": {\n "title": "Acknowledged By",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "unix_millis_acknowledged_time": {\n "title": "Unix Millis Acknowledged Time",\n "minimum": -9223372036854775808,\n "maximum": 9223372036854775807,\n "nullable": true,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "original_id",\n "category",\n "unix_millis_created_time"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /beacons\n\n\n```\n{\n "title": "BeaconState",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "maxLength": 255,\n "type": "string"\n },\n "online": {\n "title": "Online",\n "type": "boolean"\n },\n "category": {\n "title": "Category",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "activated": {\n "title": "Activated",\n "type": "boolean"\n },\n "level": {\n "title": "Level",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n }\n },\n "required": [\n "id",\n "online",\n "activated"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /building_map\n\n\n```\n{\n "title": "BuildingMap",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "levels": {\n "title": "Levels",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Level"\n }\n },\n "lifts": {\n "title": "Lifts",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Lift"\n }\n }\n },\n "required": [\n "name",\n "levels",\n "lifts"\n ],\n "definitions": {\n "AffineImage": {\n "title": "AffineImage",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "x_offset": {\n "title": "X Offset",\n "default": 0,\n "type": "number"\n },\n "y_offset": {\n "title": "Y Offset",\n "default": 0,\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "default": 0,\n "type": "number"\n },\n "scale": {\n "title": "Scale",\n "default": 0,\n "type": "number"\n },\n "encoding": {\n "title": "Encoding",\n "default": "",\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 },\n "Place": {\n "title": "Place",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "x": {\n "title": "X",\n "default": 0,\n "type": "number"\n },\n "y": {\n "title": "Y",\n "default": 0,\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "default": 0,\n "type": "number"\n },\n "position_tolerance": {\n "title": "Position Tolerance",\n "default": 0,\n "type": "number"\n },\n "yaw_tolerance": {\n "title": "Yaw Tolerance",\n "default": 0,\n "type": "number"\n }\n },\n "required": [\n "name",\n "x",\n "y",\n "yaw",\n "position_tolerance",\n "yaw_tolerance"\n ]\n },\n "Door": {\n "title": "Door",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "v1_x": {\n "title": "V1 X",\n "default": 0,\n "type": "number"\n },\n "v1_y": {\n "title": "V1 Y",\n "default": 0,\n "type": "number"\n },\n "v2_x": {\n "title": "V2 X",\n "default": 0,\n "type": "number"\n },\n "v2_y": {\n "title": "V2 Y",\n "default": 0,\n "type": "number"\n },\n "door_type": {\n "title": "Door Type",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "motion_range": {\n "title": "Motion Range",\n "default": 0,\n "type": "number"\n },\n "motion_direction": {\n "title": "Motion Direction",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\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 },\n "Param": {\n "title": "Param",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "type": {\n "title": "Type",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n },\n "value_int": {\n "title": "Value Int",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "value_float": {\n "title": "Value Float",\n "default": 0,\n "type": "number"\n },\n "value_string": {\n "title": "Value String",\n "default": "",\n "type": "string"\n },\n "value_bool": {\n "title": "Value Bool",\n "default": false,\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 },\n "GraphNode": {\n "title": "GraphNode",\n "type": "object",\n "properties": {\n "x": {\n "title": "X",\n "default": 0,\n "type": "number"\n },\n "y": {\n "title": "Y",\n "default": 0,\n "type": "number"\n },\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "params": {\n "title": "Params",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Param"\n }\n }\n },\n "required": [\n "x",\n "y",\n "name",\n "params"\n ]\n },\n "GraphEdge": {\n "title": "GraphEdge",\n "type": "object",\n "properties": {\n "v1_idx": {\n "title": "V1 Idx",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n },\n "v2_idx": {\n "title": "V2 Idx",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n },\n "params": {\n "title": "Params",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Param"\n }\n },\n "edge_type": {\n "title": "Edge Type",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n }\n },\n "required": [\n "v1_idx",\n "v2_idx",\n "params",\n "edge_type"\n ]\n },\n "Graph": {\n "title": "Graph",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "vertices": {\n "title": "Vertices",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/GraphNode"\n }\n },\n "edges": {\n "title": "Edges",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/GraphEdge"\n }\n },\n "params": {\n "title": "Params",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Param"\n }\n }\n },\n "required": [\n "name",\n "vertices",\n "edges",\n "params"\n ]\n },\n "Level": {\n "title": "Level",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "elevation": {\n "title": "Elevation",\n "default": 0,\n "type": "number"\n },\n "images": {\n "title": "Images",\n "type": "array",\n "items": {\n "$ref": "#/definitions/AffineImage"\n }\n },\n "places": {\n "title": "Places",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Place"\n }\n },\n "doors": {\n "title": "Doors",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Door"\n }\n },\n "nav_graphs": {\n "title": "Nav Graphs",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Graph"\n }\n },\n "wall_graph": {\n "title": "Wall Graph",\n "default": {\n "name": "",\n "vertices": [],\n "edges": [],\n "params": []\n },\n "allOf": [\n {\n "$ref": "#/definitions/Graph"\n }\n ]\n }\n },\n "required": [\n "name",\n "elevation",\n "images",\n "places",\n "doors",\n "nav_graphs",\n "wall_graph"\n ]\n },\n "Lift": {\n "title": "Lift",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "levels": {\n "title": "Levels",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "doors": {\n "title": "Doors",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Door"\n }\n },\n "wall_graph": {\n "title": "Wall Graph",\n "default": {\n "name": "",\n "vertices": [],\n "edges": [],\n "params": []\n },\n "allOf": [\n {\n "$ref": "#/definitions/Graph"\n }\n ]\n },\n "ref_x": {\n "title": "Ref X",\n "default": 0,\n "type": "number"\n },\n "ref_y": {\n "title": "Ref Y",\n "default": 0,\n "type": "number"\n },\n "ref_yaw": {\n "title": "Ref Yaw",\n "default": 0,\n "type": "number"\n },\n "width": {\n "title": "Width",\n "default": 0,\n "type": "number"\n },\n "depth": {\n "title": "Depth",\n "default": 0,\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 }\n }\n}\n```\n\n\n### /delivery_alerts\n\n\n```\n{\n "title": "DeliveryAlert",\n "description": "Custom alerts for custom delivery tasks",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "maxLength": 255,\n "type": "string"\n },\n "category": {\n "title": "Category",\n "description": "Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled",\n "maxLength": 10,\n "type": "string"\n },\n "tier": {\n "title": "Tier",\n "description": "Warning: warning
Error: error",\n "maxLength": 7,\n "type": "string"\n },\n "task_id": {\n "title": "Task Id",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "action": {\n "title": "Action",\n "description": "Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume",\n "maxLength": 9,\n "type": "string"\n },\n "message": {\n "title": "Message",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n }\n },\n "required": [\n "id",\n "category",\n "tier",\n "action"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /doors/{door_name}/state\n\n\n```\n{\n "title": "DoorState",\n "type": "object",\n "properties": {\n "door_time": {\n "title": "Door Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "door_name": {\n "title": "Door Name",\n "default": "",\n "type": "string"\n },\n "current_mode": {\n "title": "Current Mode",\n "default": {\n "value": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/DoorMode"\n }\n ]\n }\n },\n "required": [\n "door_time",\n "door_name",\n "current_mode"\n ],\n "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n },\n "DoorMode": {\n "title": "DoorMode",\n "type": "object",\n "properties": {\n "value": {\n "title": "Value",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "value"\n ]\n }\n }\n}\n```\n\n\n### /doors/{door_name}/health\n\n\n```\n{\n "title": "DoorHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /lifts/{lift_name}/state\n\n\n```\n{\n "title": "LiftState",\n "type": "object",\n "properties": {\n "lift_time": {\n "title": "Lift Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "lift_name": {\n "title": "Lift Name",\n "default": "",\n "type": "string"\n },\n "available_floors": {\n "title": "Available Floors",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "current_floor": {\n "title": "Current Floor",\n "default": "",\n "type": "string"\n },\n "destination_floor": {\n "title": "Destination Floor",\n "default": "",\n "type": "string"\n },\n "door_state": {\n "title": "Door State",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "motion_state": {\n "title": "Motion State",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "available_modes": {\n "title": "Available Modes",\n "type": "array",\n "items": {\n "type": "integer"\n }\n },\n "current_mode": {\n "title": "Current Mode",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "session_id": {\n "title": "Session Id",\n "default": "",\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 "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n }\n }\n}\n```\n\n\n### /lifts/{lift_name}/health\n\n\n```\n{\n "title": "LiftHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /tasks/{task_id}/state\n\n\n```\n{\n "title": "TaskState",\n "type": "object",\n "properties": {\n "booking": {\n "$ref": "#/definitions/Booking"\n },\n "category": {\n "$ref": "#/definitions/Category"\n },\n "detail": {\n "$ref": "#/definitions/Detail"\n },\n "unix_millis_start_time": {\n "title": "Unix Millis Start Time",\n "type": "integer"\n },\n "unix_millis_finish_time": {\n "title": "Unix Millis Finish Time",\n "type": "integer"\n },\n "original_estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "assigned_to": {\n "title": "Assigned To",\n "description": "Which agent (robot) is the task assigned to",\n "allOf": [\n {\n "$ref": "#/definitions/AssignedTo"\n }\n ]\n },\n "status": {\n "$ref": "#/definitions/Status"\n },\n "dispatch": {\n "$ref": "#/definitions/Dispatch"\n },\n "phases": {\n "title": "Phases",\n "description": "A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/Phase"\n }\n },\n "completed": {\n "title": "Completed",\n "description": "An array of the IDs of completed phases of this task",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Id"\n }\n },\n "active": {\n "title": "Active",\n "description": "The ID of the active phase for this task",\n "allOf": [\n {\n "$ref": "#/definitions/Id"\n }\n ]\n },\n "pending": {\n "title": "Pending",\n "description": "An array of the pending phases of this task",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Id"\n }\n },\n "interruptions": {\n "title": "Interruptions",\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 "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/Interruption"\n }\n },\n "cancellation": {\n "title": "Cancellation",\n "description": "If the task was cancelled, this will describe information about the request.",\n "allOf": [\n {\n "$ref": "#/definitions/Cancellation"\n }\n ]\n },\n "killed": {\n "title": "Killed",\n "description": "If the task was killed, this will describe information about the request.",\n "allOf": [\n {\n "$ref": "#/definitions/Killed"\n }\n ]\n },\n "unix_millis_warn_time": {\n "title": "Unix Millis Warn Time",\n "type": "integer"\n }\n },\n "required": [\n "booking"\n ],\n "definitions": {\n "Booking": {\n "title": "Booking",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "description": "The unique identifier for this task",\n "type": "string"\n },\n "unix_millis_earliest_start_time": {\n "title": "Unix Millis Earliest Start Time",\n "type": "integer"\n },\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "priority": {\n "title": "Priority",\n "description": "Priority information about this task",\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "string"\n }\n ]\n },\n "labels": {\n "title": "Labels",\n "description": "Information about how and why this task was booked",\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "requester": {\n "title": "Requester",\n "description": "(Optional) An identifier for the entity that requested this task",\n "type": "string"\n }\n },\n "required": [\n "id"\n ]\n },\n "Category": {\n "title": "Category",\n "description": "The category of this task or phase",\n "type": "string"\n },\n "Detail": {\n "title": "Detail",\n "description": "Detailed information about a task, phase, or event",\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "array",\n "items": {}\n },\n {\n "type": "string"\n }\n ]\n },\n "EstimateMillis": {\n "title": "EstimateMillis",\n "description": "An estimate, in milliseconds, of how long the subject will take to complete",\n "minimum": 0,\n "type": "integer"\n },\n "AssignedTo": {\n "title": "AssignedTo",\n "type": "object",\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 },\n "Status": {\n "title": "Status",\n "description": "An enumeration.",\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 },\n "Status1": {\n "title": "Status1",\n "description": "An enumeration.",\n "enum": [\n "queued",\n "selected",\n "dispatched",\n "failed_to_assign",\n "canceled_in_flight"\n ]\n },\n "Assignment": {\n "title": "Assignment",\n "type": "object",\n "properties": {\n "fleet_name": {\n "title": "Fleet Name",\n "type": "string"\n },\n "expected_robot_name": {\n "title": "Expected Robot Name",\n "type": "string"\n }\n }\n },\n "Error": {\n "title": "Error",\n "type": "object",\n "properties": {\n "code": {\n "title": "Code",\n "description": "A standard code for the kind of error that has occurred",\n "minimum": 0,\n "type": "integer"\n },\n "category": {\n "title": "Category",\n "description": "The category of the error",\n "type": "string"\n },\n "detail": {\n "title": "Detail",\n "description": "Details about the error",\n "type": "string"\n }\n }\n },\n "Dispatch": {\n "title": "Dispatch",\n "type": "object",\n "properties": {\n "status": {\n "$ref": "#/definitions/Status1"\n },\n "assignment": {\n "$ref": "#/definitions/Assignment"\n },\n "errors": {\n "title": "Errors",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Error"\n }\n }\n },\n "required": [\n "status"\n ]\n },\n "Id": {\n "title": "Id",\n "minimum": 0,\n "type": "integer"\n },\n "EventState": {\n "title": "EventState",\n "type": "object",\n "properties": {\n "id": {\n "$ref": "#/definitions/Id"\n },\n "status": {\n "$ref": "#/definitions/Status"\n },\n "name": {\n "title": "Name",\n "description": "The brief name of the event",\n "type": "string"\n },\n "detail": {\n "title": "Detail",\n "description": "Detailed information about the event",\n "allOf": [\n {\n "$ref": "#/definitions/Detail"\n }\n ]\n },\n "deps": {\n "title": "Deps",\n "description": "This event may depend on other events. This array contains the IDs of those other event dependencies.",\n "type": "array",\n "items": {\n "type": "integer",\n "minimum": 0\n }\n }\n },\n "required": [\n "id"\n ]\n },\n "Undo": {\n "title": "Undo",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the undo skip request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the undo skip request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "SkipPhaseRequest": {\n "title": "SkipPhaseRequest",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the skip request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the purpose of the skip request",\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "undo": {\n "title": "Undo",\n "description": "Information about an undo skip request that applied to this request",\n "allOf": [\n {\n "$ref": "#/definitions/Undo"\n }\n ]\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "Phase": {\n "title": "Phase",\n "type": "object",\n "properties": {\n "id": {\n "$ref": "#/definitions/Id"\n },\n "category": {\n "$ref": "#/definitions/Category"\n },\n "detail": {\n "$ref": "#/definitions/Detail"\n },\n "unix_millis_start_time": {\n "title": "Unix Millis Start Time",\n "type": "integer"\n },\n "unix_millis_finish_time": {\n "title": "Unix Millis Finish Time",\n "type": "integer"\n },\n "original_estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "final_event_id": {\n "$ref": "#/definitions/Id"\n },\n "events": {\n "title": "Events",\n "description": "A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/EventState"\n }\n },\n "skip_requests": {\n "title": "Skip Requests",\n "description": "Information about any skip requests that have been received",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/SkipPhaseRequest"\n }\n }\n },\n "required": [\n "id"\n ]\n },\n "ResumedBy": {\n "title": "ResumedBy",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the resume request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the resume request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "labels"\n ]\n },\n "Interruption": {\n "title": "Interruption",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the interruption request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the purpose of the interruption",\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "resumed_by": {\n "title": "Resumed By",\n "description": "Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.",\n "allOf": [\n {\n "$ref": "#/definitions/ResumedBy"\n }\n ]\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "Cancellation": {\n "title": "Cancellation",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the cancellation request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the cancel request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "Killed": {\n "title": "Killed",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the cancellation request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the kill request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n }\n }\n}\n```\n\n\n### /tasks/{task_id}/log\n\n\n```\n{\n "title": "TaskEventLog",\n "type": "object",\n "properties": {\n "task_id": {\n "title": "Task Id",\n "type": "string"\n },\n "log": {\n "title": "Log",\n "description": "Log entries related to the overall task",\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n },\n "phases": {\n "title": "Phases",\n "description": "A dictionary whose keys (property names) are the indices of a phase",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/Phases"\n }\n }\n },\n "required": [\n "task_id"\n ],\n "additionalProperties": false,\n "definitions": {\n "Tier": {\n "title": "Tier",\n "description": "An enumeration.",\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ]\n },\n "LogEntry": {\n "title": "LogEntry",\n "type": "object",\n "properties": {\n "seq": {\n "title": "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 "type": "integer"\n },\n "tier": {\n "description": "The importance level of the log entry",\n "allOf": [\n {\n "$ref": "#/definitions/Tier"\n }\n ]\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "title": "Text",\n "description": "The text of the log entry",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ]\n },\n "Phases": {\n "title": "Phases",\n "type": "object",\n "properties": {\n "log": {\n "title": "Log",\n "description": "Log entries related to the overall phase",\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n },\n "events": {\n "title": "Events",\n "description": "A dictionary whose keys (property names) are the indices of an event in the phase",\n "type": "object",\n "additionalProperties": {\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n }\n }\n },\n "additionalProperties": false\n }\n }\n}\n```\n\n\n### /dispensers/{guid}/state\n\n\n```\n{\n "title": "DispenserState",\n "type": "object",\n "properties": {\n "time": {\n "title": "Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "guid": {\n "title": "Guid",\n "default": "",\n "type": "string"\n },\n "mode": {\n "title": "Mode",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "request_guid_queue": {\n "title": "Request Guid Queue",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "default": 0,\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n }\n }\n}\n```\n\n\n### /dispensers/{guid}/health\n\n\n```\n{\n "title": "DispenserHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /ingestors/{guid}/state\n\n\n```\n{\n "title": "IngestorState",\n "type": "object",\n "properties": {\n "time": {\n "title": "Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "guid": {\n "title": "Guid",\n "default": "",\n "type": "string"\n },\n "mode": {\n "title": "Mode",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "request_guid_queue": {\n "title": "Request Guid Queue",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "default": 0,\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n }\n }\n}\n```\n\n\n### /ingestors/{guid}/health\n\n\n```\n{\n "title": "IngestorHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /fleets/{name}/state\n\n\n```\n{\n "title": "FleetState",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "robots": {\n "title": "Robots",\n "description": "A dictionary of the states of the robots that belong to this fleet",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/RobotState"\n }\n }\n },\n "definitions": {\n "Status2": {\n "title": "Status2",\n "description": "An enumeration.",\n "enum": [\n "uninitialized",\n "offline",\n "shutdown",\n "idle",\n "charging",\n "working",\n "error"\n ]\n },\n "Location2D": {\n "title": "Location2D",\n "type": "object",\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 },\n "Issue": {\n "title": "Issue",\n "type": "object",\n "properties": {\n "category": {\n "title": "Category",\n "description": "Category of the robot\'s issue",\n "type": "string"\n },\n "detail": {\n "title": "Detail",\n "description": "Detailed information about the issue",\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "array",\n "items": {}\n },\n {\n "type": "string"\n }\n ]\n }\n }\n },\n "RobotState": {\n "title": "RobotState",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "status": {\n "description": "A simple token representing the status of the robot",\n "allOf": [\n {\n "$ref": "#/definitions/Status2"\n }\n ]\n },\n "task_id": {\n "title": "Task Id",\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 "type": "string"\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "location": {\n "$ref": "#/definitions/Location2D"\n },\n "battery": {\n "title": "Battery",\n "description": "State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)",\n "minimum": 0.0,\n "maximum": 1.0,\n "type": "number"\n },\n "issues": {\n "title": "Issues",\n "description": "A list of issues with the robot that operators need to address",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Issue"\n }\n }\n }\n }\n }\n}\n```\n\n\n### /fleets/{name}/log\n\n\n```\n{\n "title": "FleetState",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "log": {\n "title": "Log",\n "description": "Log for the overall fleet",\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n },\n "robots": {\n "title": "Robots",\n "description": "Dictionary of logs for the individual robots. The keys (property names) are the robot names.",\n "type": "object",\n "additionalProperties": {\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n }\n }\n },\n "definitions": {\n "Tier": {\n "title": "Tier",\n "description": "An enumeration.",\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ]\n },\n "LogEntry": {\n "title": "LogEntry",\n "type": "object",\n "properties": {\n "seq": {\n "title": "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 "type": "integer"\n },\n "tier": {\n "description": "The importance level of the log entry",\n "allOf": [\n {\n "$ref": "#/definitions/Tier"\n }\n ]\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "title": "Text",\n "description": "The text of the log entry",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ]\n }\n }\n}\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 \n### /alerts\n\n\n```\n{\n "title": "Alert",\n "description": "General alert that can be triggered by events.",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "maxLength": 255,\n "type": "string"\n },\n "original_id": {\n "title": "Original Id",\n "maxLength": 255,\n "type": "string"\n },\n "category": {\n "title": "Category",\n "description": "Default: default
Task: task
Fleet: fleet
Robot: robot",\n "maxLength": 7,\n "type": "string"\n },\n "unix_millis_created_time": {\n "title": "Unix Millis Created Time",\n "minimum": -9223372036854775808,\n "maximum": 9223372036854775807,\n "type": "integer"\n },\n "acknowledged_by": {\n "title": "Acknowledged By",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "unix_millis_acknowledged_time": {\n "title": "Unix Millis Acknowledged Time",\n "minimum": -9223372036854775808,\n "maximum": 9223372036854775807,\n "nullable": true,\n "type": "integer"\n }\n },\n "required": [\n "id",\n "original_id",\n "category",\n "unix_millis_created_time"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /beacons\n\n\n```\n{\n "title": "BeaconState",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "maxLength": 255,\n "type": "string"\n },\n "online": {\n "title": "Online",\n "type": "boolean"\n },\n "category": {\n "title": "Category",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "activated": {\n "title": "Activated",\n "type": "boolean"\n },\n "level": {\n "title": "Level",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n }\n },\n "required": [\n "id",\n "online",\n "activated"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /building_map\n\n\n```\n{\n "title": "BuildingMap",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "levels": {\n "title": "Levels",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Level"\n }\n },\n "lifts": {\n "title": "Lifts",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Lift"\n }\n }\n },\n "required": [\n "name",\n "levels",\n "lifts"\n ],\n "definitions": {\n "AffineImage": {\n "title": "AffineImage",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "x_offset": {\n "title": "X Offset",\n "default": 0,\n "type": "number"\n },\n "y_offset": {\n "title": "Y Offset",\n "default": 0,\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "default": 0,\n "type": "number"\n },\n "scale": {\n "title": "Scale",\n "default": 0,\n "type": "number"\n },\n "encoding": {\n "title": "Encoding",\n "default": "",\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 },\n "Place": {\n "title": "Place",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "x": {\n "title": "X",\n "default": 0,\n "type": "number"\n },\n "y": {\n "title": "Y",\n "default": 0,\n "type": "number"\n },\n "yaw": {\n "title": "Yaw",\n "default": 0,\n "type": "number"\n },\n "position_tolerance": {\n "title": "Position Tolerance",\n "default": 0,\n "type": "number"\n },\n "yaw_tolerance": {\n "title": "Yaw Tolerance",\n "default": 0,\n "type": "number"\n }\n },\n "required": [\n "name",\n "x",\n "y",\n "yaw",\n "position_tolerance",\n "yaw_tolerance"\n ]\n },\n "Door": {\n "title": "Door",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "v1_x": {\n "title": "V1 X",\n "default": 0,\n "type": "number"\n },\n "v1_y": {\n "title": "V1 Y",\n "default": 0,\n "type": "number"\n },\n "v2_x": {\n "title": "V2 X",\n "default": 0,\n "type": "number"\n },\n "v2_y": {\n "title": "V2 Y",\n "default": 0,\n "type": "number"\n },\n "door_type": {\n "title": "Door Type",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "motion_range": {\n "title": "Motion Range",\n "default": 0,\n "type": "number"\n },\n "motion_direction": {\n "title": "Motion Direction",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\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 },\n "Param": {\n "title": "Param",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "type": {\n "title": "Type",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n },\n "value_int": {\n "title": "Value Int",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "value_float": {\n "title": "Value Float",\n "default": 0,\n "type": "number"\n },\n "value_string": {\n "title": "Value String",\n "default": "",\n "type": "string"\n },\n "value_bool": {\n "title": "Value Bool",\n "default": false,\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 },\n "GraphNode": {\n "title": "GraphNode",\n "type": "object",\n "properties": {\n "x": {\n "title": "X",\n "default": 0,\n "type": "number"\n },\n "y": {\n "title": "Y",\n "default": 0,\n "type": "number"\n },\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "params": {\n "title": "Params",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Param"\n }\n }\n },\n "required": [\n "x",\n "y",\n "name",\n "params"\n ]\n },\n "GraphEdge": {\n "title": "GraphEdge",\n "type": "object",\n "properties": {\n "v1_idx": {\n "title": "V1 Idx",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n },\n "v2_idx": {\n "title": "V2 Idx",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n },\n "params": {\n "title": "Params",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Param"\n }\n },\n "edge_type": {\n "title": "Edge Type",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n }\n },\n "required": [\n "v1_idx",\n "v2_idx",\n "params",\n "edge_type"\n ]\n },\n "Graph": {\n "title": "Graph",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "vertices": {\n "title": "Vertices",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/GraphNode"\n }\n },\n "edges": {\n "title": "Edges",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/GraphEdge"\n }\n },\n "params": {\n "title": "Params",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Param"\n }\n }\n },\n "required": [\n "name",\n "vertices",\n "edges",\n "params"\n ]\n },\n "Level": {\n "title": "Level",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "elevation": {\n "title": "Elevation",\n "default": 0,\n "type": "number"\n },\n "images": {\n "title": "Images",\n "type": "array",\n "items": {\n "$ref": "#/definitions/AffineImage"\n }\n },\n "places": {\n "title": "Places",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Place"\n }\n },\n "doors": {\n "title": "Doors",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Door"\n }\n },\n "nav_graphs": {\n "title": "Nav Graphs",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Graph"\n }\n },\n "wall_graph": {\n "title": "Wall Graph",\n "default": {\n "name": "",\n "vertices": [],\n "edges": [],\n "params": []\n },\n "allOf": [\n {\n "$ref": "#/definitions/Graph"\n }\n ]\n }\n },\n "required": [\n "name",\n "elevation",\n "images",\n "places",\n "doors",\n "nav_graphs",\n "wall_graph"\n ]\n },\n "Lift": {\n "title": "Lift",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "default": "",\n "type": "string"\n },\n "levels": {\n "title": "Levels",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "doors": {\n "title": "Doors",\n "default": [],\n "type": "array",\n "items": {\n "$ref": "#/definitions/Door"\n }\n },\n "wall_graph": {\n "title": "Wall Graph",\n "default": {\n "name": "",\n "vertices": [],\n "edges": [],\n "params": []\n },\n "allOf": [\n {\n "$ref": "#/definitions/Graph"\n }\n ]\n },\n "ref_x": {\n "title": "Ref X",\n "default": 0,\n "type": "number"\n },\n "ref_y": {\n "title": "Ref Y",\n "default": 0,\n "type": "number"\n },\n "ref_yaw": {\n "title": "Ref Yaw",\n "default": 0,\n "type": "number"\n },\n "width": {\n "title": "Width",\n "default": 0,\n "type": "number"\n },\n "depth": {\n "title": "Depth",\n "default": 0,\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 }\n }\n}\n```\n\n\n### /delivery_alerts\n\n\n```\n{\n "title": "DeliveryAlert",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "type": "string"\n },\n "category": {\n "$ref": "#/definitions/Category"\n },\n "tier": {\n "$ref": "#/definitions/Tier"\n },\n "action": {\n "$ref": "#/definitions/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 "definitions": {\n "Category": {\n "title": "Category",\n "description": "An enumeration.",\n "enum": [\n "missing",\n "wrong",\n "obstructed",\n "cancelled"\n ],\n "type": "string"\n },\n "Tier": {\n "title": "Tier",\n "description": "An enumeration.",\n "enum": [\n "warning",\n "error"\n ],\n "type": "string"\n },\n "Action": {\n "title": "Action",\n "description": "An enumeration.",\n "enum": [\n "waiting",\n "cancelled",\n "override",\n "resume"\n ],\n "type": "string"\n }\n }\n}\n```\n\n\n### /doors/{door_name}/state\n\n\n```\n{\n "title": "DoorState",\n "type": "object",\n "properties": {\n "door_time": {\n "title": "Door Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "door_name": {\n "title": "Door Name",\n "default": "",\n "type": "string"\n },\n "current_mode": {\n "title": "Current Mode",\n "default": {\n "value": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/DoorMode"\n }\n ]\n }\n },\n "required": [\n "door_time",\n "door_name",\n "current_mode"\n ],\n "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n },\n "DoorMode": {\n "title": "DoorMode",\n "type": "object",\n "properties": {\n "value": {\n "title": "Value",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "value"\n ]\n }\n }\n}\n```\n\n\n### /doors/{door_name}/health\n\n\n```\n{\n "title": "DoorHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /lifts/{lift_name}/state\n\n\n```\n{\n "title": "LiftState",\n "type": "object",\n "properties": {\n "lift_time": {\n "title": "Lift Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "lift_name": {\n "title": "Lift Name",\n "default": "",\n "type": "string"\n },\n "available_floors": {\n "title": "Available Floors",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "current_floor": {\n "title": "Current Floor",\n "default": "",\n "type": "string"\n },\n "destination_floor": {\n "title": "Destination Floor",\n "default": "",\n "type": "string"\n },\n "door_state": {\n "title": "Door State",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "motion_state": {\n "title": "Motion State",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "available_modes": {\n "title": "Available Modes",\n "type": "array",\n "items": {\n "type": "integer"\n }\n },\n "current_mode": {\n "title": "Current Mode",\n "default": 0,\n "minimum": 0,\n "maximum": 255,\n "type": "integer"\n },\n "session_id": {\n "title": "Session Id",\n "default": "",\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 "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n }\n }\n}\n```\n\n\n### /lifts/{lift_name}/health\n\n\n```\n{\n "title": "LiftHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /tasks/{task_id}/state\n\n\n```\n{\n "title": "TaskState",\n "type": "object",\n "properties": {\n "booking": {\n "$ref": "#/definitions/Booking"\n },\n "category": {\n "$ref": "#/definitions/Category"\n },\n "detail": {\n "$ref": "#/definitions/Detail"\n },\n "unix_millis_start_time": {\n "title": "Unix Millis Start Time",\n "type": "integer"\n },\n "unix_millis_finish_time": {\n "title": "Unix Millis Finish Time",\n "type": "integer"\n },\n "original_estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "assigned_to": {\n "title": "Assigned To",\n "description": "Which agent (robot) is the task assigned to",\n "allOf": [\n {\n "$ref": "#/definitions/AssignedTo"\n }\n ]\n },\n "status": {\n "$ref": "#/definitions/Status"\n },\n "dispatch": {\n "$ref": "#/definitions/Dispatch"\n },\n "phases": {\n "title": "Phases",\n "description": "A dictionary of the states of the phases of the task. The keys (property names) are phase IDs, which are integers.",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/Phase"\n }\n },\n "completed": {\n "title": "Completed",\n "description": "An array of the IDs of completed phases of this task",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Id"\n }\n },\n "active": {\n "title": "Active",\n "description": "The ID of the active phase for this task",\n "allOf": [\n {\n "$ref": "#/definitions/Id"\n }\n ]\n },\n "pending": {\n "title": "Pending",\n "description": "An array of the pending phases of this task",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Id"\n }\n },\n "interruptions": {\n "title": "Interruptions",\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 "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/Interruption"\n }\n },\n "cancellation": {\n "title": "Cancellation",\n "description": "If the task was cancelled, this will describe information about the request.",\n "allOf": [\n {\n "$ref": "#/definitions/Cancellation"\n }\n ]\n },\n "killed": {\n "title": "Killed",\n "description": "If the task was killed, this will describe information about the request.",\n "allOf": [\n {\n "$ref": "#/definitions/Killed"\n }\n ]\n },\n "unix_millis_warn_time": {\n "title": "Unix Millis Warn Time",\n "type": "integer"\n }\n },\n "required": [\n "booking"\n ],\n "definitions": {\n "Booking": {\n "title": "Booking",\n "type": "object",\n "properties": {\n "id": {\n "title": "Id",\n "description": "The unique identifier for this task",\n "type": "string"\n },\n "unix_millis_earliest_start_time": {\n "title": "Unix Millis Earliest Start Time",\n "type": "integer"\n },\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "type": "integer"\n },\n "priority": {\n "title": "Priority",\n "description": "Priority information about this task",\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "string"\n }\n ]\n },\n "labels": {\n "title": "Labels",\n "description": "Information about how and why this task was booked",\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "requester": {\n "title": "Requester",\n "description": "(Optional) An identifier for the entity that requested this task",\n "type": "string"\n }\n },\n "required": [\n "id"\n ]\n },\n "Category": {\n "title": "Category",\n "description": "The category of this task or phase",\n "type": "string"\n },\n "Detail": {\n "title": "Detail",\n "description": "Detailed information about a task, phase, or event",\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "array",\n "items": {}\n },\n {\n "type": "string"\n }\n ]\n },\n "EstimateMillis": {\n "title": "EstimateMillis",\n "description": "An estimate, in milliseconds, of how long the subject will take to complete",\n "minimum": 0,\n "type": "integer"\n },\n "AssignedTo": {\n "title": "AssignedTo",\n "type": "object",\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 },\n "Status": {\n "title": "Status",\n "description": "An enumeration.",\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 },\n "Status1": {\n "title": "Status1",\n "description": "An enumeration.",\n "enum": [\n "queued",\n "selected",\n "dispatched",\n "failed_to_assign",\n "canceled_in_flight"\n ]\n },\n "Assignment": {\n "title": "Assignment",\n "type": "object",\n "properties": {\n "fleet_name": {\n "title": "Fleet Name",\n "type": "string"\n },\n "expected_robot_name": {\n "title": "Expected Robot Name",\n "type": "string"\n }\n }\n },\n "Error": {\n "title": "Error",\n "type": "object",\n "properties": {\n "code": {\n "title": "Code",\n "description": "A standard code for the kind of error that has occurred",\n "minimum": 0,\n "type": "integer"\n },\n "category": {\n "title": "Category",\n "description": "The category of the error",\n "type": "string"\n },\n "detail": {\n "title": "Detail",\n "description": "Details about the error",\n "type": "string"\n }\n }\n },\n "Dispatch": {\n "title": "Dispatch",\n "type": "object",\n "properties": {\n "status": {\n "$ref": "#/definitions/Status1"\n },\n "assignment": {\n "$ref": "#/definitions/Assignment"\n },\n "errors": {\n "title": "Errors",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Error"\n }\n }\n },\n "required": [\n "status"\n ]\n },\n "Id": {\n "title": "Id",\n "minimum": 0,\n "type": "integer"\n },\n "EventState": {\n "title": "EventState",\n "type": "object",\n "properties": {\n "id": {\n "$ref": "#/definitions/Id"\n },\n "status": {\n "$ref": "#/definitions/Status"\n },\n "name": {\n "title": "Name",\n "description": "The brief name of the event",\n "type": "string"\n },\n "detail": {\n "title": "Detail",\n "description": "Detailed information about the event",\n "allOf": [\n {\n "$ref": "#/definitions/Detail"\n }\n ]\n },\n "deps": {\n "title": "Deps",\n "description": "This event may depend on other events. This array contains the IDs of those other event dependencies.",\n "type": "array",\n "items": {\n "type": "integer",\n "minimum": 0\n }\n }\n },\n "required": [\n "id"\n ]\n },\n "Undo": {\n "title": "Undo",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the undo skip request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the undo skip request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "SkipPhaseRequest": {\n "title": "SkipPhaseRequest",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the skip request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the purpose of the skip request",\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "undo": {\n "title": "Undo",\n "description": "Information about an undo skip request that applied to this request",\n "allOf": [\n {\n "$ref": "#/definitions/Undo"\n }\n ]\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "Phase": {\n "title": "Phase",\n "type": "object",\n "properties": {\n "id": {\n "$ref": "#/definitions/Id"\n },\n "category": {\n "$ref": "#/definitions/Category"\n },\n "detail": {\n "$ref": "#/definitions/Detail"\n },\n "unix_millis_start_time": {\n "title": "Unix Millis Start Time",\n "type": "integer"\n },\n "unix_millis_finish_time": {\n "title": "Unix Millis Finish Time",\n "type": "integer"\n },\n "original_estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "estimate_millis": {\n "$ref": "#/definitions/EstimateMillis"\n },\n "final_event_id": {\n "$ref": "#/definitions/Id"\n },\n "events": {\n "title": "Events",\n "description": "A dictionary of events for this phase. The keys (property names) are the event IDs, which are integers.",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/EventState"\n }\n },\n "skip_requests": {\n "title": "Skip Requests",\n "description": "Information about any skip requests that have been received",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/SkipPhaseRequest"\n }\n }\n },\n "required": [\n "id"\n ]\n },\n "ResumedBy": {\n "title": "ResumedBy",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the resume request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the resume request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "labels"\n ]\n },\n "Interruption": {\n "title": "Interruption",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the interruption request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the purpose of the interruption",\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "resumed_by": {\n "title": "Resumed By",\n "description": "Information about the resume request that ended this interruption. This field will be missing if the interruption is still active.",\n "allOf": [\n {\n "$ref": "#/definitions/ResumedBy"\n }\n ]\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "Cancellation": {\n "title": "Cancellation",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the cancellation request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the cancel request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n },\n "Killed": {\n "title": "Killed",\n "type": "object",\n "properties": {\n "unix_millis_request_time": {\n "title": "Unix Millis Request Time",\n "description": "The time that the cancellation request arrived",\n "type": "integer"\n },\n "labels": {\n "title": "Labels",\n "description": "Labels to describe the kill request",\n "type": "array",\n "items": {\n "type": "string"\n }\n }\n },\n "required": [\n "unix_millis_request_time",\n "labels"\n ]\n }\n }\n}\n```\n\n\n### /tasks/{task_id}/log\n\n\n```\n{\n "title": "TaskEventLog",\n "type": "object",\n "properties": {\n "task_id": {\n "title": "Task Id",\n "type": "string"\n },\n "log": {\n "title": "Log",\n "description": "Log entries related to the overall task",\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n },\n "phases": {\n "title": "Phases",\n "description": "A dictionary whose keys (property names) are the indices of a phase",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/Phases"\n }\n }\n },\n "required": [\n "task_id"\n ],\n "additionalProperties": false,\n "definitions": {\n "Tier": {\n "title": "Tier",\n "description": "An enumeration.",\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ]\n },\n "LogEntry": {\n "title": "LogEntry",\n "type": "object",\n "properties": {\n "seq": {\n "title": "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 "type": "integer"\n },\n "tier": {\n "description": "The importance level of the log entry",\n "allOf": [\n {\n "$ref": "#/definitions/Tier"\n }\n ]\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "title": "Text",\n "description": "The text of the log entry",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ]\n },\n "Phases": {\n "title": "Phases",\n "type": "object",\n "properties": {\n "log": {\n "title": "Log",\n "description": "Log entries related to the overall phase",\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n },\n "events": {\n "title": "Events",\n "description": "A dictionary whose keys (property names) are the indices of an event in the phase",\n "type": "object",\n "additionalProperties": {\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n }\n }\n },\n "additionalProperties": false\n }\n }\n}\n```\n\n\n### /dispensers/{guid}/state\n\n\n```\n{\n "title": "DispenserState",\n "type": "object",\n "properties": {\n "time": {\n "title": "Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "guid": {\n "title": "Guid",\n "default": "",\n "type": "string"\n },\n "mode": {\n "title": "Mode",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "request_guid_queue": {\n "title": "Request Guid Queue",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "default": 0,\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n }\n }\n}\n```\n\n\n### /dispensers/{guid}/health\n\n\n```\n{\n "title": "DispenserHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /ingestors/{guid}/state\n\n\n```\n{\n "title": "IngestorState",\n "type": "object",\n "properties": {\n "time": {\n "title": "Time",\n "default": {\n "sec": 0,\n "nanosec": 0\n },\n "allOf": [\n {\n "$ref": "#/definitions/Time"\n }\n ]\n },\n "guid": {\n "title": "Guid",\n "default": "",\n "type": "string"\n },\n "mode": {\n "title": "Mode",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "request_guid_queue": {\n "title": "Request Guid Queue",\n "default": [],\n "type": "array",\n "items": {\n "type": "string"\n }\n },\n "seconds_remaining": {\n "title": "Seconds Remaining",\n "default": 0,\n "type": "number"\n }\n },\n "required": [\n "time",\n "guid",\n "mode",\n "request_guid_queue",\n "seconds_remaining"\n ],\n "definitions": {\n "Time": {\n "title": "Time",\n "type": "object",\n "properties": {\n "sec": {\n "title": "Sec",\n "default": 0,\n "minimum": -2147483648,\n "maximum": 2147483647,\n "type": "integer"\n },\n "nanosec": {\n "title": "Nanosec",\n "default": 0,\n "minimum": 0,\n "maximum": 4294967295,\n "type": "integer"\n }\n },\n "required": [\n "sec",\n "nanosec"\n ]\n }\n }\n}\n```\n\n\n### /ingestors/{guid}/health\n\n\n```\n{\n "title": "IngestorHealth",\n "type": "object",\n "properties": {\n "health_status": {\n "title": "Health Status",\n "maxLength": 255,\n "nullable": true,\n "type": "string"\n },\n "health_message": {\n "title": "Health Message",\n "nullable": true,\n "type": "string"\n },\n "id_": {\n "title": "Id ",\n "maxLength": 255,\n "type": "string"\n }\n },\n "required": [\n "health_status",\n "id_"\n ],\n "additionalProperties": false\n}\n```\n\n\n### /fleets/{name}/state\n\n\n```\n{\n "title": "FleetState",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "robots": {\n "title": "Robots",\n "description": "A dictionary of the states of the robots that belong to this fleet",\n "type": "object",\n "additionalProperties": {\n "$ref": "#/definitions/RobotState"\n }\n }\n },\n "definitions": {\n "Status2": {\n "title": "Status2",\n "description": "An enumeration.",\n "enum": [\n "uninitialized",\n "offline",\n "shutdown",\n "idle",\n "charging",\n "working",\n "error"\n ]\n },\n "Location2D": {\n "title": "Location2D",\n "type": "object",\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 },\n "Issue": {\n "title": "Issue",\n "type": "object",\n "properties": {\n "category": {\n "title": "Category",\n "description": "Category of the robot\'s issue",\n "type": "string"\n },\n "detail": {\n "title": "Detail",\n "description": "Detailed information about the issue",\n "anyOf": [\n {\n "type": "object"\n },\n {\n "type": "array",\n "items": {}\n },\n {\n "type": "string"\n }\n ]\n }\n }\n },\n "RobotState": {\n "title": "RobotState",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "status": {\n "description": "A simple token representing the status of the robot",\n "allOf": [\n {\n "$ref": "#/definitions/Status2"\n }\n ]\n },\n "task_id": {\n "title": "Task Id",\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 "type": "string"\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "location": {\n "$ref": "#/definitions/Location2D"\n },\n "battery": {\n "title": "Battery",\n "description": "State of charge of the battery. Values range from 0.0 (depleted) to 1.0 (fully charged)",\n "minimum": 0.0,\n "maximum": 1.0,\n "type": "number"\n },\n "issues": {\n "title": "Issues",\n "description": "A list of issues with the robot that operators need to address",\n "type": "array",\n "items": {\n "$ref": "#/definitions/Issue"\n }\n }\n }\n }\n }\n}\n```\n\n\n### /fleets/{name}/log\n\n\n```\n{\n "title": "FleetState",\n "type": "object",\n "properties": {\n "name": {\n "title": "Name",\n "type": "string"\n },\n "log": {\n "title": "Log",\n "description": "Log for the overall fleet",\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n },\n "robots": {\n "title": "Robots",\n "description": "Dictionary of logs for the individual robots. The keys (property names) are the robot names.",\n "type": "object",\n "additionalProperties": {\n "type": "array",\n "items": {\n "$ref": "#/definitions/LogEntry"\n }\n }\n }\n },\n "definitions": {\n "Tier": {\n "title": "Tier",\n "description": "An enumeration.",\n "enum": [\n "uninitialized",\n "info",\n "warning",\n "error"\n ]\n },\n "LogEntry": {\n "title": "LogEntry",\n "type": "object",\n "properties": {\n "seq": {\n "title": "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 "type": "integer"\n },\n "tier": {\n "description": "The importance level of the log entry",\n "allOf": [\n {\n "$ref": "#/definitions/Tier"\n }\n ]\n },\n "unix_millis_time": {\n "title": "Unix Millis Time",\n "type": "integer"\n },\n "text": {\n "title": "Text",\n "description": "The text of the log entry",\n "type": "string"\n }\n },\n "required": [\n "seq",\n "tier",\n "unix_millis_time",\n "text"\n ]\n }\n }\n}\n```\n\n',
operationId: '_lambda__socket_io_get',
responses: {
'200': {
@@ -318,200 +318,50 @@ export default {
},
},
},
- '/delivery_alerts': {
- get: {
- tags: ['DeliveryAlerts'],
- summary: 'Get Delivery Alerts',
- operationId: 'get_delivery_alerts_delivery_alerts_get',
- responses: {
- '200': {
- description: 'Successful Response',
- content: {
- 'application/json': {
- schema: {
- title: 'Response Get Delivery Alerts Delivery Alerts Get',
- type: 'array',
- items: {
- $ref: '#/components/schemas/api_server.models.tortoise_models.delivery_alerts.DeliveryAlert.leaf',
- },
- },
- },
- },
- },
- },
- },
+ '/delivery_alerts/{delivery_alert_id}/response': {
post: {
tags: ['DeliveryAlerts'],
- summary: 'Create Delivery Alert',
- operationId: 'create_delivery_alert_delivery_alerts_post',
+ summary: 'Respond To Delivery Alert',
+ operationId: 'respond_to_delivery_alert_delivery_alerts__delivery_alert_id__response_post',
parameters: [
{
required: true,
- schema: { title: 'Category', type: 'string' },
- name: 'category',
- in: 'query',
- },
- { required: true, schema: { title: 'Tier', type: 'string' }, name: 'tier', in: 'query' },
- {
- required: true,
- schema: { title: 'Task Id', type: 'string' },
- name: 'task_id',
- in: 'query',
+ schema: { title: 'Delivery Alert Id', type: 'string' },
+ name: 'delivery_alert_id',
+ in: 'path',
},
{
required: true,
- schema: { title: 'Message', type: 'string' },
- name: 'message',
- in: 'query',
- },
- ],
- responses: {
- '201': {
- description: 'Successful Response',
- content: {
- 'application/json': {
- schema: {
- $ref: '#/components/schemas/api_server.models.tortoise_models.delivery_alerts.DeliveryAlert.leaf',
- },
- },
- },
- },
- '422': {
- description: 'Validation Error',
- content: {
- 'application/json': { schema: { $ref: '#/components/schemas/HTTPValidationError' } },
- },
- },
- },
- },
- },
- '/delivery_alerts/query': {
- get: {
- tags: ['DeliveryAlerts'],
- summary: 'Query Delivery Alerts',
- operationId: 'query_delivery_alerts_delivery_alerts_query_get',
- parameters: [
- {
- description: 'comma separated list of alert categories',
- required: false,
schema: {
- title: 'Category',
- type: 'string',
- description: 'comma separated list of alert categories',
+ $ref: '#/components/schemas/api_server__models__delivery_alerts__DeliveryAlert__Category',
},
name: 'category',
in: 'query',
},
{
- description: 'comma separated of tier',
- required: false,
- schema: { title: 'Tier', type: 'string', description: 'comma separated of tier' },
+ required: true,
+ schema: {
+ $ref: '#/components/schemas/api_server__models__delivery_alerts__DeliveryAlert__Tier',
+ },
name: 'tier',
in: 'query',
},
{
- description: 'comma separated list of task_id',
- required: false,
- schema: {
- title: 'Task Id',
- type: 'string',
- description: 'comma separated list of task_id',
- },
+ required: true,
+ schema: { title: 'Task Id', type: 'string' },
name: 'task_id',
in: 'query',
},
{
- description: 'comma separated list of action',
- required: false,
- schema: {
- title: 'Action',
- type: 'string',
- description: 'comma separated list of action',
- },
+ required: true,
+ schema: { $ref: '#/components/schemas/Action' },
name: 'action',
in: 'query',
},
- {
- description: 'comma separated of message',
- required: false,
- schema: { title: 'Message', type: 'string', description: 'comma separated of message' },
- name: 'message',
- in: 'query',
- },
- ],
- responses: {
- '200': {
- description: 'Successful Response',
- content: {
- 'application/json': {
- schema: {
- title: 'Response Query Delivery Alerts Delivery Alerts Query Get',
- type: 'array',
- items: {
- $ref: '#/components/schemas/api_server.models.tortoise_models.delivery_alerts.DeliveryAlert.leaf',
- },
- },
- },
- },
- },
- '422': {
- description: 'Validation Error',
- content: {
- 'application/json': { schema: { $ref: '#/components/schemas/HTTPValidationError' } },
- },
- },
- },
- },
- },
- '/delivery_alerts/{delivery_alert_id}': {
- get: {
- tags: ['DeliveryAlerts'],
- summary: 'Get Delivery Alert',
- operationId: 'get_delivery_alert_delivery_alerts__delivery_alert_id__get',
- parameters: [
{
required: true,
- schema: { title: 'Delivery Alert Id', type: 'string' },
- name: 'delivery_alert_id',
- in: 'path',
- },
- ],
- responses: {
- '200': {
- description: 'Successful Response',
- content: {
- 'application/json': {
- schema: {
- $ref: '#/components/schemas/api_server.models.tortoise_models.delivery_alerts.DeliveryAlert.leaf',
- },
- },
- },
- },
- '422': {
- description: 'Validation Error',
- content: {
- 'application/json': { schema: { $ref: '#/components/schemas/HTTPValidationError' } },
- },
- },
- },
- },
- },
- '/delivery_alerts/{delivery_alert_id}/action': {
- post: {
- tags: ['DeliveryAlerts'],
- summary: 'Update Delivery Alert Action',
- operationId: 'update_delivery_alert_action_delivery_alerts__delivery_alert_id__action_post',
- parameters: [
- {
- required: true,
- schema: { title: 'Delivery Alert Id', type: 'string' },
- name: 'delivery_alert_id',
- in: 'path',
- },
- {
- required: true,
- schema: { title: 'Action', type: 'string' },
- name: 'action',
+ schema: { title: 'Message', type: 'string' },
+ name: 'message',
in: 'query',
},
],
@@ -519,11 +369,7 @@ export default {
'200': {
description: 'Successful Response',
content: {
- 'application/json': {
- schema: {
- $ref: '#/components/schemas/api_server.models.tortoise_models.delivery_alerts.DeliveryAlert.leaf',
- },
- },
+ 'application/json': { schema: { $ref: '#/components/schemas/DeliveryAlert' } },
},
},
'422': {
@@ -2425,6 +2271,12 @@ export default {
},
components: {
schemas: {
+ Action: {
+ title: 'Action',
+ enum: ['waiting', 'cancelled', 'override', 'resume'],
+ type: 'string',
+ description: 'An enumeration.',
+ },
Activity: {
title: 'Activity',
required: ['category', 'detail'],
@@ -2585,11 +2437,6 @@ export default {
},
},
},
- Category: {
- title: 'Category',
- type: 'string',
- description: 'The category of this task or phase',
- },
Data: {
title: 'Data',
type: 'object',
@@ -2625,6 +2472,23 @@ export default {
},
},
},
+ DeliveryAlert: {
+ title: 'DeliveryAlert',
+ required: ['id', 'category', 'tier', 'action', 'task_id', 'message'],
+ type: 'object',
+ properties: {
+ id: { title: 'Id', type: 'string' },
+ category: {
+ $ref: '#/components/schemas/api_server__models__delivery_alerts__DeliveryAlert__Category',
+ },
+ tier: {
+ $ref: '#/components/schemas/api_server__models__delivery_alerts__DeliveryAlert__Tier',
+ },
+ action: { $ref: '#/components/schemas/Action' },
+ task_id: { title: 'Task Id', type: 'string' },
+ message: { title: 'Message', type: 'string' },
+ },
+ },
Detail: {
title: 'Detail',
anyOf: [{ type: 'object' }, { type: 'array', items: {} }, { type: 'string' }],
@@ -3213,7 +3077,7 @@ export default {
'Sequence number for this entry. Each entry has a unique sequence number which monotonically increase, until integer overflow causes a wrap around.',
},
tier: {
- allOf: [{ $ref: '#/components/schemas/Tier' }],
+ allOf: [{ $ref: '#/components/schemas/api_server__models__rmf_api__log_entry__Tier' }],
description: 'The importance level of the log entry',
},
unix_millis_time: { title: 'Unix Millis Time', type: 'integer' },
@@ -3254,7 +3118,9 @@ export default {
type: 'object',
properties: {
id: { $ref: '#/components/schemas/Id' },
- category: { $ref: '#/components/schemas/Category' },
+ category: {
+ $ref: '#/components/schemas/api_server__models__rmf_api__task_state__Category',
+ },
detail: { $ref: '#/components/schemas/Detail' },
unix_millis_start_time: { title: 'Unix Millis Start Time', type: 'integer' },
unix_millis_finish_time: { title: 'Unix Millis Finish Time', type: 'integer' },
@@ -3835,7 +3701,9 @@ export default {
type: 'object',
properties: {
booking: { $ref: '#/components/schemas/Booking' },
- category: { $ref: '#/components/schemas/Category' },
+ category: {
+ $ref: '#/components/schemas/api_server__models__rmf_api__task_state__Category',
+ },
detail: { $ref: '#/components/schemas/Detail' },
unix_millis_start_time: { title: 'Unix Millis Start Time', type: 'integer' },
unix_millis_finish_time: { title: 'Unix Millis Finish Time', type: 'integer' },
@@ -3894,11 +3762,6 @@ export default {
unix_millis_warn_time: { title: 'Unix Millis Warn Time', type: 'integer' },
},
},
- Tier: {
- title: 'Tier',
- enum: ['uninitialized', 'info', 'warning', 'error'],
- description: 'An enumeration.',
- },
Time: {
title: 'Time',
required: ['sec', 'nanosec'],
@@ -4088,38 +3951,6 @@ export default {
},
additionalProperties: false,
},
- 'api_server.models.tortoise_models.delivery_alerts.DeliveryAlert.leaf': {
- title: 'DeliveryAlert',
- required: ['id', 'category', 'tier', 'action'],
- type: 'object',
- properties: {
- id: { title: 'Id', maxLength: 255, type: 'string' },
- category: {
- title: 'Category',
- maxLength: 10,
- type: 'string',
- description:
- 'Missing: missing
Wrong: wrong
Obstructed: obstructed
Cancelled: cancelled',
- },
- tier: {
- title: 'Tier',
- maxLength: 7,
- type: 'string',
- description: 'Warning: warning
Error: error',
- },
- task_id: { title: 'Task Id', maxLength: 255, type: 'string', nullable: true },
- action: {
- title: 'Action',
- maxLength: 9,
- type: 'string',
- description:
- 'Waiting: waiting
Cancel: cancelled
Override: override
Resume: resume',
- },
- message: { title: 'Message', maxLength: 255, type: 'string', nullable: true },
- },
- additionalProperties: false,
- description: 'Custom alerts for custom delivery tasks',
- },
'api_server.models.tortoise_models.scheduled_task.ScheduledTask': {
title: 'ScheduledTask',
required: ['id', 'created_by', 'schedules'],
@@ -4194,6 +4025,18 @@ export default {
},
additionalProperties: false,
},
+ api_server__models__delivery_alerts__DeliveryAlert__Category: {
+ title: 'Category',
+ enum: ['missing', 'wrong', 'obstructed', 'cancelled'],
+ type: 'string',
+ description: 'An enumeration.',
+ },
+ api_server__models__delivery_alerts__DeliveryAlert__Tier: {
+ title: 'Tier',
+ enum: ['warning', 'error'],
+ type: 'string',
+ description: 'An enumeration.',
+ },
api_server__models__rmf_api__fleet_log__FleetState: {
title: 'FleetState',
type: 'object',
@@ -4230,6 +4073,11 @@ export default {
},
},
},
+ api_server__models__rmf_api__log_entry__Tier: {
+ title: 'Tier',
+ enum: ['uninitialized', 'info', 'warning', 'error'],
+ description: 'An enumeration.',
+ },
api_server__models__rmf_api__simple_response__Failure: {
title: 'Failure',
enum: [false],
@@ -4240,6 +4088,11 @@ export default {
enum: [true],
description: 'An enumeration.',
},
+ api_server__models__rmf_api__task_state__Category: {
+ title: 'Category',
+ type: 'string',
+ description: 'The category of this task or phase',
+ },
api_server__models__rmf_api__token_response__Failure: {
title: 'Failure',
enum: [false],
diff --git a/packages/api-server/api_server/gateway.py b/packages/api-server/api_server/gateway.py
index c227c3a60..347f02003 100644
--- a/packages/api-server/api_server/gateway.py
+++ b/packages/api-server/api_server/gateway.py
@@ -215,7 +215,12 @@ def convert_delivery_alert(delivery_alert: RmfDeliveryAlert):
RmfDeliveryAlert,
"delivery_alert_request",
lambda msg: rmf_events.delivery_alerts.on_next(convert_delivery_alert(msg)),
- 10,
+ rclpy.qos.QoSProfile(
+ history=rclpy.qos.HistoryPolicy.KEEP_LAST,
+ depth=10,
+ reliability=rclpy.qos.ReliabilityPolicy.RELIABLE,
+ durability=rclpy.qos.DurabilityPolicy.TRANSIENT_LOCAL,
+ ),
)
self._subscriptions.append(delivery_alert_request_sub)
diff --git a/packages/api-server/api_server/models/delivery_alerts.py b/packages/api-server/api_server/models/delivery_alerts.py
index 508762f1e..d0acf91c5 100644
--- a/packages/api-server/api_server/models/delivery_alerts.py
+++ b/packages/api-server/api_server/models/delivery_alerts.py
@@ -1,64 +1,64 @@
-# pyright: reportGeneralTypeIssues=false
+from enum import Enum
-from . import tortoise_models as ttm
+from pydantic import BaseModel
-# TODO(AC): These conversions need to exactly match the enum values defined
+# NOTE: These conversions need to exactly match the enum values defined
# in rmf_fleet_msgs::msgs::DeliveryAlert* messages. Any changes to them will
# require these conversions to be modified.
def category_from_msg(category: int) -> str:
- value = ttm.DeliveryAlert.Category.Wrong
+ value = DeliveryAlert.Category.Wrong
match (category):
case 0:
- value = ttm.DeliveryAlert.Category.Missing
+ value = DeliveryAlert.Category.Missing
case 1:
- value = ttm.DeliveryAlert.Category.Wrong
+ value = DeliveryAlert.Category.Wrong
case 2:
- value = ttm.DeliveryAlert.Category.Obstructed
+ value = DeliveryAlert.Category.Obstructed
case 3:
- value = ttm.DeliveryAlert.Category.Cancelled
+ value = DeliveryAlert.Category.Cancelled
case _:
pass
return value
def tier_from_msg(tier: int) -> str:
- value = ttm.DeliveryAlert.Tier.Error
+ value = DeliveryAlert.Tier.Error
match (tier):
case 0:
- value = ttm.DeliveryAlert.Tier.Warning
+ value = DeliveryAlert.Tier.Warning
case 1:
- value = ttm.DeliveryAlert.Tier.Error
+ value = DeliveryAlert.Tier.Error
case _:
pass
return value
def action_from_msg(action: int) -> str:
- value = ttm.DeliveryAlert.Action.Waiting
+ value = DeliveryAlert.Action.Waiting
match (action):
case 0:
- value = ttm.DeliveryAlert.Action.Waiting
+ value = DeliveryAlert.Action.Waiting
case 1:
- value = ttm.DeliveryAlert.Action.Cancel
+ value = DeliveryAlert.Action.Cancel
case 2:
- value = ttm.DeliveryAlert.Action.Override
+ value = DeliveryAlert.Action.Override
case 3:
- value = ttm.DeliveryAlert.Action.Resume
+ value = DeliveryAlert.Action.Resume
return value
def category_to_msg(category: str) -> int:
value = 1
match (category):
- case ttm.DeliveryAlert.Category.Missing:
+ case DeliveryAlert.Category.Missing:
value = 0
- case ttm.DeliveryAlert.Category.Wrong:
+ case DeliveryAlert.Category.Wrong:
value = 1
- case ttm.DeliveryAlert.Category.Obstructed:
+ case DeliveryAlert.Category.Obstructed:
value = 2
- case ttm.DeliveryAlert.Category.Cancelled:
+ case DeliveryAlert.Category.Cancelled:
value = 3
case _:
pass
@@ -68,9 +68,9 @@ def category_to_msg(category: str) -> int:
def tier_to_msg(tier: str) -> int:
value = 1
match (tier):
- case ttm.DeliveryAlert.Tier.Warning:
+ case DeliveryAlert.Tier.Warning:
value = 0
- case ttm.DeliveryAlert.Tier.Error:
+ case DeliveryAlert.Tier.Error:
value = 1
case _:
pass
@@ -80,49 +80,39 @@ def tier_to_msg(tier: str) -> int:
def action_to_msg(action: str) -> int:
value = 0
match (action):
- case ttm.DeliveryAlert.Action.Waiting:
+ case DeliveryAlert.Action.Waiting:
value = 0
- case ttm.DeliveryAlert.Action.Cancel:
+ case DeliveryAlert.Action.Cancel:
value = 1
- case ttm.DeliveryAlert.Action.Override:
+ case DeliveryAlert.Action.Override:
value = 2
- case ttm.DeliveryAlert.Action.Resume:
+ case DeliveryAlert.Action.Resume:
value = 3
case _:
pass
return value
-class DeliveryAlert(ttm.DeliveryAlertPydantic):
- @staticmethod
- def from_tortoise(tortoise: ttm.DeliveryAlert) -> "DeliveryAlert":
- return DeliveryAlert(
- id=tortoise.id,
- category=tortoise.category,
- tier=tortoise.tier,
- action=tortoise.action,
- task_id=tortoise.task_id,
- message=tortoise.message,
- )
-
- async def save(self) -> None:
- # Get previous delivery alert for this task ID
- prev_waiting_delivery_alert = await ttm.DeliveryAlert.get_or_none(
- task_id=self.task_id, action="waiting"
- )
-
- await ttm.DeliveryAlert.update_or_create(
- {
- "category": self.category,
- "tier": self.tier,
- "task_id": self.task_id,
- "action": self.action,
- "message": self.message,
- },
- id=self.id,
- )
-
- # If there was a previous delivery alert for this task ID, we cancel it
- if prev_waiting_delivery_alert is not None:
- await prev_waiting_delivery_alert.update_from_dict({"action": "cancelled"})
- await prev_waiting_delivery_alert.save()
+class DeliveryAlert(BaseModel):
+ class Category(str, Enum):
+ Missing = "missing"
+ Wrong = "wrong"
+ Obstructed = "obstructed"
+ Cancelled = "cancelled"
+
+ class Tier(str, Enum):
+ Warning = "warning"
+ Error = "error"
+
+ class Action(str, Enum):
+ Waiting = "waiting"
+ Cancel = "cancelled"
+ Override = "override"
+ Resume = "resume"
+
+ id: str
+ category: Category
+ tier: Tier
+ action: Action
+ task_id: str
+ message: str
diff --git a/packages/api-server/api_server/rmf_io/book_keeper.py b/packages/api-server/api_server/rmf_io/book_keeper.py
index 10461b0dd..626122a3b 100644
--- a/packages/api-server/api_server/rmf_io/book_keeper.py
+++ b/packages/api-server/api_server/rmf_io/book_keeper.py
@@ -10,7 +10,6 @@
from api_server.models import (
BeaconState,
BuildingMap,
- DeliveryAlert,
DispenserHealth,
DispenserState,
DoorHealth,
@@ -37,7 +36,6 @@ class RmfBookKeeper:
[
"beacon_state",
"building_map",
- "delivery_alert",
"door_state",
"door_health",
"lift_state",
@@ -67,7 +65,6 @@ def __init__(
self._loggers = self._ChildLoggers(
self._main_logger.getChild("beacon_state"),
self._main_logger.getChild("building_map"),
- self._main_logger.getChild("delivery_alert"),
self._main_logger.getChild("door_state"),
self._main_logger.getChild("door_health"),
self._main_logger.getChild("lift_state"),
@@ -82,7 +79,6 @@ def __init__(
)
self._loggers.beacon_state.parent = self._main_logger
- self._loggers.delivery_alert.parent = self._main_logger
self._loggers.door_state.parent = self._main_logger
self._loggers.door_health.parent = self._main_logger
self._loggers.lift_state.parent = self._main_logger
@@ -100,7 +96,6 @@ def __init__(
async def start(self):
self._loop = asyncio.get_event_loop()
self._record_beacon_state()
- self._record_delivery_alert()
self._record_building_map()
self._record_door_state()
self._record_door_health()
@@ -142,15 +137,6 @@ async def update(beacon_state: BeaconState):
self.rmf.beacons.subscribe(lambda x: self._create_task(update(x)))
)
- def _record_delivery_alert(self):
- async def update(delivery_alert: DeliveryAlert):
- await delivery_alert.save()
- self._loggers.delivery_alert.info(json.dumps(delivery_alert.dict()))
-
- self._subscriptions.append(
- self.rmf.delivery_alerts.subscribe(lambda x: self._create_task(update(x)))
- )
-
def _record_building_map(self):
async def update(building_map: BuildingMap):
if not building_map:
diff --git a/packages/api-server/api_server/routes/delivery_alerts.py b/packages/api-server/api_server/routes/delivery_alerts.py
index d1f23cd8b..39dbaad3d 100644
--- a/packages/api-server/api_server/routes/delivery_alerts.py
+++ b/packages/api-server/api_server/routes/delivery_alerts.py
@@ -1,15 +1,7 @@
-# pyright: reportGeneralTypeIssues=false
-
-from datetime import datetime
-from typing import List, Optional
-
-from fastapi import HTTPException, Query
from rx import operators as rxops
-from tortoise.exceptions import FieldError
from api_server.fast_io import FastIORouter, SubscriptionRequest
from api_server.gateway import rmf_gateway
-from api_server.models import tortoise_models as ttm
from api_server.models.delivery_alerts import (
DeliveryAlert,
action_to_msg,
@@ -21,110 +13,34 @@
router = FastIORouter(tags=["DeliveryAlerts"])
-@router.sub("", response_model=ttm.DeliveryAlertPydantic)
+@router.sub("", response_model=DeliveryAlert)
async def sub_delivery_alerts(_req: SubscriptionRequest):
return rmf_events.delivery_alerts.pipe(rxops.filter(lambda x: x is not None))
-@router.get("", response_model=List[ttm.DeliveryAlertPydantic])
-async def get_delivery_alerts():
- delivery_alerts = await ttm.DeliveryAlert.all()
- return [
- await ttm.DeliveryAlertPydantic.from_tortoise_orm(a) for a in delivery_alerts
- ]
-
-
-@router.get("/query", response_model=List[ttm.DeliveryAlertPydantic])
-async def query_delivery_alerts(
- category: Optional[str] = Query(
- None, description="comma separated list of alert categories"
- ),
- tier: Optional[str] = Query(None, description="comma separated of tier"),
- task_id: Optional[str] = Query(None, description="comma separated list of task_id"),
- action: Optional[str] = Query(None, description="comma separated list of action"),
- message: Optional[str] = Query(None, description="comma separated of message"),
+@router.post("/{delivery_alert_id}/response", response_model=DeliveryAlert)
+async def respond_to_delivery_alert(
+ delivery_alert_id: str,
+ category: DeliveryAlert.Category,
+ tier: DeliveryAlert.Tier,
+ task_id: str,
+ action: DeliveryAlert.Action,
+ message: str,
):
- filters = {}
- if category is not None:
- filters["category__in"] = category.split(",")
- if tier is not None:
- filters["tier__in"] = tier.split(",")
- if task_id is not None:
- filters["task_id__in"] = task_id.split(",")
- if action is not None:
- filters["action__in"] = action.split(",")
- if message is not None:
- filters["message__in"] = message.split(",")
-
- try:
- delivery_alerts = await ttm.DeliveryAlert.filter(**filters)
- return [
- await ttm.DeliveryAlertPydantic.from_tortoise_orm(a)
- for a in delivery_alerts
- ]
- except FieldError as e:
- raise HTTPException(422, str(e)) from e
-
-
-@router.get("/{delivery_alert_id}", response_model=ttm.DeliveryAlertPydantic)
-async def get_delivery_alert(delivery_alert_id: str):
- delivery_alert = await ttm.DeliveryAlert.get_or_none(id=delivery_alert_id)
- if delivery_alert is None:
- raise HTTPException(
- 404, f"Delivery alert with ID {delivery_alert_id} not found"
- )
- delivery_alert_pydantic = await ttm.DeliveryAlertPydantic.from_tortoise_orm(
- delivery_alert
- )
- return delivery_alert_pydantic
-
-
-@router.post("", status_code=201, response_model=ttm.DeliveryAlertPydantic)
-async def create_delivery_alert(category: str, tier: str, task_id: str, message: str):
- # Fill up the model, let the book keeper handle saving and cancelling old
- # delivery alerts
- timestamp = datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
- delivery_alert_id = f"delivery-alert-{timestamp}"
- delivery_alert_pydantic = DeliveryAlert(
+ delivery_alert = DeliveryAlert(
id=delivery_alert_id,
category=category,
tier=tier,
+ action=action,
task_id=task_id,
- action="waiting",
message=message,
)
-
- rmf_events.delivery_alerts.on_next(delivery_alert_pydantic)
- return delivery_alert_pydantic
-
-
-@router.post("/{delivery_alert_id}/action", response_model=ttm.DeliveryAlertPydantic)
-async def update_delivery_alert_action(delivery_alert_id: str, action: str):
- delivery_alert = await ttm.DeliveryAlert.get_or_none(id=delivery_alert_id)
- if delivery_alert is None:
- raise HTTPException(
- 404, f"Delivery alert with ID {delivery_alert_id} not found"
- )
-
- try:
- delivery_alert.update_from_dict({"action": action})
- except Exception as e:
- raise HTTPException(
- 404,
- f"Failed to update delivery alert {delivery_alert_id} with action {action}: {e}",
- ) from e
- await delivery_alert.save()
-
- delivery_alert_pydantic = DeliveryAlert.from_tortoise(delivery_alert)
-
rmf_gateway().respond_to_delivery_alert(
- alert_id=delivery_alert_pydantic.id,
- category=category_to_msg(delivery_alert_pydantic.category),
- tier=tier_to_msg(delivery_alert_pydantic.tier),
- task_id=delivery_alert_pydantic.task_id,
- action=action_to_msg(delivery_alert_pydantic.action),
- message=delivery_alert_pydantic.message,
+ alert_id=delivery_alert.id,
+ category=category_to_msg(delivery_alert.category),
+ tier=tier_to_msg(delivery_alert.tier),
+ task_id=delivery_alert.task_id,
+ action=action_to_msg(delivery_alert.action),
+ message=delivery_alert.message,
)
-
- rmf_events.delivery_alerts.on_next(delivery_alert_pydantic)
- return delivery_alert_pydantic
+ rmf_events.delivery_alerts.on_next(delivery_alert)
diff --git a/packages/dashboard/src/components/delivery-alert-store.tsx b/packages/dashboard/src/components/delivery-alert-store.tsx
index b267856da..438596b29 100644
--- a/packages/dashboard/src/components/delivery-alert-store.tsx
+++ b/packages/dashboard/src/components/delivery-alert-store.tsx
@@ -1,5 +1,8 @@
import {
- ApiServerModelsTortoiseModelsDeliveryAlertsDeliveryAlertLeaf as DeliveryAlert,
+ Action as DeliveryAlertAction,
+ ApiServerModelsDeliveryAlertsDeliveryAlertCategory as DeliveryAlertCategory,
+ ApiServerModelsDeliveryAlertsDeliveryAlertTier as DeliveryAlertTier,
+ DeliveryAlert,
TaskState,
} from 'api-client';
import React from 'react';
@@ -24,18 +27,18 @@ const useStyles = makeStyles((theme: Theme) =>
}),
);
-const categoryToText = (category: string): string => {
+const categoryToText = (category: DeliveryAlertCategory): string => {
switch (category) {
- case 'missing': {
+ case DeliveryAlertCategory.Missing: {
return 'No cart detected';
}
- case 'wrong': {
+ case DeliveryAlertCategory.Wrong: {
return 'Wrong cart detected';
}
- case 'obstructed': {
+ case DeliveryAlertCategory.Obstructed: {
return 'Goal is obstructed';
}
- case 'cancelled': {
+ case DeliveryAlertCategory.Cancelled: {
return 'Task is cancelled';
}
default: {
@@ -47,8 +50,8 @@ const categoryToText = (category: string): string => {
interface DeliveryWarningDialogProps {
deliveryAlert: DeliveryAlert;
taskState?: TaskState;
- onOverride?: (delivery_alert_id: string, task_id?: string) => Promise;
- onResume?: (delivery_alert_id: string, task_id?: string) => Promise;
+ onOverride?: (deliveryAlert: DeliveryAlert) => Promise;
+ onResume?: (deliveryAlert: DeliveryAlert) => Promise;
onClose: () => void;
}
@@ -64,7 +67,7 @@ const DeliveryWarningDialog = React.memo((props: DeliveryWarningDialogProps) =>
const isScreenHeightLessThan800 = useMediaQuery('(max-height:800px)');
React.useEffect(() => {
- if (deliveryAlert.action !== 'waiting') {
+ if (deliveryAlert.action !== DeliveryAlertAction.Waiting) {
setActionTaken(true);
}
}, [deliveryAlert]);
@@ -82,15 +85,19 @@ const DeliveryWarningDialog = React.memo((props: DeliveryWarningDialogProps) =>
const sub = rmf.getTaskStateObs(taskState.booking.id).subscribe((taskStateUpdate) => {
setNewTaskState(taskStateUpdate);
if (
- deliveryAlert.action === 'waiting' &&
+ deliveryAlert.action === DeliveryAlertAction.Waiting &&
taskStateUpdate.status &&
taskStateUpdate.status === 'canceled'
) {
(async () => {
try {
- await rmf.deliveryAlertsApi.updateDeliveryAlertActionDeliveryAlertsDeliveryAlertIdActionPost(
+ await rmf.deliveryAlertsApi.respondToDeliveryAlertDeliveryAlertsDeliveryAlertIdResponsePost(
deliveryAlert.id,
- 'cancelled',
+ deliveryAlert.category,
+ deliveryAlert.tier,
+ deliveryAlert.task_id ?? '',
+ DeliveryAlertAction.Cancelled,
+ deliveryAlert.message ?? '',
);
} catch (e) {
appController.showAlert(
@@ -105,18 +112,18 @@ const DeliveryWarningDialog = React.memo((props: DeliveryWarningDialogProps) =>
return () => sub.unsubscribe();
}, [rmf, deliveryAlert, taskState, appController]);
- const titleUpdateText = (action: string) => {
+ const titleUpdateText = (action: DeliveryAlertAction) => {
switch (action) {
- case 'override': {
+ case DeliveryAlertAction.Override: {
return ' - [Overridden]';
}
- case 'resume': {
+ case DeliveryAlertAction.Resume: {
return ' - [Resumed]';
}
- case 'cancel': {
+ case DeliveryAlertAction.Cancelled: {
return ' - [Cancelled]';
}
- case 'waiting':
+ case DeliveryAlertAction.Waiting:
default: {
return '';
}
@@ -199,7 +206,7 @@ const DeliveryWarningDialog = React.memo((props: DeliveryWarningDialogProps) =>
{(newTaskState && newTaskState.status && newTaskState.status === 'canceled') ||
- deliveryAlert.category === 'cancelled' ? (
+ deliveryAlert.category === DeliveryAlertCategory.Cancelled ? (