Created
August 27, 2021 08:23
-
-
Save MartinMuzatko/3bcb05865293d5417bab4548954a3bd3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"openapi":"3.0.1","info":{"title":"SICON Gateway REST API","version":"1.0.0","description":"This API provides access to the gateway database and its adapters, devices and spawned errors."},"host":"a","servers":[{"url":"/api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"bearerAuth":[]}],"swagger":"2.0","paths":{"/app-catalog":{"get":{"security":[{"bearerAuth":[]}],"tags":["appCatalog"],"description":"Serves a list of apps from the catalog","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/apps":{"get":{"tags":["app"],"security":[{"bearerAuth":[]}],"description":"Serves a list of installed apps plus the default one","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}},"post":{"security":[{"bearerAuth":[]}],"description":"Triggers the installation of a new app","tags":["app"],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/apps/{AppID}":{"get":{"tags":["app"],"security":[{"bearerAuth":[]}],"description":"Serves details to the specified app","parameters":[{"$ref":"#/parameters/AppID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"App not found"}}},"put":{"security":[{"bearerAuth":[]}],"tags":["app"],"description":"Updates app data","parameters":[{"$ref":"#/parameters/AppID"},{"$ref":"#/parameters/AppName"},{"$ref":"#/parameters/AppDockerImage"},{"$ref":"#/parameters/AppMaxInstances"},{"$ref":"#/parameters/AppRunType"},{"$ref":"#/parameters/AppSystem"},{"$ref":"#/parameters/AppListed"},{"$ref":"#/parameters/AppEnabled"},{"$ref":"#/parameters/AppContainerName"}],"consumes":["application/json"],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"App not found"}}},"delete":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/AppID"}],"tags":["app"],"responses":{"200":{"description":"OK"},"204":{"description":"No content"},"401":{"description":"Authorization failed"},"404":{"description":"App not found"}}}},"/apps/{AppID}/update":{"get":{"tags":["app"],"security":[{"bearerAuth":[]}],"description":"Serves the status of the update","parameters":[{"$ref":"#/parameters/AppID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"App not found"}}},"post":{"tags":["app"],"security":[{"bearerAuth":[]}],"description":"updates the app - in case of `backend` the whole system","parameters":[{"$ref":"#/parameters/AppID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"App not found"}}}},"/device-class/ioddless":{"get":{"security":[{"bearerAuth":[]}],"tags":["deviceClass"],"description":"Serves a list of DeviceClasses that are not populated with a iodd yet","produces":["application/json"],"responses":{"200":{"description":"OK"}}}},"/device-class/device-files":{"get":{"security":[{"bearerAuth":[]}],"tags":["deviceClass"],"description":"Serves a list of device files, that are installed. Parameters are VendorID, VendorName, DeviceID, ProductName, Filename, Filetype","produces":["application/json"],"responses":{"200":{"description":"OK"}}}},"/device-image/{Filename}":{"get":{"tags":["device"],"description":"Get device image","parameters":[{"$ref":"#/parameters/Filename"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device file not found"}}}},"/devices":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves a list of devices","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/devices/{ID}/reporting-export":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves a csv file containing the reporting data of the given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["text/csv"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"},"415":{"description":"Unsupported media type"}}}},"/devices/{ID}/events-export":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves a csv file containing the events of the given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["text/csv"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"},"415":{"description":"Unsupported media type"}}}},"/devices/{ID}/event-groups":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves a list of event groups for the given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{ID}/event-group-data/aggregated":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves the aggregate values of the event group data for the given device as defined in the event group","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{ID}/event-group-data/trends":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves the trends of the event group data for the given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{ID}/event-group-data/history":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves all values of the event group data for the given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/missing-device-description-files":{"get":{"security":[{"bearerAuth":[]}],"tags":["device"],"description":"Serves a list of objects of device parameters (VendorID, VendorName, DeviceID, ProductName), whose DeviceInstance is lacking a device description file, like an iodd or an sdd, needed for successful registration","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/counter":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves the reporting, replay and event count over all devices","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/devices/connectivity":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves the number of connected and disconnected devices and the maximum number of devices, that can be registered.","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/devices/{ID}":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Get device specific information","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}},"put":{"security":[{"bearerAuth":[]}],"tags":["device"],"description":"Update device","consumes":["application/json"],"produces":["application/json"],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}},"delete":{"security":[{"bearerAuth":[]}],"tags":["device"],"description":"Devices/:ID","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/update-available":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"check if there is a device description file update available for the given device.","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/update":{"post":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"updates the device description file of the given device.","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/data":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Get device ISDU information","parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/DataGroup"},{"$ref":"#/parameters/Grouping"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/data/{group}":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Get device ISDU information","parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/DataGroup"},{"$ref":"#/parameters/Grouping"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/events/type-count":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves the number of occurred event types of a given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/events/code-count":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves the number of occurred event codes of a given device","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/reporting":{"get":{"security":[{"basicAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/ReportingRangeStart"},{"$ref":"#/parameters/ReportingRangeEnd"},{"$ref":"#/parameters/ReportingProperties"},{"$ref":"#/parameters/ReportingSamples"},{"$ref":"#/parameters/ReportingSource"}],"tags":["device"],"description":"XXXX","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/devices/{id}/reporting-config":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves device Reporting Config","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{ID}/heatmap":{"get":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Serves device heatmap","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/devices/{id}/parameters/{index}":{"post":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Send a command to the device","parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/Index"}],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}},"put":{"security":[{"basicAuth":[]}],"tags":["device"],"description":"Update a device parameter index value","parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/Index"}],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Device not found"}}}},"/events":{"get":{"security":[{"basicAuth":[]}],"tags":["event"],"description":"Serves a list of events","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"$ref":"#/responses/OK"},"401":{"description":"Authorization failed"}}}},"/event-classes":{"get":{"security":[{"basicAuth":[]}],"tags":["eventClass"],"description":"Serves a list of event classes","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"$ref":"#/responses/OK"},"401":{"description":"Authorization failed"}}}},"/events/{ID}":{"get":{"security":[{"basicAuth":[]}],"tags":["event"],"description":"Get a single event","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Event not found"}}}},"/events-resolved":{"get":{"security":[{"basicAuth":[]}],"tags":["event"],"description":"Serves a list of events with resolved x labels","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"$ref":"#/responses/OK"},"401":{"description":"Authorization failed"}}}},"/events-resolved/{ID}":{"get":{"security":[{"basicAuth":[]}],"tags":["event"],"description":"Get a single event with resolved x labels","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Event not found"}}}},"/floorplans":{"get":{"security":[{"basicAuth":[]}],"tags":["floorplan"],"description":"Serves a list of floorplans","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}},"post":{"security":[{"bearerAuth":[]}],"tags":["floorplan"],"description":"uploads a new floorplan","produces":["application/json"],"consumes":["multipart/form-data"],"responses":{"201":{"description":"Created"},"400":{"description":"Bad Request"},"401":{"description":"Authorization failed"}},"parameters":[{"$ref":"#/parameters/Name"},{"$ref":"#/parameters/File"}]}},"/floorplans/{id}":{"parameters":[{"$ref":"#/parameters/ID"}],"get":{"security":[{"basicAuth":[]}],"tags":["floorplan"],"description":"Get floorplan","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}},"put":{"security":[{"bearerAuth":[]}],"tags":["floorplan"],"description":"Update floorplan","consumes":["application/json","multipart/formdata"],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}},"delete":{"security":[{"bearerAuth":[]}],"tags":["floorplan"],"description":"FloorPlans/:ID","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Floorplan not found"}}}},"/guidds/{id}":{"get":{"security":[{"basicAuth":[]}],"tags":["guidd"],"description":"Get the JSON contents of a guidd","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/hardware":{"get":{"security":[{"basicAuth":[]}],"tags":["hardware"],"description":"Hardware","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/main-device-classes":{"get":{"security":[{"bearerAuth":[]}],"tags":["mainDeviceClasses"],"description":"MainDeviceClasses","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"}}}},"/main-devices":{"get":{"security":[{"bearerAuth":[]}],"tags":["mainDevice"],"description":"Serves a list of mainDevices","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK","schema":null}}},"post":{"security":[{"bearerAuth":[]}],"tags":["mainDevice"],"description":"/MainDevices","produces":["application/json"],"consumes":["multipart/form-data"],"responses":{"201":{"description":"Created"},"400":{"description":"Bad Request"}},"parameters":[{"$ref":"#/parameters/MainDeviceActive"},{"$ref":"#/parameters/MainDeviceAddAddress"},{"$ref":"#/parameters/MainDeviceAllowCommands"},{"$ref":"#/parameters/MainDeviceAllowReporting"},{"$ref":"#/parameters/MainDeviceAllowEvent"},{"$ref":"#/parameters/MainDeviceAllowISDUwr"},{"$ref":"#/parameters/MainDeviceAllowPDOut"},{"$ref":"#/parameters/MainDeviceAssetID"},{"$ref":"#/parameters/DeviceClassID"},{"$ref":"#/parameters/MainDeviceCycleAwareness"},{"$ref":"#/parameters/MainDeviceIOName"},{"$ref":"#/parameters/MainDeviceIPAddress"},{"$ref":"#/parameters/MainDeviceInterfaceName"},{"$ref":"#/parameters/MainDeviceLocationPos"},{"$ref":"#/parameters/MainDeviceLocationTag"},{"$ref":"#/parameters/MainDeviceMAC"},{"$ref":"#/parameters/MainDeviceminSamplingRate"},{"$ref":"#/parameters/MainDeviceMqttProtocol"},{"$ref":"#/parameters/MainDevicePort"},{"$ref":"#/parameters/MainDeviceProtocol"},{"$ref":"#/parameters/MainDeviceSSLTLS"},{"$ref":"#/parameters/MainDeviceSubinterfaces"},{"$ref":"#/parameters/MainDeviceConfigFileUploadBody"}]}},"/main-devices/{id}":{"get":{"security":[{"bearerAuth":[]}],"tags":["mainDevice"],"description":"Get mainDevice specific information","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"}}},"delete":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"}],"tags":["mainDevice"],"description":"MainDevices/:ID","produces":["application/json"],"responses":{"200":{"description":"OK"},"404":{"description":"MainDevice not found"}}}},"/main-devices/{id}#data":{"put":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/MainDeviceBody","schema":[{"$ref":"#/definitions/putMainDevice"}]}],"tags":["mainDevice"],"description":"Update mainDevice settings","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"OK"},"404":{"description":"MainDevice not found"}}}},"/main-devices/{id}#configfile":{"put":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"},{"$ref":"#/parameters/MainDeviceConfigFileUploadBody"}],"tags":["mainDevice"],"description":"File upload for io mainDevice configuration file","produces":["application/json"],"consumes":["multipart/form-data"],"responses":{"200":{"description":"OK"},"404":{"description":"MainDevice not found"}}}},"/privileges":{"get":{"security":[{"bearerAuth":[]}],"tags":["privilege"],"description":"Serves a list of Privilege","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/privileges/{id}":{"get":{"security":[{"bearerAuth":[]}],"tags":["privilege"],"description":"Get Privilege specific information","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}},"put":{"security":[{"bearerAuth":[]}],"tags":["privilege"],"description":"Update Privilege","consumes":["application/json"],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}},"delete":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"}],"tags":["privilege"],"description":"privileges/:ID","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"},"404":{"description":"Privilege not found"}}}},"/roles":{"get":{"security":[{"bearerAuth":[]}],"tags":["role"],"description":"Serves a list of Role","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"}}}},"/roles/{id}":{"get":{"security":[{"bearerAuth":[]}],"tags":["role"],"description":"Get Role specific information","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"}}},"put":{"security":[{"bearerAuth":[]}],"tags":["role"],"description":"Update Role","consumes":["application/json"],"produces":["application/json"],"responses":{"200":{"description":"OK"}}},"delete":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"}],"tags":["role"],"description":"roles/:ID","responses":{"200":{"description":"OK"},"404":{"description":"Role not found"}}}},"/server":{"get":{"tags":["server"],"description":"Returns the Server configuration","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]},"put":{"tags":["server"],"description":"Updates the server configufration","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"server","in":"body","description":"Server object that overwrites the existing IPs, ports, WLAN Settings and access","required":true,"schema":{"type":"object"}}],"responses":{"200":{"description":"Modified"},"400":{"description":"Some of the fields fail validation"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/ping":{"get":{"parameters":[{"$ref":"#/parameters/IPAddress"},{"$ref":"#/parameters/Timeout"}],"tags":["server"],"description":"ping an OT or IT device connected to the sicon box","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/status":{"get":{"tags":["server"],"description":"get overall server status","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/reboot":{"get":{"tags":["server"],"description":"reboot server","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/shutdown":{"get":{"tags":["server"],"description":"shutdown server","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/service-status":{"get":{"tags":["server"],"description":"Status of the LEDs and LAN services","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/scan":{"get":{"tags":["server"],"description":"Scan for IPs on the interfaces of the hardware","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/information":{"get":{"tags":["server"],"description":"Get hardware data - CPU, memory, etc","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}},"security":[{"bearerAuth":[]}]}},"/server/timezones":{"get":{"security":[{"bearerAuth":[]}],"tags":["server","timezone"],"description":"Serves a list of timezones","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/server/timezone":{"get":{"security":[{"bearerAuth":[]}],"tags":["server","timezone"],"description":"Serves the box` timezone","produces":["application/json"],"responses":{"200":{"description":"OK"}}},"put":{"security":[{"basicAuth":[]}],"tags":["server","timezone"],"description":"Sets the box` timezones","responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/users":{"get":{"security":[{"bearerAuth":[]}],"tags":["user"],"description":"Serves a list of User","parameters":[{"$ref":"#/parameters/Limit"},{"$ref":"#/parameters/Offset"},{"$ref":"#/parameters/Properties"},{"$ref":"#/parameters/Filter"},{"$ref":"#/parameters/Group"},{"$ref":"#/parameters/Count"}],"produces":["application/json"],"responses":{"200":{"description":"OK"}}}},"/users/{id}":{"get":{"security":[{"bearerAuth":[]}],"tags":["user"],"description":"Get User specific information","parameters":[{"$ref":"#/parameters/ID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"}}},"put":{"security":[{"bearerAuth":[]}],"tags":["user"],"description":"Update User","consumes":["application/json"],"produces":["application/json"],"responses":{"200":{"description":"OK"}}},"delete":{"security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/parameters/ID"}],"tags":["user"],"description":"Users/:ID","responses":{"200":{"description":"OK"},"404":{"description":"User not found"}}}},"/vendors":{"get":{"security":[{"basicAuth":[]}],"parameters":[{"$ref":"#/parameters/Order"}],"tags":["vendors"],"responses":{"200":{"schema":{"$ref":"#/definitions/Vendor"}},"401":{"description":"Authorization failed"}}}},"/vendors/device-count":{"get":{"security":[{"basicAuth":[]}],"tags":["vendors"],"responses":{"200":{"schema":{"$ref":"#/definitions/Vendor"}},"401":{"description":"Authorization failed"}}}},"/version":{"get":{"security":[{"bearerAuth":[]}],"tags":["version"],"description":"Get a changelog of all versions (git tags)","parameters":[{"$ref":"#/parameters/VersionStart"},{"$ref":"#/parameters/VersionEnd"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/version/installed":{"get":{"security":[{"bearerAuth":[]}],"tags":["version"],"description":"Get currently installed version","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/version/latest":{"get":{"security":[{"bearerAuth":[]}],"tags":["version"],"description":"Get latest (on build server) installed version","produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}},"/version/{tag}":{"get":{"security":[{"bearerAuth":[]}],"tags":["version"],"description":"Get a specific version from upstream build server","parameters":[{"$ref":"#/parameters/VersionID"}],"produces":["application/json"],"responses":{"200":{"description":"OK"},"401":{"description":"Authorization failed"}}}}},"definitions":{"ID":{"type":"number","description":"Unique identifier for the resource"},"MainDevice":{"type":"object","properties":{"ID":{"$ref":"#/definitions/ID"}}},"postMainDevice":{"type":"object","required":["ClassesID"],"properties":{"Active":{"type":"boolean"},"AddAddress":{"type":"string"},"AllowCommands":{"type":"boolean"},"AllowReporting":{"type":"boolean"},"AllowEvent":{"type":"boolean"},"AllowISDUwr":{"type":"boolean"},"AllowPDOut":{"type":"boolean"},"AssetID":{"type":"string"},"ClassesID":{"type":"integer"},"CycleAwareness":{"type":"boolean"},"IOName":{"type":"string"},"IPAddress":{"type":"string"},"InterfaceName":{"type":"string"},"LocationPos":{"type":"string"},"LocationTag":{"type":"string"},"MAC":{"type":"string"},"minSamplingRate":{"type":"integer"},"MqttProtocol":{"type":"string"},"Port":{"type":"integer"},"Protocol":{"type":"string"},"SSLTLS":{"type":"boolean"},"Subinterfaces":{"type":"string"}}},"putMainDevice":{"type":"object","properties":{"Active":{"type":"boolean"},"AddAddress":{"type":"string"},"AllowCommands":{"type":"boolean"},"AllowReporting":{"type":"boolean"},"AllowEvent":{"type":"boolean"},"AllowISDUwr":{"type":"boolean"},"AllowPDOut":{"type":"boolean"},"AssetID":{"type":"string"},"CycleAwareness":{"type":"boolean"},"IOName":{"type":"string"},"IPAddress":{"type":"string"},"InterfaceName":{"type":"string"},"LocationPos":{"type":"string"},"LocationTag":{"type":"string"},"MAC":{"type":"string"},"minSamplingRate":{"type":"integer"},"MqttProtocol":{"type":"string"},"Port":{"type":"integer"},"Protocol":{"type":"string"},"SSLTLS":{"type":"boolean"},"Subinterfaces":{"type":"string"}}},"App":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"dockerImage":{"type":"string"},"integration":{"type":"object"},"runSettings":{"type":"object"},"price":{"type":"integer"},"description":{"type":"string"},"allowedSerials":{"type":"object"},"public":{"type":"boolean"},"maxInstances":{"type":"integer"},"runType":{"type":"string"},"system":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"pictures":{"type":"object"},"listed":{"type":"boolean"},"enabled":{"type":"boolean"},"containerName":{"type":"string"},"loading":{"type":"boolean"},"url":{"type":"string"}}},"Device":{"type":"object","properties":{"UniqueID":{"type":"string"},"InterfaceID":{"type":"integer"},"Subinterface":{"type":"string"},"ConnectionState":{"type":"boolean"},"IODD":{"type":"string"},"GUIDD":{"type":"string"},"VendorID":{"type":"integer"},"DeviceID":{"type":"integer"},"ProductID":{"type":"string"},"SerialNumber":{"type":"integer"},"LocationTag":{"type":"string"},"LocationPos":{"type":"string"},"AssetID":{"type":"string"},"ShortName":{"type":"string"},"QRCode":{"type":"string"},"QRCodePicName":{"type":"string"},"PictureName":{"type":"string"},"IconName":{"type":"string"},"DocumentationNames":{"type":"string"},"Description":{"type":"string"},"DeviceType":{"type":"string"},"DeviceSubType":{"type":"string"}}},"Event":{"type":"object","properties":{"Description":{"type":"string"},"Cause":{"type":"string"},"Impact":{"type":"string"},"Solution":{"type":"string"}}},"Vendor":{"type":"object","properties":{"VendorID":{"type":"integer"},"VendorName":{"type":"string"},"VendorText":{"type":"string"},"VendorURL":{"type":"string"},"VendorLogo":{"type":"string"},"DeviceCount":{"type":"integer"}}}},"responses":{"OK":{"description":"OK"},"NotFoundError":{"description":"The required entity was not found"},"BadRequestError":{"description":"The required entity was not found"}},"parameters":{"Force":{"name":"force","description":"Unlocks a locked process - use with caution","in":"query","type":"boolean"},"Timeout":{"name":"timeout","description":"Defines maximum runtime for process","in":"query","type":"integer"},"Limit":{"name":"limit","description":"Defines how many items to fetch","in":"query","type":"integer","default":10},"Offset":{"name":"offset","description":"For pagination, define offset of items to fetch from","in":"query","type":"integer","default":0},"Properties":{"name":"properties","description":"Define which properties to include in each item. The format is comma separated.","in":"query","type":"string"},"Group":{"name":"group","description":"Define by what property to group the result by.\\nThis makes the resulting items an object instead of an array.\\nIf multiple properties are listed, the result is nest-grouped,\\nwith each level down in the object mapping to the corresponding nth group parameter.\\n","in":"query","type":"string"},"Filter":{"name":"filter","description":"Define a filter criteria based on fields and values","in":"query","type":"string","default":""},"Grouping":{"name":"grouping","in":"query","allowEmptyValue":true,"description":"Get the data as nested object based on a built-in preset","type":"boolean","required":false,"default":false},"Count":{"name":"count","in":"query","allowEmptyValue":true,"description":"Count the found items rather than returning the data objects","type":"boolean","required":false,"default":false},"VersionStart":{"name":"start","description":"Define first version to fetch","in":"query","type":"integer","required":true},"VersionEnd":{"name":"end","description":"Define last version to fetch","in":"query","type":"integer","required":true},"VersionID":{"name":"BuildID","description":"Build Number","in":"path","type":"integer","required":true},"DeviceClassID":{"in":"formData","type":"integer","required":false,"name":"DeviceClassID"},"MainDeviceActive":{"in":"formData","type":"boolean","required":false,"name":"Active"},"MainDeviceAddAddress":{"in":"formData","type":"string","required":false,"name":"AddAddress"},"MainDeviceAllowCommands":{"in":"formData","type":"boolean","required":false,"name":"AllowCommands"},"MainDeviceAllowReporting":{"in":"formData","type":"boolean","required":false,"name":"AllowReporting"},"MainDeviceAllowEvent":{"in":"formData","type":"boolean","required":false,"name":"AllowEvent"},"MainDeviceAllowISDUwr":{"in":"formData","type":"boolean","required":false,"name":"AllowISDUwr"},"MainDeviceAllowPDOut":{"in":"formData","type":"boolean","required":false,"name":"AllowPDOut"},"MainDeviceAssetID":{"in":"formData","type":"string","required":false,"name":"AssetID"},"MainDeviceClassesID":{"in":"formData","type":"integer","required":true,"name":"ClassesID"},"MainDeviceCycleAwareness":{"in":"formData","type":"boolean","required":false,"name":"CycleAwareness"},"MainDeviceIOName":{"in":"formData","type":"string","required":false,"name":"IOName"},"MainDeviceIPAddress":{"in":"formData","type":"string","required":true,"name":"IPAddress"},"MainDeviceInterfaceName":{"in":"formData","type":"string","required":false,"name":"InterfaceName"},"MainDeviceLocationPos":{"in":"formData","type":"string","required":false,"name":"LocationPos"},"MainDeviceLocationTag":{"in":"formData","type":"string","required":false,"name":"LocationTag"},"MainDeviceMAC":{"in":"formData","type":"string","required":false,"name":"MAC"},"MainDeviceminSamplingRate":{"in":"formData","type":"integer","required":false,"name":"minSamplingRate"},"MainDeviceMqttProtocol":{"in":"formData","type":"string","required":false,"name":"MqttProtocol"},"MainDevicePort":{"in":"formData","type":"integer","required":false,"name":"Port"},"MainDeviceProtocol":{"in":"formData","type":"string","required":false,"name":"Protocol"},"MainDeviceSSLTLS":{"in":"formData","type":"boolean","required":false,"name":"SSLTLS"},"MainDeviceSubinterfaces":{"in":"formData","type":"string","required":false,"name":"Subinterfaces"},"Code":{"name":"Code","in":"path","description":"Errorcode of the event","required":true,"type":"integer"},"IPAddress":{"name":"address","in":"query","description":"An ipv4 address","type":"string"},"Order":{"name":"order","type":"string","in":"query"},"AppName":{"in":"formData","type":"string","required":false,"name":"name"},"AppDockerImage":{"in":"formData","type":"string","required":false,"name":"dockerImage"},"AppMaxInstances":{"in":"formData","type":"integer","required":false,"name":"maxInstances"},"AppRunType":{"in":"formData","type":"string","required":false,"name":"runType"},"AppSystem":{"in":"formData","type":"string","required":false,"name":"system"},"AppListed":{"in":"formData","type":"boolean","required":false,"name":"listed"},"AppEnabled":{"in":"formData","type":"boolean","required":false,"name":"enabled"},"AppContainerName":{"in":"formData","type":"string","required":false,"name":"containerName"},"MainDeviceColumn":{"name":"Column","in":"path","description":"Single column to fetch from IO_MainDevices table","required":true,"type":"string","enum":["InterfaceID","InterfaceName","Protocol","Subinterface","SSLTLS","MAC","IPAddress","Port","AddAddress","IOName","Active","MqttProtocol","AllowPDOut","AllowCommands","AllowISDUwr","CycleAwareness","Vendor","ProductName","OrderCode","SerialNumber","AssetID","LocationTag","LocationPos","ImagePath","ConfigurationFile"]},"Column":{"name":"Column","in":"path","required":true,"type":"string"},"ColumnOrQuantity":{"name":"ColumnOrQuantity","in":"path","description":"ColumnOrQuantity","required":true,"type":"string"},"ColumnOrSubitemOrQuantity":{"name":"ColumnOrSubitemOrQuantity","in":"path","description":"ColumnOrSubitemOrQuantity","required":true,"type":"string"},"MainDeviceName":{"name":"MainDeviceName","in":"path","description":"string with the columns **IOName** and **InterfaceID**","required":true,"type":"string","default":"8_Balluff"},"MainDeviceBody":{"name":"MainDevice","in":"body","description":"MainDevice object to create","required":true,"schema":{"$ref":"#/definitions/MainDevice"}},"DeviceBody":{"name":"device","in":"body","description":"Device object","required":true,"schema":{"$ref":"#/definitions/Device"}},"MainDeviceConfigFileUploadBody":{"in":"formData","name":"ConfigurationFile","type":"file","description":"sdd or iodd config file for the MainDevice"},"DeviceID":{"name":"DeviceID","in":"path","description":"ID of the device","required":true,"type":"integer"},"Filename":{"name":"Filename","description":"A filename","in":"path","required":true,"type":"string"},"ID":{"name":"ID","description":"A unique ID identifying the item","in":"path","required":true,"type":"integer"},"AppID":{"name":"AppID","description":"A unique ID to identify an app","in":"path","required":true,"type":"string"},"Index":{"name":"index","description":"Device Parameter Index","in":"path","required":true,"type":"string"},"Pathname":{"name":"pathname","description":"pathname to identify an app","in":"path","required":true,"type":"string"},"DataGroup":{"name":"Group","in":"path","description":"might have the following values according to the name of the tables in the databases:\\n* **DeviceControl**\\n* **ISDU**\\n* **ProcessData**\\n* **Reporting**\\n","required":true,"type":"string","enum":["DeviceControl","ISDU","ProcessData","Reporting"]},"InterfaceID":{"name":"InterfaceID","in":"path","description":"InterfaceID","required":true,"type":"integer"},"LocationTag":{"name":"LocationTag","in":"path","description":"LocationTag","required":true,"type":"string","default":"UndefinedTag"},"LocationPos":{"name":"LocationPos","in":"path","description":"LocationPos","required":true,"type":"string","default":"UndefinedPos"},"AssetID":{"name":"AssetID","in":"path","description":"Unique **AssetID** - consists out of `ProductID-VendorID-DeviceID-SerialNumber`","type":"string","required":true},"QueryLocationTag":{"name":"LocationTag","in":"query","description":"LocationTag","required":true,"type":"string","default":"UndefinedTag"},"QueryLocationPos":{"name":"LocationPos","in":"query","description":"LocationPos","required":true,"type":"string","default":"UndefinedPos"},"QueryAssetID":{"name":"AssetID","in":"query","description":"Unique **AssetID** - consists out of `ProductID-VendorID-DeviceID-SerialNumber`","type":"string"},"NoEPP":{"name":"NoEPP","in":"path","description":"Number of **Entries** / **Page**","required":true,"type":"integer","default":10},"Page":{"name":"Page","in":"path","description":"Page","required":true,"type":"string"},"ParamName":{"name":"ParamName","in":"path","description":"ParamName","required":true,"type":"string"},"ShortName":{"name":"ShortName","in":"path","description":"ShortName","required":true,"type":"string"},"Subinterface":{"name":"Subinterface","in":"path","description":"Subinterface","required":true,"type":"string"},"SubitemOrColumn":{"name":"SubitemOrColumn","in":"path","description":"SubitemOrColumn","required":true,"type":"string"},"TimeRange":{"name":"TimeRange","in":"path","description":"**TimeRange** is a string with a character and a number `[x]` afterwards:\\n* `mi[x]` ( get all entries within the last `x` **minute/s** )\\n* `h[x]` ( get all entries within the last `x` **hour/s** )\\n* `d[x]` ( get all entries within the last `x` **day/s** )\\n* `w[x]` ( get all entries within the last `x` **weak/s** )\\n* `m[x]` ( get all entries within the last `x` **month/s** )\\n* `y[x]` ( get all entries within the last `x` **year/s** )\\n* all ( referring to all entries of the DB)\\n","required":true,"type":"string"},"TimestampAPPEARS":{"name":"TimestampAPPEARS","in":"path","description":"TimestampAPPEARS","required":true,"type":"string"},"Type":{"name":"Type","in":"path","description":"Type","required":true,"type":"string","enum":["Error","Warning","Notification","Unknown"]},"UniqueID":{"name":"UniqueID","in":"path","description":"Consists of VendorID-DeviceID-Identifier. Where Identifier is either one of Serialnumber or Interface_Subinterface","required":true,"type":"string"},"VendorID":{"name":"VendorID","in":"path","description":"VendorID","required":true,"type":"integer"},"ReportingRangeStart":{"name":"rangeStart","in":"query","description":"Defines the start of the range to search for samples","type":"integer"},"ReportingRangeEnd":{"name":"rangeEnd","in":"query","description":"Defines the end of the range to search for samples","type":"integer"},"ReportingRangeType":{"name":"rangeType","in":"query","description":"Type of range to use with range","required":true,"type":"string","enum":["cycles","time"]},"ReportingProperties":{"name":"properties","in":"query","description":"A list of properties to ask for. If empty, all properties will be returned\\nThe list is comma separated. A list of properties can be retrieved via the ReportingConfig Table (not exposed via API)\\n","type":"string"},"ReportingSamples":{"name":"samples","in":"query","description":"Defines how many samples to return, evenly spreaded across the required `range`.\\nThe default is `2`.\\n","type":"integer"},"ReportingSource":{"name":"source","in":"query","description":"Define from which sources the reporting data is aggregated from.\\nBy default, all sources are used, but can be specified with a comma separated list.\\n","type":"string"}},"securityDefinitions":{},"tags":[{"name":"appCatalog","description":"Apps downloadable from the exa cloud"},{"name":"app","description":"An app is a container pulled from the service.sicon.eco cloud registry"},{"name":"deviceClass"},{"name":"device","description":"A device is an OT unit emitting ProcessData, Events and Reporting Data"},{"name":"event","description":"Events are spawned by devices and have code, timestamp and severity"},{"name":"floorplan","description":"A floor plan is an image to locate entitites upon via x and y coordinates relative to a refernece point in the left lower corner"},{"name":"guidd","description":"A GUIDD is a device description file for the user interface"},{"name":"hardware","description":"Subdevices and Maindevices merged in one view"},{"name":"mainDeviceClasses","description":"mainDeviceClasses of available adapters"},{"name":"mainDevice","description":"Main devices allow to access mounted devices"},{"name":"privilege","description":"A Privilege serves a list of items"},{"name":"role","description":"A Role serves a list of items"},{"name":"server","description":"Server"},{"name":"user","description":"A User serves a list of items"},{"name":"version","description":"Get version changelogs and single versions"}]} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment