VayanData can provide you access to a sandbox. Please contact us: https://vayandata.com/contact-us/

--- openapi: 3.0.0 info: description: This is the specifications for the Linksper Console API version: "1.0.0" title: Linksper Console API contact: email: [email protected] license: name: Apache 2.0 url: 'http://www.apache.org/licenses/LICENSE-2.0.html' tags: - name: Authentication description: Authenticate to the API - name: Explore description: Explore the BOS hiearchies and their respectives assets - name: Manage description: Create, modify delete data models content - name: Operate description: Get information / update for a specific type of assets - name: Troubleshoot description: Check BOS status paths: /oauth/token: post: tags: - Authentication summary: Authenticate using jwt operationId: authenticate description: Authenticate to the API using JWT. externalDocs: description: How to setup a user with JWT in Niagara url: https://doc.active-framework.com/display/APIDR/Getting+Started+With+JWT+Authenticaion requestBody: required: true content: application/json: schema: type: object properties: username: type: string description: username password: type: string description: password required: - username - password responses: '200': description: search result matching criteria content: application/json: schema: type: object properties: result: type: object properties: user: type: string description: user token: type: string description: password '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: Internal server error /v1/explore/hierarchies: get: tags: - Explore summary: Explore all hierarchies operationId: exploreHierarchies description: Retrieve all the hierarchy roots with the lk:exposeOnApi Tag responses: '200': description: all the hierarchy roots content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '500': description: Internal server error /v1/explore/hierarchies/{name}: get: tags: - Explore summary: Explore a single hierarchy operationId: exploreHierarchy description: Retrieve the hierarchy that match the given name parameters: - in: path name: name schema: type: string required: true description: name of the hierarchy to get - $ref: "#/components/parameters/additionalFields" - in: query name: depth description: maximum depth of descendants schema: type: integer format: int32 minimum: 0 default: 1 responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Negative depth value '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the hierarchy with the given name '500': description: Internal server error /v1/explore/assets: get: tags: - Explore summary: Explore a list of assets operationId: exploreAsset description: Retrieve the asset matching the given query or the given assetType, if both parameters are given, only the query will be taken into account parameters: - in: query name: query description: The full query that will be executed to obtain the assets schema: type: string - in: query name: assetType description: The desired assetType schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search result matching criteria content: application/json: schema: $ref: '#/components/schemas/Component' '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: Internal server error /v1/explore/assets/{id}: get: tags: - Explore summary: Explore an asset operationId: exploreAssetById description: Retrieve the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/additionalFields" responses: '200': description: search result matching criteria content: application/json: schema: $ref: '#/components/schemas/Component' '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: Internal server error /v1/explore/assets/{id}/alarms: get: tags: - Explore summary: Explore the alarms of the given asset operationId: exploreAssetsAlarms description: Retrieve the alarms associated to the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/period" - $ref: "#/components/parameters/startDate" - $ref: "#/components/parameters/endDate" - $ref: "#/components/parameters/aggregatedData" - $ref: "#/components/parameters/alarmAdditionalFields" - $ref: "#/components/parameters/alarmLimit" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Alarm' '400': description: | Bad request - Negative limit value - Limit is less than MaxAlarmCount - Invalid parameter value - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: Internal server error /v1/explore/assets/{id}/devices: get: tags: - Explore summary: Explore the devices of the given asset operationId: exploreAssetsDevices description: Retrieve the devices associated to the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the asset with the given id '500': description: internal server error /v1/explore/assets/{id}/equipment: get: tags: - Explore summary: Explore the equipment of the given asset operationId: exploreAssetsEquipment description: Retrieve the equipment associated to the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the asset with the given id '500': description: internal server error /v1/explore/assets/{id}/histories: get: tags: - Explore summary: Explore the histories of the given hierarchy operationId: exploreHierarchyHistories description: | Retrieve the histories contained in the hierarchy matching the given id. Will encode - the id - the timeZone - the capacity - the fullPolicy - the interval - the valueFacets - the tags parameters: - in: path name: id description: ID of the Asset to get schema: type: string required: true - $ref: "#/components/parameters/period" - $ref: "#/components/parameters/startDate" - $ref: "#/components/parameters/endDate" - $ref: "#/components/parameters/rollupInterval" - $ref: "#/components/parameters/rollupOperator" - $ref: "#/components/parameters/delta" - $ref: "#/components/parameters/retrieveValues" - $ref: "#/components/parameters/historyLimit" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/History' '400': description: | Bad request - Negative limit value - Limit is higher than MaxHistoryCount - Invalid parameter value - The targeted Node doesn't have the "b:definition" tag - The targeted InfoSource's parent ControlPoint doesn't have the n:history tag - The given id targets a source which parent isn't a DeviceNetwork or a Device or a Folder or a Point '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the hierarchy with the given id - Found no aggregated/raw histories associated to the hierarchy with the given id '500': description: internal server error /v1/explore/assets/{id}/points: get: tags: - Explore summary: Explore the points of the associated asset operationId: exploreAssetsPoints description: Retrieve the points associated to the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: internal server error /v1/explore/assets/{id}/schedules: get: tags: - Explore summary: Explore the schedules of the associated asset operationId: exploreAssetsSchedules description: Retrieve the schedules associated to the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/additionalFields" - in: query name: retrieveEvents description: if set to true, the request will retrieve the special and recurring events (if possible) of the schedules schema: type: boolean default: false responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Schedule' '400': description: | Bad request - Invalid parameter value - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: internal server error /v1/explore/assets/{id}/synthesisHistories: get: tags: - Explore summary: Explore the Synthesis Histories of the associated asset operationId: exploreAssetsSynthesisHistories description: Retrieve the Synthesis Histories associated to the asset matching the given id parameters: - in: path name: id description: ID of the Asset to get schema: type: string required: true - $ref: "#/components/parameters/period" - $ref: "#/components/parameters/startDate" - $ref: "#/components/parameters/endDate" - $ref: "#/components/parameters/rollupInterval" - $ref: "#/components/parameters/rollupOperator" - $ref: "#/components/parameters/delta" - $ref: "#/components/parameters/retrieveValues" - $ref: "#/components/parameters/historyLimit" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/History' '400': description: | Bad request - Invalid parameter value - Negative limit value - Limit is higher than MaxHistoryCount - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: internal server error /v1/explore/assets/{id}/synthesisPoints: get: tags: - Explore summary: Explore the synthesis points of the associated asset operationId: exploreAssetsSynthesisPoints description: Retrieve the synthesis points associated to the asset matching the given id parameters: - in: path name: id description: ID of the asset to get schema: type: string required: true - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value - Invalid target: The id targets an Asset with incorrect or missing values '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the Asset with the given id '500': description: internal server error /v1/manage/models: get: tags: - Manage summary: Get all the Nodes associated to a model operationId: getManageModels description: Retrieve all the Nodes associated to a model parameters: - in: query name: aspect description: filter on the parent aspect required: false explode: true schema: type: string - in: query name: nodeDefinition description: filter on the parent Node Definition required: false explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" - in: query name: dataModelOnly description: whether to query only b:dataModels Nodes required: false explode: true schema: type: boolean default: true responses: '200': description: search results matching criteria content: application/json: schema: type: object properties: AspectName: type: object properties: NodeDefinitionName: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '404': description: | - Aspect not found - Node Definition not found '500': description: Internal server error post: tags: - Manage summary: Create models operationId: postManageModels description: Create new Nodes parameters: - $ref: "#/components/parameters/additionalFields" requestBody: required: true content: application/json: schema: type: array items: $ref: "#/components/schemas/Node" responses: '200': description: two arrays, success with all the successfully created Nodes, failure with all the failed creations content: application/json: schema: type: object properties: success: type: array items: $ref: '#/components/schemas/Component' failures: type: object properties: nodeID: type: string example: "Error message" '400': description: | Bad request - Invalid parameter value - Missing parameter value '403': description: | Forbidden '404': description: | - Parent Aspect not found - Parent NodeDefinition not found '500': description: Internal server error put: tags: - Manage summary: update model operationId: putManageModels description: Update a single Node parameters: - $ref: "#/components/parameters/additionalFields" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/NodeForUpdate" responses: '200': description: the updated Node content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value - Missing parameter value '403': description: | Forbidden '404': description: | Target node not found '500': description: Internal server error delete: tags: - Manage summary: delete model operationId: deleteManageModels description: Delete Nodes parameters: - $ref: "#/components/parameters/additionalFields" responses: '200': description: the deleted Nodes content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value - Missing parameter value '403': description: | Forbidden '404': description: | Target node not found '500': description: Internal server error /v1/operate/alarms: get: tags: - Operate summary: Get the alarms matching the query operationId: operateAlarms description: Retrieve the alarms matching the given query parameters: - in: query name: query description: filter on the alarms, bql predicate required: false explode: true schema: type: string - $ref: "#/components/parameters/period" - $ref: "#/components/parameters/startDate" - $ref: "#/components/parameters/endDate" - $ref: "#/components/parameters/alarmAdditionalFields" - $ref: "#/components/parameters/alarmLimit" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Alarm' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error post: tags: - Operate summary: ack the alarms matching the uuids operationId: postOperateAlarms description: Ack the alarms matching the uuids requestBody: required: true content: application/json: schema: type: object properties: uuid: type: array description: filter on the alarms to ack example: [ "a93baf31-8072-4315-b168-ddca1fa3fd9d" ] items: type: string required: - uuid responses: '200': description: two arrays, success with all the uuids of the alarms successfully acked, failure with all the uuids of the alarms on which the ack wasn't possible content: application/json: schema: type: object properties: success: type: array items: type: string failures: type: array items: type: string '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error /v1/operate/alarms/{uuid}: get: tags: - Operate summary: Get the alarm matching the uuid operationId: operateAlarm description: Retrieve the alarm matching the given uuid parameters: - in: path name: uuid description: uuid of the target required: true explode: true schema: type: string - $ref: "#/components/parameters/alarmAdditionalFields" responses: '200': description: search result matching criteria content: application/json: schema: $ref: '#/components/schemas/Alarm' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '404': description: | Resource not found '500': description: Internal server error /v1/operate/components: get: tags: - Operate summary: Get the components matching the query operationId: operateComponents description: Retrieve the components matching the given query parameters: - in: query name: query description: filter on the devices, can be any query required: false explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error /v1/operate/devices: get: tags: - Operate summary: Get the devices matching the query operationId: operateDevices description: Retrieve the devices and the PointFolders (resulting from a propagation) matching the given query parameters: - in: query name: query description: filter on the devices, neql predicate required: false explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error /v1/operate/devices/{id}: get: tags: - Operate summary: Get the device matching the id operationId: getOperateDevice description: Retrieve the device or the PointFolder (resulting from a propagation) matching the given id parameters: - in: path name: id description: id of the target required: true explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '404': description: Resource not found '500': description: Internal server error /v1/operate/equipment: get: tags: - Operate summary: Get the equipment matching the query operationId: operateEquipment description: Retrieve the equipment matching the given query parameters: - in: query name: query description: filter on the devices, neql predicate required: false explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error /v1/operate/equipment/{id}: get: tags: - Operate summary: Get the equipment matching the id operationId: getOperateSingleEquipment description: Retrieve the equipment matching the given id parameters: - in: path name: id description: id of the target required: true explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '404': description: Resource not found '500': description: Internal server error /v1/operate/histories: get: tags: - Operate summary: Get the histories matching the query. operationId: operateHistories description: | Retrieve the histories contained in the model matching the given query. Will encode - the id - the timeZone - the capacity - the fullPolicy - the interval - the valueFacets - the tags parameters: - in: query name: query description: filter on the histories, bql predicate required: false explode: true schema: type: string - $ref: "#/components/parameters/period" - $ref: "#/components/parameters/startDate" - $ref: "#/components/parameters/endDate" - $ref: "#/components/parameters/rollupInterval" - $ref: "#/components/parameters/rollupOperator" - $ref: "#/components/parameters/delta" - $ref: "#/components/parameters/retrieveValues" - $ref: "#/components/parameters/historyLimit" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/History' '400': description: | Bad request - Empty result - Start is after end - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error /v1/operate/histories/{id}: get: tags: - Operate summary: Explore the histories of the given source. If the history comes from a NiagaraHistoryimport, it will fetch the latest data. operationId: getOperateModelHistoriesForId description: | Retrieve the histories contained in the model matching the given id. Will encode - the id - the timeZone - the capacity - the fullPolicy - the interval - the valueFacets - the tags parameters: - in: path name: id description: ID of the source to get schema: type: string required: true - $ref: "#/components/parameters/period" - $ref: "#/components/parameters/startDate" - $ref: "#/components/parameters/endDate" - $ref: "#/components/parameters/rollupInterval" - $ref: "#/components/parameters/rollupOperator" - $ref: "#/components/parameters/delta" - $ref: "#/components/parameters/retrieveValues" - $ref: "#/components/parameters/historyLimit" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/History' '400': description: | Bad request - Negative limit value - Limit is less than MaxHistoryCount - Invalid parameter value - The targeted Node doesn't have the "b:definition" tag - The targeted InfoSource's parent ControlPoint doesn't have the n:history tag - The given id targets a source which parent isn't a DeviceNetwork or a Device or a Folder or a Point '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the model with the given id - Found no aggregated/raw histories associated to the model with the given id '500': description: internal server error put: tags: - Operate summary: Add a record the the History inside the targeted source. operationId: putExploreModelHistoriesForId description: | Create a History Record matching the record type of the History and append it to the History. As for now, BooleanTrendRecords, EnumTrendRecords, NumericTrendRecords and StringRecords are supported. parameters: - in: path name: id description: ID of the source to get schema: type: string required: true requestBody: required: true content: application/json: schema: type: array items: properties: date: type: string description: the timestamp of the record in ISO 8601 format example: "2021-05-25T12:00:00.000Z" value: type: string description: the value of the record in a string (example, for a BooleanTrendRecords, you must use "true" instead of true). For an EnumTrendRecord, it is possible to use the ordinal or the tag. example: "myValue" status: type: string description: the status of the record enum: [ ok, disabled, fault, down, alarm, stale, overridden, null, unackedAlarm ] required: - action responses: '200': description: success message content: application/json: schema: type: object properties: message: type: string example: Records successfully added '400': description: | Bad request - Invalid parameter value - The targeted history record type isn't supported - Cannot append out-of-order record - Cannot create a Dynamic enum from the tag value '403': description: | Forbidden '404': description: | Ressource not found - Cannot find the source with the given id - The target source has no HistoryExts '500': description: internal server error /v1/operate/points: get: tags: - Operate summary: Get the points matching the given query operationId: operatePoints description: Retrieve the points matching the query parameters: - in: query name: query description: filter on the points, neql predicate required: false schema: type: string - in: query name: status description: filter on the point status required: false schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error post: tags: - Operate summary: Invoke an action on targeted points operationId: postOperatePoints description: Generate the value, retrieve the action and invoke it on the target points requestBody: required: true content: application/json: schema: type: object properties: query: type: string description: neql filter on the points example: "n:type = 'control:NumericWritable'" action: type: string description: Name of the action example: "override" value: type: string description: The Argument of the action. Always a String example: "10.0" duration: type: integer description: In the case of an override, the duration of the override in milliseconds example: "10000" required: - action responses: '200': description: two arrays, success with all the components on which the action was successfully invoked, failure with all the components on which the action wasn't successfully invoked content: application/json: schema: type: object properties: success: type: array items: $ref: '#/components/schemas/Component' failures: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Negative duration value - The given query doesn't target any points - The action doesn't exist - Cannot build the argument - Invalid parameter value '500': description: Internal server error /v1/operate/points/{id}: get: tags: - Operate summary: Get the point matching the given id operationId: getOperatePoint description: Retrieve the point matching the id parameters: - in: path name: id description: id of the target point required: true schema: type: string - in: query name: status description: filter on the point status required: false schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search result matching criteria content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '404': description: | Resource not found '500': description: Internal server error post: tags: - Operate summary: Invoke an action operationId: postOperatePoint description: Invoke an action on the point matching the id parameters: - in: path name: id description: id of the target point required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: action: type: string description: Name of the action example: "override" value: type: string description: The Argument of the action. Always a String example: "10.0" duration: type: integer description: In the case of an override, the duration of the override in milliseconds example: "10000" required: - action responses: '200': description: two arrays, success with all the components on which the action was successfully invoked, failure with all the components on which the action wasn't successfully invoked content: application/json: schema: type: object properties: success: type: array items: $ref: '#/components/schemas/Component' failures: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Negative duration value - The given query doesn't target any points - The action doesn't exist - Cannot build the argument - Invalid parameter value '404': description: Resource not found '500': description: Internal server error /v1/operate/query: get: tags: - Operate summary: Get the table matching the query operationId: operateQuery description: Resolve the query and encode the resulting table parameters: - in: query name: query description: the query to resolve, must result in a table required: true explode: true schema: type: string responses: '200': description: search results matching query, the content of the objects will entirely depend on the query content: application/json: schema: type: array items: type: object '400': description: | Bad request - Invalid query '500': description: Internal server error /v1/operate/reference: get: tags: - Operate summary: Get the reference matching the query operationId: operateReference description: Retrieve the reference matching the given query parameters: - in: query name: query description: filter on the references, bql predicate required: false explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '500': description: Internal server error /v1/operate/reference/{id}: get: tags: - Operate summary: Get the reference matching the id operationId: getOperateSingleReference description: Retrieve the reference matching the given id parameters: - in: path name: id description: id of the target required: true explode: true schema: type: string - $ref: "#/components/parameters/additionalFields" responses: '200': description: search result matching criteria content: application/json: schema: $ref: '#/components/schemas/Component' '400': description: | Bad request - Invalid parameter value '403': description: | Forbidden '404': description: Resource not found '500': description: Internal server error /v1/operate/schedules: get: tags: - Operate summary: Get information about all the schedules operationId: getOperateSchedules description: Gets information about all the existing schedules parameters: [] responses: '200': description: Information about all Schedules. content: application/json: schema: $ref: '#/components/schemas/ScheduleAllResponse' '404': description: Resource not found '500': description: Internal server error /v1/operate/schedules/{id}: get: tags: - Operate summary: Get information about a schedule operationId: getOperateSchedule description: Gets information about a Schedule matching the id parameters: - in: path name: id description: id of the target Schedule required: true schema: type: string responses: '200': description: Information about the Schedule. The range field only exists for EnumSchedules and BooleanSchedules and denotes the range of valid values for the schedule content: application/json: schema: $ref: '#/components/schemas/ScheduleEnumResponse' '404': description: Resource not found '500': description: Internal server error /v1/operate/schedules/{scheduleId}/recurringEvents: get: tags: - Operate summary: Gets a schedule's recurring events operationId: getOperateScheduleRecurringEvents parameters: - in: path name: scheduleId description: id of the target schedule required: true schema: type: string responses: '200': description: A list of recurring events content: application/json: schema: $ref: '#/components/schemas/RecurringEvents' '400': description: | Bad request - Invalid parameter value '404': description: Resource not found '500': description: Internal server error post: tags: - Operate summary: Create a recurring event operationId: postOperateScheduleRecurringEvents description: Create a special event in the Schedule matching the id parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: day: type: string description: The day of the event enum: [ monday, tuesday, wednesday, thursday, friday, saturday, sunday ] startTime: type: string description: The start time of the event in ISO 8601 example: "17:00:00.000Z" endTime: type: string description: The end time of the event in ISO 8601 example: "18:00:00.000Z" value: type: string description: The value of the event. Can be a String, a boolean or a number example: "My Event value" eventId: type: string description: The id of the event. If it's absent, a unique id will be generated example: "My Id value" required: - day - startTime - endTime - value responses: '200': description: The created recurring event content: application/json: schema: $ref: '#/components/schemas/RecurringEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value - Conflicting events '404': description: Resource not found '500': description: Internal server error /v1/operate/schedules/{scheduleId}/recurringEvents/{eventId}: get: tags: - Operate summary: Get a recurring event operationId: getOperateSchedulesRecurringEvents description: Retrieve the recurring event matching the given eventId in the schedule matching the given scheduleId parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string - in: path name: eventId description: id of the target Event required: true schema: type: string responses: '200': description: The matching recurring event content: application/json: schema: $ref: '#/components/schemas/RecurringEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value '404': description: Resource not found '500': description: Internal server error put: tags: - Operate summary: Update a recurring event operationId: putOperateSchedulesRecurringEvents description: Update the recurring event matching the given eventId in the schedule matching the given scheduleId parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string - in: path name: eventId description: id of the target Event required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: day: type: string description: The day of the event enum: [ monday, tuesday, wednesday, thursday, friday, saturday, sunday ] startTime: type: string description: The start time of the event in ISO 8601 example: "17:00:00.000Z" endTime: type: string description: The end time of the event in ISO 8601 example: "18:00:00.000Z" value: type: string description: The value of the event. Can be a String, a boolean or a number example: "My Event value" required: - day - startTime - endTime - value responses: '200': description: The udpated recurring event content: application/json: schema: $ref: '#/components/schemas/RecurringEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value - Conflicting events '404': description: Resource not found '500': description: Internal server error delete: tags: - Operate summary: Delete a recurring event operationId: deleteOperateSchedulesRecurringEvents description: Delete the recurring event matching the given eventId in the schedule matching the given scheduleId parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string - in: path name: eventId description: id of the target Event required: true schema: type: string responses: '200': description: The deleted recurring event content: application/json: schema: $ref: '#/components/schemas/DeletedEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value '404': description: Resource not found '500': description: Internal server error /v1/operate/schedules/{scheduleId}/specialEvents: get: tags: - Operate summary: Gets a schedule's special events operationId: getOperateScheduleSpecialEvents parameters: - in: path name: scheduleId description: id of the target schedule required: true schema: type: string responses: '200': description: A list of recurring events content: application/json: schema: $ref: '#/components/schemas/SingleEvents' '400': description: | Bad request - Invalid parameter value '404': description: Resource not found '500': description: Internal server error post: tags: - Operate summary: Create a special event operationId: postOperateScheduleSpecialEvents description: Create a special event in the Schedule matching the id parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: eventName: type: string description: The name of the event example: "MyEvent" startDate: type: string description: The start date of the event in ISO 8601 example: "2021-05-25T12:00:00.000Z" endDate: type: string description: The end date of the event in ISO 8601 example: "2021-05-25T13:00:00.000Z" value: type: string description: The value of the event. Can be a String, a boolean or a number example: "My Event value" eventId: type: string description: The id of the event. If it's absent, a unique id will be generated example: "My Id value" required: - eventName - startDate - endDate - value responses: '200': description: success message content: application/json: schema: $ref: '#/components/schemas/SingleEvent' '400': description: | Bad request - The source isn't a schedule - Invalid parameter value - Conflicting events '404': description: Resource not found '500': description: Internal server error /v1/operate/schedules/{scheduleId}/specialEvents/{eventId}: get: tags: - Operate summary: Get a special event operationId: getOperateSchedulesSpecialEvents description: Retrieve the special event matching the given eventId in the schedule matching the given scheduleId parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string - in: path name: eventId description: id of the target Event required: true schema: type: string responses: '200': description: The matching special event content: application/json: schema: $ref: '#/components/schemas/SingleEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value '404': description: Resource not found '500': description: Internal server error put: tags: - Operate summary: Update a special event operationId: putOperateSchedulesSpecialEvents description: Update the special event matching the given eventId in the schedule matching the given scheduleId parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string - in: path name: eventId description: id of the target Event required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: startTime: type: string description: The start time of the event in ISO 8601 example: "17:00:00.000Z" endTime: type: string description: The end time of the event in ISO 8601 example: "18:00:00.000Z" value: type: string description: The value of the event. Can be a String, a boolean or a number example: "My Event value" required: - day - startTime - endTime - value responses: '200': description: The udpated special event content: application/json: schema: $ref: '#/components/schemas/SingleEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value - Conflicting events '404': description: Resource not found '500': description: Internal server error delete: tags: - Operate summary: Delete a special event operationId: deleteOperateSchedulesSpecialEvents description: Delete the special event matching the given eventId in the schedule matching the given scheduleId parameters: - in: path name: scheduleId description: id of the target Schedule required: true schema: type: string - in: path name: eventId description: id of the target Event required: true schema: type: string responses: '200': description: The deleted special event content: application/json: schema: $ref: '#/components/schemas/DeletedEvent' '400': description: | Bad request - The source isn't a weekly schedule - Invalid parameter value '404': description: Resource not found '500': description: Internal server error /v1/troubleshoot/integrationTests: get: tags: - Troubleshoot summary: Integration tests results operationId: getTroubleshootIntegrationTests description: Get the result of each integration tests responses: '200': description: search results matching criteria content: application/json: schema: type: array items: $ref: '#/components/schemas/Component' '403': description: | Forbidden '404': description: Cannot find the test controller '500': description: Internal server error post: tags: - Troubleshoot summary: Execute Integration tests operationId: postTroubleshootIntegrationTests description: Execute all the integration tests responses: '200': description: number of executed tests content: application/json: schema: type: object properties: tests: type: integer '403': description: | Forbidden '404': description: Cannot find the test controller '500': description: Internal server error /v1/troubleshoot/integrationTestsReport: get: tags: - Troubleshoot summary: Integration tests report operationId: getTroubleshootIntegrationTestsReport description: Get the report of the integration tests responses: '200': description: the report in markdown content: application/json: schema: type: object properties: report: type: string '400': description: | Bad request - Empty report '403': description: | Forbidden '404': description: Cannot find the test controller '500': description: Internal server error components: schemas: Alarm: type: object description: The encoded alarm. The fields in the response will depend on the fields in the request properties: uuid: type: string example: a93baf31-8072-4315-b168-ddca1fa3fd9d timestamp: type: string example: 2021-01-27T17:11:55.542+01:00 alarmClass: type: string example: Default Alarm Class source: type: string example: BooleanWritable sourceState: type: string example: Offnormal priority: type: integer example: 255 message: type: string example: '{ok}' ackState: type: string example: Unacked ackBy: type: string example: admin ackDate: type: string example: 2021-01-27T17:16:45.542+01:00 id: type: string example: H0SN7gEBY9ZvVatAMC2GL Component: type: object description: The encoded component. The fields in the response will depend on the additonalfields in the request. Depending on the endpoints different fields will be encoded by default properties: name: type: string example: My$20Component displayName: type: string example: My Component slotPathOrd: type: string example: station:|slot:/Drivers/My$20Component link: type: string example: https://192.168.1.4:443/ord/station:|slot:/Drivers/My$20Component id: type: string example: F0SCYW7KHZVkyKmnRENuC description: type: string example: My component's description status: type: string example: '{ok}' enabled: type: boolean example: true descendants: type: array items: $ref: '#/components/schemas/Component' DeletedEvent: type: object description: The encoded Deleted Event. As the relations with the parent schedules are lost after the deletion, some data is lost properties: id: type: string example: "MyId" dataValue: type: string example: 0 status: type: string example: '{ok}' startTime: type: string example: "09:00:00+02:00" endTime: type: string example: "17:00:00+02:00" Fields: type: array items: type: string enum: - allRelations - allTags - description - displayName - enabled - facets - id - link - mnemonic - name - out - pointValue - slotPathOrd - status - '{tagId}' - '{relationId}' description: | List of the possible components fields to encode. Any missing field in the component will be skipped - allRelations: An array of all the component's relations - allTags: An array of all the component's tags. It's possible to include or exclude tags through the tagsInclude and tagsExclude slots in the LinksperV1Servlet. Simply add the names of the tags (without the dictionnary key) you wish to include or exclude. A "*" value will include or exclude all the tags. - description: The component's description - displayName: The component's display name - enabled: The value of the "enabled" slot - facets: The value of the "facet" slot - id: The component's id (the value of the "id" slot or the value of the "b:id" tag) - link: A link to the component - mnemonic: The value of the "mnemonic" slot - name: The component's name - out: The value of the "out" slot (with the status if there is one) - pointValue: The value of the "out" slot (without the status) - slotPathOrd: The component's display slot path ord, prefixed with station:| - status: The component's status encoded to a String - {tagId}: the relation with the given id - {relationId}: the tag with the given id Depending on the endpoint and the component, some field will be added by default. - Hierarchy: The name, displayName, status, id and description will be encoded and if the component is an point, the pointValue, the status and the facets will also be encoded by default. - Asset: The name, displayName, status, value, enabled, id and description will be encoded History: type: object description: The encoded history. properties: id: type: string example: "/deviceName/componentName" timezone: type: string example: Europe/Paris (+1/+2) capacity: type: string example: Unlimited fullPolicy: type: string example: Roll interval: type: string example: 1 minute data: type: array items: $ref: '#/components/schemas/Record' Node: type: object description: The encoded node. required: [ displayName ] properties: id: type: string example: "MyNodeId" aspect: type: string example: "str" nodeDefinition: type: string example: "site" name: type: string example: "MyNodeName" displayName: type: string example: "MyNodeDisplayName" ascendants: type: array items: type: string nodeTags: type: array items: $ref: '#/components/schemas/NodeTag' NodeForUpdate: type: object description: The encoded node. required: [ id ] properties: id: type: string example: "MyNodeId" displayName: type: string example: "MyNodeDisplayName" ascendants: type: array items: type: string nodeTags: type: array items: $ref: '#/components/schemas/NodeTag' NodeTag: type: object description: The encoded node tag. required: [ tag, slotType, value ] properties: tag: type: string example: "b:myTag" slotType: type: string example: "baja:String" value: type: string example: "MyValue" Record: type: object description: The encoded record. properties: Timestamp: type: string example: 25-Jan-21 5:14 PM CET Trend Flags: type: integer example: 0 Status: type: string example: '{ok}' Value: type: string example: value RecurringEvent: type: object description: The encoded Single Event. properties: id: type: string example: "MyId" dataValue: type: string example: 0 status: type: string example: '{ok}' timeZone: type: string example: "Europe/Paris" startTime: type: string example: "09:00:00.000" endTime: type: string example: "17:00:00.000" day: type: string example: "monday" RecurringEvents: type: array items: $ref: '#/components/schemas/RecurringEvent' Schedule: type: object description: The encoded Schedule. properties: name: type: string example: My$20Schedule displayName: type: string example: My Schedule dataValue: type: string example: 0 status: type: string example: '{ok}' nextDataValue: type: string example: 0 nextStatusValue: type: string example: '{ok}' nextTime: type: string example: '2021-08-23T17:00:00+02:00' id: type: string example: "S0SdbW4sqJyrr51UOgfhb" description: type: string example: My schedule's description singleEvents: type: array items: $ref: '#/components/schemas/SingleEvent' recurringEvents: type: array items: $ref: '#/components/schemas/RecurringEvent' ScheduleEnumResponse: type: object description: The encoded Schedule. properties: name: type: string example: My$20Schedule displayName: type: string example: My Schedule dataValue: type: string example: 0 status: type: string example: '{ok}' nextDataValue: type: string example: 0 nextStatusValue: type: string example: '{ok}' nextTime: type: string example: '2021-08-23T17:00:00+02:00' id: type: string example: "S0SdbW4sqJyrr51UOgfhb" description: type: string example: My schedule's description range: type: string example: "{Unoccupied=1,Occupied=2,Bypass=3,Standby=4}" type: type: string example: "EnumSchedule" ScheduleAllResponse: type: object description: The encoded Schedules. properties: name: type: string example: Working Hours status: type: string example: '{ok}' id: type: string example: z0T4o3eaGHldZCT1SpLIl description: type: string example: "working hours schedule" ScheduleStringResponse: type: object description: The encoded Schedule. properties: name: type: string example: My$20Schedule displayName: type: string example: My Schedule dataValue: type: string example: 0 status: type: string example: '{ok}' nextDataValue: type: string example: 0 nextStatusValue: type: string example: '{ok}' nextTime: type: string example: '2021-08-23T17:00:00+02:00' id: type: string example: "S0SdbW4sqJyrr51UOgfhb" description: type: string example: My schedule's description ScheduleBooleanResponse: type: object description: The encoded Schedule. properties: name: type: string example: My$20Schedule displayName: type: string example: My Schedule dataValue: type: string example: 0 status: type: string example: '{ok}' nextDataValue: type: string example: 0 nextStatusValue: type: string example: '{ok}' nextTime: type: string example: '2021-08-23T17:00:00+02:00' id: type: string example: "S0SdbW4sqJyrr51UOgfhb" description: type: string example: My schedule's description SingleEvent: type: object description: The encoded Single Event. properties: id: type: string example: "MyId" name: type: string example: My$20Single$20Event dataValue: type: string example: 0 status: type: string example: '{ok}' startDate: type: string description: the startDate in UTC example: "2021-08-23T07:00:00Z" endDate: type: string description: the endDate in UTC example: "2021-08-23T12:00:00Z" SingleEvents: type: array items: $ref: '#/components/schemas/SingleEvent' parameters: additionalFields: in: query name: additionalFields description: fields to encode required: false explode: true schema: $ref: '#/components/schemas/Fields' aggregatedData: name: aggregatedData in: query description: if set to true, the request will return aggregated data required: false schema: type: boolean default: true alarmAdditionalFields: in: query name: additionalFields description: alarmData fields to encode required: false explode: true schema: type: array items: type: string default: [ ] alarmLimit: name: limit in: query description: the maximum number of records to retrieve, this value must be smaller than the "maxAlarmCount" inside the ExploreServlet. required: false schema: type: integer default: maxAlarmCount inside the ExploreServlet delta: name: delta in: query description: the delta to apply on the query fetching the records required: false schema: type: boolean endDate: name: endDate in: query description: If the period is empty, the end of the period on which elements will be retrieved. The value must follow the ISO 8601 format required: false schema: type: string historyLimit: name: limit in: query description: the maximum number of records to retrieve, this value must be smaller than the "maxHistoryCount" inside the ExploreServlet. required: false schema: type: integer default: maxHistoryCount inside the ExploreServlet period: name: period in: query description: The period on which elements will be retrieved required: false schema: type: string enum: [ today, last24Hours, yesterday, weekToDate, lastWeek, last7Days, monthToDate, lastMonth, yearToDate, lastYear ] rollupInterval: name: rollupInterval in: query description: The rollup to apply on the query fetching the records. Must come with a valid rollupOperator value required: false schema: type: string enum: [ none, oneMin, fiveMin, fifteenMin, thirtyMin, hourly, daily, monthly, yearly ] rollupOperator: name: rollupOperator in: query description: The field that will be fetched in the data in addition to Timestamp and End Timestamp. Must come with a valid rollupInterval value required: false schema: type: string enum: [ avg, count, max, min, sum ] retrieveValues: name: retrieveValues in: query description: if set to true, the request will return the records associated to the history required: false schema: type: boolean default: false startDate: name: startDate in: query description: If the period is empty, the start of the period on which elements will be retrieved. The value must follow the ISO 8601 format required: false schema: type: string servers: # Added by API Auto Mocking Plugin - description: SwaggerHub API Auto Mocking url: https://virtserver.swaggerhub.com/BTIBDEV/Linksper/1.0.0