### Application and Cell Structure Examples Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Demonstrates example configurations for applications like SwaggerUI and the structure of a default cell, including its controllers and child applications. The SwaggerUI example shows how to define an application's name, icon, container image, and environment variables. ```yaml examples: AppSwaggerUI: summary: SwaggerUI App example value: name: swagger-ui app_icon: favicon-32x32.png container_image: image: docker.io/swaggerapi/swagger-ui environment: - name: BASE_URL value: /swagger-ui CellDefault: value: - id: /cells/default name: default children: - id: /cells/default/controllers/yaskawa-gp7 name: yaskawa-gp7 - id: /cells/default/apps/my-app name: my-app ``` -------------------------------- ### Controller Configuration Examples Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Provides example configurations for various robot controller types including ABB, Fanuc, Kuka, Universal Robots, Yaskawa, and virtual controllers. These examples specify connection details such as IP addresses and ports, and for virtual controllers, manufacturer and type information. ```yaml examples: DefaultCell: summary: A cell with the default configured Foundation Services value: name: cell AbbController: value: name: abb-robot configuration: kind: AbbController controller_ip: 192.168.125.1 controller_port: 80 egm_server: ip: 192.168.125.100 port: 32112 FanucController: value: name: fanuc-robot configuration: kind: FanucController controller_ip: 192.168.100.1 KukaController: value: name: kuka-robot configuration: kind: KukaController controller_ip: 192.168.1.29 controller_port: 54600 rsi_server: ip: 0.0.0.0 port: 30152 UrController: value: name: ur-robot configuration: kind: UniversalrobotsController controller_ip: 192.168.1.1 VirtualController: value: name: virtual-robot configuration: kind: VirtualController manufacturer: universalrobots type: universalrobots-ur5e position: '[0,0,0,0,0,0,0]' YaskawaController: value: name: yaskawa-robot configuration: kind: YaskawaController controller_ip: 192.168.255.1 ``` -------------------------------- ### Robot Configuration and Motion Command Example (YAML) Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Defines the configuration for a robot, including safety limits, start position, and motion commands with target poses and path definitions. This structure is used for setting up robot parameters and executing movements. ```yaml orientation: - 0 - 0 - 0 tcp: position: - 0 - 0 - 0 orientation: - 0 - 0 - 0 safety_setup: global_limits: joint_position_limits: - lower_limit: -6.284930636431581 upper_limit: 6.284930636431581 - lower_limit: -6.284930636431581 upper_limit: 6.284930636431581 - lower_limit: -2.8623399732707004 upper_limit: 2.8623399732707004 - lower_limit: -6.284930636431581 upper_limit: 6.284930636431581 - lower_limit: -6.284930636431581 upper_limit: 6.284930636431581 - lower_limit: -6.284930636431581 upper_limit: 6.284930636431581 joint_velocity_limits: - 3.14 - 3.14 - 3.14 - 3.14 - 3.14 - 3.14 joint_acceleration_limits: - 40 - 40 - 40 - 40 - 40 - 40 start_joint_position: - 1.169 - -1.57 - 1.36 - 1.029 - 1.289 - 1.279 motion_commands: - path: target_pose: position: - 400 - 0 - 100 orientation: - 0 - 0 - 0 path_definition_name: PathLine limits_override: tcp_velocity_limit: 200 ``` -------------------------------- ### InitializeJoggingRequest Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Send this message to start jogging a motion group. ```APIDOC ## InitializeJoggingRequest ### Description Send this message to start jogging a motion group. ### Method POST ### Endpoint /jogging ### Request Body - **message_type** (string) - Default: InitializeJoggingRequest - Type specifier for server, set automatically. - **motion_group** (string) - Required - Identifier of the motion group. - **tcp** (string) - Optional - Identifier of the tool. Required for robots (all limits, including TCP limits, are respected at all times regardless of the motion). Not required for external axes. - **response_rate** (integer) - Optional - Default: 200 - Update rate for the response message in milliseconds (ms). Recommendation: As Wandelbots NOVA updates states in the controller's step rate, use either the controller's step rate or a multiple of it. Wandelbots NOVA will not interpolate the state but round it to the nearest step rate below the configured response rate. Use [getOptimizerConfiguration](getOptimizerConfiguration) to get the controller's step rate. Minimal response rate is the step rate of the controller. - **response_coordinate_system** (string) - Optional - Unique identifier addressing a coordinate system to which the responses are transformed. If not set, world coordinate system is used. - **pause_on_io** (string) - Optional - Defines an input/output that is listened to during the movement. Execution pauses if the defined comparator evaluates to `true`. ``` -------------------------------- ### Trajectory Planning Request Example Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Illustrates a request payload for planning a trajectory, specifically for a Universal Robots UR5e robot executing a line motion. This example includes the robot's motion group type and mounting position details. ```yaml examples: PlanTrajectoryRequest_UR5e_Line: value: robot_setup: motion_group_type: UniversalRobots_UR5e mounting: position: - 0 - 0 - 0 ``` -------------------------------- ### PlanTrajectoryRequest Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Defines a trajectory planning request, including robot setup, start position, and a sequence of motion commands. ```APIDOC ## POST /planTrajectory ### Description Plans a trajectory for the robot based on the provided robot setup, start joint position, and a list of motion commands. ### Method POST ### Endpoint /planTrajectory ### Parameters #### Request Body - **robot_setup** (RobotSetup) - Required - The data to assemble the robot setup can be retrieved from [getMotionGroupDescription](getMotionGroupDescription) endpoint. - **start_joint_position** (DoubleArray) - Required - Indicates the starting joint position. Cartesian movements will be in the same kinematic configuration as the start joint position until the first joint point-to-point motion. Motions can only be executed if the start joint position is the current joint position of the motion group. To retrieve the current joint position use the endpoint [getCurrentMotionGroupState](getCurrentMotionGroupState). To move the robot to the start joint position use the endpoint [streamMoveToTrajectoryViaJointP2P](streamMoveToTrajectoryViaJointP2P). - **motion_commands** (array of MotionCommand) - Required - List of motion commands. A command consists of a path definition (line, circle, joint_ptp, cartesian_ptp, cubic_spline), blending, and limits override. ### Request Example ```json { "robot_setup": { ... }, "start_joint_position": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "motion_commands": [ { ... } ] } ``` ### Response #### Success Response (200) - **trajectory** (JointTrajectory) - The planned joint trajectory. #### Response Example ```json { "trajectory": { "joint_positions": [ [0.1, 0.2, 0.3, 0.4, 0.5, 0.6], [0.7, 0.8, 0.9, 1.0, 1.1, 1.2] ], "times": [0.0, 1.0], "locations": [0.0, 1.0] } } ``` ``` -------------------------------- ### Add Application Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Installs a basic, containerized web application to the cell for controlling robots with a customized frontend. Requires a container registry account. ```APIDOC ## POST /cells/{cell}/apps ### Description Install a basic, containerized web application to the cell to control robots with a customized frontend. Prerequisites: A Docker hub account or similar container registry account, with valid credentials. After adding the application to the cell, open the application on the Wandelbots NOVA home screen. Read [build your application](/docs/docs/development/) for more information. > #### Predefined Environment Variables > - `NOVA_API`: The endpoint where the API is reachable from the container serving the Application. > - `BASE_PATH`: The root path of the deployed Application. It will be reachable via: http://$host/$BASE_PATH > - `CELL_NAME`: The name of the cell where the application is deployed. ### Method POST ### Endpoint /cells/{cell}/apps ### Parameters #### Path Parameters - **cell** (string) - Required - The name of the cell. #### Query Parameters - **timeout** (integer) - Optional - The timeout in seconds for the operation. #### Request Body - **App** (object) - Required - The application details. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **description** (string) - The creation was successfully completed. #### Success Response (202) - **description** (string) - The creation was initiated. #### Error Response (409) - **description** (string) - An app with this name already exists in this cell. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get Application Configuration Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the configuration for an active GUI application within a specific cell. ```APIDOC ## GET /cells/{cell}/apps/{app} ### Description Get the configuration for an active GUI application in the cell. ### Method GET ### Endpoint /cells/{cell}/apps/{app} ### Parameters #### Path Parameters - **cell** (string) - Required - The name of the cell. - **app** (string) - Required - The name of the application. ### Response #### Success Response (200) - **description** (string) - The operation was successful. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Robot Setup API Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi This section describes the structure for configuring a robot's motion group, including its model, cycle time, mounting pose, TCP offset, limits, payload, and collision scenes. ```APIDOC ## RobotSetup Object ### Description Defines the configuration for a robot's motion group, encompassing its kinematic model, control parameters, and collision handling. ### Properties - **motion_group_model** (MotionGroupModel) - Required - The kinematic model of the motion group. - **cycle_time** (uint32) - Required - The cycle time in milliseconds for the motion group controller. Trajectories should be computed to this resolution. - **mounting** (Pose) - Optional - The offset from the world frame to the motion group's base. - **tcp_offset** (Pose) - Optional - The offset of the tool center point (TCP) relative to the last link of the motion group. - **global_limits** (LimitSet) - Optional - Global limits for the motion group's movement. - **payload** (Payload) - Optional - The payload attached to the robot. - **collision_scenes** (SingleMotionGroupCollisionScenes) - Optional - A collection of collision scenes to be considered during motion planning. ``` -------------------------------- ### StartMovementResponse Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Acknowledgment for StartMovementRequest message. This indicates that the request was received and is being processed, but does not confirm that the movement has started. ```APIDOC ## StartMovementResponse ### Description Acknowledgment for StartMovementRequest message. ATTENTION: No confirmation that the movement was started. Confirmation that the StartMovementRequest was received and is processed. Fields `execute` and `standstill` of response of [streamMotionGroupState](streamMotionGroupState) signal start of movement execution. ### Type object ### Properties - **message** (string) - Error message in case of invalid StartMovementResquest. - **kind** (string) - Enum: START_RECEIVED ``` -------------------------------- ### Wandelbots NOVA Version Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the current version of Wandelbots NOVA installed on the system. ```APIDOC ## GET /websites/portal_wandelbots_io_api_v2_ui_public/system/version ### Description Get the current Wandelbots NOVA version. ### Method GET ### Endpoint /websites/portal_wandelbots_io_api_v2_ui_public/system/version ### Response #### Success Response (200) - Description: The operation was successful. - **version** (string) - The Wandelbots NOVA version. Example: 24.1.0 ``` -------------------------------- ### GET /cells/{cell}/controllers/{controller}/virtual-robot-configuration Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the configuration for a virtual robot controller. This configuration can be used to set up a virtual robot controller via the `addRobotController` endpoint. Note that the output can be large. ```APIDOC ## GET /cells/{cell}/controllers/{controller}/virtual-robot-configuration ### Description Retrieves the configuration for a virtual robot controller. This configuration can be used to set up a virtual robot controller via the `addRobotController` endpoint. Note that the output can be large. ### Method GET ### Endpoint /cells/{cell}/controllers/{controller}/virtual-robot-configuration ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier for the cell. - **controller** (string) - Required - The identifier for the controller. ### Response #### Success Response (200) - **configuration** (object) - The virtual robot controller configuration. #### Response Example ```json { "configuration": { "robot_model": "UR5", "ip_address": "192.168.1.100" } } ``` #### Error Responses - **400** - Bad Request: If the request parameters are invalid. - **404** - Not Found: If the specified cell or controller does not exist. ``` -------------------------------- ### GET /cells/{cell}/controllers/{controller} Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the configuration details for a specific robot controller within a cell. ```APIDOC ## GET /cells/{cell}/controllers/{controller} ### Description Get the configuration for a robot controller. ### Method GET ### Endpoint /cells/{cell}/controllers/{controller} #### Path Parameters - **cell** (string) - Required - The identifier of the cell. - **controller** (string) - Required - The name of the robot controller. ### Response #### Success Response (200) - **robotController** (object) - The configuration of the robot controller. - **type** (string) - The type of the robot controller. - **name** (string) - The name of the robot controller. - ... (other controller-specific fields) #### Response Example { "type": "Abb", "name": "ABB_Controller_1", "ip_address": "192.168.1.100" } #### Error Response (404) - Not Found ``` -------------------------------- ### GET /cells/{cell}/virtual-controllers/{controller}/behavior Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the current virtual controller behavior. Refer to the setter [setVirtualRobotBehavior](setVirtualRobotBehavior) and the enum for details. ```APIDOC ## GET /cells/{cell}/virtual-controllers/{controller}/behavior ### Description Get the current virtual controller behavior - please see the setter [setVirtualRobotBehavior](setVirtualRobotBehavior) and the enum for details. ### Method GET ### Endpoint /cells/{cell}/virtual-controllers/{controller}/behavior ### Parameters #### Path Parameters - **cell** (string) - Required - The cell identifier. - **controller** (string) - Required - The controller identifier. ### Response #### Success Response (200) - **behavior** (Behavior) - The current behavior of the virtual controller. #### Response Example ```json { "behavior": "IDLE" } ``` ``` -------------------------------- ### GET /cells/{cell}/controllers/{controller}/coordinate-systems Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Lists all specifications of coordinate systems from robot controllers. Allows filtering by orientation type to specify the notation for the orientation part of the transformation offset. ```APIDOC ## GET /cells/{cell}/controllers/{controller}/coordinate-systems ### Description Lists all specifications of coordinate systems from robot controllers. Allows filtering by orientation type to specify the notation for the orientation part of the transformation offset. ### Method GET ### Endpoint /cells/{cell}/controllers/{controller}/coordinate-systems ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier for the cell. - **controller** (string) - Required - The identifier for the controller. #### Query Parameters - **orientation_type** (string) - Optional - The desired notation for the orientation part of the transformation offset (e.g., 'quaternion', 'rotation_vector'). If not set, rotation vector notation is used. ### Response #### Success Response (200) - **coordinate_systems** (array) - A list of coordinate system specifications. - **name** (string) - The name of the coordinate system. - **transformation** (object) - The transformation offset. - **translation** (object) - Translation vector. - **orientation** (object) - Orientation representation. #### Response Example ```json { "coordinate_systems": [ { "name": "base_link", "transformation": { "translation": {"x": 0.0, "y": 0.0, "z": 0.0}, "orientation": {"x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0} } } ] } ``` #### Error Responses - **400** - Bad Request: If the request parameters are invalid. - **404** - Not Found: If the specified cell or controller does not exist. ``` -------------------------------- ### GET /cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the mounting configuration for a specified motion group. The motion group's origin is defined by the returned coordinate system. ```APIDOC ## GET /cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting ### Description Retrieves the mounting configuration for a specified motion group. The motion group's origin is defined by the returned coordinate system. ### Method GET ### Endpoint /cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier of the cell. - **controller** (string) - Required - The identifier of the virtual controller. - **motion-group** (string) - Required - The identifier of the motion group. ### Response #### Success Response (200) - **schema** (CoordinateSystem) - The coordinate system defining the motion group's mounting. #### Response Example ```json { "coordinate_system": "world", "name": "mounting", "position": [ 0, 0, 0 ], "orientation": [ 0, 0, 0 ], "orientation_type": "ROTATION_VECTOR" } ``` ``` -------------------------------- ### GET /cells/{cell}/controllers Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves a list of all deployed robot controllers within a specified cell. This endpoint is useful for inventory management and understanding the robotic setup. ```APIDOC ## GET /cells/{cell}/controllers ### Description List the names of all deployed robot controllers. ### Method GET ### Endpoint /cells/{cell}/controllers #### Path Parameters - **cell** (string) - Required - The identifier of the cell. ### Response #### Success Response (200) - **names** (array) - A list of robot controller names. #### Response Example { "names": [ "ABB_1", "KUKA_1" ] } ``` -------------------------------- ### Get Emergency Stop State of Virtual Controller Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the current Emergency Stop state for a virtual robot controller within a specified cell. For a universal method to get the safety state, use `getCurrentMotionGroupState`. ```yaml get: tags: - Virtual Controller summary: Get Emergency Stop State description: | Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state regardless of the controller type. There the Emergency Stop state is visible as the `safety_state`. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers. operationId: getEmergencyStop parameters: - $ref: '#/components/parameters/Cell' - $ref: '#/components/parameters/Controller' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Flag' '400': $ref: '#/components/responses/BadRequest' ``` -------------------------------- ### InitializeMovementRequest Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Sets up a connection by locking a trajectory for execution and setting the robot controller mode. This must be sent before any StartMovementRequest. ```APIDOC ## POST /initializeMovement ### Description Initializes movement by locking a trajectory for execution and setting the robot controller mode. This request must be sent before any `StartMovementRequest`. ### Method POST ### Endpoint /initializeMovement ### Parameters #### Request Body - **trajectory** (object) - Required - The trajectory to be executed. Can be either `TrajectoryId` or `TrajectoryData`. - **message_type** (string) - Required - Type specifier for the server, set automatically. - **id** (string) - Required (if `message_type` is `TrajectoryId`) - The identifier of the trajectory. - **data** (object) - Required (if `message_type` is `TrajectoryData`) - The trajectory data. - **joint_trajectory** (array) - Required - A list of joint positions and corresponding timestamps. - **tcp** (string) - Optional - Unique identifier of the tool the trajectory is planned for. - **motion_group** (string) - Optional - Identifier of the motion-group. - **initial_location** (number) - Optional - Location on the trajectory where execution will start. Defaults to the start or end of the trajectory. - **response_rate** (integer) - Optional - Update rate for the response message in milliseconds (ms). Defaults to 200 ms. - **response_coordinate_system** (string) - Optional - Unique identifier for the coordinate system to which responses are transformed. Defaults to the world coordinate system. ### Request Example ```json { "trajectory": { "message_type": "TrajectoryData", "motion_group": "arm1", "data": { "joint_trajectory": [ { "joint_positions": [ 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 ], "timestamps": [ 0.0, 0.1, 0.2, 0.3, 0.4, 0.5 ] } ] }, "tcp": "tool0" }, "initial_location": 0.5, "response_rate": 100, "response_coordinate_system": "base_link" } ``` ### Response #### Success Response (200) - **message** (string) - A success message indicating the movement has been initialized. #### Response Example ```json { "message": "Movement initialized successfully." } ``` ``` -------------------------------- ### GET /cells/{cell}/controllers/{controller}/mode Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. The mode is influenced by the operating mode of the robot controller. ```APIDOC ## GET /cells/{cell}/controllers/{controller}/mode ### Description Get the current robot system mode of a registered robot controller. The robot system mode indicates if a robot controller can be used. The mode is influenced by the operating mode of the robot controller. ### Method GET ### Endpoint /cells/{cell}/controllers/{controller}/mode ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier for the cell. - **controller** (string) - Required - The identifier for the controller. #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **(object)** - Contains the current mode information. - **mode** (string) - The current mode of the robot controller (e.g., 'MONITOR', 'CONTROL'). #### Response Example ```json { "mode": "MONITOR" } ``` #### Error Responses - **400** - Bad Request - **404** - Not Found ``` -------------------------------- ### List Configuration Resources Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves a list of all available configuration resources for backup purposes. ```APIDOC ## GET /system/configuration/resources ### Description Retrieves a list of all available configuration resources for backup purposes. ### Method GET ### Endpoint /system/configuration/resources ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **ConfigurationResourceArray** (object) - A list of available configuration resources. #### Response Example ```json { "example": "ConfigurationResourceArray example" } ``` ``` -------------------------------- ### List Input/Output Descriptions Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Lists the input/output descriptions of the virtual robot controller. ```APIDOC ## GET /cells/{cell}/virtual-controllers/{controller}/ios/description ### Description Lists the input/output descriptions of the virtual robot controller. ### Method GET ### Endpoint /cells/{cell}/virtual-controllers/{controller}/ios/description ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier of the cell. - **controller** (string) - Required - The identifier of the virtual controller. ### Response #### Success Response (200) - (Schema not specified in provided text) - Description of the input/outputs. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /cells/{cell}/motion-group-models Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Returns motion group models that are supported for planning. ```APIDOC ## GET /cells/{cell}/motion-group-models ### Description Returns motion group models that are supported for planning. ### Method GET ### Endpoint /cells/{cell}/motion-group-models ### Parameters #### Path Parameters - **cell** (string) - Required - The name of the cell. ### Response #### Success Response (200) - **items** (array[string]) - A list of supported motion group model names. #### Response Example ```json [ "model1", "model2" ] ``` #### Error Response (404) Description: Not found #### Error Response (422) Description: Validation Error Schema: #/components/schemas/HTTPValidationError #### Error Response (500) Description: Internal server error ``` -------------------------------- ### Configuration Backup and Restore API Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Provides endpoints for backing up and restoring system configurations. ```APIDOC ## GET /system/configuration ### Description Retrieves a configuration backup based on provided resource identifiers. ### Method GET ### Endpoint /system/configuration ### Parameters #### Query Parameters - **resources** (string) - Required - Comma-separated list of resource identifiers to include in the backup. - **metadata** (boolean) - Optional - Whether to include metadata in the backup. #### Request Body None ### Response #### Success Response (200) - **X-Backup-Id** (string) - Unique identifier of the backup. - **ConfigurationArchive** (binary) - The configuration backup archive. #### Response Example ``` [binary content of the gzip archive] ``` ## POST /system/configuration ### Description Restores a previously backed up configuration. ### Method POST ### Endpoint /system/configuration ### Parameters #### Query Parameters - **resources** (string) - Required - Comma-separated list of resource identifiers to restore. #### Request Body - **ConfigurationArchive** (binary) - Required - Backup file stream containing the configuration to restore. ### Response #### Success Response (200) - **Success message** (string) - Indicates successful restoration. #### Response Example ```json { "message": "Configuration restored successfully." } ``` ``` -------------------------------- ### POST /activateLicense Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Activates a license by providing the owner's refresh token. This endpoint interacts with the license server to validate and activate the provided license. ```APIDOC ## POST /activateLicense ### Description Activates a license using the provided owner refresh token. ### Method POST ### Endpoint /activateLicense ### Parameters #### Request Body - **owner_refresh_token** (string) - Required - The authentication token to fetch the license from the license server. ### Request Example ```json { "owner_refresh_token": "your_owner_refresh_token" } ``` ### Response #### Success Response (200) - **License** (object) - The activated license details. #### Error Response (403) - **Error** (object) - The provided license owner cannot be authenticated. #### Error Response (404) - **Error** (object) - No license found for the provided license owner. ``` -------------------------------- ### List Applications Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Lists all GUI applications that have been added to a cell. Returns an empty list if no applications are present. ```APIDOC ## GET /cells/{cell}/apps ### Description List all GUI applications that have been added to a cell. with the 'Add Application' endpoint. If the cell does not contain GUI applications, the list is returned empty. ### Method GET ### Endpoint /cells/{cell}/apps ### Parameters #### Path Parameters - **cell** (string) - Required - The name of the cell. ### Response #### Success Response (200) - **schema** - '#/components/schemas/NameList' #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Get Stored Collision Tool Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves a specific stored tool by its ID within a given cell. ```APIDOC ## GET /cells/{cell}/store/collision/tools/{tool} ### Description Returns the stored tool. ### Method GET ### Endpoint /cells/{cell}/store/collision/tools/{tool} ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier for the cell. - **tool** (string) - Required - The identifier for the tool. ### Response #### Success Response (200) - **Tool** (object) - The requested Tool object. #### Response Example ```json { "id": "tool_id_1", "name": "Example Tool", "description": "This is an example tool." } ``` #### Error Response (404) - **description**: Not found ``` -------------------------------- ### I/O Configuration Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Defines the types and formats for input/output configurations, including direction, value types, and units. ```APIDOC ## I/O Types and Formats ### Description This section details the schema definitions for I/O (Input/Output) configurations, including their direction, data types, and units. ### Method N/A (Schema definitions) ### Endpoint N/A (Schema definitions) ### Parameters (N/A) ### Request Example (N/A) ### Response #### Schema Definitions - **IODirection** (enum) - Identifies the input/output type. - `IO_TYPE_INPUT` - `IO_TYPE_OUTPUT - **IOValueType** (enum) - Data type of the input/output. - `IO_VALUE_BOOLEAN` - `IO_VALUE_ANALOG_FLOAT` - `IO_VALUE_ANALOG_INTEGER` - **UnitType** (enum) - The unit of input/output value. - `UNIT_NONE` - `UNIT_KILOGRAM` - `UNIT_AMPERE` - `UNIT_KELVIN` - `UNIT_HERTZ` - `UNIT_NEWTON` - `UNIT_VOLT` - `UNIT_CELSIUS` - `UNIT_NEWTON_METER` - `UNIT_METER - **BooleanValue** (object) - Represents a boolean I/O value. - **value** (boolean) - The boolean value. - **value_type** (string) - Must be "boolean". - **IntegerValue** (object) - Represents an integer I/O value. - **value** (string) - The integer value (represented as a string). - **value_type** (string) - Must be "integer". #### Response Example (N/A - These are schema definitions, not direct API responses) ```json { "IODirection": [ "IO_TYPE_INPUT", "IO_TYPE_OUTPUT" ], "IOValueType": [ "IO_VALUE_BOOLEAN", "IO_VALUE_ANALOG_FLOAT", "IO_VALUE_ANALOG_INTEGER" ], "UnitType": [ "UNIT_NONE", "UNIT_KILOGRAM", "UNIT_AMPERE", "UNIT_KELVIN", "UNIT_HERTZ", "UNIT_NEWTON", "UNIT_VOLT", "UNIT_CELSIUS", "UNIT_NEWTON_METER", "UNIT_METER" ], "BooleanValue": { "value": true, "value_type": "boolean" }, "IntegerValue": { "value": "12345", "value_type": "integer" } } ``` ``` -------------------------------- ### GET /cells/{cell}/virtual-controllers/{controller}/cycle-time Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the cycle time of the controller communication in milliseconds. ```APIDOC ## GET /cells/{cell}/virtual-controllers/{controller}/cycle-time ### Description Get the cycle time of controller communication in [ms]. ### Method GET ### Endpoint /cells/{cell}/virtual-controllers/{controller}/cycle-time ### Parameters #### Path Parameters - **cell** (string) - Required - The cell identifier. - **controller** (string) - Required - The controller identifier. ### Response #### Success Response (200) - **cycleTime** (integer) - The cycle time in milliseconds. #### Response Example ```json { "cycleTime": 10 } ``` ``` -------------------------------- ### Get Stored Collision Scene Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves a specific stored collision scene by its ID within a given cell. ```APIDOC ## GET /cells/{cell}/store/collision/scenes/{scene} ### Description Returns the stored scene. ### Method GET ### Endpoint /cells/{cell}/store/collision/scenes/{scene} ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier for the cell. - **scene** (string) - Required - The identifier for the scene. ### Response #### Success Response (200) - **CollisionScene** (object) - The requested CollisionScene object. #### Response Example ```json { "id": "scene_id_1", "name": "Example Scene", "description": "This is an example scene." } ``` #### Error Response (404) - **description**: Not Found ``` -------------------------------- ### Download Diagnosis Package Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Collects information on the current status of all NOVA services and exports them as a .zip file. Includes information on all cells on the instance such as the service logs and virtual robot controllers. ```APIDOC ## GET /diagnose/package ### Description Collects information on the current status of all NOVA services and exports them as a .zip file. Includes information on all cells on the instance such as the service logs and virtual robot controllers. From each cell the logs of all services are included, as well as the configuration of each connected controller to start virtual robots. ### Method GET ### Endpoint /diagnose/package ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **binary** (binary) - Diagnose package successfully created. #### Response Example ``` [binary content of the zip file] ``` ``` -------------------------------- ### POST /cells/{cell}/virtual-controllers/{controller}/coordinate-systems Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Creates a new coordinate system for a virtual controller. This coordinate system can be used as a reference for other coordinate systems or for defining motion group mounting. ```APIDOC ## POST /cells/{cell}/virtual-controllers/{controller}/coordinate-systems ### Description Creates a new coordinate system for a virtual controller. This coordinate system can be used as a reference for other coordinate systems or for defining motion group mounting. ### Method POST ### Endpoint /cells/{cell}/virtual-controllers/{controller}/coordinate-systems ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier of the cell. - **controller** (string) - Required - The identifier of the virtual controller. #### Request Body - **name** (string) - Required - The name of the coordinate system. - **position** (array) - Required - An array of three numbers representing the X, Y, and Z position. - **orientation** (array) - Required - An array of three numbers representing the orientation (e.g., rotation vector). - **orientation_type** (string) - Required - The type of orientation representation (e.g., ROTATION_VECTOR). ### Request Example ```json { "name": "CS-user", "position": [ 0, 0, 0 ], "orientation": [ 0, 0, 0 ], "orientation_type": "ROTATION_VECTOR" } ``` ### Response #### Success Response (200) - **description** (string) - OK #### Response Example ```json { "description": "OK" } ``` ``` -------------------------------- ### GET /cells/{cell}/controllers/{controller}/ios/values Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Retrieves the current values of inputs/outputs. The identifiers of the inputs/outputs must be provided in the request. ```APIDOC ## GET /cells/{cell}/controllers/{controller}/ios/values ### Description Retrieves the current values of inputs/outputs. The identifiers of the inputs/outputs must be provided in the request. Request all available input/output identifiers via [listIODescriptions](listIODescriptions). ### Method GET ### Endpoint /cells/{cell}/controllers/{controller}/ios/values ### Parameters #### Path Parameters - **cell** (string) - Required - The identifier of the cell. - **controller** (string) - Required - The identifier of the controller. #### Query Parameters - **ios** (array[string]) - Required - Array of input/output identifiers to retrieve the values for. ### Request Example ```json { "ios": ["io1", "io2"] } ``` ### Response #### Success Response (200) - **values** (object) - An object where keys are input/output identifiers and values are their current values. #### Response Example ```json { "values": { "io1": 1.23, "io2": true } } ``` ``` -------------------------------- ### StartMovementRequest Source: https://portal.wandelbots.io/docs/api/v2/ui/public.openapi.yaml/api/v2/ui/public.openapi Moves the motion group along a planned trajectory. Can be executed forwards or backwards. Supports setting outputs upon reaching locations and pausing/resuming based on I/O conditions. ```APIDOC ## POST /startMovement ### Description Initiates or resumes the movement of a motion group along a predefined trajectory. ### Method POST ### Endpoint /startMovement ### Parameters #### Request Body - **message_type** (string) - Optional - Type specifier for server, defaults to "StartMovementRequest". - **direction** (Direction) - Required - Specifies the direction of movement (forward or backward). - **set_outputs** (array of IOValue) - Optional - A list of output commands to be set when specific locations are reached. - **start_on_io** (StartOnIO) - Optional - Defines an I/O condition that must be met before the movement begins. - **pause_on_io** (PauseOnIO) - Optional - Defines an I/O condition that will pause the movement if met during execution. ### Request Example ```json { "message_type": "StartMovementRequest", "direction": "forward", "set_outputs": [ { "id": "output_1", "value": 1 } ], "start_on_io": { "io": { "id": "input_1", "value": 0 }, "comparator": ">=" }, "pause_on_io": { "io": { "id": "input_2", "value": 1 }, "comparator": "==" } } ``` ### Response #### Success Response (200) - **kind** (string) - Indicates successful reception of the request, e.g., "INITIALIZE_RECEIVED". #### Response Example ```json { "kind": "INITIALIZE_RECEIVED" } ``` ```