{
  "openapi": "3.0.1",
  "info": {
    "title": "CloudAPI",
    "version": "1.0"
  },
  "paths": {
    "/api/admin/users": {
      "post": {
        "tags": [
          "Administration"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrentUserProfile"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrentUserProfile"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrentUserProfile"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/resources": {
      "post": {
        "tags": [
          "Administration"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResourceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResourceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResourceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceRecord"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceRecord"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceRecord"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/access-grants": {
      "post": {
        "tags": [
          "Administration"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignAccessRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignAccessRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignAccessRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGrantRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGrantRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessGrantRecord"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccessGrantRecord"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccessGrantRecord"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccessGrantRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/catalog/sync-local": {
      "post": {
        "tags": [
          "Administration"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceRecord"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceRecord"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/bootstrap-organization": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BootstrapOrganizationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BootstrapOrganizationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BootstrapOrganizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/me": {
      "get": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              }
            }
          }
        }
      }
    },
    "/health": {
      "get": {
        "tags": [
          "CloudAPI"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/deployment-governance/sync": {
      "post": {
        "tags": [
          "DeploymentGovernance"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeploymentGovernanceSyncRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeploymentGovernanceSyncRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeploymentGovernanceSyncRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentGovernanceSyncResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentGovernanceSyncResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentGovernanceSyncResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/deployment-governance/nodes/{edgeNodeId}": {
      "get": {
        "tags": [
          "DeploymentGovernance"
        ],
        "parameters": [
          {
            "name": "edgeNodeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentGovernanceNodeStateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentGovernanceNodeStateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentGovernanceNodeStateDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/inspection/process": {
      "post": {
        "tags": [
          "Inspection"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InspectionProcessRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InspectionProcessRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InspectionProcessRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inspection/results": {
      "post": {
        "tags": [
          "Inspection"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InspectionResultDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InspectionResultDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InspectionResultDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/inspection/reports": {
      "get": {
        "tags": [
          "Inspection"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/mobile/profile": {
      "put": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMobileProfileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMobileProfileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMobileProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              }
            }
          }
        }
      }
    },
    "/api/mobile/profile/password": {
      "post": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeMobilePasswordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeMobilePasswordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeMobilePasswordRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserProfile"
                }
              }
            }
          }
        }
      }
    },
    "/api/mobile/customization": {
      "get": {
        "tags": [
          "MobileExperience"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MobileCustomizationRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileCustomizationRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileCustomizationRecord"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMobileCustomizationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMobileCustomizationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMobileCustomizationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MobileCustomizationRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileCustomizationRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileCustomizationRecord"
                }
              }
            }
          }
        }
      }
    },
    "/api/mobile/devices": {
      "post": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterMobileDeviceRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterMobileDeviceRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterMobileDeviceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MobileDeviceRegistrationRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileDeviceRegistrationRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileDeviceRegistrationRecord"
                }
              }
            }
          }
        }
      }
    },
    "/api/mobile/notifications": {
      "get": {
        "tags": [
          "MobileExperience"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileNotificationRecord"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileNotificationRecord"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileNotificationRecord"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileNotificationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileNotificationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileNotificationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MobileNotificationRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileNotificationRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileNotificationRecord"
                }
              }
            }
          }
        }
      }
    },
    "/api/mobile/notifications/{notificationId}/read": {
      "post": {
        "tags": [
          "MobileExperience"
        ],
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/mobile/feedback": {
      "post": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileFeedbackRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileFeedbackRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileFeedbackRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MobileFeedbackRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileFeedbackRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileFeedbackRecord"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "MobileExperience"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileFeedbackRecord"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileFeedbackRecord"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileFeedbackRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/mobile/activity": {
      "post": {
        "tags": [
          "MobileExperience"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileActivityRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileActivityRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMobileActivityRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MobileActivityRecord"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileActivityRecord"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MobileActivityRecord"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "MobileExperience"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileActivityRecord"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileActivityRecord"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobileActivityRecord"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/remote-dashboard/summary": {
      "get": {
        "tags": [
          "RemoteDashboard"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardSummaryDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardSummaryDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardSummaryDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/remote-dashboard/resources/{resourceType}": {
      "get": {
        "tags": [
          "RemoteDashboard"
        ],
        "parameters": [
          {
            "name": "resourceType",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceAccessDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceAccessDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ResourceAccessDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/robotics/robot/command": {
      "post": {
        "tags": [
          "Robotics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RobotCommandRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RobotCommandRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RobotCommandRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/robotics/ros/command": {
      "post": {
        "tags": [
          "Robotics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RosAdapterCommandRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RosAdapterCommandRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RosAdapterCommandRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/robotics/gazebo/command": {
      "post": {
        "tags": [
          "Robotics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GazeboSimCommandRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GazeboSimCommandRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GazeboSimCommandRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/robotics/gemini/plan": {
      "post": {
        "tags": [
          "Robotics"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeminiPlanCommandRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/GeminiPlanCommandRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/GeminiPlanCommandRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccessGrantRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceId": {
            "type": "string",
            "format": "uuid"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          },
          "grantedByUserId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "AssignAccessRequest": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceId": {
            "type": "string",
            "format": "uuid"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AuthResponse": {
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string",
            "nullable": true
          },
          "expiresAtUtc": {
            "type": "string",
            "format": "date-time"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "BootstrapOrganizationRequest": {
        "type": "object",
        "properties": {
          "organizationName": {
            "type": "string",
            "nullable": true
          },
          "rootEmail": {
            "type": "string",
            "nullable": true
          },
          "rootDisplayName": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChangeMobilePasswordRequest": {
        "type": "object",
        "properties": {
          "currentPassword": {
            "type": "string",
            "nullable": true
          },
          "newPassword": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateMobileActivityRequest": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "route": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateMobileFeedbackRequest": {
        "type": "object",
        "properties": {
          "mood": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "context": {
            "type": "string",
            "nullable": true
          },
          "imageBase64": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateMobileNotificationRequest": {
        "type": "object",
        "properties": {
          "notificationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "route": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateResourceRequest": {
        "type": "object",
        "properties": {
          "resourceType": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "externalPath": {
            "type": "string",
            "nullable": true
          },
          "parentResourceId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateUserRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CurrentUserProfile": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "isRootUser": {
            "type": "boolean"
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "aboutUser": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CvPipelineDto": {
        "type": "object",
        "properties": {
          "enableGrayscale": {
            "type": "boolean"
          },
          "enableGaussianBlur": {
            "type": "boolean"
          },
          "gaussianSigma": {
            "type": "number",
            "format": "float"
          },
          "enableAutoContrast": {
            "type": "boolean"
          },
          "enableBinaryThreshold": {
            "type": "boolean"
          },
          "binaryThreshold": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DashboardSummaryDto": {
        "type": "object",
        "properties": {
          "organization": {
            "type": "string",
            "nullable": true
          },
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAccessDto"
            },
            "nullable": true
          },
          "workflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAccessDto"
            },
            "nullable": true
          },
          "dashboards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAccessDto"
            },
            "nullable": true
          },
          "documentation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAccessDto"
            },
            "nullable": true
          },
          "developmentLicenses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceAccessDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeploymentAuditEventDto": {
        "type": "object",
        "properties": {
          "timestampUtc": {
            "type": "string",
            "nullable": true
          },
          "action": {
            "type": "string",
            "nullable": true
          },
          "target": {
            "type": "string",
            "nullable": true
          },
          "outcome": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeploymentGovernanceNodeStateDto": {
        "type": "object",
        "properties": {
          "edgeNodeId": {
            "type": "string",
            "nullable": true
          },
          "lastSyncUtc": {
            "type": "string",
            "nullable": true
          },
          "totalInventoryCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalAuditCount": {
            "type": "integer",
            "format": "int32"
          },
          "latestInventory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeploymentInventorySnapshotDto"
            },
            "nullable": true
          },
          "latestAudit": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeploymentAuditEventDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeploymentGovernanceSyncRequestDto": {
        "type": "object",
        "properties": {
          "edgeNodeId": {
            "type": "string",
            "nullable": true
          },
          "syncedAtUtc": {
            "type": "string",
            "nullable": true
          },
          "remoteInventory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeploymentInventorySnapshotDto"
            },
            "nullable": true
          },
          "deploymentAudit": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeploymentAuditEventDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeploymentGovernanceSyncResponseDto": {
        "type": "object",
        "properties": {
          "edgeNodeId": {
            "type": "string",
            "nullable": true
          },
          "acceptedInventoryCount": {
            "type": "integer",
            "format": "int32"
          },
          "acceptedAuditCount": {
            "type": "integer",
            "format": "int32"
          },
          "totalInventoryForNode": {
            "type": "integer",
            "format": "int32"
          },
          "totalAuditForNode": {
            "type": "integer",
            "format": "int32"
          },
          "lastSyncUtc": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeploymentInventorySnapshotDto": {
        "type": "object",
        "properties": {
          "timestampUtc": {
            "type": "string",
            "nullable": true
          },
          "host": {
            "type": "string",
            "nullable": true
          },
          "user": {
            "type": "string",
            "nullable": true
          },
          "platform": {
            "type": "string",
            "nullable": true
          },
          "payload": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GazeboSimCommandRequestDto": {
        "type": "object",
        "properties": {
          "worldName": {
            "type": "string",
            "nullable": true
          },
          "commandType": {
            "type": "string",
            "nullable": true
          },
          "modelName": {
            "type": "string",
            "nullable": true
          },
          "scenarioId": {
            "type": "string",
            "nullable": true
          },
          "paramsJson": {
            "type": "string",
            "nullable": true
          },
          "headless": {
            "type": "boolean"
          },
          "timeoutMs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GeminiPlanCommandRequestDto": {
        "type": "object",
        "properties": {
          "missionId": {
            "type": "string",
            "nullable": true
          },
          "prompt": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "contextJson": {
            "type": "string",
            "nullable": true
          },
          "temperature": {
            "type": "number",
            "format": "double"
          },
          "maxTokens": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "InspectionProcessRequestDto": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string",
            "nullable": true
          },
          "imageBase64": {
            "type": "string",
            "nullable": true
          },
          "modelPath": {
            "type": "string",
            "nullable": true
          },
          "recipeId": {
            "type": "string",
            "nullable": true
          },
          "mode": {
            "type": "string",
            "nullable": true
          },
          "deadlineMs": {
            "type": "integer",
            "format": "int32"
          },
          "roi": {
            "$ref": "#/components/schemas/RoiDto"
          },
          "pipeline": {
            "$ref": "#/components/schemas/CvPipelineDto"
          }
        },
        "additionalProperties": false
      },
      "InspectionResultDto": {
        "type": "object",
        "properties": {
          "partId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "confidence": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "LoginRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MobileActivityRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "route": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MobileCustomizationRecord": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "profileImageBase64": {
            "type": "string",
            "nullable": true
          },
          "backgroundImageBase64": {
            "type": "string",
            "nullable": true
          },
          "updatedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MobileDeviceRegistrationRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "platform": {
            "type": "string",
            "nullable": true
          },
          "deviceToken": {
            "type": "string",
            "nullable": true
          },
          "pushChannel": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MobileFeedbackRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "mood": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "context": {
            "type": "string",
            "nullable": true
          },
          "imageBase64": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MobileNotificationRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "route": {
            "type": "string",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          },
          "isRead": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "RegisterMobileDeviceRequest": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "nullable": true
          },
          "deviceToken": {
            "type": "string",
            "nullable": true
          },
          "pushChannel": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResourceAccessDto": {
        "type": "object",
        "properties": {
          "resourceId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceType": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "externalPath": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResourceRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "resourceType": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "externalKey": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "externalPath": {
            "type": "string",
            "nullable": true
          },
          "parentResourceId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "createdAtUtc": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "RobotCommandRequestDto": {
        "type": "object",
        "properties": {
          "robotId": {
            "type": "string",
            "nullable": true
          },
          "commandType": {
            "type": "string",
            "nullable": true
          },
          "target": {
            "$ref": "#/components/schemas/RobotPoseDto"
          },
          "speed": {
            "type": "number",
            "format": "double"
          },
          "accel": {
            "type": "number",
            "format": "double"
          },
          "safetyProfile": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RobotPoseDto": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number",
            "format": "double"
          },
          "y": {
            "type": "number",
            "format": "double"
          },
          "z": {
            "type": "number",
            "format": "double"
          },
          "rx": {
            "type": "number",
            "format": "double"
          },
          "ry": {
            "type": "number",
            "format": "double"
          },
          "rz": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "RoiDto": {
        "type": "object",
        "properties": {
          "x": {
            "type": "integer",
            "format": "int32"
          },
          "y": {
            "type": "integer",
            "format": "int32"
          },
          "width": {
            "type": "integer",
            "format": "int32"
          },
          "height": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "RosAdapterCommandRequestDto": {
        "type": "object",
        "properties": {
          "nodeName": {
            "type": "string",
            "nullable": true
          },
          "topic": {
            "type": "string",
            "nullable": true
          },
          "messageType": {
            "type": "string",
            "nullable": true
          },
          "payloadJson": {
            "type": "string",
            "nullable": true
          },
          "namespace": {
            "type": "string",
            "nullable": true
          },
          "qos": {
            "type": "integer",
            "format": "int32"
          },
          "timeoutMs": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "UpdateMobileCustomizationRequest": {
        "type": "object",
        "properties": {
          "profileImageBase64": {
            "type": "string",
            "nullable": true
          },
          "backgroundImageBase64": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateMobileProfileRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "aboutUser": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    }
  }
}