openapi: 3.0.0 servers: [] info: description: '' version: 1.0.0 title: Audit Module API termsOfService: 'http://www.belladati.com' contact: email: developer@belladati.com name: Developer @ Belladati tags: [] paths: /auth/token: post: description: Issue JWT token operationId: authTokenPost requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserPassword' responses: '200': description: Authentication successful content: application/json: schema: $ref: '#/components/schemas/Token' '401': description: Authentication failed /pause: get: summary: Pause module description: '' parameters: - name: name in: query required: true schema: type: string operationId: pause responses: '200': description: Pause OK '400': description: Invalid module name /resume: get: summary: Resume module description: '' parameters: - name: name in: query required: true schema: type: string operationId: resume responses: '200': description: Resume OK content: application/json: schema: {} '400': description: Invalid module name /shutdown: get: summary: Shutdown the host description: Will issue a system command to turn of the host operationId: shutdown responses: '200': description: Shutdown OK content: application/json: schema: {} '400': description: Invalid module name /restart: get: summary: Restart the host description: Will issue a system command to restart the host operationId: restart responses: '200': description: Restart OK content: application/json: schema: {} '400': description: Invalid module name /reload: post: summary: Reload module description: '' parameters: - name: name in: query required: true schema: type: string operationId: reload responses: '200': description: Reload OK content: application/json: schema: {} '400': description: Invalid module name /status: get: summary: '' description: '' parameters: [] operationId: status responses: '200': description: Status response content: application/json: schema: $ref: '#/components/schemas/StatusResponse' /config: post: description: Handle post config for existing module parameters: - name: name in: query required: true schema: type: string operationId: config responses: '200': description: Config OK '400': description: Config error requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AnyValue' description: Config JSON /module: post: description: Handle adding new module with config parameters: - name: name description: Name of the main module to add this new module into, use /mainmodules to get name of mainmodules in: query required: true schema: type: string operationId: modulePost requestBody: required: true description: Config JSON in various forms content: text/plain: schema: type: string description: Config JSON as plain string application/json: schema: $ref: '#/components/schemas/AnyValue' description: Config JSON responses: '200': description: Post config OK '400': description: Post config error content: application/json: schema: $ref: '#/components/schemas/AnyValue' delete: description: Delete module parameters: - name: name description: Main module name in: query schema: type: string - name: moduleName description: Module name in: query schema: type: string operationId: moduleDelete responses: '200': description: Delete module '400': description: Delete module error content: application/json: schema: $ref: '#/components/schemas/AnyValue' get: description: Get module status operationId: moduleGet parameters: - name: name description: Module name in: query schema: type: string responses: '404': description: Module not found '200': description: Module status content: application/json: schema: $ref: '#/components/schemas/ModuleStatusResponse' /modules: get: description: List all connected modules and information about them, including audit itself operationId: modules responses: '200': description: OK response content: application/json: schema: $ref: '#/components/schemas/ModulesResponse' /mainmodules: get: description: Lists main modules and their submodules, typically there will be 2 main modules - GEN_SENDER and GEN_RECEIVER and one submodule for each operationId: mainmodules responses: 200: description: Get main modules OK response content: application/json: schema: $ref: '#/components/schemas/MainmodulesResponse' /setlicense: post: description: Propagates license from audit to all modules operationId: setlicense responses: 200: description: Set license OK /user: post: description: Add or update user operationId: userPost parameters: - name: name description: Submodule name to post user to, not required in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UserRequest' responses: '200': description: Post user OK content: application/json: schema: $ref: '#/components/schemas/UserPostResponse' '400': description: Post user error content: application/json: schema: $ref: '#/components/schemas/AnyValue' delete: description: Delete user operationId: userDelete parameters: - name: name description: Submodule name to post user to, not required in: query schema: type: string - name: username in: query schema: type: string responses: '200': description: Delete user OK content: application/json: schema: $ref: '#/components/schemas/UserPostResponse' '400': description: Delete user error content: application/json: schema: $ref: '#/components/schemas/AnyValue' /sensors: get: description: Get sensors operationId: sensors responses: '200': description: Sensors statuses content: application/json: schema: $ref: '#/components/schemas/AnyValue' /data: parameters: - name: name in: query required: true schema: type: string - name: start in: query schema: type: integer - name: limit in: query schema: type: integer - name: order in: query schema: type: string get: description: Get receiver data operationId: dataGet responses: '200': description: Data from receiver content: application/json: schema: $ref: '#/components/schemas/AnyValue' delete: description: Delete receiver data, produces query DELETE FROM ... WHERE id > start AND id <= stop AND rownum() <= limit operationId: dataDelete parameters: - in: query name: start schema: type: integer - in: query name: stop schema: type: integer - in: query name: limit schema: type: integer responses: '200': description: Data deleted content: text/plain: schema: type: integer description: Number of deleted message /module/{moduleName}: parameters: - in: path name: moduleName description: Module name schema: type: string required: true get: description: Get module status operationId: moduleStatus responses: '404': description: Module not found '200': description: Module status content: application/json: schema: $ref: '#/components/schemas/ModuleStatusResponse' /module/{moduleName}/pause: get: description: Pause module operationId: modulePause parameters: - in: path name: moduleName schema: type: string required: true responses: '200': description: Module paused /module/{moduleName}/resume: get: description: Resume module operationId: moduleResume parameters: - in: path name: moduleName schema: type: string required: true responses: '200': description: Module resumed /module/{moduleName}/reload: get: description: Reload module config operationId: moduleReload parameters: - in: path name: moduleName schema: type: string required: true responses: '200': description: Module reload post: description: Reload module config operationId: moduleReloadPost parameters: - in: path name: moduleName schema: type: string required: true responses: '200': description: Module reload /module/{moduleName}/logs: get: description: Module logs operationId: moduleLogs parameters: - in: path name: moduleName schema: type: string required: true responses: '200': description: Plain text logs content: text/plain: schema: type: string /module/{moduleName}/users: post: description: Add new user to a module operationId: moduleUsersPost parameters: - in: path name: moduleName schema: type: string required: true requestBody: content: application/json: schema: $ref: '#/components/schemas/UserRequest' responses: '200': description: User was added successfully content: application/json: schema: $ref: '#/components/schemas/UserPostResponse' /module/{moduleName}/users/{username}: delete: description: Delete user from a module operationId: moduleUsersDelete parameters: - in: path name: moduleName schema: type: string required: true - in: path name: username schema: type: string required: true responses: '200': description: User was deleted successfully content: application/json: schema: $ref: '#/components/schemas/UserPostResponse' /receivers/{moduleName}/data: parameters: - in: path name: moduleName schema: type: string required: true get: description: Get list of the current messages operationId: receiverDataGet responses: '200': description: Current receiever data that receiver has received and has not been deleted yet content: application/json: schema: $ref: '#/components/schemas/AnyValue' delete: description: Delete receiver data operationId: receiverDataDelete parameters: - in: query name: start schema: type: integer - in: query name: stop schema: type: integer - in: query name: limit schema: type: integer responses: '200': description: Data deleted content: text/plain: schema: type: integer description: Number of deleted message /devices: get: description: List all connected devices operationId: devicesGet parameters: - in: query name: receiver_id description: Filter list by receiver schema: type: string - in: query name: device_id description: Filter list by device ID schema: type: string - in: query name: start description: Filter list by timestamp from schema: type: string - in: query name: stop description: Filter list by timestamp to schema: type: string - in: query name: sensor_id description: Filter list by sensor schema: type: string - in: query name: order description: List order by device ID, choose direction schema: type: string enum: - ASC - DESC responses: '200': description: Filtered list of devices content: application/json: schema: $ref: '#/components/schemas/DevicesList' /deviceGroups: get: description: List of defined device groups operationId: deviceGroupsGet responses: '200': description: Filtered list of devices content: application/json: schema: $ref: '#/components/schemas/DeviceGroups' post: description: Create new device group operationId: deviceGroupsPost requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeviceGroup' responses: '200': description: Device group has been created /deviceGroups/{id}: delete: description: Delete device group operationId: deviceGroupsDelete parameters: - in: path name: id description: Filter list by receiver schema: type: integer responses: '200': description: Device group has been deleted /logs: get: description: Fetch module logs operationId: logs parameters: - in: query name: name schema: type: string required: true - in: query name: position schema: type: integer - in: query name: count schema: type: integer responses: '200': description: Plain text logs content: text/plain: schema: type: string /logout: get: description: Logout user from module operationId: logout responses: '401': description: User was logged out components: schemas: AnyValue: {} Users: type: object properties: username: type: string roles: type: array items: type: String StatusResponse: type: object properties: type: type: string name: type: string version: type: string status: type: string totalSensors: type: int datetime: type: string timestamp: type: string localMemberUUID: type: string clusterMembersUUID: type: array items: type: string sid: type: string licenseValid: type: string licenseError: type: string startupError: type: string config: type: AnyValue users: type: Users MainmodulesResponse: type: array items: type: AnyValue UserRequest: type: object properties: username: type: string password: type: string role: type: string UserPostResponse: type: object properties: username: type: string result: type: string enum: - ok - error error: type: string UserResponse: type: object properties: username: type: string password: type: string roles: type: array items: type: string AuthResponse: type: object properties: drop: type: boolean enabled: type: boolean merge: type: boolean users: type: array items: type: UserResponse ModuleStatusResponse: type: object properties: config: description: Module specific configuration, includes auth settings, every module has a different response type: AnyValue status: description: Module specific status information, with some common properties like status or name type: AnyValue ModulesResponse: type: array items: type: ModuleResponseArrayItem ModuleResponseArrayItem: type: object properties: name: type: string registration: type: string status: enum: - UP - PAUSED - TO_PAUSED type: type: string location: type: object properties: endpoint: type: string host: type: string port: type: integer root: type: string ssl: type: boolean metadata: type: object properties: type: type: string DevicesList: type: array items: type: object properties: id: type: integer json: type: string receiver_id: type: string sensor_id: type: string timestamp: type: number DeviceGroups: type: array items: type: DeviceGroup DeviceGroup: type: object properties: id: type: string type: type: string description: Type assignment method enum: - IP_BASED - CERTIFICATE_BASED - TOPIC_BASED - ID_BASED - RECEIVER_BASED - MANUAL typeValue: type: string description: > IP range (comma separated), for IP_BASED Certificate (PEM format), for CERTIFICATE_BASED Select receiver, for RECEIVER_BASED Device IDs (comma separated). for ID_BASED MQTT topic name, for TOPIC_BASED deviceType: type: integer description: ID of device type UserPassword: type: object properties: username: type: string password: type: string Token: type: object properties: token: type: string
openapi: 3.0.0
servers: []
info:
  description: ''
  version: 1.0.0
  title: Audit Module API
  termsOfService: 'http://www.belladati.com'
  contact:
    email: developer@belladati.com
    name: Developer @ Belladati
tags: []
paths:
  /auth/token:
    post:
      description: Issue JWT token
      operationId: authTokenPost
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPassword'
      responses:
        '200':
          description: Authentication successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
        '401':
          description: Authentication failed

  /pause:
    get:
      summary: Pause module
      description: ''
      parameters:
        - name: name
          in: query
          required: true
          schema:
            type: string
      operationId: pause
      responses:
        '200':
          description: Pause OK
        '400':
          description: Invalid module name
  /resume:
    get:
      summary: Resume module
      description: ''
      parameters:
        - name: name
          in: query
          required: true
          schema:
            type: string
      operationId: resume
      responses:
        '200':
          description: Resume OK
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid module name
  /shutdown:
    get:
      summary: Shutdown the host
      description: Will issue a system command to turn of the host
      operationId: shutdown
      responses:
        '200':
          description: Shutdown OK
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid module name
  /restart:
    get:
      summary: Restart the host
      description: Will issue a system command to restart the host
      operationId: restart
      responses:
        '200':
          description: Restart OK
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid module name
  /reload:
    post:
      summary: Reload module
      description: ''
      parameters:
        - name: name
          in: query
          required: true
          schema:
            type: string
      operationId: reload
      responses:
        '200':
          description: Reload OK
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid module name
  /status:
    get:
      summary: ''
      description: ''
      parameters: []
      operationId: status
      responses:
        '200':
          description: Status response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
  /config:
    post:
      description: Handle post config for existing module
      parameters:
        - name: name
          in: query
          required: true
          schema:
            type: string
      operationId: config
      responses:
        '200':
          description: Config OK
        '400':
          description: Config error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnyValue'
        description: Config JSON
  /module:
    post:
      description: Handle adding new module with config
      parameters:
        - name: name
          description: Name of the main module to add this new module into, use /mainmodules to get name of mainmodules
          in: query
          required: true
          schema:
            type: string
      operationId: modulePost
      requestBody:
        required: true
        description: Config JSON in various forms
        content:
          text/plain:
            schema:
              type: string
              description: Config JSON as plain string
          application/json:
            schema:
              $ref: '#/components/schemas/AnyValue'
              description: Config JSON
      responses:
        '200':
          description: Post config OK
        '400':
          description: Post config error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'
    delete:
      description: Delete module
      parameters:
        - name: name
          description: Main module name
          in: query
          schema:
            type: string
        - name: moduleName
          description: Module name
          in: query
          schema:
            type: string
      operationId: moduleDelete
      responses:
        '200':
          description: Delete module
        '400':
          description: Delete module error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'
    get:
      description: Get module status
      operationId: moduleGet
      parameters:
        - name: name
          description: Module name
          in: query
          schema:
            type: string
      responses:
        '404':
          description: Module not found
        '200':
          description: Module status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleStatusResponse'
  /modules:
    get:
      description: List all connected modules and information about them, including audit itself
      operationId: modules
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModulesResponse'
  /mainmodules:
    get:
      description: Lists main modules and their submodules, typically there will be 2 main modules - GEN_SENDER and GEN_RECEIVER and one submodule for each
      operationId: mainmodules
      responses:
        200:
          description: Get main modules OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainmodulesResponse'
  /setlicense:
    post:
      description: Propagates license from audit to all modules
      operationId: setlicense
      responses:
        200:
          description: Set license OK
  /user:
    post:
      description: Add or update user
      operationId: userPost
      parameters:
        - name: name
          description: Submodule name to post user to, not required
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
      responses:
        '200':
          description: Post user OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPostResponse'
        '400':
          description: Post user error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'
    delete:
      description: Delete user
      operationId: userDelete
      parameters:
        - name: name
          description: Submodule name to post user to, not required
          in: query
          schema:
            type: string
        - name: username
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Delete user OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPostResponse'
        '400':
          description: Delete user error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'
  /sensors:
    get:
      description: Get sensors
      operationId: sensors
      responses:
        '200':
          description: Sensors statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'              
  /data:
    parameters:
      - name: name
        in: query
        required: true
        schema:
          type: string
      - name: start
        in: query
        schema:
          type: integer
      - name: limit
        in: query
        schema:
          type: integer
      - name: order
        in: query
        schema:
          type: string
    get:
      description: Get receiver data
      operationId: dataGet
      responses:
        '200':
          description: Data from receiver
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'
    delete:
      description: Delete receiver data, produces query DELETE FROM ... WHERE id > start AND id <= stop AND rownum() <= limit
      operationId: dataDelete
      parameters:
        - in: query
          name: start
          schema:
            type: integer
        - in: query
          name: stop
          schema:
            type: integer
        - in: query
          name: limit
          schema:
            type: integer
      responses:
        '200':
          description: Data deleted
          content:
            text/plain:
              schema:
                type: integer
                description: Number of deleted message

  /module/{moduleName}:
    parameters:
      - in: path
        name: moduleName
        description: Module name
        schema:
          type: string
        required: true
    get:
      description: Get module status
      operationId: moduleStatus
      responses:
        '404':
          description: Module not found
        '200':
          description: Module status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModuleStatusResponse'

  /module/{moduleName}/pause:
    get:
      description: Pause module
      operationId: modulePause
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Module paused

  /module/{moduleName}/resume:
    get:
      description: Resume module
      operationId: moduleResume
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Module resumed

  /module/{moduleName}/reload:
    get:
      description: Reload module config
      operationId: moduleReload
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Module reload
    post:
      description: Reload module config
      operationId: moduleReloadPost
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Module reload

  /module/{moduleName}/logs:
    get:
      description: Module logs
      operationId: moduleLogs
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Plain text logs
          content:
            text/plain:
              schema:
                type: string

  /module/{moduleName}/users:
    post:
      description: Add new user to a module
      operationId: moduleUsersPost
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRequest'
      responses:
        '200':
          description: User was added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPostResponse'

  /module/{moduleName}/users/{username}:
    delete:
      description: Delete user from a module
      operationId: moduleUsersDelete
      parameters:
        - in: path
          name: moduleName
          schema:
            type: string
          required: true
        - in: path
          name: username
          schema:
            type: string
          required: true
      responses:
        '200':
          description: User was deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPostResponse'

  /receivers/{moduleName}/data:
    parameters:
      - in: path
        name: moduleName
        schema:
          type: string
        required: true
    get:
      description: Get list of the current messages
      operationId: receiverDataGet
      responses:
        '200':
          description: Current receiever data that receiver has received and has not been deleted yet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyValue'
    delete:
      description: Delete receiver data
      operationId: receiverDataDelete
      parameters:
        - in: query
          name: start
          schema:
            type: integer
        - in: query
          name: stop
          schema:
            type: integer
        - in: query
          name: limit
          schema:
            type: integer
      responses:
        '200':
          description: Data deleted
          content:
            text/plain:
              schema:
                type: integer
                description: Number of deleted message

  /devices:
    get:
      description: List all connected devices
      operationId: devicesGet
      parameters:
        - in: query
          name: receiver_id
          description: Filter list by receiver
          schema:
            type: string
        - in: query
          name: device_id
          description: Filter list by device ID
          schema:
            type: string
        - in: query
          name: start
          description: Filter list by timestamp from
          schema:
            type: string
        - in: query
          name: stop
          description: Filter list by timestamp to
          schema:
            type: string
        - in: query
          name: sensor_id
          description: Filter list by sensor
          schema:
            type: string
        - in: query
          name: order
          description: List order by device ID, choose direction
          schema:
            type: string
            enum:
              - ASC
              - DESC
      responses:
        '200':
          description: Filtered list of devices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesList'

  /deviceGroups:
    get:
      description: List of defined device groups
      operationId: deviceGroupsGet
      responses:
        '200':
          description: Filtered list of devices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceGroups'
    post:
      description: Create new device group
      operationId: deviceGroupsPost
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceGroup'
      responses:
        '200':
          description: Device group has been created

  /deviceGroups/{id}:
    delete:
      description: Delete device group
      operationId: deviceGroupsDelete
      parameters:
        - in: path
          name: id
          description: Filter list by receiver
          schema:
            type: integer
      responses:
        '200':
          description: Device group has been deleted



  /logs:
    get:
      description: Fetch module logs
      operationId: logs
      parameters:
        - in: query
          name: name
          schema:
            type: string
          required: true
        - in: query
          name: position
          schema:
              type: integer
        - in: query
          name: count
          schema:
              type: integer
      responses:
        '200':
          description: Plain text logs
          content:
            text/plain:
              schema:
                type: string

  /logout:
    get:
      description: Logout user from module
      operationId: logout
      responses:
        '401':
          description: User was logged out

components:
  schemas:
    AnyValue: {}
    Users:
      type: object
      properties:
        username:
          type: string
        roles:
          type: array
          items:
            type: String
    StatusResponse:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        version:
          type: string
        status:
          type: string
        totalSensors:
          type: int
        datetime:
          type: string
        timestamp:
          type: string
        localMemberUUID:
          type: string
        clusterMembersUUID:
          type: array
          items:
            type: string
        sid:
          type: string
        licenseValid:
          type: string
        licenseError:
          type: string
        startupError:
          type: string
        config:
          type: AnyValue
        users:
          type: Users
    MainmodulesResponse:
      type: array
      items:
        type: AnyValue
    UserRequest:
      type: object
      properties:
        username:
          type: string
        password:
          type: string
        role:
          type: string
    UserPostResponse:
      type: object
      properties:
        username:
          type: string
        result:
          type: string
          enum:
            - ok
            - error
        error:
          type: string
    UserResponse:
      type: object
      properties:
        username:
          type: string
        password:
          type: string
        roles:
          type: array
          items:
            type: string
    AuthResponse:
      type: object
      properties:
        drop:
          type: boolean
        enabled:
          type: boolean
        merge:
          type: boolean
        users:
          type: array
          items:
            type: UserResponse
    ModuleStatusResponse:
      type: object
      properties:
        config:
          description: Module specific configuration, includes auth settings, every module has a different response
          type: AnyValue
        status:
          description: Module specific status information, with some common properties like status or name
          type: AnyValue
    ModulesResponse:
      type: array
      items:
        type: ModuleResponseArrayItem
    ModuleResponseArrayItem:
      type: object
      properties:
        name:
          type: string
        registration:
          type: string
        status:
          enum:
            - UP
            - PAUSED
            - TO_PAUSED
        type:
          type: string
        location:
          type: object
          properties:
            endpoint:
              type: string
            host:
              type: string
            port:
              type: integer
            root:
              type: string
            ssl:
              type: boolean
        metadata:
          type: object
          properties:
            type:
              type: string

    DevicesList:
      type: array
      items:
        type: object
        properties:
          id:
            type: integer
          json:
            type: string
          receiver_id:
            type: string
          sensor_id:
            type: string
          timestamp:
            type: number

    DeviceGroups:
      type: array
      items:
        type: DeviceGroup

    DeviceGroup:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          description: Type assignment method
          enum:
            - IP_BASED
            - CERTIFICATE_BASED
            - TOPIC_BASED
            - ID_BASED
            - RECEIVER_BASED
            - MANUAL
        typeValue:
          type: string
          description: >
            IP range (comma separated), for IP_BASED
            Certificate (PEM format), for CERTIFICATE_BASED
            Select receiver, for RECEIVER_BASED
            Device IDs (comma separated). for ID_BASED
            MQTT topic name, for TOPIC_BASED
        deviceType:
          type: integer
          description: ID of device type

    UserPassword:
      type: object
      properties:
        username:
          type: string
        password:
          type: string

    Token:
      type: object
      properties:
        token:
          type: string
  • No labels