---
title: "GetMetadata"
method: POST
path: "/v2/metadata"
tags: ["General"]
---

# GetMetadata

`POST /v2/metadata`

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.

## Request body

- NodeMetadataRequestModelRequestEnvelope — Wraps a request and a connection to bind to a body more easily for api that requires a connection endpoint
  - `connection` ConnectionModel, required — Connection model
    - `endpoint` EndpointModel, required — Endpoint model
      - `url` string, required — Endpoint url to use to connect with
      - `alternativeUrls` string[] — Alternative endpoint urls that can be used for accessing and validating the server
      - `securityMode` 'Best' | 'Sign' | 'SignAndEncrypt' | 'None' | 'NotNone' — Specifies the security mode for OPC UA endpoint connections. Determines how messages are protected during transmission between the Publisher and OPC UA servers. Proper security mode selection is crucial for protecting sensitive data and credentials.
      - `securityPolicy` string — Security policy uri to use for communication. default to best.
      - `certificate` string — Endpoint certificate thumbprint
    - `user` CredentialModel — Credential model. For backwards compatibility the actual credentials to pass to the server is set through the value property.
      - `type` 'None' | 'UserName' | 'X509Certificate' | 'JwtToken' — Type of credentials to use for authentication
      - `value` UserIdentityModel — User identity model
        - `user` string — For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication this is the name of the user. For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication this is the subject name of the certificate that has been configured. Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be used to select the certificate in the user certificate store. Not used for the other authentication types.
        - `password` string — For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication this is the password of the user. For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication this is the passcode to export the configured certificate's private key. Not used for the other authentication types.
        - `thumbprint` string — For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication this is the thumbprint of the configured certificate to use. Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be used to select the certificate in the user certificate store. Not used for the other authentication types.
    - `diagnostics` DiagnosticsModel — Diagnostics configuration
      - `level` 'None' | 'Status' | 'Information' | 'Debug' | 'Verbose' — Level of diagnostics requested in responses
      - `auditId` string — Client audit log entry. (default: client generated)
      - `timeStamp` string, date-time — Timestamp of request. (default: client generated)
    - `group` string — Connection group allows splitting connections per purpose.
    - `locales` string[] — Optional list of preferred locales in preference order.
    - `options` 'None' | 'UseReverseConnect' | 'NoComplexTypeSystem' | 'NoSubscriptionTransfer' | 'DumpDiagnostics' — Options that can be applied to a connection
  - `request` NodeMetadataRequestModel — Node metadata request model
    - `header` RequestHeaderModel — Request header model
      - `elevation` CredentialModel — Credential model. For backwards compatibility the actual credentials to pass to the server is set through the value property.
        - `type` 'None' | 'UserName' | 'X509Certificate' | 'JwtToken' — Type of credentials to use for authentication
        - `value` UserIdentityModel — User identity model
          - `user` string — For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication this is the name of the user. For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication this is the subject name of the certificate that has been configured. Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be used to select the certificate in the user certificate store. Not used for the other authentication types.
          - `password` string — For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication this is the password of the user. For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication this is the passcode to export the configured certificate's private key. Not used for the other authentication types.
          - `thumbprint` string — For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication this is the thumbprint of the configured certificate to use. Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be used to select the certificate in the user certificate store. Not used for the other authentication types.
      - `locales` string[] — Optional list of preferred locales in preference order to be used during connecting the session. We suggest to use the connection object to set the locales
      - `diagnostics` DiagnosticsModel — Diagnostics configuration
        - `level` 'None' | 'Status' | 'Information' | 'Debug' | 'Verbose' — Level of diagnostics requested in responses
        - `auditId` string — Client audit log entry. (default: client generated)
        - `timeStamp` string, date-time — Timestamp of request. (default: client generated)
      - `namespaceFormat` 'Uri' | 'Index' | 'Expanded' | 'ExpandedWithNamespace0' — Namespace serialization format for node ids and qualified names.
      - `operationTimeout` integer — Operation timeout in ms. This applies to every operation that is invoked, not to the entire transaction and overrides the configured operation timeout.
      - `serviceCallTimeout` integer — Service call timeout in ms. As opposed to the operation timeout this terminates the entire transaction if it takes longer than the timeout to complete. Note that a connect and reconnect during the service call is gated by the connect timeout setting. If a connect timeout is not specified this timeout is used also for connect timeout.
      - `connectTimeout` integer — Connect timeout in ms. As opposed to the service call timeout this terminates the entire transaction if it takes longer than the timeout to connect a session A connect and reconnect during the service call resets the timeout therefore the overall time for the call to complete can be longer than specified.
    - `nodeId` string — Node id of the type. (Required)
    - `browsePath` string[] — An optional component path from the node identified by NodeId to the actual node.

## Response `200`

The operation was successful or the response payload contains relevant error information.

- NodeMetadataResponseModel — Node metadata model
  - `nodeId` string — The node id of the node
  - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
  - `displayName` string — The display name of the node.
  - `description` string — The description for the node.
  - `variableMetadata` VariableMetadataModel — Variable metadata model
    - `dataType` DataTypeMetadataModel — Data type metadata model
      - `dataType` string — The data type for the instance declaration.
    - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
    - `arrayDimensions` integer — Array dimensions of the variable.
  - `dataTypeMetadata` DataTypeMetadataModel — Data type metadata model
    - `dataType` string — The data type for the instance declaration.
  - `nethodMetadata` MethodMetadataModel — Method metadata model
    - `objectId` string — Id of object that the method is a component of
    - `inputArguments` MethodMetadataArgumentModel[] — Input argument meta data
      - `name` string, required — Name of the argument
      - `description` string — Optional description of argument
      - `type` NodeModel, required — Node model
        - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
        - `displayName` string — Display name
        - `nodeId` string, required — Id of node. (Mandatory).
        - `description` string — Description if any
        - `browseName` string — Browse name
        - `value` object — Value of variable or default value of the subtyped variable in case node is a variable type, otherwise null.
        - `sourcePicoseconds` integer — Pico seconds part of when value was read at source.
        - `sourceTimestamp` string, date-time — Timestamp of when value was read at source.
        - `serverPicoseconds` integer — Pico seconds part of when value was read at server.
        - `serverTimestamp` string, date-time — Timestamp of when value was read at server.
        - `errorInfo` ServiceResultModel — Service result
          - `statusCode` integer — Error code - if null operation succeeded.
          - `errorMessage` string — Error message in case of error or null.
          - `symbolicId` string — Symbolic identifier
          - `locale` string — Locale of the error message
          - `additionalInfo` string — Additional information if available
          - `namespaceUri` string — Namespace uri
          - `inner` ServiceResultModel — recursive
        - `accessRestrictions` 'None' | 'SigningRequired' | 'EncryptionRequired' | 'SessionRequired' — Flags that can be read or written in the AccessRestrictions attribute.
        - `writeMask` integer — Default write mask for the node (default: 0)
        - `userWriteMask` integer — User write mask for the node (default: 0)
        - `isAbstract` boolean — Whether type is abstract, if type can be abstract. Null if not type node. (default: false)
        - `containsNoLoops` boolean — Whether a view contains loops. Null if not a view.
        - `eventNotifier` 'SubscribeToEvents' | 'HistoryRead' | 'HistoryWrite' — Flags that can be set for the EventNotifier attribute.
        - `executable` boolean — If method node class, whether method can be called.
        - `userExecutable` boolean — If method node class, whether method can be called by current user. (default: false if not executable)
        - `dataTypeDefinition` object — Data type definition in case node is a data type node and definition is available, otherwise null.
        - `accessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
        - `userAccessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
        - `dataType` string — If variable the datatype of the variable. (default: null)
        - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
        - `arrayDimensions` integer — Array dimensions of variable or variable type. (default: empty array)
        - `historizing` boolean — Whether the value of a variable is historizing. (default: false)
        - `minimumSamplingInterval` number, double — Minimum sampling interval for the variable value, otherwise null if not a variable node. (default: null)
        - `inverseName` string — Inverse name of the reference if the node is a reference type, otherwise null.
        - `symmetric` boolean — Whether the reference is symmetric in case the node is a reference type, otherwise null.
        - `rolePermissions` RolePermissionModel[] — Role permissions
          - `roleId` string, required — Identifier of the role object.
          - `permissions` 'None' | 'Browse' | 'ReadRolePermissions' | 'WriteAttribute' | 'WriteRolePermissions' | 'WriteHistorizing' | 'Read' | 'Write' | 'ReadHistory' | 'InsertHistory' | 'ModifyHistory' | 'DeleteHistory' | 'ReceiveEvents' | 'Call' | 'AddReference' | 'RemoveReference' | 'DeleteNode' | 'AddNode' — Individual permissions assigned to a role
        - `userRolePermissions` RolePermissionModel[] — User Role permissions
          - `roleId` string, required — Identifier of the role object.
          - `permissions` 'None' | 'Browse' | 'ReadRolePermissions' | 'WriteAttribute' | 'WriteRolePermissions' | 'WriteHistorizing' | 'Read' | 'Write' | 'ReadHistory' | 'InsertHistory' | 'ModifyHistory' | 'DeleteHistory' | 'ReceiveEvents' | 'Call' | 'AddReference' | 'RemoveReference' | 'DeleteNode' | 'AddNode' — Individual permissions assigned to a role
        - `typeDefinitionId` string — Optional type definition of the node
        - `children` boolean — Whether node has children which are defined as any forward hierarchical references. (default: unknown)
      - `defaultValue` object — Default value for the argument
      - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
      - `arrayDimensions` integer — Optional Array dimension of argument
      - `errorInfo` ServiceResultModel — Service result
        - `statusCode` integer — Error code - if null operation succeeded.
        - `errorMessage` string — Error message in case of error or null.
        - `symbolicId` string — Symbolic identifier
        - `locale` string — Locale of the error message
        - `additionalInfo` string — Additional information if available
        - `namespaceUri` string — Namespace uri
        - `inner` ServiceResultModel — recursive
    - `outputArguments` MethodMetadataArgumentModel[] — output argument meta data
      - `name` string, required — Name of the argument
      - `description` string — Optional description of argument
      - `type` NodeModel, required — Node model
        - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
        - `displayName` string — Display name
        - `nodeId` string, required — Id of node. (Mandatory).
        - `description` string — Description if any
        - `browseName` string — Browse name
        - `value` object — Value of variable or default value of the subtyped variable in case node is a variable type, otherwise null.
        - `sourcePicoseconds` integer — Pico seconds part of when value was read at source.
        - `sourceTimestamp` string, date-time — Timestamp of when value was read at source.
        - `serverPicoseconds` integer — Pico seconds part of when value was read at server.
        - `serverTimestamp` string, date-time — Timestamp of when value was read at server.
        - `errorInfo` ServiceResultModel — Service result
          - `statusCode` integer — Error code - if null operation succeeded.
          - `errorMessage` string — Error message in case of error or null.
          - `symbolicId` string — Symbolic identifier
          - `locale` string — Locale of the error message
          - `additionalInfo` string — Additional information if available
          - `namespaceUri` string — Namespace uri
          - `inner` ServiceResultModel — recursive
        - `accessRestrictions` 'None' | 'SigningRequired' | 'EncryptionRequired' | 'SessionRequired' — Flags that can be read or written in the AccessRestrictions attribute.
        - `writeMask` integer — Default write mask for the node (default: 0)
        - `userWriteMask` integer — User write mask for the node (default: 0)
        - `isAbstract` boolean — Whether type is abstract, if type can be abstract. Null if not type node. (default: false)
        - `containsNoLoops` boolean — Whether a view contains loops. Null if not a view.
        - `eventNotifier` 'SubscribeToEvents' | 'HistoryRead' | 'HistoryWrite' — Flags that can be set for the EventNotifier attribute.
        - `executable` boolean — If method node class, whether method can be called.
        - `userExecutable` boolean — If method node class, whether method can be called by current user. (default: false if not executable)
        - `dataTypeDefinition` object — Data type definition in case node is a data type node and definition is available, otherwise null.
        - `accessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
        - `userAccessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
        - `dataType` string — If variable the datatype of the variable. (default: null)
        - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
        - `arrayDimensions` integer — Array dimensions of variable or variable type. (default: empty array)
        - `historizing` boolean — Whether the value of a variable is historizing. (default: false)
        - `minimumSamplingInterval` number, double — Minimum sampling interval for the variable value, otherwise null if not a variable node. (default: null)
        - `inverseName` string — Inverse name of the reference if the node is a reference type, otherwise null.
        - `symmetric` boolean — Whether the reference is symmetric in case the node is a reference type, otherwise null.
        - `rolePermissions` RolePermissionModel[] — Role permissions
          - `roleId` string, required — Identifier of the role object.
          - `permissions` 'None' | 'Browse' | 'ReadRolePermissions' | 'WriteAttribute' | 'WriteRolePermissions' | 'WriteHistorizing' | 'Read' | 'Write' | 'ReadHistory' | 'InsertHistory' | 'ModifyHistory' | 'DeleteHistory' | 'ReceiveEvents' | 'Call' | 'AddReference' | 'RemoveReference' | 'DeleteNode' | 'AddNode' — Individual permissions assigned to a role
        - `userRolePermissions` RolePermissionModel[] — User Role permissions
          - `roleId` string, required — Identifier of the role object.
          - `permissions` 'None' | 'Browse' | 'ReadRolePermissions' | 'WriteAttribute' | 'WriteRolePermissions' | 'WriteHistorizing' | 'Read' | 'Write' | 'ReadHistory' | 'InsertHistory' | 'ModifyHistory' | 'DeleteHistory' | 'ReceiveEvents' | 'Call' | 'AddReference' | 'RemoveReference' | 'DeleteNode' | 'AddNode' — Individual permissions assigned to a role
        - `typeDefinitionId` string — Optional type definition of the node
        - `children` boolean — Whether node has children which are defined as any forward hierarchical references. (default: unknown)
      - `defaultValue` object — Default value for the argument
      - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
      - `arrayDimensions` integer — Optional Array dimension of argument
      - `errorInfo` ServiceResultModel — Service result
        - `statusCode` integer — Error code - if null operation succeeded.
        - `errorMessage` string — Error message in case of error or null.
        - `symbolicId` string — Symbolic identifier
        - `locale` string — Locale of the error message
        - `additionalInfo` string — Additional information if available
        - `namespaceUri` string — Namespace uri
        - `inner` ServiceResultModel — recursive
  - `typeDefinition` TypeDefinitionModel — Type definition
    - `typeDefinitionId` string, required — The node id of the type of the node
    - `nodeType` 'Unknown' | 'Variable' | 'DataVariable' | 'Property' | 'DataType' | 'View' | 'Object' | 'Event' | 'Interface' — The node type
    - `displayName` string — Display name
    - `browseName` string — Browse name
    - `description` string — Description if any
    - `typeHierarchy` NodeModel[] — Super types hierarchy starting from base type up to Azure.IIoT.OpcUa.Publisher.Models.TypeDefinitionModel.TypeDefinitionId which is not included.
      - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
      - `displayName` string — Display name
      - `nodeId` string, required — Id of node. (Mandatory).
      - `description` string — Description if any
      - `browseName` string — Browse name
      - `value` object — Value of variable or default value of the subtyped variable in case node is a variable type, otherwise null.
      - `sourcePicoseconds` integer — Pico seconds part of when value was read at source.
      - `sourceTimestamp` string, date-time — Timestamp of when value was read at source.
      - `serverPicoseconds` integer — Pico seconds part of when value was read at server.
      - `serverTimestamp` string, date-time — Timestamp of when value was read at server.
      - `errorInfo` ServiceResultModel — Service result
        - `statusCode` integer — Error code - if null operation succeeded.
        - `errorMessage` string — Error message in case of error or null.
        - `symbolicId` string — Symbolic identifier
        - `locale` string — Locale of the error message
        - `additionalInfo` string — Additional information if available
        - `namespaceUri` string — Namespace uri
        - `inner` ServiceResultModel — recursive
      - `accessRestrictions` 'None' | 'SigningRequired' | 'EncryptionRequired' | 'SessionRequired' — Flags that can be read or written in the AccessRestrictions attribute.
      - `writeMask` integer — Default write mask for the node (default: 0)
      - `userWriteMask` integer — User write mask for the node (default: 0)
      - `isAbstract` boolean — Whether type is abstract, if type can be abstract. Null if not type node. (default: false)
      - `containsNoLoops` boolean — Whether a view contains loops. Null if not a view.
      - `eventNotifier` 'SubscribeToEvents' | 'HistoryRead' | 'HistoryWrite' — Flags that can be set for the EventNotifier attribute.
      - `executable` boolean — If method node class, whether method can be called.
      - `userExecutable` boolean — If method node class, whether method can be called by current user. (default: false if not executable)
      - `dataTypeDefinition` object — Data type definition in case node is a data type node and definition is available, otherwise null.
      - `accessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
      - `userAccessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
      - `dataType` string — If variable the datatype of the variable. (default: null)
      - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
      - `arrayDimensions` integer — Array dimensions of variable or variable type. (default: empty array)
      - `historizing` boolean — Whether the value of a variable is historizing. (default: false)
      - `minimumSamplingInterval` number, double — Minimum sampling interval for the variable value, otherwise null if not a variable node. (default: null)
      - `inverseName` string — Inverse name of the reference if the node is a reference type, otherwise null.
      - `symmetric` boolean — Whether the reference is symmetric in case the node is a reference type, otherwise null.
      - `rolePermissions` RolePermissionModel[] — Role permissions
        - `roleId` string, required — Identifier of the role object.
        - `permissions` 'None' | 'Browse' | 'ReadRolePermissions' | 'WriteAttribute' | 'WriteRolePermissions' | 'WriteHistorizing' | 'Read' | 'Write' | 'ReadHistory' | 'InsertHistory' | 'ModifyHistory' | 'DeleteHistory' | 'ReceiveEvents' | 'Call' | 'AddReference' | 'RemoveReference' | 'DeleteNode' | 'AddNode' — Individual permissions assigned to a role
      - `userRolePermissions` RolePermissionModel[] — User Role permissions
        - `roleId` string, required — Identifier of the role object.
        - `permissions` 'None' | 'Browse' | 'ReadRolePermissions' | 'WriteAttribute' | 'WriteRolePermissions' | 'WriteHistorizing' | 'Read' | 'Write' | 'ReadHistory' | 'InsertHistory' | 'ModifyHistory' | 'DeleteHistory' | 'ReceiveEvents' | 'Call' | 'AddReference' | 'RemoveReference' | 'DeleteNode' | 'AddNode' — Individual permissions assigned to a role
      - `typeDefinitionId` string — Optional type definition of the node
      - `children` boolean — Whether node has children which are defined as any forward hierarchical references. (default: unknown)
    - `typeMembers` InstanceDeclarationModel[] — Fully inherited instance declarations of the type of the node.
      - `rootTypeId` string — The type that the declaration belongs to.
      - `browsePath` string[] — The browse path
      - `displayPath` string — A localized path to the instance declaration.
      - `modellingRule` string — The modelling rule for the instance declaration (i.e. Mandatory or Optional).
      - `nodeId` string — The node id for the instance.
      - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
      - `browseName` string — The browse name for the instance declaration.
      - `displayName` string — The display name for the instance declaration.
      - `description` string — The description for the instance declaration.
      - `variable` VariableMetadataModel — Variable metadata model
        - `dataType` DataTypeMetadataModel — Data type metadata model
          - `dataType` string — The data type for the instance declaration.
        - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
        - `arrayDimensions` integer — Array dimensions of the variable.
      - `method` MethodMetadataModel — Method metadata model
        - `objectId` string — Id of object that the method is a component of
        - `inputArguments` MethodMetadataArgumentModel[] — Input argument meta data
          - `name` string, required — Name of the argument
          - `description` string — Optional description of argument
          - `type` NodeModel, required — Node model
            - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
            - `displayName` string — Display name
            - `nodeId` string, required — Id of node. (Mandatory).
            - `description` string — Description if any
            - `browseName` string — Browse name
            - `value` object — Value of variable or default value of the subtyped variable in case node is a variable type, otherwise null.
            - `sourcePicoseconds` integer — Pico seconds part of when value was read at source.
            - `sourceTimestamp` string, date-time — Timestamp of when value was read at source.
            - `serverPicoseconds` integer — Pico seconds part of when value was read at server.
            - `serverTimestamp` string, date-time — Timestamp of when value was read at server.
            - `errorInfo` ServiceResultModel — Service result
              - …
            - `accessRestrictions` 'None' | 'SigningRequired' | 'EncryptionRequired' | 'SessionRequired' — Flags that can be read or written in the AccessRestrictions attribute.
            - `writeMask` integer — Default write mask for the node (default: 0)
            - `userWriteMask` integer — User write mask for the node (default: 0)
            - `isAbstract` boolean — Whether type is abstract, if type can be abstract. Null if not type node. (default: false)
            - `containsNoLoops` boolean — Whether a view contains loops. Null if not a view.
            - `eventNotifier` 'SubscribeToEvents' | 'HistoryRead' | 'HistoryWrite' — Flags that can be set for the EventNotifier attribute.
            - `executable` boolean — If method node class, whether method can be called.
            - `userExecutable` boolean — If method node class, whether method can be called by current user. (default: false if not executable)
            - `dataTypeDefinition` object — Data type definition in case node is a data type node and definition is available, otherwise null.
            - `accessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
            - `userAccessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
            - `dataType` string — If variable the datatype of the variable. (default: null)
            - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
            - `arrayDimensions` integer — Array dimensions of variable or variable type. (default: empty array)
            - `historizing` boolean — Whether the value of a variable is historizing. (default: false)
            - `minimumSamplingInterval` number, double — Minimum sampling interval for the variable value, otherwise null if not a variable node. (default: null)
            - `inverseName` string — Inverse name of the reference if the node is a reference type, otherwise null.
            - `symmetric` boolean — Whether the reference is symmetric in case the node is a reference type, otherwise null.
            - `rolePermissions` RolePermissionModel[] — Role permissions
              - …
            - `userRolePermissions` RolePermissionModel[] — User Role permissions
              - …
            - `typeDefinitionId` string — Optional type definition of the node
            - `children` boolean — Whether node has children which are defined as any forward hierarchical references. (default: unknown)
          - `defaultValue` object — Default value for the argument
          - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
          - `arrayDimensions` integer — Optional Array dimension of argument
          - `errorInfo` ServiceResultModel — Service result
            - `statusCode` integer — Error code - if null operation succeeded.
            - `errorMessage` string — Error message in case of error or null.
            - `symbolicId` string — Symbolic identifier
            - `locale` string — Locale of the error message
            - `additionalInfo` string — Additional information if available
            - `namespaceUri` string — Namespace uri
            - `inner` ServiceResultModel — recursive
        - `outputArguments` MethodMetadataArgumentModel[] — output argument meta data
          - `name` string, required — Name of the argument
          - `description` string — Optional description of argument
          - `type` NodeModel, required — Node model
            - `nodeClass` 'Object' | 'Variable' | 'Method' | 'ObjectType' | 'VariableType' | 'ReferenceType' | 'DataType' | 'View' — Node class
            - `displayName` string — Display name
            - `nodeId` string, required — Id of node. (Mandatory).
            - `description` string — Description if any
            - `browseName` string — Browse name
            - `value` object — Value of variable or default value of the subtyped variable in case node is a variable type, otherwise null.
            - `sourcePicoseconds` integer — Pico seconds part of when value was read at source.
            - `sourceTimestamp` string, date-time — Timestamp of when value was read at source.
            - `serverPicoseconds` integer — Pico seconds part of when value was read at server.
            - `serverTimestamp` string, date-time — Timestamp of when value was read at server.
            - `errorInfo` ServiceResultModel — Service result
              - …
            - `accessRestrictions` 'None' | 'SigningRequired' | 'EncryptionRequired' | 'SessionRequired' — Flags that can be read or written in the AccessRestrictions attribute.
            - `writeMask` integer — Default write mask for the node (default: 0)
            - `userWriteMask` integer — User write mask for the node (default: 0)
            - `isAbstract` boolean — Whether type is abstract, if type can be abstract. Null if not type node. (default: false)
            - `containsNoLoops` boolean — Whether a view contains loops. Null if not a view.
            - `eventNotifier` 'SubscribeToEvents' | 'HistoryRead' | 'HistoryWrite' — Flags that can be set for the EventNotifier attribute.
            - `executable` boolean — If method node class, whether method can be called.
            - `userExecutable` boolean — If method node class, whether method can be called by current user. (default: false if not executable)
            - `dataTypeDefinition` object — Data type definition in case node is a data type node and definition is available, otherwise null.
            - `accessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
            - `userAccessLevel` 'None' | 'CurrentRead' | 'CurrentWrite' | 'HistoryRead' | 'HistoryWrite' | 'SemanticChange' | 'StatusWrite' | 'TimestampWrite' | 'NonatomicRead' | 'NonatomicWrite' | 'WriteFullArrayOnly' — Flags that can be set for the AccessLevel attribute.
            - `dataType` string — If variable the datatype of the variable. (default: null)
            - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
            - `arrayDimensions` integer — Array dimensions of variable or variable type. (default: empty array)
            - `historizing` boolean — Whether the value of a variable is historizing. (default: false)
            - `minimumSamplingInterval` number, double — Minimum sampling interval for the variable value, otherwise null if not a variable node. (default: null)
            - `inverseName` string — Inverse name of the reference if the node is a reference type, otherwise null.
            - `symmetric` boolean — Whether the reference is symmetric in case the node is a reference type, otherwise null.
            - `rolePermissions` RolePermissionModel[] — Role permissions
              - …
            - `userRolePermissions` RolePermissionModel[] — User Role permissions
              - …
            - `typeDefinitionId` string — Optional type definition of the node
            - `children` boolean — Whether node has children which are defined as any forward hierarchical references. (default: unknown)
          - `defaultValue` object — Default value for the argument
          - `valueRank` 'OneOrMoreDimensions' | 'OneDimension' | 'TwoDimensions' | 'ScalarOrOneDimension' | 'Any' | 'Scalar' — Constants defined for the ValueRank attribute.
          - `arrayDimensions` integer — Optional Array dimension of argument
          - `errorInfo` ServiceResultModel — Service result
            - `statusCode` integer — Error code - if null operation succeeded.
            - `errorMessage` string — Error message in case of error or null.
            - `symbolicId` string — Symbolic identifier
            - `locale` string — Locale of the error message
            - `additionalInfo` string — Additional information if available
            - `namespaceUri` string — Namespace uri
            - `inner` ServiceResultModel — recursive
      - `overriddenDeclaration` InstanceDeclarationModel — recursive
      - `modellingRuleId` string — The modelling rule node id.
  - `errorInfo` ServiceResultModel — Service result
    - `statusCode` integer — Error code - if null operation succeeded.
    - `errorMessage` string — Error message in case of error or null.
    - `symbolicId` string — Symbolic identifier
    - `locale` string — Locale of the error message
    - `additionalInfo` string — Additional information if available
    - `namespaceUri` string — Namespace uri
    - `inner` ServiceResultModel — recursive

## Other responses

- `400` — The passed in information is invalid
- `408` — The operation timed out.
- `500` — An unexpected error occurred

---

[API](https://skmtc.net/azure/apis/opcpublisher.md) · [All operations](https://skmtc.net/azure/apis/opcpublisher/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/opcpublisher/versions/8eac19a554d6/schema)
