{
"swagger": "2.0",
"info": {
"title": "OpcPublisher",
"description": "",
"contact": {
"url": "https://www.github.com/Azure/Industrial-IoT"
},
"license": {
"name": "MIT LICENSE",
"url": "https://opensource.org/licenses/MIT"
},
"version": "v2"
},
"host": "localhost:9071",
"schemes": [
"https",
"http"
],
"paths": {
"/v2/pki/{store}/certs": {
"get": {
"tags": [
"Certificates"
],
"summary": "ListCertificates",
"description": "Get the certificates in the specified certificate store",
"operationId": "ListCertificates",
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to enumerate",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/X509CertificateModel"
}
}
}
}
},
"patch": {
"tags": [
"Certificates"
],
"summary": "AddCertificate",
"description": "Add a certificate to the specified store. The certificate is provided as a pfx/pkcs12 optionally password protected blob.",
"operationId": "AddCertificate",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to add the certificate to",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
},
{
"in": "query",
"name": "password",
"description": "The optional password of the pfx",
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "The pfx encoded certificate.",
"required": true,
"schema": {
"format": "byte",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/pki/{store}/crls": {
"get": {
"tags": [
"Certificates"
],
"summary": "ListCertificateRevocationLists",
"description": "Get the certificates in the specified certificated store",
"operationId": "ListCertificateRevocationLists",
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to enumerate",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"format": "byte",
"type": "string"
}
}
}
}
},
"patch": {
"tags": [
"Certificates"
],
"summary": "AddCertificateRevocationList",
"description": "Add a certificate revocation list to the specified store. The certificate revocation list is provided as a der encoded blob.",
"operationId": "AddCertificateRevocationList",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to add the certificate to",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
},
{
"in": "body",
"name": "body",
"description": "The pfx encoded certificate.",
"required": true,
"schema": {
"format": "byte",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
},
"delete": {
"tags": [
"Certificates"
],
"summary": "RemoveCertificateRevocationList",
"description": "Remove a certificate revocation list from the specified store.",
"operationId": "RemoveCertificateRevocationList",
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to add the certificate to",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/pki/trusted/certs": {
"post": {
"tags": [
"Certificates"
],
"summary": "AddCertificateChain",
"description": "Add a certificate chain to the specified store. The certificate is provided as a concatenated asn encoded set of certificates with the first the one to add, and the remainder the issuer chain.",
"operationId": "AddCertificateChain",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The certificate chain.",
"required": true,
"schema": {
"format": "byte",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/pki/rejected/certs/{thumbprint}/approve": {
"post": {
"tags": [
"Certificates"
],
"summary": "ApproveRejectedCertificate",
"description": "Move a rejected certificate from the rejected folder to the trusted folder on the publisher.",
"operationId": "ApproveRejectedCertificate",
"parameters": [
{
"in": "path",
"name": "thumbprint",
"description": "The thumbprint of the certificate to trust.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/pki/https/certs": {
"post": {
"tags": [
"Certificates"
],
"summary": "AddTrustedHttpsCertificateAsync",
"description": "Add a certificate chain to the trusted https store. The certificate is provided as a concatenated set of certificates with the first the one to add, and the remainder the issuer chain.",
"operationId": "AddTrustedHttpsCertificate",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The certificate chain.",
"required": true,
"schema": {
"format": "byte",
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/pki/{store}/certs/{thumbprint}": {
"delete": {
"tags": [
"Certificates"
],
"summary": "RemoveCertificate",
"description": "Remove a certificate with the provided thumbprint from the specified store.",
"operationId": "RemoveCertificate",
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to add the certificate to",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
},
{
"in": "path",
"name": "thumbprint",
"description": "The thumbprint of the certificate to delete.",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/pki/{store}": {
"delete": {
"tags": [
"Certificates"
],
"summary": "RemoveAll",
"description": "Remove all certificates and revocation lists from the specified store.",
"operationId": "RemoveAll",
"parameters": [
{
"in": "path",
"name": "store",
"description": "The store to add the certificate to",
"required": true,
"type": "string",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/configuration/start": {
"post": {
"tags": [
"Configuration"
],
"summary": "PublishStart",
"description": "Start publishing values from a node on a server. The group field in the Connection Model can be used to specify a writer group identifier that will be used in the configuration entry that is created from it inside the OPC Publisher.",
"operationId": "PublishStart",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The server and node to publish.",
"required": true,
"schema": {
"$ref": "#/definitions/PublishStartRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishStartResponseModel"
}
}
}
}
},
"/v2/configuration/stop": {
"post": {
"tags": [
"Configuration"
],
"summary": "PublishStop",
"description": "Stop publishing values from a node on the specified server. The group field that was used in the Connection Model to start publishing must also be specified in this connection model.",
"operationId": "PublishStop",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The node to stop publishing",
"required": true,
"schema": {
"$ref": "#/definitions/PublishStopRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishStopResponseModel"
}
}
}
}
},
"/v2/configuration/bulk": {
"post": {
"tags": [
"Configuration"
],
"summary": "PublishBulk",
"description": "Configure node values to publish and unpublish in bulk. The group field in the Connection Model can be used to specify a writer group identifier that will be used in the configuration entry that is created from it inside the OPC Publisher.",
"operationId": "PublishBulk",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The nodes to publish or unpublish.",
"required": true,
"schema": {
"$ref": "#/definitions/PublishBulkRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishBulkResponseModel"
}
}
}
}
},
"/v2/configuration/list": {
"post": {
"tags": [
"Configuration"
],
"summary": "PublishList",
"description": "Get all published nodes for a server endpoint. The group field that was used in the Connection Model to start publishing must also be specified in this connection model.",
"operationId": "PublishList",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "",
"required": true,
"schema": {
"$ref": "#/definitions/PublishedItemListRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishedItemListResponseModel"
}
}
}
}
},
"/v2/configuration/nodes": {
"post": {
"tags": [
"Configuration"
],
"summary": "[PublishNodes](./directmethods.md#publishnodes_v1)",
"description": "PublishNodes enables a client to add a set of nodes to be published. Further information is provided in the OPC Publisher documentation.",
"operationId": "PublishNodes",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request contains the nodes to publish.",
"required": true,
"schema": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishedNodesResponseModel"
}
}
}
}
},
"/v2/configuration/nodes/unpublish": {
"post": {
"tags": [
"Configuration"
],
"summary": "[UnpublishNodes](./directmethods.md#unpublishnodes_v1)",
"description": "UnpublishNodes method enables a client to remove nodes from a previously configured DataSetWriter. Further information is provided in the OPC Publisher documentation.",
"operationId": "UnpublishNodes",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload specifying the nodes to unpublish.",
"required": true,
"schema": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishedNodesResponseModel"
}
}
}
}
},
"/v2/configuration/nodes/unpublish/all": {
"post": {
"tags": [
"Configuration"
],
"summary": "[UnpublishAllNodes](./directmethods.md#unpublishallnodes_v1)",
"description": "Unpublish all specified nodes or all nodes in the publisher configuration. Further information is provided in the OPC Publisher documentation.",
"operationId": "UnpublishAllNodes",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request contains the parts of the configuration to remove.",
"required": true,
"schema": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishedNodesResponseModel"
}
}
}
}
},
"/v2/configuration": {
"patch": {
"tags": [
"Configuration"
],
"summary": "[AddOrUpdateEndpoints](./directmethods.md#addorupdateendpoints_v1)",
"description": "Add or update endpoint configuration and nodes on a server. Further information is provided in the OPC Publisher documentation.",
"operationId": "AddOrUpdateEndpoints",
"consumes": [
"application/json",
"text/json",
"application/*+json"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The parts of the configuration to add or update.",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/PublishedNodesResponseModel"
}
}
}
},
"get": {
"tags": [
"Configuration"
],
"summary": "[GetConfiguredEndpoints](./directmethods.md#getconfiguredendpoints_v1)",
"description": "Get a list of nodes under a configured endpoint in the configuration. Further information is provided in the OPC Publisher documentation. configuration.",
"operationId": "GetConfiguredEndpoints",
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "query",
"name": "IncludeNodes",
"description": "Include nodes that make up the configuration",
"type": "boolean"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/GetConfiguredEndpointsResponseModel"
}
}
}
},
"put": {
"tags": [
"Configuration"
],
"summary": "[SetConfiguredEndpoints](./directmethods.md#setconfiguredendpoints_v1)",
"description": "Enables clients to update the entire published nodes configuration in one call. This includes clearing the existing configuration. Further information is provided in the OPC Publisher documentation. configuration.",
"operationId": "SetConfiguredEndpoints",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The new published nodes configuration",
"required": true,
"schema": {
"$ref": "#/definitions/SetConfiguredEndpointsRequestModel"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/configuration/endpoints/list/nodes": {
"post": {
"tags": [
"Configuration"
],
"summary": "[GetConfiguredNodesOnEndpoint](./directmethods.md#getconfigurednodesonendpoint_v)",
"description": "Get the nodes of a published nodes entry object returned earlier from a call to GetConfiguredEndpoints. Further information is provided in the OPC Publisher documentation.",
"operationId": "GetConfiguredNodesOnEndpoint",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The entry model from a call to GetConfiguredEndpoints for which to gather the nodes.",
"required": true,
"schema": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/GetConfiguredNodesOnEndpointResponseModel"
}
}
}
}
},
"/v2/configuration/diagnostics": {
"post": {
"tags": [
"Configuration"
],
"summary": "[GetDiagnosticInfo](./directmethods.md#getdiagnosticinfo_v1)",
"description": "Get the list of diagnostics info for all dataset writers in the OPC Publisher at the point the call is received. Further information is provided in the OPC Publisher documentation.",
"operationId": "GetDiagnosticInfo",
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PublishDiagnosticInfoModel"
}
}
}
}
}
},
"/v2/reset": {
"get": {
"tags": [
"Diagnostics"
],
"summary": "ResetAllClients",
"description": "Can be used to reset all established connections causing a full reconnect and recreate of all subscriptions.",
"operationId": "ResetAllClients",
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/tracemode": {
"get": {
"tags": [
"Diagnostics"
],
"summary": "SetTraceMode",
"description": "Can be used to set trace mode for all established connections. Call within a minute to keep trace mode up or else trace mode will be disabled again after 1 minute. Enabling and resetting tracemode will cause a reconnect of the client.",
"operationId": "SetTraceMode",
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/v2/discovery/findserver": {
"post": {
"tags": [
"Discovery"
],
"summary": "FindServer",
"description": "Find servers matching the specified endpoint query spec.",
"operationId": "FindServer",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The endpoint query specifying the matching criteria for the discovered endpoints.",
"required": true,
"schema": {
"$ref": "#/definitions/ServerEndpointQueryModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ApplicationRegistrationModel"
}
}
}
}
},
"/v2/discovery/register": {
"post": {
"tags": [
"Discovery"
],
"summary": "Register",
"description": "Start server registration. The results of the registration are published as events to the default event transport.",
"operationId": "Register",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "Contains all information to perform the registration request including discovery url to use.",
"required": true,
"schema": {
"$ref": "#/definitions/ServerRegistrationRequestModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "boolean"
}
}
}
}
},
"/v2/discovery": {
"post": {
"tags": [
"Discovery"
],
"summary": "Discover",
"description": "Start network discovery using the provided discovery request configuration. The discovery results are published to the configured default event transport.",
"operationId": "Discover",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The discovery configuration to use during the discovery run.",
"required": true,
"schema": {
"$ref": "#/definitions/DiscoveryRequestModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "boolean"
}
}
}
}
},
"/v2/discovery/cancel": {
"post": {
"tags": [
"Discovery"
],
"summary": "Cancel",
"description": "Cancel a discovery run that is ongoing using the discovery request token specified in the discover operation.",
"operationId": "Cancel",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The information needed to cancel the discovery operation.",
"required": true,
"schema": {
"$ref": "#/definitions/DiscoveryCancelRequestModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "boolean"
}
}
}
}
},
"/v2/capabilities": {
"post": {
"tags": [
"General"
],
"summary": "GetServerCapabilities",
"description": "Get the capabilities of the server. The server capabilities are exposed as a property of the server object and this method provides a convinient way to retrieve them.",
"operationId": "GetServerCapabilities",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/RequestHeaderModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ServerCapabilitiesModel"
}
}
}
}
},
"/v2/browse/first": {
"post": {
"tags": [
"General"
],
"summary": "Browse",
"description": "Browse a a node to discover its references. For more information consult the relevant section of the OPC UA reference specification. The operation might return a continuation token. The continuation token can be used in the BrowseNext method call to retrieve the remainder of references or additional continuation tokens.",
"operationId": "Browse",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/BrowseFirstRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/BrowseFirstResponseModel"
}
}
}
}
},
"/v2/browse/next": {
"post": {
"tags": [
"General"
],
"summary": "BrowseNext",
"description": "Browse next",
"operationId": "BrowseNext",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/BrowseNextRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/BrowseNextResponseModel"
}
}
}
}
},
"/v2/browse": {
"post": {
"tags": [
"General"
],
"summary": "BrowseStream (only HTTP transport)",
"description": "Recursively browse a node to discover its references and nodes. The results are returned as a stream of nodes and references. Consult the relevant section of the OPC UA reference specification for more information.",
"operationId": "BrowseStream",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/BrowseStreamRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/BrowseStreamChunkModelIAsyncEnumerable"
}
}
}
}
},
"/v2/browse/path": {
"post": {
"tags": [
"General"
],
"summary": "BrowsePath",
"description": "Translate a start node and browse path into 0 or more target nodes. Allows programming aginst types in OPC UA. For more information consult the relevant section of the OPC UA reference specification.",
"operationId": "BrowsePath",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/BrowsePathRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/BrowsePathResponseModel"
}
}
}
}
},
"/v2/read": {
"post": {
"tags": [
"General"
],
"summary": "ValueRead",
"description": "Read the value of a variable node. This uses the service detailed in the relevant section of the OPC UA reference specification.",
"operationId": "ValueRead",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/ValueReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ValueReadResponseModel"
}
}
}
}
},
"/v2/write": {
"post": {
"tags": [
"General"
],
"summary": "ValueWrite",
"description": "Write the value of a variable node. This uses the service detailed in the relevant section of the OPC UA reference specification.",
"operationId": "ValueWrite",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/ValueWriteRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ValueWriteResponseModel"
}
}
}
}
},
"/v2/metadata": {
"post": {
"tags": [
"General"
],
"summary": "GetMetadata",
"description": "Get the type metadata for a any node. For data type nodes the response contains the data type metadata including fields. For method nodes the output and input arguments metadata is provided. For objects and object types the instance declaration is returned.",
"operationId": "GetMetadata",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/NodeMetadataRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/NodeMetadataResponseModel"
}
}
}
}
},
"/v2/query/compile": {
"post": {
"tags": [
"General"
],
"summary": "CompileQuery",
"description": "Compile a query string into a query spec that can be used when setting up event filters on monitored items that monitor events.",
"operationId": "CompileQuery",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The compilation request and connection information.",
"required": true,
"schema": {
"$ref": "#/definitions/QueryCompilationRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/QueryCompilationResponseModel"
}
}
}
}
},
"/v2/call/$metadata": {
"post": {
"tags": [
"General"
],
"summary": "MethodMetadata",
"description": "Get the metadata for calling the method. This API is obsolete. Use the more powerful GetMetadata method instead.",
"operationId": "MethodMetadata",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/MethodMetadataRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/MethodMetadataResponseModel"
}
}
}
}
},
"/v2/call": {
"post": {
"tags": [
"General"
],
"summary": "MethodCall",
"description": "Call a method on the OPC UA server endpoint with the specified input arguments and received the result in the form of the method output arguments. See the relevant section of the OPC UA reference specification for more information.",
"operationId": "MethodCall",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/MethodCallRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/MethodCallResponseModel"
}
}
}
}
},
"/v2/read/attributes": {
"post": {
"tags": [
"General"
],
"summary": "NodeRead",
"description": "Read any writeable attribute of a specified node on the server. See the relevant section of the OPC UA reference specification for more information. The attributes supported by the node are dependend on the node class of the node.",
"operationId": "NodeRead",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/ReadResponseModel"
}
}
}
}
},
"/v2/write/attributes": {
"post": {
"tags": [
"General"
],
"summary": "NodeWrite",
"description": "Write any writeable attribute of a specified node on the server. See the relevant section of the OPC UA reference specification for more information. The attributes supported by the node are dependend on the node class of the node.",
"operationId": "NodeWrite",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/WriteRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/WriteResponseModel"
}
}
}
}
},
"/v2/historyread/first": {
"post": {
"tags": [
"General"
],
"summary": "HistoryRead",
"description": "Read the history using the respective OPC UA service call. See the relevant section of the OPC UA reference specification for more information. If continuation is returned the remaining results of the operation can be read using the HistoryReadNext method.",
"operationId": "HistoryRead",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/VariantValueHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/VariantValueHistoryReadResponseModel"
}
}
}
}
},
"/v2/historyread/next": {
"post": {
"tags": [
"General"
],
"summary": "HistoryReadNext",
"description": "Read next history using the respective OPC UA service call. See the relevant section of the OPC UA reference specification for more information.",
"operationId": "HistoryReadNext",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/HistoryReadNextRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/VariantValueHistoryReadNextResponseModel"
}
}
}
}
},
"/v2/historyupdate": {
"post": {
"tags": [
"General"
],
"summary": "HistoryUpdate",
"description": "Update history using the respective OPC UA service call. Consult the relevant section of the OPC UA reference specification for more information.",
"operationId": "HistoryUpdate",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/VariantValueHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/certificate": {
"post": {
"tags": [
"General"
],
"summary": "GetEndpointCertificate",
"description": "Get a server endpoint's certificate and certificate chain if available.",
"operationId": "GetEndpointCertificate",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The server endpoint to get the certificate for.",
"required": true,
"schema": {
"$ref": "#/definitions/EndpointModel"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/X509CertificateChainModel"
}
}
}
}
},
"/v2/history/capabilities": {
"post": {
"tags": [
"General"
],
"summary": "HistoryGetServerCapabilities",
"description": "Get the historian capabilities exposed as part of the OPC UA server server object.",
"operationId": "HistoryGetServerCapabilities",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/RequestHeaderModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryServerCapabilitiesModel"
}
}
}
}
},
"/v2/history/configuration": {
"post": {
"tags": [
"General"
],
"summary": "HistoryGetConfiguration",
"description": "Get the historian configuration of a historizing node in the OPC UA server",
"operationId": "HistoryGetConfiguration",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/HistoryConfigurationRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryConfigurationResponseModel"
}
}
}
}
},
"/v2/test": {
"post": {
"tags": [
"General"
],
"summary": "TestConnection",
"description": "Test connection to an opc ua server. The call will not establish any persistent connection but will just allow a client to test that the server is available.",
"operationId": "TestConnection",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The request payload and connection information identifying the server to connect to perform the operation on.",
"required": true,
"schema": {
"$ref": "#/definitions/TestConnectionRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/TestConnectionResponseModel"
}
}
}
}
},
"/v2/history/events/replace": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReplaceEvents",
"description": "Replace events in a timeseries in the historian of the OPC UA server. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReplaceEvents",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The events to replace with in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/events/insert": {
"post": {
"tags": [
"History"
],
"summary": "HistoryInsertEvents",
"description": "Insert event entries into a specified timeseries of the historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryInsertEvents",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The events to insert into the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/events/upsert": {
"post": {
"tags": [
"History"
],
"summary": "HistoryUpsertEvents",
"description": "Upsert events into a time series of the opc server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryUpsertEvents",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The events to upsert into the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/events/delete": {
"post": {
"tags": [
"History"
],
"summary": "HistoryDeleteEvents",
"description": "Delete event entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryDeleteEvents",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The events to delete in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/values/delete/attimes": {
"post": {
"tags": [
"History"
],
"summary": "HistoryDeleteValuesAtTimes",
"description": "Delete value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryDeleteValuesAtTimes",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to delete in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/values/delete/modified": {
"post": {
"tags": [
"History"
],
"summary": "HistoryDeleteModifiedValues",
"description": "Delete value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryDeleteModifiedValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to delete in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/values/delete": {
"post": {
"tags": [
"History"
],
"summary": "HistoryDeleteValues",
"description": "Delete value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryDeleteValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to delete in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/values/replace": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReplaceValues",
"description": "Replace value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReplaceValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to replace with in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/values/insert": {
"post": {
"tags": [
"History"
],
"summary": "HistoryInsertValues",
"description": "Insert value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryInsertValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to insert into the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/values/upsert": {
"post": {
"tags": [
"History"
],
"summary": "HistoryUpsertValues",
"description": "Upsert value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryUpsertValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to upsert into the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoryUpdateResponseModel"
}
}
}
}
},
"/v2/history/events/read/first": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadEvents",
"description": "Read an event timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadEvents",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The events to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadEventsDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricEventModelArrayHistoryReadResponseModel"
}
}
}
}
},
"/v2/history/events/read/next": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadEventsNext",
"description": "Continue reading an event timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadEventsNext",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The continuation from a previous read request.",
"required": true,
"schema": {
"$ref": "#/definitions/HistoryReadNextRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricEventModelArrayHistoryReadNextResponseModel"
}
}
}
}
},
"/v2/history/values/read/first": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadValues",
"description": "Read a data change timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadValuesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel"
}
}
}
}
},
"/v2/history/values/read/first/attimes": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadValuesAtTimes",
"description": "Read parts of a timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadValuesAtTimes",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadValuesAtTimesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel"
}
}
}
}
},
"/v2/history/values/read/first/processed": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadProcessedValues",
"description": "Read processed timeseries data inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadProcessedValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadProcessedValuesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel"
}
}
}
}
},
"/v2/history/values/read/first/modified": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadModifiedValues",
"description": "Read modified changes in a timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadModifiedValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadModifiedValuesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel"
}
}
}
}
},
"/v2/history/values/read/next": {
"post": {
"tags": [
"History"
],
"summary": "HistoryReadValuesNext",
"description": "Continue reading a timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryReadValuesNext",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The continuation token from a previous read operation.",
"required": true,
"schema": {
"$ref": "#/definitions/HistoryReadNextRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelArrayHistoryReadNextResponseModel"
}
}
}
}
},
"/v2/history/values/read": {
"post": {
"tags": [
"History"
],
"summary": "HistoryStreamValues (only HTTP transport)",
"description": "Read an entire timeseries from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryStreamValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadValuesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelIAsyncEnumerable"
}
}
}
}
},
"/v2/history/values/read/modified": {
"post": {
"tags": [
"History"
],
"summary": "HistoryStreamModifiedValues (only HTTP transport)",
"description": "Read an entire modified series from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryStreamModifiedValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadModifiedValuesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelIAsyncEnumerable"
}
}
}
}
},
"/v2/history/values/read/attimes": {
"post": {
"tags": [
"History"
],
"summary": "HistoryStreamValuesAtTimes (only HTTP transport)",
"description": "Read specific timeseries data from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryStreamValuesAtTimes",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadValuesAtTimesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelIAsyncEnumerable"
}
}
}
}
},
"/v2/history/values/read/processed": {
"post": {
"tags": [
"History"
],
"summary": "HistoryStreamProcessedValues (only HTTP transport)",
"description": "Read processed timeseries data from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryStreamProcessedValues",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The values to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadProcessedValuesDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricValueModelIAsyncEnumerable"
}
}
}
}
},
"/v2/history/events/read": {
"post": {
"tags": [
"History"
],
"summary": "HistoryStreamEvents (only HTTP transport)",
"description": "Read an entire event timeseries from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.",
"operationId": "HistoryStreamEvents",
"consumes": [
"application/json",
"text/json",
"application/*+json",
"application/x-msgpack"
],
"produces": [
"text/plain",
"application/json",
"text/json",
"application/x-msgpack"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "The events to read in the timeseries.",
"required": true,
"schema": {
"$ref": "#/definitions/ReadEventsDetailsModelHistoryReadRequestModelRequestEnvelope"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/HistoricEventModelIAsyncEnumerable"
}
}
}
}
}
},
"definitions": {
"AdditionalData": {
"format": "int32",
"description": "Flags that are set by the historian when\r\nreturning archived values.",
"enum": [
"None",
"Partial",
"ExtraData",
"MultipleValues"
],
"type": "string",
"x-ms-enum": {
"name": "AdditionalData",
"modelAsString": false
}
},
"AggregateConfigurationModel": {
"description": "Aggregate configuration",
"type": "object",
"properties": {
"treatUncertainAsBad": {
"description": "Whether to treat uncertain as bad",
"type": "boolean"
},
"percentDataBad": {
"format": "int32",
"description": "Percent of data that is bad",
"type": "integer"
},
"percentDataGood": {
"format": "int32",
"description": "Percent of data that is good",
"type": "integer"
},
"useSlopedExtrapolation": {
"description": "Whether to use sloped extrapolation.",
"type": "boolean"
}
}
},
"ApplicationInfoModel": {
"description": "Application info model",
"type": "object",
"properties": {
"applicationId": {
"description": "Unique application id",
"type": "string"
},
"applicationType": {
"$ref": "#/definitions/ApplicationType"
},
"applicationUri": {
"description": "Unique application uri",
"type": "string"
},
"productUri": {
"description": "Product uri",
"type": "string"
},
"applicationName": {
"description": "Default name of application",
"type": "string"
},
"locale": {
"description": "Locale of default name - defaults to \"en\"",
"type": "string"
},
"localizedNames": {
"description": "Localized Names of application keyed on locale",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"capabilities": {
"description": "The capabilities advertised by the server.",
"type": "array",
"items": {
"type": "string"
}
},
"discoveryUrls": {
"description": "Discovery urls of the server",
"type": "array",
"items": {
"type": "string"
}
},
"discoveryProfileUri": {
"description": "Discovery profile uri",
"type": "string"
},
"gatewayServerUri": {
"description": "Gateway server uri",
"type": "string"
},
"hostAddresses": {
"description": "Host addresses of server application or null",
"type": "array",
"items": {
"type": "string"
}
},
"siteId": {
"description": "Site of the application",
"type": "string",
"example": "productionlineA"
},
"discovererId": {
"description": "Discoverer that registered the application",
"type": "string"
},
"notSeenSince": {
"format": "date-time",
"description": "Last time application was seen if not visible",
"type": "string"
},
"created": {
"$ref": "#/definitions/OperationContextModel"
},
"updated": {
"$ref": "#/definitions/OperationContextModel"
}
}
},
"ApplicationRegistrationModel": {
"description": "Application with optional list of endpoints",
"required": [
"application"
],
"type": "object",
"properties": {
"application": {
"$ref": "#/definitions/ApplicationInfoModel"
},
"endpoints": {
"description": "List of endpoints for it",
"type": "array",
"items": {
"$ref": "#/definitions/EndpointRegistrationModel"
}
}
}
},
"ApplicationType": {
"format": "int32",
"description": "Application type",
"enum": [
"Server",
"Client",
"ClientAndServer",
"DiscoveryServer"
],
"type": "string",
"x-ms-enum": {
"name": "ApplicationType",
"modelAsString": false
}
},
"AttributeReadRequestModel": {
"description": "Attribute to read",
"required": [
"attribute",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from or write to (mandatory)",
"minLength": 1,
"type": "string"
},
"attribute": {
"$ref": "#/definitions/NodeAttribute"
}
}
},
"AttributeReadResponseModel": {
"description": "Attribute value read",
"type": "object",
"properties": {
"value": {
"description": "Attribute value",
"type": "object"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"AttributeWriteRequestModel": {
"description": "Attribute and value to write to it",
"required": [
"attribute",
"nodeId",
"value"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to write to (mandatory)",
"minLength": 1,
"type": "string"
},
"attribute": {
"$ref": "#/definitions/NodeAttribute"
},
"value": {
"description": "Value to write (mandatory)",
"type": "object"
}
}
},
"AttributeWriteResponseModel": {
"description": "Attribute write result",
"type": "object",
"properties": {
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"AuthenticationMethodModel": {
"description": "Authentication Method model",
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"description": "Method id",
"minLength": 1,
"type": "string"
},
"credentialType": {
"$ref": "#/definitions/CredentialType"
},
"securityPolicy": {
"description": "Security policy to use when passing credential.",
"type": "string"
},
"configuration": {
"description": "Method specific configuration",
"type": "object"
}
}
},
"BrowseDirection": {
"format": "int32",
"description": "Direction to browse",
"enum": [
"Forward",
"Backward",
"Both"
],
"type": "string",
"x-ms-enum": {
"name": "BrowseDirection",
"modelAsString": false
}
},
"BrowseFirstRequestModel": {
"description": "Browse request model",
"type": "object",
"properties": {
"nodeId": {
"description": "Node to browse.\r\n(defaults to root folder).",
"type": "string"
},
"direction": {
"$ref": "#/definitions/BrowseDirection"
},
"view": {
"$ref": "#/definitions/BrowseViewModel"
},
"referenceTypeId": {
"description": "Reference types to browse.\r\n(default: hierarchical).",
"type": "string"
},
"noSubtypes": {
"description": "Whether to include subtypes of the reference type.\r\n(default is false)",
"type": "boolean"
},
"maxReferencesToReturn": {
"format": "int64",
"description": "Max number of references to return. There might\r\nbe less returned as this is up to the client\r\nrestrictions. Set to 0 to return no references\r\nor target nodes.\r\n(default is decided by client e.g. 60)",
"type": "integer"
},
"targetNodesOnly": {
"description": "Whether to collapse all references into a set of\r\nunique target nodes and not show reference\r\ninformation.\r\n(default is false)",
"type": "boolean"
},
"readVariableValues": {
"description": "Whether to read variable values on target nodes.\r\n(default is false)",
"type": "boolean"
},
"nodeClassFilter": {
"description": "Filter returned target nodes by only returning\r\nnodes that have classes defined in this array.\r\n(default: null - all targets are returned)",
"enum": [
"Object",
"Variable",
"Method",
"ObjectType",
"VariableType",
"ReferenceType",
"DataType",
"View"
],
"type": "string",
"items": {
"$ref": "#/definitions/NodeClass"
},
"x-ms-enum": {
"name": "NodeClass",
"modelAsString": false
}
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"nodeIdsOnly": {
"description": "Whether to only return the raw node id\r\ninformation and not read the target node.\r\n(default is false)",
"type": "boolean"
}
}
},
"BrowseFirstRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/BrowseFirstRequestModel"
}
}
},
"BrowseFirstResponseModel": {
"description": "Browse response model",
"type": "object",
"properties": {
"node": {
"$ref": "#/definitions/NodeModel"
},
"references": {
"description": "References, if included, otherwise null.",
"type": "array",
"items": {
"$ref": "#/definitions/NodeReferenceModel"
}
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"BrowseNextRequestModel": {
"description": "Request node browsing continuation",
"required": [
"continuationToken"
],
"type": "object",
"properties": {
"continuationToken": {
"description": "Continuation token from previews browse request.\r\n(mandatory)",
"minLength": 1,
"type": "string"
},
"abort": {
"description": "Whether to abort browse and release.\r\n(default: false)",
"type": "boolean"
},
"targetNodesOnly": {
"description": "Whether to collapse all references into a set of\r\nunique target nodes and not show reference\r\ninformation.\r\n(default is false)",
"type": "boolean"
},
"readVariableValues": {
"description": "Whether to read variable values on target nodes.\r\n(default is false)",
"type": "boolean"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"nodeIdsOnly": {
"description": "Whether to only return the raw node id\r\ninformation and not read the target node.\r\n(default is false)",
"type": "boolean"
}
}
},
"BrowseNextRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/BrowseNextRequestModel"
}
}
},
"BrowseNextResponseModel": {
"description": "Result of node browse continuation",
"type": "object",
"properties": {
"references": {
"description": "References, if included, otherwise null.",
"type": "array",
"items": {
"$ref": "#/definitions/NodeReferenceModel"
}
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"BrowsePathRequestModel": {
"description": "Browse nodes by path",
"required": [
"browsePaths"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to browse from.\r\n(defaults to root folder).",
"type": "string"
},
"browsePaths": {
"description": "The paths to browse from node.\r\n(mandatory)",
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"readVariableValues": {
"description": "Whether to read variable values on target nodes.\r\n(default is false)",
"type": "boolean"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"nodeIdsOnly": {
"description": "Whether to only return the raw node id\r\ninformation and not read the target node.\r\n(default is false)",
"type": "boolean"
}
}
},
"BrowsePathRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/BrowsePathRequestModel"
}
}
},
"BrowsePathResponseModel": {
"description": "Result of node browse continuation",
"type": "object",
"properties": {
"targets": {
"description": "Targets",
"type": "array",
"items": {
"$ref": "#/definitions/NodePathTargetModel"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"BrowseStreamChunkModelIAsyncEnumerable": {
"type": "object"
},
"BrowseStreamRequestModel": {
"description": "Browse stream request model",
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"nodeId": {
"description": "Start nodes to browse.\r\n(defaults to root folder).",
"type": "array",
"items": {
"type": "string"
}
},
"direction": {
"$ref": "#/definitions/BrowseDirection"
},
"view": {
"$ref": "#/definitions/BrowseViewModel"
},
"referenceTypeId": {
"description": "Reference types to browse.\r\n(default: hierarchical).",
"type": "string"
},
"noSubtypes": {
"description": "Whether to include subtypes of the reference type.\r\n(default is false)",
"type": "boolean"
},
"readVariableValues": {
"description": "Whether to read variable values on source nodes.\r\n(default is false)",
"type": "boolean"
},
"noRecurse": {
"description": "Whether to not browse recursively\r\n(default is false)",
"type": "boolean"
},
"nodeClassFilter": {
"description": "Filter returned target nodes by only returning\r\nnodes that have classes defined in this array.\r\n(default: null - all targets are returned)",
"enum": [
"Object",
"Variable",
"Method",
"ObjectType",
"VariableType",
"ReferenceType",
"DataType",
"View"
],
"type": "string",
"items": {
"$ref": "#/definitions/NodeClass"
},
"x-ms-enum": {
"name": "NodeClass",
"modelAsString": false
}
}
}
},
"BrowseStreamRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/BrowseStreamRequestModel"
}
}
},
"BrowseViewModel": {
"description": "View to browse",
"required": [
"viewId"
],
"type": "object",
"properties": {
"viewId": {
"description": "Node of the view to browse",
"minLength": 1,
"type": "string"
},
"version": {
"format": "int64",
"description": "Browses specific version of the view.",
"type": "integer"
},
"timestamp": {
"format": "date-time",
"description": "Browses at or before this timestamp.",
"type": "string"
}
}
},
"CertificateStoreName": {
"format": "int32",
"description": "The types of certificate stores",
"enum": [
"Application",
"Rejected",
"Trusted",
"Https",
"User",
"Issuer",
"HttpsIssuer",
"UserIssuer"
],
"type": "string",
"x-ms-enum": {
"name": "CertificateStoreName",
"modelAsString": false
}
},
"ConditionHandlingOptionsModel": {
"description": "Condition handling options model",
"type": "object",
"properties": {
"updateInterval": {
"format": "int32",
"description": "Time interval for sending pending interval updates in seconds.",
"type": "integer"
},
"snapshotInterval": {
"format": "int32",
"description": "Time interval for sending pending interval snapshot in seconds.",
"type": "integer"
}
}
},
"ConnectionModel": {
"description": "Connection model",
"type": "object",
"properties": {
"endpoint": {
"$ref": "#/definitions/EndpointModel"
},
"user": {
"$ref": "#/definitions/CredentialModel"
},
"diagnostics": {
"$ref": "#/definitions/DiagnosticsModel"
},
"group": {
"description": "Connection group allows splitting connections\r\nper purpose.",
"type": "string"
},
"options": {
"$ref": "#/definitions/ConnectionOptions"
}
}
},
"ConnectionOptions": {
"format": "int32",
"description": "Options that can be applied to a connection",
"enum": [
"None",
"UseReverseConnect",
"NoComplexTypeSystem"
],
"type": "string",
"x-ms-enum": {
"name": "ConnectionOptions",
"modelAsString": false
}
},
"ContentFilterElementModel": {
"description": "An expression element in the filter ast",
"type": "object",
"properties": {
"filterOperator": {
"$ref": "#/definitions/FilterOperatorType"
},
"filterOperands": {
"description": "The operands in the element for the operator",
"type": "array",
"items": {
"$ref": "#/definitions/FilterOperandModel"
}
}
}
},
"ContentFilterModel": {
"description": "Content filter",
"type": "object",
"properties": {
"elements": {
"description": "The flat list of elements in the filter AST",
"type": "array",
"items": {
"$ref": "#/definitions/ContentFilterElementModel"
}
}
}
},
"CredentialModel": {
"description": "Credential model. For backwards compatibility\r\nthe actual credentials to pass to the server is set\r\nthrough the value property.",
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/CredentialType"
},
"value": {
"$ref": "#/definitions/UserIdentityModel"
}
}
},
"CredentialType": {
"format": "int32",
"description": "Type of credentials to use for authentication",
"enum": [
"None",
"UserName",
"X509Certificate",
"JwtToken"
],
"type": "string",
"x-ms-enum": {
"name": "CredentialType",
"modelAsString": false
}
},
"DataChangeTriggerType": {
"format": "int32",
"description": "Data change trigger",
"enum": [
"Status",
"StatusValue",
"StatusValueTimestamp"
],
"type": "string",
"x-ms-enum": {
"name": "DataChangeTriggerType",
"modelAsString": false
}
},
"DataLocation": {
"format": "int32",
"description": "Indicate the data location",
"enum": [
"Raw",
"Calculated",
"Interpolated"
],
"type": "string",
"x-ms-enum": {
"name": "DataLocation",
"modelAsString": false
}
},
"DataSetRoutingMode": {
"format": "int32",
"description": "Data set routing",
"enum": [
"None",
"UseBrowseNames",
"UseBrowseNamesWithNamespaceIndex"
],
"type": "string",
"x-ms-enum": {
"name": "DataSetRoutingMode",
"modelAsString": false
}
},
"DataTypeMetadataModel": {
"description": "Data type metadata model",
"type": "object",
"properties": {
"dataType": {
"description": "The data type for the instance declaration.",
"type": "string"
}
}
},
"DeadbandType": {
"format": "int32",
"description": "Deadband type",
"enum": [
"Absolute",
"Percent"
],
"type": "string",
"x-ms-enum": {
"name": "DeadbandType",
"modelAsString": false
}
},
"DeleteEventsDetailsModel": {
"description": "The events to delete",
"required": [
"eventIds"
],
"type": "object",
"properties": {
"eventIds": {
"description": "Events to delete",
"type": "array",
"items": {
"format": "byte",
"type": "string"
}
}
}
},
"DeleteEventsDetailsModelHistoryUpdateRequestModel": {
"description": "Request node history update",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to update",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/DeleteEventsDetailsModel"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"DeleteEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/DeleteEventsDetailsModelHistoryUpdateRequestModel"
}
}
},
"DeleteValuesAtTimesDetailsModel": {
"description": "Deletes data at times",
"required": [
"reqTimes"
],
"type": "object",
"properties": {
"reqTimes": {
"description": "The timestamps to delete",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
}
}
},
"DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModel": {
"description": "Request node history update",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to update",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/DeleteValuesAtTimesDetailsModel"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModel"
}
}
},
"DeleteValuesDetailsModel": {
"description": "Delete values",
"type": "object",
"properties": {
"startTime": {
"format": "date-time",
"description": "Start time",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "End time to delete until",
"type": "string"
}
}
},
"DeleteValuesDetailsModelHistoryUpdateRequestModel": {
"description": "Request node history update",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to update",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/DeleteValuesDetailsModel"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"DeleteValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/DeleteValuesDetailsModelHistoryUpdateRequestModel"
}
}
},
"DiagnosticsLevel": {
"format": "int32",
"description": "Level of diagnostics requested in responses",
"enum": [
"None",
"Status",
"Information",
"Debug",
"Verbose"
],
"type": "string",
"x-ms-enum": {
"name": "DiagnosticsLevel",
"modelAsString": false
}
},
"DiagnosticsModel": {
"description": "Diagnostics configuration",
"type": "object",
"properties": {
"level": {
"$ref": "#/definitions/DiagnosticsLevel"
},
"auditId": {
"description": "Client audit log entry.\r\n(default: client generated)",
"type": "string"
},
"timeStamp": {
"format": "date-time",
"description": "Timestamp of request.\r\n(default: client generated)",
"type": "string"
}
}
},
"DiscoveryCancelRequestModel": {
"description": "Discovery cancel request",
"type": "object",
"properties": {
"id": {
"description": "Id of discovery request",
"type": "string"
},
"context": {
"$ref": "#/definitions/OperationContextModel"
}
}
},
"DiscoveryConfigModel": {
"description": "Discovery configuration api model",
"type": "object",
"properties": {
"addressRangesToScan": {
"description": "Address ranges to scan (null == all wired nics)",
"type": "string"
},
"networkProbeTimeout": {
"format": "date-span",
"description": "Network probe timeout",
"type": "string"
},
"maxNetworkProbes": {
"format": "int32",
"description": "Max network probes that should ever run.",
"type": "integer"
},
"portRangesToScan": {
"description": "Port ranges to scan (null == all unassigned)",
"type": "string"
},
"portProbeTimeout": {
"format": "date-span",
"description": "Port probe timeout",
"type": "string"
},
"maxPortProbes": {
"format": "int32",
"description": "Max port probes that should ever run.",
"type": "integer"
},
"minPortProbesPercent": {
"format": "int32",
"description": "Probes that must always be there as percent of max.",
"type": "integer"
},
"idleTimeBetweenScans": {
"format": "date-span",
"description": "Delay time between discovery sweeps",
"type": "string"
},
"discoveryUrls": {
"description": "List of preset discovery urls to use",
"type": "array",
"items": {
"type": "string"
}
},
"locales": {
"description": "List of locales to filter with during discovery",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"DiscoveryMode": {
"format": "int32",
"description": "Discovery mode to use",
"enum": [
"Off",
"Local",
"Network",
"Fast",
"Scan"
],
"type": "string",
"x-ms-enum": {
"name": "DiscoveryMode",
"modelAsString": false
}
},
"DiscoveryRequestModel": {
"description": "Discovery request",
"type": "object",
"properties": {
"id": {
"description": "Id of discovery request",
"type": "string"
},
"discovery": {
"$ref": "#/definitions/DiscoveryMode"
},
"configuration": {
"$ref": "#/definitions/DiscoveryConfigModel"
},
"context": {
"$ref": "#/definitions/OperationContextModel"
}
}
},
"EndpointModel": {
"description": "Endpoint model",
"type": "object",
"properties": {
"url": {
"description": "Endpoint url to use to connect with",
"type": "string"
},
"alternativeUrls": {
"description": "Alternative endpoint urls that can be used for\r\naccessing and validating the server",
"type": "array",
"items": {
"type": "string"
}
},
"securityMode": {
"$ref": "#/definitions/SecurityMode"
},
"securityPolicy": {
"description": "Security policy uri to use for communication.\r\ndefault to best.",
"type": "string"
},
"certificate": {
"description": "Endpoint certificate thumbprint",
"type": "string"
}
}
},
"EndpointRegistrationModel": {
"description": "Endpoint registration",
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"description": "Endpoint identifier which is hashed from\r\nthe supervisor, site and url.",
"minLength": 1,
"type": "string"
},
"endpointUrl": {
"description": "Original endpoint url of the endpoint",
"type": "string"
},
"siteId": {
"description": "Registered site of the endpoint",
"type": "string"
},
"discovererId": {
"description": "Entity that registered and can access the endpoint",
"type": "string"
},
"endpoint": {
"$ref": "#/definitions/EndpointModel"
},
"securityLevel": {
"format": "int32",
"description": "Security level of the endpoint",
"type": "integer"
},
"authenticationMethods": {
"description": "Supported authentication methods that can be selected to\r\nobtain a credential and used to interact with the endpoint.",
"type": "array",
"items": {
"$ref": "#/definitions/AuthenticationMethodModel"
}
}
}
},
"EventFilterModel": {
"description": "Event filter",
"required": [
"selectClauses",
"whereClause"
],
"type": "object",
"properties": {
"selectClauses": {
"description": "Select clauses",
"type": "array",
"items": {
"$ref": "#/definitions/SimpleAttributeOperandModel"
}
},
"whereClause": {
"$ref": "#/definitions/ContentFilterModel"
},
"typeDefinitionId": {
"description": "Simple event Type definition node id",
"type": "string"
}
}
},
"ExceptionDeviationType": {
"format": "int32",
"description": "Exception deviation type",
"enum": [
"AbsoluteValue",
"PercentOfValue",
"PercentOfRange",
"PercentOfEURange"
],
"type": "string",
"x-ms-enum": {
"name": "ExceptionDeviationType",
"modelAsString": false
}
},
"FilterOperandModel": {
"description": "Filter operand",
"type": "object",
"properties": {
"index": {
"format": "int64",
"description": "Element reference in the outer list if\r\noperand is an element operand",
"type": "integer"
},
"value": {
"description": "Variant value if operand is a literal",
"type": "object"
},
"nodeId": {
"description": "Type definition node id if operand is\r\nsimple or full attribute operand.",
"type": "string"
},
"browsePath": {
"description": "Browse path of attribute operand",
"type": "array",
"items": {
"type": "string"
}
},
"attributeId": {
"$ref": "#/definitions/NodeAttribute"
},
"indexRange": {
"description": "Index range of attribute operand",
"type": "string"
},
"alias": {
"description": "Optional alias to refer to it makeing it a\r\nfull blown attribute operand",
"type": "string"
},
"dataType": {
"description": "Data type if operand is a literal",
"type": "string"
}
}
},
"FilterOperatorType": {
"format": "int32",
"description": "Filter operator type",
"enum": [
"Equals",
"IsNull",
"GreaterThan",
"LessThan",
"GreaterThanOrEqual",
"LessThanOrEqual",
"Like",
"Not",
"Between",
"InList",
"And",
"Or",
"Cast",
"InView",
"OfType",
"RelatedTo",
"BitwiseAnd",
"BitwiseOr"
],
"type": "string",
"x-ms-enum": {
"name": "FilterOperatorType",
"modelAsString": false
}
},
"GetConfiguredEndpointsResponseModel": {
"description": "Result of GetConfiguredEndpoints method call",
"type": "object",
"properties": {
"endpoints": {
"description": "Collection of Endpoints in the configuration",
"type": "array",
"items": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
}
},
"GetConfiguredNodesOnEndpointResponseModel": {
"description": "Result of GetConfiguredNodesOnEndpoint method call",
"type": "object",
"properties": {
"opcNodes": {
"description": "Collection of Nodes configured for a particular endpoint",
"type": "array",
"items": {
"$ref": "#/definitions/OpcNodeModel"
}
}
}
},
"HeartbeatBehavior": {
"format": "int32",
"description": "Heartbeat behavior",
"enum": [
"WatchdogLKV",
"WatchdogLKG",
"PeriodicLKV",
"PeriodicLKG",
"WatchdogLKVWithUpdatedTimestamps",
"WatchdogLKVDiagnosticsOnly"
],
"type": "string",
"x-ms-enum": {
"name": "HeartbeatBehavior",
"modelAsString": false
}
},
"HistoricEventModel": {
"description": "Historic event",
"type": "object",
"properties": {
"eventFields": {
"description": "The selected fields of the event",
"type": "object",
"items": {
"description": "A variant which can be represented by any value including null.",
"type": "object"
}
}
}
},
"HistoricEventModelArrayHistoryReadNextResponseModel": {
"description": "History read continuation result",
"type": "object",
"properties": {
"history": {
"description": "History as json encoded extension object",
"type": "array",
"items": {
"$ref": "#/definitions/HistoricEventModel"
}
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"HistoricEventModelArrayHistoryReadResponseModel": {
"description": "History read results",
"type": "object",
"properties": {
"history": {
"description": "History as json encoded extension object",
"type": "array",
"items": {
"$ref": "#/definitions/HistoricEventModel"
}
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"HistoricEventModelIAsyncEnumerable": {
"type": "object"
},
"HistoricValueModel": {
"description": "Historic data",
"type": "object",
"properties": {
"value": {
"description": "The value of data value.",
"type": "object"
},
"dataType": {
"description": "Built in data type of the updated values",
"type": "string"
},
"status": {
"$ref": "#/definitions/ServiceResultModel"
},
"sourceTimestamp": {
"format": "date-time",
"description": "The source timestamp associated with the value.",
"type": "string"
},
"sourcePicoseconds": {
"format": "int32",
"description": "Additional resolution for the source timestamp.",
"type": "integer"
},
"serverTimestamp": {
"format": "date-time",
"description": "The server timestamp associated with the value.",
"type": "string"
},
"serverPicoseconds": {
"format": "int32",
"description": "Additional resolution for the server timestamp.",
"type": "integer"
},
"dataLocation": {
"$ref": "#/definitions/DataLocation"
},
"modificationInfo": {
"$ref": "#/definitions/ModificationInfoModel"
},
"additionalData": {
"$ref": "#/definitions/AdditionalData"
}
}
},
"HistoricValueModelArrayHistoryReadNextResponseModel": {
"description": "History read continuation result",
"type": "object",
"properties": {
"history": {
"description": "History as json encoded extension object",
"type": "array",
"items": {
"$ref": "#/definitions/HistoricValueModel"
}
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"HistoricValueModelArrayHistoryReadResponseModel": {
"description": "History read results",
"type": "object",
"properties": {
"history": {
"description": "History as json encoded extension object",
"type": "array",
"items": {
"$ref": "#/definitions/HistoricValueModel"
}
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"HistoricValueModelIAsyncEnumerable": {
"type": "object"
},
"HistoryConfigurationModel": {
"description": "History configuration",
"type": "object",
"properties": {
"stepped": {
"description": "specifies whether the historical data was\r\ncollected in such a manner that it should\r\nbe displayed as SlopedInterpolation (sloped\r\nline between points) or as SteppedInterpolation\r\n(vertically-connected horizontal lines\r\nbetween points) when raw data is examined.\r\nThis Property also effects how some\r\nAggregates are calculated",
"type": "boolean"
},
"definition": {
"description": "Human readable string that specifies how\r\nthe value of this HistoricalDataNode is\r\ncalculated",
"type": "string"
},
"maxTimeInterval": {
"format": "date-span",
"description": "Specifies the maximum interval between data\r\npoints in the history repository\r\nregardless of their value change",
"type": "string"
},
"minTimeInterval": {
"format": "date-span",
"description": "Specifies the minimum interval between\r\ndata points in the history repository\r\nregardless of their value change",
"type": "string"
},
"exceptionDeviation": {
"format": "double",
"description": "Minimum amount that the data for the\r\nNode shall change in order for the change\r\nto be reported to the history database",
"type": "number"
},
"exceptionDeviationType": {
"$ref": "#/definitions/ExceptionDeviationType"
},
"startOfArchive": {
"format": "date-time",
"description": "The date before which there is no data in the\r\narchive either online or offline",
"type": "string"
},
"endOfArchive": {
"format": "date-time",
"description": "The last date of the archive",
"type": "string"
},
"startOfOnlineArchive": {
"format": "date-time",
"description": "Date of the earliest data in the online archive",
"type": "string"
},
"serverTimestampSupported": {
"description": "Server supports ServerTimestamps in addition\r\nto SourceTimestamp",
"type": "boolean"
},
"aggregateConfiguration": {
"$ref": "#/definitions/AggregateConfigurationModel"
},
"aggregateFunctions": {
"description": "Allowed aggregate functions",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"HistoryConfigurationRequestModel": {
"description": "Request history configuration",
"required": [
"nodeId"
],
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"nodeId": {
"description": "Continuation token to continue reading more\r\nresults.",
"minLength": 1,
"type": "string"
}
}
},
"HistoryConfigurationRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/HistoryConfigurationRequestModel"
}
}
},
"HistoryConfigurationResponseModel": {
"description": "Response with history configuration",
"type": "object",
"properties": {
"configuration": {
"$ref": "#/definitions/HistoryConfigurationModel"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"HistoryReadNextRequestModel": {
"description": "Request node history read continuation",
"required": [
"continuationToken"
],
"type": "object",
"properties": {
"continuationToken": {
"description": "Continuation token to continue reading more\r\nresults.",
"minLength": 1,
"type": "string"
},
"abort": {
"description": "Abort reading after this read",
"type": "boolean"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"HistoryReadNextRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/HistoryReadNextRequestModel"
}
}
},
"HistoryServerCapabilitiesModel": {
"description": "History Server capabilities",
"type": "object",
"properties": {
"supportsHistoricData": {
"description": "Server supports historic data access",
"type": "boolean"
},
"supportsHistoricEvents": {
"description": "Server supports historic event access",
"type": "boolean"
},
"maxReturnDataValues": {
"format": "int64",
"description": "Maximum number of historic data values that will\r\nbe returned in a single read.",
"type": "integer"
},
"maxReturnEventValues": {
"format": "int64",
"description": "Maximum number of events that will be returned\r\nin a single read.",
"type": "integer"
},
"insertDataCapability": {
"description": "Server supports inserting data",
"type": "boolean"
},
"replaceDataCapability": {
"description": "Server supports replacing historic data",
"type": "boolean"
},
"updateDataCapability": {
"description": "Server supports updating historic data",
"type": "boolean"
},
"deleteRawCapability": {
"description": "Server supports deleting raw data",
"type": "boolean"
},
"deleteAtTimeCapability": {
"description": "Server support deleting data at times",
"type": "boolean"
},
"insertEventCapability": {
"description": "Server supports inserting events",
"type": "boolean"
},
"replaceEventCapability": {
"description": "Server supports replacing events",
"type": "boolean"
},
"updateEventCapability": {
"description": "Server supports updating events",
"type": "boolean"
},
"deleteEventCapability": {
"description": "Server supports deleting events",
"type": "boolean"
},
"insertAnnotationCapability": {
"description": "Allows inserting annotations",
"type": "boolean"
},
"serverTimestampSupported": {
"description": "Server supports ServerTimestamps in addition\r\nto SourceTimestamp",
"type": "boolean"
},
"aggregateFunctions": {
"description": "Supported aggregate functions",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"HistoryUpdateOperation": {
"format": "int32",
"description": "History update type",
"enum": [
"Insert",
"Replace",
"Update",
"Delete"
],
"type": "string",
"x-ms-enum": {
"name": "HistoryUpdateOperation",
"modelAsString": false
}
},
"HistoryUpdateResponseModel": {
"description": "History update results",
"type": "object",
"properties": {
"results": {
"description": "List of results from the update operation",
"type": "array",
"items": {
"$ref": "#/definitions/ServiceResultModel"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"InstanceDeclarationModel": {
"description": "Instance declaration meta data",
"type": "object",
"properties": {
"rootTypeId": {
"description": "The type that the declaration belongs to.",
"type": "string"
},
"browsePath": {
"description": "The browse path",
"type": "array",
"items": {
"type": "string"
}
},
"displayPath": {
"description": "A localized path to the instance declaration.",
"type": "string"
},
"modellingRule": {
"description": "The modelling rule for the instance\r\ndeclaration (i.e. Mandatory or Optional).",
"type": "string"
},
"nodeId": {
"description": "The node id for the instance.",
"type": "string"
},
"nodeClass": {
"$ref": "#/definitions/NodeClass"
},
"browseName": {
"description": "The browse name for the instance declaration.",
"type": "string"
},
"displayName": {
"description": "The display name for the instance declaration.",
"type": "string"
},
"description": {
"description": "The description for the instance declaration.",
"type": "string"
},
"variable": {
"$ref": "#/definitions/VariableMetadataModel"
},
"method": {
"$ref": "#/definitions/MethodMetadataModel"
},
"overriddenDeclaration": {
"$ref": "#/definitions/InstanceDeclarationModel"
},
"modellingRuleId": {
"description": "The modelling rule node id.",
"type": "string"
}
}
},
"MessageEncoding": {
"format": "int32",
"description": "Message encoding",
"enum": [
"Binary",
"Json",
"Xml",
"IsReversible",
"Uadp",
"JsonReversible",
"IsGzipCompressed",
"JsonGzip",
"JsonReversibleGzip"
],
"type": "string",
"x-ms-enum": {
"name": "MessageEncoding",
"modelAsString": false
}
},
"MessagingMode": {
"format": "int32",
"description": "Message modes",
"enum": [
"PubSub",
"Samples",
"FullNetworkMessages",
"FullSamples",
"DataSetMessages",
"SingleDataSetMessage",
"RawDataSets",
"SingleRawDataSet"
],
"type": "string",
"x-ms-enum": {
"name": "MessagingMode",
"modelAsString": false
}
},
"MethodCallArgumentModel": {
"description": "Method argument model",
"type": "object",
"properties": {
"value": {
"description": "Initial value or value to use",
"type": "object"
},
"dataType": {
"description": "Data type Id of the value (from meta data)",
"type": "string"
}
}
},
"MethodCallRequestModel": {
"description": "Call request model",
"type": "object",
"properties": {
"methodId": {
"description": "Method id of method to call.",
"type": "string"
},
"objectId": {
"description": "Context of the method, i.e. an object or object type\r\nnode. If null then the method is called in the context\r\nof the inverse HasComponent reference of the MethodId\r\nif it exists.",
"type": "string"
},
"arguments": {
"description": "Arguments for the method - null means no args",
"type": "array",
"items": {
"$ref": "#/definitions/MethodCallArgumentModel"
}
},
"methodBrowsePath": {
"description": "An optional component path from the node identified by\r\nMethodId or from a resolved objectId to the actual\r\nmethod node.",
"type": "array",
"items": {
"type": "string"
}
},
"objectBrowsePath": {
"description": "An optional component path from the node identified by\r\nObjectId to the actual object or objectType node.\r\nIf ObjectId is null, the root node (i=84) is used",
"type": "array",
"items": {
"type": "string"
}
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"MethodCallRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/MethodCallRequestModel"
}
}
},
"MethodCallResponseModel": {
"description": "Method call response model",
"type": "object",
"properties": {
"results": {
"description": "Resulting output values of method call",
"type": "array",
"items": {
"$ref": "#/definitions/MethodCallArgumentModel"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"MethodMetadataArgumentModel": {
"description": "Method argument metadata model",
"type": "object",
"properties": {
"name": {
"description": "Name of the argument",
"type": "string"
},
"description": {
"description": "Optional description of argument",
"type": "string"
},
"type": {
"$ref": "#/definitions/NodeModel"
},
"defaultValue": {
"description": "Default value for the argument",
"type": "object"
},
"valueRank": {
"$ref": "#/definitions/NodeValueRank"
},
"arrayDimensions": {
"format": "int64",
"description": "Optional Array dimension of argument",
"type": "integer",
"items": {
"format": "int64",
"type": "integer"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"MethodMetadataModel": {
"description": "Method metadata model",
"type": "object",
"properties": {
"objectId": {
"description": "Id of object that the method is a component of",
"type": "string"
},
"inputArguments": {
"description": "Input argument meta data",
"type": "array",
"items": {
"$ref": "#/definitions/MethodMetadataArgumentModel"
}
},
"outputArguments": {
"description": "output argument meta data",
"type": "array",
"items": {
"$ref": "#/definitions/MethodMetadataArgumentModel"
}
}
}
},
"MethodMetadataRequestModel": {
"description": "Method metadata request model",
"type": "object",
"properties": {
"methodId": {
"description": "Method id of method to call.\r\n(Required)",
"type": "string"
},
"methodBrowsePath": {
"description": "An optional component path from the node identified by\r\nMethodId to the actual method node.",
"type": "array",
"items": {
"type": "string"
}
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"MethodMetadataRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/MethodMetadataRequestModel"
}
}
},
"MethodMetadataResponseModel": {
"description": "Result of method metadata query",
"type": "object",
"properties": {
"objectId": {
"description": "Id of object that the method is a component of",
"type": "string"
},
"inputArguments": {
"description": "Input argument meta data",
"type": "array",
"items": {
"$ref": "#/definitions/MethodMetadataArgumentModel"
}
},
"outputArguments": {
"description": "output argument meta data",
"type": "array",
"items": {
"$ref": "#/definitions/MethodMetadataArgumentModel"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"ModelChangeHandlingOptionsModel": {
"description": "Describes how model changes are published",
"type": "object",
"properties": {
"rebrowseIntervalTimespan": {
"format": "date-span",
"description": "Rebrowse period",
"type": "string"
}
}
},
"ModificationInfoModel": {
"description": "Modification information",
"type": "object",
"properties": {
"modificationTime": {
"format": "date-time",
"description": "Modification time",
"type": "string"
},
"updateType": {
"$ref": "#/definitions/HistoryUpdateOperation"
},
"userName": {
"description": "User who made the change",
"type": "string"
}
}
},
"NamespaceFormat": {
"format": "int32",
"description": "Namespace serialization format for node ids\r\nand qualified names.",
"enum": [
"Uri",
"Index",
"Expanded"
],
"type": "string",
"x-ms-enum": {
"name": "NamespaceFormat",
"modelAsString": false
}
},
"NodeAccessLevel": {
"format": "int32",
"description": "Flags that can be set for the AccessLevel attribute.",
"enum": [
"None",
"CurrentRead",
"CurrentWrite",
"HistoryRead",
"HistoryWrite",
"SemanticChange",
"StatusWrite",
"TimestampWrite",
"NonatomicRead",
"NonatomicWrite",
"WriteFullArrayOnly"
],
"type": "string",
"x-ms-enum": {
"name": "NodeAccessLevel",
"modelAsString": false
}
},
"NodeAccessRestrictions": {
"format": "int32",
"description": "Flags that can be read or written in the\r\nAccessRestrictions attribute.",
"enum": [
"None",
"SigningRequired",
"EncryptionRequired",
"SessionRequired"
],
"type": "string",
"x-ms-enum": {
"name": "NodeAccessRestrictions",
"modelAsString": false
}
},
"NodeAttribute": {
"format": "int32",
"description": "Node attribute identifiers",
"enum": [
"NodeId",
"NodeClass",
"BrowseName",
"DisplayName",
"Description",
"WriteMask",
"UserWriteMask",
"IsAbstract",
"Symmetric",
"InverseName",
"ContainsNoLoops",
"EventNotifier",
"Value",
"DataType",
"ValueRank",
"ArrayDimensions",
"AccessLevel",
"UserAccessLevel",
"MinimumSamplingInterval",
"Historizing",
"Executable",
"UserExecutable",
"DataTypeDefinition",
"RolePermissions",
"UserRolePermissions",
"AccessRestrictions"
],
"type": "string",
"x-ms-enum": {
"name": "NodeAttribute",
"modelAsString": false
}
},
"NodeClass": {
"format": "int32",
"description": "Node class",
"enum": [
"Object",
"Variable",
"Method",
"ObjectType",
"VariableType",
"ReferenceType",
"DataType",
"View"
],
"type": "string",
"x-ms-enum": {
"name": "NodeClass",
"modelAsString": false
}
},
"NodeEventNotifier": {
"format": "int32",
"description": "Flags that can be set for the EventNotifier attribute.",
"enum": [
"SubscribeToEvents",
"HistoryRead",
"HistoryWrite"
],
"type": "string",
"x-ms-enum": {
"name": "NodeEventNotifier",
"modelAsString": false
}
},
"NodeIdModel": {
"description": "Node id serialized as object",
"type": "object",
"properties": {
"Identifier": {
"description": "Identifier",
"type": "string"
}
}
},
"NodeMetadataRequestModel": {
"description": "Node metadata request model",
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"nodeId": {
"description": "Node id of the type.\r\n(Required)",
"type": "string"
},
"browsePath": {
"description": "An optional component path from the node identified by\r\nNodeId to the actual node.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"NodeMetadataRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/NodeMetadataRequestModel"
}
}
},
"NodeMetadataResponseModel": {
"description": "Node metadata model",
"type": "object",
"properties": {
"nodeId": {
"description": "The node id of the node",
"type": "string"
},
"nodeClass": {
"$ref": "#/definitions/NodeClass"
},
"displayName": {
"description": "The display name of the node.",
"type": "string"
},
"description": {
"description": "The description for the node.",
"type": "string"
},
"variableMetadata": {
"$ref": "#/definitions/VariableMetadataModel"
},
"dataTypeMetadata": {
"$ref": "#/definitions/DataTypeMetadataModel"
},
"nethodMetadata": {
"$ref": "#/definitions/MethodMetadataModel"
},
"typeDefinition": {
"$ref": "#/definitions/TypeDefinitionModel"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"NodeModel": {
"description": "Node model",
"required": [
"nodeId"
],
"type": "object",
"properties": {
"nodeClass": {
"$ref": "#/definitions/NodeClass"
},
"displayName": {
"description": "Display name",
"type": "string"
},
"nodeId": {
"description": "Id of node.\r\n(Mandatory).",
"minLength": 1,
"type": "string"
},
"description": {
"description": "Description if any",
"type": "string"
},
"browseName": {
"description": "Browse name",
"type": "string"
},
"value": {
"description": "Value of variable or default value of the\r\nsubtyped variable in case node is a variable\r\ntype, otherwise null.",
"type": "object"
},
"sourcePicoseconds": {
"format": "int32",
"description": "Pico seconds part of when value was read at source.",
"type": "integer"
},
"sourceTimestamp": {
"format": "date-time",
"description": "Timestamp of when value was read at source.",
"type": "string"
},
"serverPicoseconds": {
"format": "int32",
"description": "Pico seconds part of when value was read at server.",
"type": "integer"
},
"serverTimestamp": {
"format": "date-time",
"description": "Timestamp of when value was read at server.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
},
"accessRestrictions": {
"$ref": "#/definitions/NodeAccessRestrictions"
},
"writeMask": {
"format": "int64",
"description": "Default write mask for the node\r\n(default: 0)",
"type": "integer"
},
"userWriteMask": {
"format": "int64",
"description": "User write mask for the node\r\n(default: 0)",
"type": "integer"
},
"isAbstract": {
"description": "Whether type is abstract, if type can\r\nbe abstract. Null if not type node.\r\n(default: false)",
"type": "boolean"
},
"containsNoLoops": {
"description": "Whether a view contains loops. Null if\r\nnot a view.",
"type": "boolean"
},
"eventNotifier": {
"$ref": "#/definitions/NodeEventNotifier"
},
"executable": {
"description": "If method node class, whether method can\r\nbe called.",
"type": "boolean"
},
"userExecutable": {
"description": "If method node class, whether method can\r\nbe called by current user.\r\n(default: false if not executable)",
"type": "boolean"
},
"dataTypeDefinition": {
"description": "Data type definition in case node is a\r\ndata type node and definition is available,\r\notherwise null.",
"type": "object"
},
"accessLevel": {
"$ref": "#/definitions/NodeAccessLevel"
},
"userAccessLevel": {
"$ref": "#/definitions/NodeAccessLevel"
},
"dataType": {
"description": "If variable the datatype of the variable.\r\n(default: null)",
"type": "string"
},
"valueRank": {
"$ref": "#/definitions/NodeValueRank"
},
"arrayDimensions": {
"format": "int64",
"description": "Array dimensions of variable or variable type.\r\n(default: empty array)",
"type": "integer",
"items": {
"format": "int64",
"type": "integer"
}
},
"historizing": {
"description": "Whether the value of a variable is historizing.\r\n(default: false)",
"type": "boolean"
},
"minimumSamplingInterval": {
"format": "double",
"description": "Minimum sampling interval for the variable\r\nvalue, otherwise null if not a variable node.\r\n(default: null)",
"type": "number"
},
"inverseName": {
"description": "Inverse name of the reference if the node is\r\na reference type, otherwise null.",
"type": "string"
},
"symmetric": {
"description": "Whether the reference is symmetric in case\r\nthe node is a reference type, otherwise\r\nnull.",
"type": "boolean"
},
"rolePermissions": {
"description": "Role permissions",
"type": "array",
"items": {
"$ref": "#/definitions/RolePermissionModel"
}
},
"userRolePermissions": {
"description": "User Role permissions",
"type": "array",
"items": {
"$ref": "#/definitions/RolePermissionModel"
}
},
"typeDefinitionId": {
"description": "Optional type definition of the node",
"type": "string"
},
"children": {
"description": "Whether node has children which are defined as\r\nany forward hierarchical references.\r\n(default: unknown)",
"type": "boolean"
}
}
},
"NodePathTargetModel": {
"description": "Node path target",
"type": "object",
"properties": {
"browsePath": {
"description": "The target browse path",
"type": "array",
"items": {
"type": "string"
}
},
"target": {
"$ref": "#/definitions/NodeModel"
},
"remainingPathIndex": {
"format": "int32",
"description": "Remaining index in path",
"type": "integer"
}
}
},
"NodeReferenceModel": {
"description": "Reference model",
"required": [
"target"
],
"type": "object",
"properties": {
"referenceTypeId": {
"description": "Reference Type id",
"type": "string"
},
"direction": {
"$ref": "#/definitions/BrowseDirection"
},
"target": {
"$ref": "#/definitions/NodeModel"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"NodeType": {
"format": "int32",
"description": "The node type",
"enum": [
"Unknown",
"Variable",
"DataVariable",
"Property",
"DataType",
"View",
"Object",
"Event",
"Interface"
],
"type": "string",
"x-ms-enum": {
"name": "NodeType",
"modelAsString": false
}
},
"NodeValueRank": {
"format": "int32",
"description": "Constants defined for the ValueRank attribute.",
"enum": [
"OneOrMoreDimensions",
"OneDimension",
"TwoDimensions",
"ScalarOrOneDimension",
"Any",
"Scalar"
],
"type": "string",
"x-ms-enum": {
"name": "NodeValueRank",
"modelAsString": false
}
},
"OpcAuthenticationMode": {
"format": "int32",
"description": "Enum that defines the authentication method",
"enum": [
"Anonymous",
"UsernamePassword",
"Certificate"
],
"type": "string",
"x-ms-enum": {
"name": "OpcAuthenticationMode",
"modelAsString": false
}
},
"OpcNodeModel": {
"description": "Describing an entry in the node list",
"type": "object",
"properties": {
"Id": {
"description": "Node Identifier",
"type": "string"
},
"OpcSamplingInterval": {
"format": "int32",
"description": "Sampling interval in milliseconds",
"type": "integer"
},
"OpcSamplingIntervalTimespan": {
"format": "date-span",
"description": "OpcSamplingInterval as TimeSpan.",
"type": "string"
},
"DataSetFieldId": {
"description": "The identifier of the field in the dataset message.\r\nIf not provided Azure.IIoT.OpcUa.Publisher.Models.OpcNodeModel.DisplayName is used.",
"type": "string"
},
"DataSetClassFieldId": {
"format": "uuid",
"description": "The identifier of the field in the dataset class.\r\nAllows correlation to the data set class.",
"type": "string"
},
"DisplayName": {
"description": "Display name",
"type": "string"
},
"QueueSize": {
"format": "int64",
"description": "Queue Size for the monitored item on the server.\r\nSpecifies how many values are queued on the server\r\nbefore undelivered ones are discarded.",
"type": "integer"
},
"DiscardNew": {
"description": "Discard new values in the server queue instead of\r\nold values when no more room in queue.",
"type": "boolean"
},
"DataChangeTrigger": {
"$ref": "#/definitions/DataChangeTriggerType"
},
"DeadbandType": {
"$ref": "#/definitions/DeadbandType"
},
"DeadbandValue": {
"format": "double",
"description": "Deadband value of the data change filter to apply.\r\nDoes not apply to events",
"type": "number"
},
"EventFilter": {
"$ref": "#/definitions/EventFilterModel"
},
"ConditionHandling": {
"$ref": "#/definitions/ConditionHandlingOptionsModel"
},
"BrowsePath": {
"description": "Browse path from the node to reach the actual node\r\nto monitor.",
"type": "array",
"items": {
"type": "string"
}
},
"AttributeId": {
"$ref": "#/definitions/NodeAttribute"
},
"IndexRange": {
"description": "Index range to read, default to null.",
"type": "string"
},
"Topic": {
"description": "Topic to publish to - splits network messages\r\nalong the lines of topic name and overrides\r\nthe queue name of the writer and writer group.",
"type": "string"
},
"QualityOfService": {
"$ref": "#/definitions/QoS"
},
"HeartbeatBehavior": {
"$ref": "#/definitions/HeartbeatBehavior"
},
"HeartbeatInterval": {
"format": "int32",
"description": "Heartbeat interval in seconds",
"type": "integer"
},
"HeartbeatIntervalTimespan": {
"format": "date-span",
"description": "Heartbeat interval as TimeSpan.",
"type": "string"
},
"SkipFirst": {
"description": "Do not send the first value that is always provided\r\nby the server when the monitored item is created.",
"type": "boolean"
},
"OpcPublishingInterval": {
"format": "int32",
"description": "Publishing interval in milliseconds",
"type": "integer"
},
"OpcPublishingIntervalTimespan": {
"format": "date-span",
"description": "OpcPublishingInterval as TimeSpan.",
"type": "string"
},
"UseCyclicRead": {
"description": "Use cyclic read to sample.",
"type": "boolean"
},
"RegisterNode": {
"description": "Register node for reading before sampling.",
"type": "boolean"
},
"FetchDisplayName": {
"description": "Fetch display name from the node",
"type": "boolean"
},
"ModelChangeHandling": {
"$ref": "#/definitions/ModelChangeHandlingOptionsModel"
},
"TriggeredNodes": {
"description": "Nodes that are triggered by the parent node.\r\nNodes cannot themselves trigger other nodes, any\r\nsuch setting is silently discarded. Triggered nodes\r\ncan only be updated as an atomic unit using API.",
"type": "array",
"items": {
"$ref": "#/definitions/OpcNodeModel"
}
},
"ExpandedNodeId": {
"description": "Expanded Node identifier (same as Azure.IIoT.OpcUa.Publisher.Models.OpcNodeModel.Id)",
"type": "string"
}
}
},
"OperationContextModel": {
"description": "Operation log model",
"type": "object",
"properties": {
"AuthorityId": {
"description": "User",
"type": "string"
},
"Time": {
"format": "date-time",
"description": "Operation time",
"type": "string"
}
}
},
"OperationLimitsModel": {
"description": "Server limits",
"type": "object",
"properties": {
"minSupportedSampleRate": {
"format": "double",
"description": "Min supported sampling rate",
"type": "number"
},
"maxBrowseContinuationPoints": {
"format": "int32",
"description": "Max browse continuation points",
"type": "integer"
},
"maxQueryContinuationPoints": {
"format": "int32",
"description": "Max query continuation points",
"type": "integer"
},
"maxHistoryContinuationPoints": {
"format": "int32",
"description": "Max history continuation points",
"type": "integer"
},
"maxArrayLength": {
"format": "int64",
"description": "Max array length supported",
"type": "integer"
},
"maxStringLength": {
"format": "int64",
"description": "Max string length supported",
"type": "integer"
},
"maxByteStringLength": {
"format": "int64",
"description": "Max byte buffer length supported",
"type": "integer"
},
"maxNodesPerBrowse": {
"format": "int64",
"description": "Max nodes that can be part of a single browse call.",
"type": "integer"
},
"maxNodesPerRead": {
"format": "int64",
"description": "Max nodes that can be read in single read call",
"type": "integer"
},
"maxNodesPerWrite": {
"format": "int64",
"description": "Max nodes that can be read in single write call",
"type": "integer"
},
"maxNodesPerMethodCall": {
"format": "int64",
"description": "Max nodes that can be read in single method call",
"type": "integer"
},
"maxNodesPerHistoryReadData": {
"format": "int64",
"description": "Number of nodes that can be in a History Read value call",
"type": "integer"
},
"maxNodesPerHistoryReadEvents": {
"format": "int64",
"description": "Number of nodes that can be in a History Read events call",
"type": "integer"
},
"maxNodesPerHistoryUpdateData": {
"format": "int64",
"description": "Number of nodes that can be in a History Update call",
"type": "integer"
},
"maxNodesPerHistoryUpdateEvents": {
"format": "int64",
"description": "Number of nodes that can be in a History events update call",
"type": "integer"
},
"maxNodesPerRegisterNodes": {
"format": "int64",
"description": "Max nodes that can be registered at once",
"type": "integer"
},
"maxNodesPerTranslatePathsToNodeIds": {
"format": "int64",
"description": "Max nodes that can be part of a browse path",
"type": "integer"
},
"maxNodesPerNodeManagement": {
"format": "int64",
"description": "Max nodes that can be added or removed in a single call.",
"type": "integer"
},
"maxMonitoredItemsPerCall": {
"format": "int64",
"description": "Max monitored items that can be updated at once.",
"type": "integer"
}
}
},
"PublishBulkRequestModel": {
"description": "Publish in bulk request",
"type": "object",
"properties": {
"nodesToAdd": {
"description": "Node to add",
"type": "array",
"items": {
"$ref": "#/definitions/PublishedItemModel"
}
},
"nodesToRemove": {
"description": "Node to remove",
"type": "array",
"items": {
"type": "string"
}
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"PublishBulkRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/PublishBulkRequestModel"
}
}
},
"PublishBulkResponseModel": {
"description": "Result of bulk request",
"type": "object",
"properties": {
"nodesToAdd": {
"description": "Node to add",
"type": "array",
"items": {
"$ref": "#/definitions/ServiceResultModel"
}
},
"nodesToRemove": {
"description": "Node to remove",
"type": "array",
"items": {
"$ref": "#/definitions/ServiceResultModel"
}
}
}
},
"PublishDiagnosticInfoModel": {
"description": "Model for a diagnostic info.",
"type": "object",
"properties": {
"endpoint": {
"$ref": "#/definitions/PublishedNodesEntryModel"
},
"sentMessagesPerSec": {
"format": "double",
"description": "SentMessagesPerSec",
"type": "number"
},
"ingestionDuration": {
"format": "date-span",
"description": "IngestionDuration",
"type": "string"
},
"ingressDataChanges": {
"format": "int64",
"description": "IngressDataChanges",
"type": "integer"
},
"ingressValueChanges": {
"format": "int64",
"description": "IngressValueChanges",
"type": "integer"
},
"ingressBatchBlockBufferSize": {
"format": "int64",
"description": "IngressBatchBlockBufferSize",
"type": "integer"
},
"encodingBlockInputSize": {
"format": "int64",
"description": "EncodingBlockInputSize",
"type": "integer"
},
"encodingBlockOutputSize": {
"format": "int64",
"description": "EncodingBlockOutputSize",
"type": "integer"
},
"encoderNotificationsProcessed": {
"format": "int64",
"description": "EncoderNotificationsProcessed",
"type": "integer"
},
"encoderNotificationsDropped": {
"format": "int64",
"description": "EncoderNotificationsDropped",
"type": "integer"
},
"encoderIoTMessagesProcessed": {
"format": "int64",
"description": "EncoderIoTMessagesProcessed",
"type": "integer"
},
"encoderAvgNotificationsMessage": {
"format": "double",
"description": "EncoderAvgNotificationsMessage",
"type": "number"
},
"encoderAvgIoTMessageBodySize": {
"format": "double",
"description": "EncoderAvgIoTMessageBodySize",
"type": "number"
},
"encoderAvgIoTChunkUsage": {
"format": "double",
"description": "EncoderAvgIoTChunkUsage",
"type": "number"
},
"estimatedIoTChunksPerDay": {
"format": "double",
"description": "EstimatedIoTChunksPerDay",
"type": "number"
},
"outgressInputBufferCount": {
"format": "int64",
"description": "OutgressInputBufferCount",
"type": "integer"
},
"outgressInputBufferDropped": {
"format": "int64",
"description": "OutgressInputBufferDropped",
"type": "integer"
},
"outgressIoTMessageCount": {
"format": "int64",
"description": "OutgressIoTMessageCount",
"type": "integer"
},
"connectionRetries": {
"format": "int64",
"description": "ConnectionRetries",
"type": "integer"
},
"opcEndpointConnected": {
"description": "OpcEndpointConnected",
"type": "boolean"
},
"monitoredOpcNodesSucceededCount": {
"format": "int64",
"description": "MonitoredOpcNodesSucceededCount",
"type": "integer"
},
"monitoredOpcNodesFailedCount": {
"format": "int64",
"description": "MonitoredOpcNodesFailedCount",
"type": "integer"
},
"ingressEventNotifications": {
"format": "int64",
"description": "Number of incoming event notifications",
"type": "integer"
},
"ingressEvents": {
"format": "int64",
"description": "Total incoming events so far.",
"type": "integer"
},
"encoderMaxMessageSplitRatio": {
"format": "double",
"description": "Encoder max message split ratio",
"type": "number"
},
"ingressDataChangesInLastMinute": {
"format": "int64",
"description": "Data changes received in the last minute",
"type": "integer"
},
"ingressValueChangesInLastMinute": {
"format": "int64",
"description": "Value changes received in the last minute",
"type": "integer"
},
"ingressHeartbeats": {
"format": "int64",
"description": "Number of heartbeats of the total value changes",
"type": "integer"
},
"ingressCyclicReads": {
"format": "int64",
"description": "Number of cyclic reads of the total value changes",
"type": "integer"
}
}
},
"PublishStartRequestModel": {
"description": "Publish request",
"required": [
"item"
],
"type": "object",
"properties": {
"item": {
"$ref": "#/definitions/PublishedItemModel"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"PublishStartRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/PublishStartRequestModel"
}
}
},
"PublishStartResponseModel": {
"description": "Result of publish request",
"type": "object",
"properties": {
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"PublishStopRequestModel": {
"description": "Unpublish request",
"required": [
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node of published item to unpublish",
"minLength": 1,
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"PublishStopRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/PublishStopRequestModel"
}
}
},
"PublishStopResponseModel": {
"description": "Result of publish stop request",
"type": "object",
"properties": {
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"PublishedItemListRequestModel": {
"description": "Request list of published items",
"type": "object",
"properties": {
"continuationToken": {
"description": "Continuation token or null to start",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"PublishedItemListRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/PublishedItemListRequestModel"
}
}
},
"PublishedItemListResponseModel": {
"description": "List of published nodes",
"type": "object",
"properties": {
"items": {
"description": "Monitored items",
"type": "array",
"items": {
"$ref": "#/definitions/PublishedItemModel"
}
},
"continuationToken": {
"description": "Continuation or null if final",
"type": "string"
}
}
},
"PublishedItemModel": {
"description": "A monitored and published item",
"required": [
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Variable node monitored",
"minLength": 1,
"type": "string"
},
"displayName": {
"description": "Display name of the variable node monitored",
"type": "string"
},
"publishingInterval": {
"format": "date-span",
"description": "Publishing interval to use",
"type": "string"
},
"samplingInterval": {
"format": "date-span",
"description": "Sampling interval to use",
"type": "string"
},
"heartbeatInterval": {
"format": "date-span",
"description": "Heartbeat interval to use",
"type": "string"
}
}
},
"PublishedNodesEntryModel": {
"description": "Contains the nodes which should be published",
"required": [
"EndpointUrl"
],
"type": "object",
"properties": {
"Version": {
"format": "int32",
"description": "Version number of the entry",
"type": "integer"
},
"LastChangeDateTime": {
"format": "date-time",
"description": "Last change to the entry",
"type": "string"
},
"DataSetWriterId": {
"description": "Name of the data set writer.",
"type": "string"
},
"DataSetWriterGroup": {
"description": "The Group the writer belongs to.",
"type": "string"
},
"OpcNodes": {
"description": "Nodes defined in the collection.",
"type": "array",
"items": {
"$ref": "#/definitions/OpcNodeModel"
}
},
"DataSetClassId": {
"format": "uuid",
"description": "A dataset class id.",
"type": "string"
},
"DataSetName": {
"description": "The optional short name of the dataset.",
"type": "string"
},
"DataSetPublishingInterval": {
"format": "int32",
"description": "The Publishing interval for a dataset writer\r\nin miliseconds.",
"type": "integer"
},
"DataSetPublishingIntervalTimespan": {
"format": "date-span",
"description": "The Publishing interval for a dataset writer\r\nin timespan format. Takes precedence over\r\nAzure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.DataSetPublishingInterval if defined.",
"type": "string"
},
"DataSetKeyFrameCount": {
"format": "int64",
"description": "Insert a key frame every x messages",
"type": "integer"
},
"MetaDataUpdateTime": {
"format": "int32",
"description": "Send metadata at the configured interval\r\neven when not changing expressed in milliseconds.",
"type": "integer"
},
"MetaDataUpdateTimeTimespan": {
"format": "date-span",
"description": "Send metadata at the configured interval even when not\r\nchanging expressed as duration. Takes precedence over\r\nAzure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.MetaDataUpdateTimeif defined.",
"type": "string"
},
"SendKeepAliveDataSetMessages": {
"description": "Send a keep alive message when a subscription keep\r\nalive notification is received inside the writer. If keep\r\nalive messages are not supported by the messaging\r\nprofile chosen this value is ignored.",
"type": "boolean"
},
"EndpointUrl": {
"description": "The endpoint URL of the OPC UA server.",
"minLength": 1,
"type": "string"
},
"MaxKeepAliveCount": {
"format": "int64",
"description": "When the publishing timer has expired this number of\r\ntimes without requiring any Notification to be sent,\r\nto the writer a keep-alive message is sent.",
"type": "integer"
},
"DataSetDescription": {
"description": "The optional description of the dataset.",
"type": "string"
},
"Priority": {
"format": "int32",
"description": "Priority of the writer subscription.",
"type": "integer"
},
"DataSetExtensionFields": {
"description": "Optional field and value pairs to insert into the\r\ndata sets emitted by data set writer.",
"type": "object",
"additionalProperties": {
"description": "A variant which can be represented by any value including null.",
"type": "object"
}
},
"EndpointSecurityMode": {
"$ref": "#/definitions/SecurityMode"
},
"EndpointSecurityPolicy": {
"description": "The specific security policy to use for the specified\r\nendpoint. Overrides Azure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.UseSecurity setting.\r\nIf the security policy is not available with the\r\nspecified security mode connectivity will fail.",
"type": "string"
},
"MessagingMode": {
"$ref": "#/definitions/MessagingMode"
},
"MessageEncoding": {
"$ref": "#/definitions/MessageEncoding"
},
"BatchSize": {
"format": "int64",
"description": "Send network messages when the notification queue\r\nexceeds this number. Causes this many notifications\r\nto be added to network messages",
"type": "integer"
},
"BatchTriggerInterval": {
"format": "int32",
"description": "Send network messages at the specified publishing\r\ninterval.",
"type": "integer"
},
"BatchTriggerIntervalTimespan": {
"format": "date-span",
"description": "Send network messages at the specified publishing\r\ninterval.\r\nTakes precedence over Azure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.BatchTriggerInterval\r\nif defined.",
"type": "string"
},
"UseReverseConnect": {
"description": "Use reverse connect to connect ot the endpoint",
"type": "boolean"
},
"DataSetRouting": {
"$ref": "#/definitions/DataSetRoutingMode"
},
"WriterGroupQueueName": {
"description": "Writer group queue overrides the default writer group\r\ntopic template to use.",
"type": "string"
},
"WriterGroupQualityOfService": {
"$ref": "#/definitions/QoS"
},
"WriterGroupTransport": {
"$ref": "#/definitions/WriterGroupTransport"
},
"UseSecurity": {
"description": "Secure transport should be used to connect to\r\nthe opc server.",
"type": "boolean"
},
"OpcAuthenticationMode": {
"$ref": "#/definitions/OpcAuthenticationMode"
},
"EncryptedAuthUsername": {
"description": "encrypted username",
"type": "string"
},
"EncryptedAuthPassword": {
"description": "encrypted password",
"type": "string"
},
"OpcAuthenticationUsername": {
"description": "plain username",
"type": "string"
},
"OpcAuthenticationPassword": {
"description": "plain password",
"type": "string"
},
"QueueName": {
"description": "Writer queue overrides the writer group queue name.\r\nNetwork messages are then split across queues with\r\nQos also accounted for.",
"type": "string"
},
"MetaDataQueueName": {
"description": "Meta data queue name to use for the writer. Overrides\r\nthe default metadata topic template.",
"type": "string"
},
"QualityOfService": {
"$ref": "#/definitions/QoS"
},
"WriterGroupPartitions": {
"format": "int32",
"description": "Number of partitions to split the writer group into\r\nwhen publishing to target topics.",
"type": "integer"
},
"NodeId": {
"$ref": "#/definitions/NodeIdModel"
}
}
},
"PublishedNodesResponseModel": {
"description": "PublishNodes direct method response",
"type": "object"
},
"QoS": {
"format": "int32",
"enum": [
"AtMostOnce",
"AtLeastOnce",
"ExactlyOnce"
],
"type": "string",
"x-ms-enum": {
"name": "QoS",
"modelAsString": false
}
},
"QueryCompilationRequestModel": {
"description": "Query compiler request model",
"required": [
"query",
"queryType"
],
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"query": {
"description": "The query to compile.",
"minLength": 1,
"type": "string"
},
"queryType": {
"$ref": "#/definitions/QueryType"
}
}
},
"QueryCompilationRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/QueryCompilationRequestModel"
}
}
},
"QueryCompilationResponseModel": {
"description": "Query compiler response model",
"type": "object",
"properties": {
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
},
"eventFilter": {
"$ref": "#/definitions/EventFilterModel"
}
}
},
"QueryType": {
"format": "int32",
"description": "Query type",
"enum": [
"Event",
"Query"
],
"type": "string",
"x-ms-enum": {
"name": "QueryType",
"modelAsString": false
}
},
"ReadEventsDetailsModel": {
"description": "Read event data",
"type": "object",
"properties": {
"startTime": {
"format": "date-time",
"description": "Start time to read from",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "End time to read to",
"type": "string"
},
"numEvents": {
"format": "int64",
"description": "Number of events to read",
"type": "integer"
},
"filter": {
"$ref": "#/definitions/EventFilterModel"
}
}
},
"ReadEventsDetailsModelHistoryReadRequestModel": {
"description": "Request node history read",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/ReadEventsDetailsModel"
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"ReadEventsDetailsModelHistoryReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ReadEventsDetailsModelHistoryReadRequestModel"
}
}
},
"ReadModifiedValuesDetailsModel": {
"description": "Read modified data",
"type": "object",
"properties": {
"startTime": {
"format": "date-time",
"description": "The start time to read from",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "The end time to read to",
"type": "string"
},
"numValues": {
"format": "int64",
"description": "The number of values to read",
"type": "integer"
}
}
},
"ReadModifiedValuesDetailsModelHistoryReadRequestModel": {
"description": "Request node history read",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/ReadModifiedValuesDetailsModel"
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"ReadModifiedValuesDetailsModelHistoryReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ReadModifiedValuesDetailsModelHistoryReadRequestModel"
}
}
},
"ReadProcessedValuesDetailsModel": {
"description": "Read processed historic data",
"type": "object",
"properties": {
"startTime": {
"format": "date-time",
"description": "Start time to read from.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "End time to read until",
"type": "string"
},
"processingInterval": {
"format": "date-span",
"description": "Interval to process",
"type": "string"
},
"aggregateType": {
"description": "The aggregate type to apply. Can be the name of\r\nthe aggregate if available in the history server\r\ncapabilities, or otherwise will be used as a node\r\nid referring to the aggregate.",
"type": "string"
},
"aggregateConfiguration": {
"$ref": "#/definitions/AggregateConfigurationModel"
}
}
},
"ReadProcessedValuesDetailsModelHistoryReadRequestModel": {
"description": "Request node history read",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/ReadProcessedValuesDetailsModel"
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"ReadProcessedValuesDetailsModelHistoryReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ReadProcessedValuesDetailsModelHistoryReadRequestModel"
}
}
},
"ReadRequestModel": {
"description": "Request node attribute read",
"required": [
"attributes"
],
"type": "object",
"properties": {
"attributes": {
"description": "Attributes to read",
"type": "array",
"items": {
"$ref": "#/definitions/AttributeReadRequestModel"
}
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"ReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ReadRequestModel"
}
}
},
"ReadResponseModel": {
"description": "Result of attribute reads",
"type": "object",
"properties": {
"results": {
"description": "All results of attribute reads",
"type": "array",
"items": {
"$ref": "#/definitions/AttributeReadResponseModel"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"ReadValuesAtTimesDetailsModel": {
"description": "Read data at specified times",
"required": [
"reqTimes"
],
"type": "object",
"properties": {
"reqTimes": {
"description": "Requested datums",
"type": "array",
"items": {
"format": "date-time",
"type": "string"
}
},
"useSimpleBounds": {
"description": "Whether to use simple bounds",
"type": "boolean"
}
}
},
"ReadValuesAtTimesDetailsModelHistoryReadRequestModel": {
"description": "Request node history read",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/ReadValuesAtTimesDetailsModel"
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"ReadValuesAtTimesDetailsModelHistoryReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ReadValuesAtTimesDetailsModelHistoryReadRequestModel"
}
}
},
"ReadValuesDetailsModel": {
"description": "Read historic values",
"type": "object",
"properties": {
"startTime": {
"format": "date-time",
"description": "Beginning of period to read. Set to null\r\nif no specific start time is specified.",
"type": "string"
},
"endTime": {
"format": "date-time",
"description": "End of period to read. Set to null if no\r\nspecific end time is specified.",
"type": "string"
},
"numValues": {
"format": "int64",
"description": "The maximum number of values returned for any Node\r\nover the time range. If only one time is specified,\r\nthe time range shall extend to return this number\r\nof values. 0 or null indicates that there is no\r\nmaximum.",
"type": "integer"
},
"returnBounds": {
"description": "Whether to return the bounding values or not.",
"type": "boolean"
}
}
},
"ReadValuesDetailsModelHistoryReadRequestModel": {
"description": "Request node history read",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/ReadValuesDetailsModel"
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"ReadValuesDetailsModelHistoryReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ReadValuesDetailsModelHistoryReadRequestModel"
}
}
},
"RequestHeaderModel": {
"description": "Request header model",
"type": "object",
"properties": {
"elevation": {
"$ref": "#/definitions/CredentialModel"
},
"locales": {
"description": "Optional list of locales in preference order.",
"type": "array",
"items": {
"type": "string"
}
},
"diagnostics": {
"$ref": "#/definitions/DiagnosticsModel"
},
"namespaceFormat": {
"$ref": "#/definitions/NamespaceFormat"
}
}
},
"RequestHeaderModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"RolePermissionModel": {
"description": "Role permission model",
"required": [
"roleId"
],
"type": "object",
"properties": {
"roleId": {
"description": "Identifier of the role object.",
"minLength": 1,
"type": "string"
},
"permissions": {
"$ref": "#/definitions/RolePermissions"
}
}
},
"RolePermissions": {
"format": "int32",
"description": "Individual permissions assigned to a role",
"enum": [
"None",
"Browse",
"ReadRolePermissions",
"WriteAttribute",
"WriteRolePermissions",
"WriteHistorizing",
"Read",
"Write",
"ReadHistory",
"InsertHistory",
"ModifyHistory",
"DeleteHistory",
"ReceiveEvents",
"Call",
"AddReference",
"RemoveReference",
"DeleteNode",
"AddNode"
],
"type": "string",
"x-ms-enum": {
"name": "RolePermissions",
"modelAsString": false
}
},
"SecurityMode": {
"format": "int32",
"description": "Security mode of endpoint",
"enum": [
"Best",
"Sign",
"SignAndEncrypt",
"None"
],
"type": "string",
"x-ms-enum": {
"name": "SecurityMode",
"modelAsString": false
}
},
"ServerCapabilitiesModel": {
"description": "Server capabilities",
"type": "object",
"properties": {
"operationLimits": {
"$ref": "#/definitions/OperationLimitsModel"
},
"supportedLocales": {
"description": "Supported locales",
"type": "array",
"items": {
"type": "string"
}
},
"serverProfileArray": {
"description": "Server profiles",
"type": "array",
"items": {
"type": "string"
}
},
"modellingRules": {
"description": "Supported modelling rules",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"aggregateFunctions": {
"description": "Supported aggregate functions",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"ServerEndpointQueryModel": {
"description": "Endpoint model",
"type": "object",
"properties": {
"discoveryUrl": {
"description": "Discovery url to use to query",
"type": "string"
},
"url": {
"description": "Endpoint url that should match the found endpoint",
"type": "string"
},
"securityMode": {
"$ref": "#/definitions/SecurityMode"
},
"securityPolicy": {
"description": "Endpoint must support this Security policy.",
"type": "string"
},
"certificate": {
"description": "Endpoint must match with this certificate thumbprint",
"type": "string"
}
}
},
"ServerRegistrationRequestModel": {
"description": "Server registration request",
"required": [
"discoveryUrl"
],
"type": "object",
"properties": {
"discoveryUrl": {
"description": "Discovery url to use for registration",
"minLength": 1,
"type": "string"
},
"id": {
"description": "User defined request id",
"type": "string"
},
"context": {
"$ref": "#/definitions/OperationContextModel"
}
}
},
"ServiceResultModel": {
"description": "Service result",
"type": "object",
"properties": {
"statusCode": {
"format": "int64",
"description": "Error code - if null operation succeeded.",
"type": "integer"
},
"errorMessage": {
"description": "Error message in case of error or null.",
"type": "string"
},
"symbolicId": {
"description": "Symbolic identifier",
"type": "string"
},
"locale": {
"description": "Locale of the error message",
"type": "string"
},
"additionalInfo": {
"description": "Additional information if available",
"type": "string"
},
"namespaceUri": {
"description": "Namespace uri",
"type": "string"
},
"inner": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"SetConfiguredEndpointsRequestModel": {
"description": "Set configured endpoints request call",
"type": "object",
"properties": {
"endpoints": {
"description": "Endpoints and nodes that make up the configuration",
"type": "array",
"items": {
"$ref": "#/definitions/PublishedNodesEntryModel"
}
}
}
},
"SimpleAttributeOperandModel": {
"description": "Simple attribute operand model",
"type": "object",
"properties": {
"typeDefinitionId": {
"description": "Type definition node id if operand is\r\nsimple or full attribute operand.",
"type": "string"
},
"browsePath": {
"description": "Browse path of attribute operand",
"type": "array",
"items": {
"type": "string"
}
},
"attributeId": {
"$ref": "#/definitions/NodeAttribute"
},
"indexRange": {
"description": "Index range of attribute operand",
"type": "string"
},
"displayName": {
"description": "Optional display name",
"type": "string"
},
"dataSetClassFieldId": {
"format": "uuid",
"description": "Optional data set class field id (Publisher extension)",
"type": "string"
}
}
},
"TestConnectionRequestModel": {
"description": "Test connection request",
"type": "object",
"properties": {
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"TestConnectionRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/TestConnectionRequestModel"
}
}
},
"TestConnectionResponseModel": {
"description": "Test connection response",
"type": "object",
"properties": {
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"TimestampsToReturn": {
"format": "int32",
"description": "Timestamps",
"enum": [
"Both",
"Source",
"Server",
"None"
],
"type": "string",
"x-ms-enum": {
"name": "TimestampsToReturn",
"modelAsString": false
}
},
"TypeDefinitionModel": {
"description": "Type definition",
"required": [
"typeDefinitionId"
],
"type": "object",
"properties": {
"typeDefinitionId": {
"description": "The node id of the type of the node",
"minLength": 1,
"type": "string"
},
"nodeType": {
"$ref": "#/definitions/NodeType"
},
"displayName": {
"description": "Display name",
"type": "string"
},
"browseName": {
"description": "Browse name",
"type": "string"
},
"description": {
"description": "Description if any",
"type": "string"
},
"typeHierarchy": {
"description": "Super types hierarchy starting from base type\r\nup to Azure.IIoT.OpcUa.Publisher.Models.TypeDefinitionModel.TypeDefinitionId which is\r\nnot included.",
"type": "array",
"items": {
"$ref": "#/definitions/NodeModel"
}
},
"typeMembers": {
"description": "Fully inherited instance declarations of the type\r\nof the node.",
"type": "array",
"items": {
"$ref": "#/definitions/InstanceDeclarationModel"
}
}
}
},
"UpdateEventsDetailsModel": {
"description": "Insert, upsert or replace historic events",
"required": [
"events"
],
"type": "object",
"properties": {
"filter": {
"$ref": "#/definitions/EventFilterModel"
},
"events": {
"description": "The new events to insert",
"type": "array",
"items": {
"$ref": "#/definitions/HistoricEventModel"
}
}
}
},
"UpdateEventsDetailsModelHistoryUpdateRequestModel": {
"description": "Request node history update",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to update",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/UpdateEventsDetailsModel"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModel"
}
}
},
"UpdateValuesDetailsModel": {
"description": "Insert, upsert, or update historic values",
"required": [
"values"
],
"type": "object",
"properties": {
"values": {
"description": "Values to insert",
"type": "array",
"items": {
"$ref": "#/definitions/HistoricValueModel"
}
}
}
},
"UpdateValuesDetailsModelHistoryUpdateRequestModel": {
"description": "Request node history update",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to update",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"$ref": "#/definitions/UpdateValuesDetailsModel"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModel"
}
}
},
"UserIdentityModel": {
"description": "User identity model",
"type": "object",
"properties": {
"user": {
"description": "
\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication\r\n this is the name of the user.\r\n \r\n
\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication\r\n this is the subject name of the certificate that has been\r\n configured.\r\n Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be\r\n used to select the certificate in the user certificate store.\r\n \r\n
\r\n Not used for the other authentication types.\r\n ",
"type": "string"
},
"password": {
"description": "
\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication\r\n this is the password of the user.\r\n \r\n
\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication\r\n this is the passcode to export the configured certificate's\r\n private key.\r\n \r\n
\r\n Not used for the other authentication types.\r\n ",
"type": "string"
},
"thumbprint": {
"description": "
\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication\r\n this is the thumbprint of the configured certificate to use.\r\n Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be\r\n used to select the certificate in the user certificate store.\r\n \r\n
\r\n Not used for the other authentication types.\r\n ",
"type": "string"
}
}
},
"ValueReadRequestModel": {
"description": "Request node value read",
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nan actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"maxAge": {
"format": "date-span",
"description": "Maximum age of the value to be read in milliseconds.\r\nThe age of the value is based on the difference\r\nbetween the ServerTimestamp and the time when\r\nthe Server starts processing the request.\r\nIf not supplied, the Server shall attempt to read\r\na new value from the data source.",
"type": "string"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"ValueReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ValueReadRequestModel"
}
}
},
"ValueReadResponseModel": {
"description": "Value read response model",
"type": "object",
"properties": {
"value": {
"description": "Value read",
"type": "object"
},
"dataType": {
"description": "Built in data type of the value read.",
"type": "string"
},
"sourcePicoseconds": {
"format": "int32",
"description": "Pico seconds part of when value was read at source.",
"type": "integer"
},
"sourceTimestamp": {
"format": "date-time",
"description": "Timestamp of when value was read at source.",
"type": "string"
},
"serverPicoseconds": {
"format": "int32",
"description": "Pico seconds part of when value was read at server.",
"type": "integer"
},
"serverTimestamp": {
"format": "date-time",
"description": "Timestamp of when value was read at server.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"ValueWriteRequestModel": {
"description": "Value write request model",
"required": [
"value"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node id to write value to.",
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"value": {
"description": "Value to write. The system tries to convert\r\nthe value according to the data type value,\r\ne.g. convert comma seperated value strings\r\ninto arrays. (Mandatory)",
"type": "object"
},
"dataType": {
"description": "A built in datatype for the value. This can\r\nbe a data type from browse, or a built in\r\ntype.\r\n(default: best effort)",
"type": "string"
},
"indexRange": {
"description": "Index range to write",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"ValueWriteRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/ValueWriteRequestModel"
}
}
},
"ValueWriteResponseModel": {
"description": "Value write response model",
"type": "object",
"properties": {
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"VariableMetadataModel": {
"description": "Variable metadata model",
"type": "object",
"properties": {
"dataType": {
"$ref": "#/definitions/DataTypeMetadataModel"
},
"valueRank": {
"$ref": "#/definitions/NodeValueRank"
},
"arrayDimensions": {
"format": "int64",
"description": "Array dimensions of the variable.",
"type": "integer",
"items": {
"format": "int64",
"type": "integer"
}
}
}
},
"VariantValueHistoryReadNextResponseModel": {
"description": "History read continuation result",
"type": "object",
"properties": {
"history": {
"description": "History as json encoded extension object",
"type": "object"
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"VariantValueHistoryReadRequestModel": {
"description": "Request node history read",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to read from (mandatory)",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"description": "The HistoryReadDetailsType extension object\r\nencoded in json and containing the tunneled\r\nHistorian reader request.",
"type": "object"
},
"indexRange": {
"description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.",
"type": "string"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
},
"timestampsToReturn": {
"$ref": "#/definitions/TimestampsToReturn"
}
}
},
"VariantValueHistoryReadRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/VariantValueHistoryReadRequestModel"
}
}
},
"VariantValueHistoryReadResponseModel": {
"description": "History read results",
"type": "object",
"properties": {
"history": {
"description": "History as json encoded extension object",
"type": "object"
},
"continuationToken": {
"description": "Continuation token if more results pending.",
"type": "string"
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"VariantValueHistoryUpdateRequestModel": {
"description": "Request node history update",
"required": [
"details",
"nodeId"
],
"type": "object",
"properties": {
"nodeId": {
"description": "Node to update",
"minLength": 1,
"type": "string"
},
"browsePath": {
"description": "An optional path from NodeId instance to\r\nthe actual node.",
"type": "array",
"items": {
"type": "string"
}
},
"details": {
"description": "The HistoryUpdateDetailsType extension object\r\nencoded as json Variant and containing the tunneled\r\nupdate request for the Historian server. The value\r\nis updated at edge using above node address.",
"type": "object"
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"VariantValueHistoryUpdateRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/VariantValueHistoryUpdateRequestModel"
}
}
},
"WriteRequestModel": {
"description": "Request node attribute write",
"required": [
"attributes"
],
"type": "object",
"properties": {
"attributes": {
"description": "Attributes to update",
"type": "array",
"items": {
"$ref": "#/definitions/AttributeWriteRequestModel"
}
},
"header": {
"$ref": "#/definitions/RequestHeaderModel"
}
}
},
"WriteRequestModelRequestEnvelope": {
"description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint",
"required": [
"connection"
],
"type": "object",
"properties": {
"connection": {
"$ref": "#/definitions/ConnectionModel"
},
"request": {
"$ref": "#/definitions/WriteRequestModel"
}
}
},
"WriteResponseModel": {
"description": "Result of attribute write",
"type": "object",
"properties": {
"results": {
"description": "All results of attribute writes",
"type": "array",
"items": {
"$ref": "#/definitions/AttributeWriteResponseModel"
}
},
"errorInfo": {
"$ref": "#/definitions/ServiceResultModel"
}
}
},
"WriterGroupTransport": {
"format": "int32",
"description": "Desired writer group transport",
"enum": [
"IoTHub",
"Mqtt",
"Dapr",
"Http",
"FileSystem",
"Null"
],
"type": "string",
"x-ms-enum": {
"name": "WriterGroupTransport",
"modelAsString": false
}
},
"X509CertificateChainModel": {
"description": "Certificate chain",
"type": "object",
"properties": {
"chain": {
"description": "Chain",
"type": "array",
"items": {
"$ref": "#/definitions/X509CertificateModel"
}
},
"status": {
"description": "Chain validation status if validated",
"enum": [
"NotTimeValid",
"Revoked",
"NotSignatureValid",
"NotValidForUsage",
"UntrustedRoot",
"RevocationStatusUnknown",
"Cyclic",
"InvalidExtension",
"InvalidPolicyConstraints",
"InvalidBasicConstraints",
"InvalidNameConstraints",
"HasNotSupportedNameConstraint",
"HasNotDefinedNameConstraint",
"HasNotPermittedNameConstraint",
"HasExcludedNameConstraint",
"PartialChain",
"CtlNotTimeValid",
"CtlNotSignatureValid",
"CtlNotValidForUsage",
"HasWeakSignature",
"OfflineRevocation",
"NoIssuanceChainPolicy",
"ExplicitDistrust",
"HasNotSupportedCriticalExtension"
],
"type": "string",
"items": {
"$ref": "#/definitions/X509ChainStatus"
},
"x-ms-enum": {
"name": "X509ChainStatus",
"modelAsString": false
}
}
}
},
"X509CertificateModel": {
"description": "Certificate model",
"type": "object",
"properties": {
"subject": {
"description": "Subject",
"type": "string"
},
"thumbprint": {
"description": "Thumbprint",
"type": "string"
},
"serialNumber": {
"description": "Serial number",
"type": "string"
},
"notBeforeUtc": {
"format": "date-time",
"description": "Not before validity",
"type": "string"
},
"notAfterUtc": {
"format": "date-time",
"description": "Not after validity",
"type": "string"
},
"selfSigned": {
"description": "Self signed certificate",
"type": "boolean"
},
"pfx": {
"description": "Certificate as Pkcs12",
"type": "array",
"items": {
"format": "int32",
"type": "integer"
}
},
"hasPrivateKey": {
"description": "Contains private key",
"type": "boolean"
}
}
},
"X509ChainStatus": {
"format": "int32",
"description": "Status of x509 chain",
"enum": [
"NotTimeValid",
"Revoked",
"NotSignatureValid",
"NotValidForUsage",
"UntrustedRoot",
"RevocationStatusUnknown",
"Cyclic",
"InvalidExtension",
"InvalidPolicyConstraints",
"InvalidBasicConstraints",
"InvalidNameConstraints",
"HasNotSupportedNameConstraint",
"HasNotDefinedNameConstraint",
"HasNotPermittedNameConstraint",
"HasExcludedNameConstraint",
"PartialChain",
"CtlNotTimeValid",
"CtlNotSignatureValid",
"CtlNotValidForUsage",
"HasWeakSignature",
"OfflineRevocation",
"NoIssuanceChainPolicy",
"ExplicitDistrust",
"HasNotSupportedCriticalExtension"
],
"type": "string",
"x-ms-enum": {
"name": "X509ChainStatus",
"modelAsString": false
}
}
},
"tags": [
{
"name": "Certificates",
"description": "
\r\n This section lists the certificate APi provided by OPC Publisher providing\r\n all public and private key infrastructure (PKI) related API methods.\r\n \r\n
\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n "
},
{
"name": "Configuration",
"description": "
\r\n This section contains the API to configure OPC Publisher.\r\n \r\n
\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n "
},
{
"name": "Diagnostics",
"description": "
\r\n This section lists the diagnostics APi provided by OPC Publisher providing\r\n connection related diagnostics API methods.\r\n \r\n
\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n "
},
{
"name": "Discovery",
"description": "
OPC UA and network discovery related API.\r\n
\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n "
},
{
"name": "General",
"description": "
\r\n This section lists the general APi provided by OPC Publisher providing\r\n all connection, endpoint and address space related API methods.\r\n \r\n
\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n "
},
{
"name": "History",
"description": "
\r\n This section lists all OPC UA HDA or Historian related API provided by\r\n OPC Publisher.\r\n \r\n
\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n "
}
]
}