OPC UA Status Codes

Complete Reference Guide.

OPC UA StatusCodes indicate the result of an OPC UA operation or the quality
associated with a value. Defined by IEC 62541, a StatusCode is a 32-bit value
whose severity identifies the result as Good, Uncertain or Bad.

This reference lists the standard OPC UA StatusCodes with their symbolic names,
hexadecimal values and meanings. It can be used to diagnose client/server
communication errors, security and certificate failures, session or subscription
problems, AddressSpace access errors and Historical Access issues.

Les codes d'erreur OPC UA
OPC UA Status Codes 3

Understanding OPC UA StatusCodes

An OPC UA StatusCode contains more information than a simple success/error flag.
Its severity distinguishes three main classes:

  • Good — the operation completed successfully.
  • Uncertain — the result or data quality cannot be considered fully reliable.
  • Bad — the operation failed or the associated value is invalid.

For example, BadNodeIdUnknown (0x80340000) indicates that the requested NodeId
does not exist in the server AddressSpace, while
BadCertificateUntrusted (0x801A0000) indicates that the certificate is not
trusted by the receiving application.

The tables below provide a technical reference for the standard OPC UA
StatusCodes.

✅ Status Codes – GOOD

NiveauCode symboliqueCode (Hexa)lDescription
GoodOpcUa_GoodSubscriptionTransferred0x002D0000The subscription has been transferred to another session
GoodOpcUa_GoodCompletesAsynchronously0x002E0000The processing will complete asynchronously
GoodOpcUa_GoodOverload0x002F0000Sampling has slowed down due to resource limitations
GoodOpcUa_GoodClamped0x00300000The written value was accepted but clamped
GoodOpcUa_GoodResultsMayBeIncomplete0x00BA0000The results may be incomplete
GoodOpcUa_GoodLocalOverride0x00960000The value has been locally overridden
GoodOpcUa_GoodEntryInserted0x00A20000Historical data was successfully inserted
GoodOpcUa_GoodEntryReplaced0x00A30000Historical data was successfully replaced
GoodOpcUa_GoodNoData0x00A50000No data exists for the requested range
GoodOpcUa_GoodMoreData0x00A60000More data is available
GoodOpcUa_GoodCommunicationEvent0x00A70000A communication event has been raised
GoodOpcUa_GoodShutdownEvent0x00A80000The system is shutting down
GoodOpcUa_GoodCallAgain0x00A90000The operation needs to be called again
GoodOpcUa_GoodNonCriticalTimeout0x00AA0000A non-critical timeout occurred
GoodOpcUa_GoodDataIgnored0x00D90000Data was ignored (invalid or not storable)

⚠️ Status Codes – UNCERTAIN

NiveauCode symboliqueCode (Hexa)Description
UncertainOpcUa_UncertainReferenceOutOfServer0x406C0000A reference in the relative path points to a node in another server
UncertainOpcUa_UncertainNoCommunicationLastUsableValue0x408F0000Communication has failed; the last known usable value is provided
UncertainOpcUa_UncertainLastUsableValue0x40900000The source is no longer updating the value
UncertainOpcUa_UncertainSubstituteValue0x40910000The value has been manually substituted
UncertainOpcUa_UncertainInitialValue0x40920000The value is an initial value that has not yet been linked
UncertainOpcUa_UncertainSensorNotAccurate0x40930000The value is near the limits of the sensor
UncertainOpcUa_UncertainEngineeringUnitsExceeded0x40940000The value is outside the defined engineering unit limits
UncertainOpcUa_UncertainSubNormal0x40950000There are not enough Good sources to provide a Good quality
UncertainOpcUa_UncertainReferenceNotDeleted0x40BC0000Not all target references could be deleted
UncertainOpcUa_UncertainNotAllNodesAvailable0x40C00000Not all nodes are available
UncertainOpcUa_UncertainDataSubNormal0x40A40000Composite data has fewer than the required number of Good values

❌ Status Codes – BAD

NiveauCode symboliqueCode (Hexa)Description
BadOpcUa_BadUnexpectedError0x80010000An unexpected error occurred.
BadOpcUa_BadInternalError0x80020000An internal error occurred as a result of a programming or configuration error.
BadOpcUa_BadOutOfMemory0x80030000Not enough memory to complete the operation.
BadOpcUa_BadResourceUnavailable0x80040000An operating system resource is not available.
BadOpcUa_BadCommunicationError0x80050000A low level communication error occurred.
BadOpcUa_BadEncodingError0x80060000Encoding halted because of invalid data in the objects being serialized.
BadOpcUa_BadDecodingError0x80070000Decoding halted because of invalid data in the stream.
BadOpcUa_BadEncodingLimitsExceeded0x80080000The message encoding/decoding limits imposed by the stack have been exceeded.
BadOpcUa_BadRequestTooLarge0x80B80000The request message size exceeds limits set by the server.
BadOpcUa_BadResponseTooLarge0x80B90000The response message size exceeds limits set by the client.
BadOpcUa_BadUnknownResponse0x80090000An unrecognized response was received from the server.
BadOpcUa_BadTimeout0x800A0000The operation timed out.
BadOpcUa_BadServiceUnsupported0x800B0000The server does not support the requested service.
BadOpcUa_BadShutdown0x800C0000The operation was cancelled because the application is shutting down.
BadOpcUa_BadServerNotConnected0x800D0000The operation could not complete because the client is not connected to the server.
BadOpcUa_BadServerHalted0x800E0000The server has stopped and cannot process any requests.
BadOpcUa_BadNothingToDo0x800F0000There was nothing to do because the client passed a list of operations with no elements.
BadOpcUa_BadTooManyOperations0x80100000The request could not be processed because it specified too many operations.
BadOpcUa_BadDataTypeIdUnknown0x80110000The extension object cannot be (de)serialized because the data type id is not recognized.
BadOpcUa_BadCertificateInvalid0x80120000The certificate provided as a parameter is not valid.
BadOpcUa_BadSecurityChecksFailed0x80130000An error occurred verifying security.
BadOpcUa_BadCertificateTimeInvalid0x80140000The Certificate has expired or is not yet valid.
BadOpcUa_BadCertificateIssuerTimeInvalid0x80150000An Issuer Certificate has expired or is not yet valid.
BadOpcUa_BadCertificateHostNameInvalid0x80160000The HostName used to connect to a Server does not match a HostName in the Certificate.
BadOpcUa_BadCertificateUriInvalid0x80170000The URI specified in the ApplicationDescription does not match the URI in the Certificate.
BadOpcUa_BadCertificateUseNotAllowed0x80180000The Certificate may not be used for the requested operation.
BadOpcUa_BadCertificateIssuerUseNotAllowed0x80190000The Issuer Certificate may not be used for the requested operation.
BadOpcUa_BadCertificateUntrusted0x801A0000The Certificate is not trusted.
BadOpcUa_BadCertificateRevocationUnknown0x801B0000It was not possible to determine if the Certificate has been revoked.
BadOpcUa_BadCertificateIssuerRevocationUnknown0x801C0000It was not possible to determine if the Issuer Certificate has been revoked.
BadOpcUa_BadCertificateRevoked0x801D0000The Certificate has been revoked.
BadOpcUa_BadCertificateIssuerRevoked0x801E0000The Issuer Certificate has been revoked.
BadOpcUa_BadUserAccessDenied0x801F0000User does not have permission to perform the requested operation.
BadOpcUa_BadIdentityTokenInvalid0x80200000The user identity token is not valid.
BadOpcUa_BadIdentityTokenRejected0x80210000The user identity token is valid but the server has rejected it.
BadOpcUa_BadSecureChannelIdInvalid0x80220000The specified secure channel is no longer valid.
BadOpcUa_BadInvalidTimestamp0x80230000The timestamp is outside the range allowed by the server.
BadOpcUa_BadNonceInvalid0x80240000The nonce does not appear to be random or is not the correct length.
BadOpcUa_BadSessionIdInvalid0x80250000The session id is not valid.
BadOpcUa_BadSessionClosed0x80260000The session was closed by the client.
BadOpcUa_BadSessionNotActivated0x80270000The session cannot be used because ActivateSession has not been called.
BadOpcUa_BadSubscriptionIdInvalid0x80280000The subscription id is not valid.
BadOpcUa_BadRequestHeaderInvalid0x802A0000The header for the request is missing or invalid.
BadOpcUa_BadTimestampsToReturnInvalid0x802B0000The timestamps to return parameter is invalid.
BadOpcUa_BadRequestCancelledByClient0x802C0000The request was cancelled by the client.
BadOpcUa_BadNoCommunication0x80310000Communication with the data source is defined, but not established, and there is no last known value available.
BadOpcUa_BadWaitingForInitialData0x80320000Waiting for the server to obtain values from the underlying data source.
BadOpcUa_BadNodeIdInvalid0x80330000The syntax of the node id is not valid.
BadOpcUa_BadNodeIdUnknown0x80340000The node id refers to a node that does not exist in the server address space.
BadOpcUa_BadAttributeIdInvalid0x80350000The attribute is not supported for the specified Node.
BadOpcUa_BadIndexRangeInvalid0x80360000The syntax of the index range parameter is invalid.
BadOpcUa_BadIndexRangeNoData0x80370000No data exists within the range of indexes specified.
BadOpcUa_BadDataEncodingInvalid0x80380000The data encoding is invalid.
BadOpcUa_BadDataEncodingUnsupported0x80390000The server does not support the requested data encoding for the node.
BadOpcUa_BadNotReadable0x803A0000The access level does not allow reading or subscribing to the Node.
BadOpcUa_BadNotWritable0x803B0000The access level does not allow writing to the Node.
BadOpcUa_BadOutOfRange0x803C0000The value was out of range.
BadOpcUa_BadNotSupported0x803D0000The requested operation is not supported.
BadOpcUa_BadNotFound0x803E0000A requested item was not found or a search operation ended without success.
BadOpcUa_BadObjectDeleted0x803F0000The object cannot be used because it has been deleted.
BadOpcUa_BadNotImplemented0x80400000Requested operation is not implemented.
BadOpcUa_BadMonitoringModeInvalid0x80410000The monitoring mode is invalid.
BadOpcUa_BadMonitoredItemIdInvalid0x80420000The monitoring item id does not refer to a valid monitored item.
BadOpcUa_BadMonitoredItemFilterInvalid0x80430000The monitored item filter parameter is not valid.
BadOpcUa_BadMonitoredItemFilterUnsupported0x80440000The server does not support the requested monitored item filter.
BadOpcUa_BadFilterNotAllowed0x80450000A monitoring filter cannot be used in combination with the attribute specified.
BadOpcUa_BadStructureMissing0x80460000A mandatory structured parameter was missing or null.
BadOpcUa_BadEventFilterInvalid0x80470000The event filter is not valid.
BadOpcUa_BadContentFilterInvalid0x80480000The content filter is not valid.
BadOpcUa_BadFilterOperandInvalid0x80490000The operand used in a content filter is not valid.
BadOpcUa_BadContinuationPointInvalid0x804A0000The continuation point provided is no longer valid.
BadOpcUa_BadNoContinuationPoints0x804B0000The operation could not be processed because all continuation points have been allocated.
BadOpcUa_BadReferenceTypeIdInvalid0x804C0000The reference type id does not refer to a valid reference type.
BadOpcUa_BadBrowseDirectionInvalid0x804D0000The browse direction is not valid.
BadOpcUa_BadNodeNotInView0x804E0000The node is not part of the view.
BadOpcUa_BadServerUriInvalid0x804F0000The ServerUri is not a valid URI.
BadOpcUa_BadServerNameMissing0x80500000No ServerName was specified.
BadOpcUa_BadDiscoveryUrlMissing0x80510000No DiscoveryUrl was specified.
BadOpcUa_BadSempahoreFileMissing0x80520000The semaphore file specified by the client is not valid.
BadOpcUa_BadRequestTypeInvalid0x80530000The security token request type is not valid.
BadOpcUa_BadSecurityModeRejected0x80540000The security mode does not meet the requirements set by the Server.
BadOpcUa_BadSecurityPolicyRejected0x80550000The security policy does not meet the requirements set by the Server.
BadOpcUa_BadTooManySessions0x80560000The server has reached its maximum number of sessions.
BadOpcUa_BadUserSignatureInvalid0x80570000The user token signature is missing or invalid.
BadOpcUa_BadApplicationSignatureInvalid0x80580000The signature generated with the client certificate is missing or invalid.
BadOpcUa_BadNoValidCertificates0x80590000The client did not provide at least one software certificate that is valid and meets the profile requirements for the server.
BadOpcUa_BadRequestCancelledByRequest0x805A0000The request was cancelled by the client with the Cancel service.
BadOpcUa_BadParentNodeIdInvalid0x805B0000The parent node id does not refer to a valid node.
BadOpcUa_BadReferenceNotAllowed0x805C0000The reference could not be created because it violates constraints imposed by the data model.
BadOpcUa_BadNodeIdRejected0x805D0000The requested node id was rejected because it was either invalid or not allowed by the server.
BadOpcUa_BadNodeIdExists0x805E0000The requested node id is already used by another node.
BadOpcUa_BadNodeClassInvalid0x805F0000The node class is not valid.
BadOpcUa_BadBrowseNameInvalid0x80600000The browse name is invalid.
BadOpcUa_BadBrowseNameDuplicated0x80610000The browse name is not unique among nodes that share the same relationship with the parent.
BadOpcUa_BadNodeAttributesInvalid0x80620000The node attributes are not valid for the node class.
BadOpcUa_BadTypeDefinitionInvalid0x80630000The type definition node id does not reference an appropriate type node.
BadOpcUa_BadSourceNodeIdInvalid0x80640000The source node id does not reference a valid node.
BadOpcUa_BadTargetNodeIdInvalid0x80650000The target node id does not reference a valid node.
BadOpcUa_BadDuplicateReferenceNotAllowed0x80660000The reference type between the nodes is already defined.
BadOpcUa_BadInvalidSelfReference0x80670000The server does not allow this type of self reference on this node.
BadOpcUa_BadReferenceLocalOnly0x80680000The reference type is not valid for a reference to a remote server.
BadOpcUa_BadNoDeleteRights0x80690000The server will not allow the node to be deleted.
BadOpcUa_BadServerIndexInvalid0x806A0000The server index is not valid.
BadOpcUa_BadViewIdUnknown0x806B0000The view id does not refer to a valid view node.
BadOpcUa_BadMaxAgeInvalid0x80700000The max age parameter is invalid.
BadOpcUa_BadHistoryOperationInvalid0x80710000The history details parameter is not valid.
BadOpcUa_BadHistoryOperationUnsupported0x80720000The server does not support the requested operation.
BadOpcUa_BadWriteNotSupported0x80730000The server does not support writing the combination of value, status and timestamps provided.
BadOpcUa_BadTypeMismatch0x80740000The value supplied for the attribute is not of the same type as the attribute’s value.
BadOpcUa_BadMethodInvalid0x80750000The method id does not refer to a method for the specified object.
BadOpcUa_BadArgumentsMissing0x80760000The client did not specify all of the input arguments for the method.
BadOpcUa_BadTooManySubscriptions0x80770000The server has reached its maximum number of subscriptions.
BadOpcUa_BadTooManyPublishRequests0x80780000The server has reached the maximum number of queued publish requests.
BadOpcUa_BadNoSubscription0x80790000There is no subscription available for this session.
BadOpcUa_BadSequenceNumberUnknown0x807A0000The sequence number is unknown to the server.
BadOpcUa_BadMessageNotAvailable0x807B0000The requested notification message is no longer available.
BadOpcUa_BadInsufficientClientProfile0x807C0000The Client of the current Session does not support one or more Profiles that are necessary for the Subscription.
BadOpcUa_BadTcpServerTooBusy0x807D0000The server cannot process the request because it is too busy.
BadOpcUa_BadTcpMessageTypeInvalid0x807E0000The type of the message specified in the header invalid.
BadOpcUa_BadTcpSecureChannelUnknown0x807F0000The SecureChannelId and/or TokenId are not currently in use.
BadOpcUa_BadTcpMessageTooLarge0x80800000The size of the message specified in the header is too large.
BadOpcUa_BadTcpNotEnoughResources0x80810000There are not enough resources to process the request.
BadOpcUa_BadTcpInternalError0x80820000An internal error occurred.
BadOpcUa_BadTcpEndpointUrlInvalid0x80830000The Server does not recognize the QueryString specified.
BadOpcUa_BadRequestInterrupted0x80840000The request could not be sent because of a network interruption.
BadOpcUa_BadRequestTimeout0x80850000Timeout occurred while processing the request.
BadOpcUa_BadSecureChannelClosed0x80860000The secure channel has been closed.
BadOpcUa_BadSecureChannelTokenUnknown0x80870000The token has expired or is not recognized.
BadOpcUa_BadSequenceNumberInvalid0x80880000The sequence number is not valid.
BadOpcUa_BadProtocolVersionUnsupported0x80BE0000The applications do not have compatible protocol versions.
BadOpcUa_BadConfigurationError0x80890000There is a problem with the configuration that affects the usefulness of the value.
BadOpcUa_BadNotConnected0x808A0000The variable should receive its value from another variable, but has never been configured to do so.
BadOpcUa_BadDeviceFailure0x808B0000There has been a failure in the device/data source that generates the value that has affected the value.
BadOpcUa_BadSensorFailure0x808C0000There has been a failure in the sensor from which the value is derived by the device/data source.
BadOpcUa_BadOutOfService0x808D0000The source of the data is not operational.
BadOpcUa_BadDeadbandFilterInvalid0x808E0000The deadband filter is not valid.
BadOpcUa_BadRefreshInProgress0x80970000This Condition refresh failed, a Condition refresh operation is already in progress.
BadOpcUa_BadConditionAlreadyDisabled0x80980000This condition has already been disabled.
BadOpcUa_BadConditionDisabled0x80990000Property not available, this condition is disabled.
BadOpcUa_BadEventIdUnknown0x809A0000The specified event id is not recognized.
BadOpcUa_BadNoData0x809B0000No data exists for the requested time range or event filter.
BadOpcUa_BadDataLost0x809D0000Data is missing due to collection started/stopped/lost.
BadOpcUa_BadDataUnavailable0x809E0000Expected data is unavailable for the requested time range due to temporary unavailability.
BadOpcUa_BadEntryExists0x809F0000The data or event was not successfully inserted because a matching entry exists.
BadOpcUa_BadNoEntryExists0x80A00000The data or event was not successfully updated because no matching entry exists.
BadOpcUa_BadTimestampNotSupported0x80A10000Client requested history using an unsupported timestamp format.
BadOpcUa_BadInvalidArgument0x80AB0000One or more arguments are invalid.
BadOpcUa_BadConnectionRejected0x80AC0000Could not establish a network connection to remote server.
BadOpcUa_BadDisconnect0x80AD0000The server has disconnected from the client.
BadOpcUa_BadConnectionClosed0x80AE0000The network connection has been closed.
BadOpcUa_BadInvalidState0x80AF0000The object is closed, uninitialized or in an invalid state.
BadOpcUa_BadEndOfStream0x80B00000Cannot move beyond end of the stream.
BadOpcUa_BadNoDataAvailable0x80B10000No data is currently available for reading from a non-blocking stream.
BadOpcUa_BadWaitingForResponse0x80B20000The asynchronous operation is waiting for a response.
BadOpcUa_BadOperationAbandoned0x80B30000The asynchronous operation was abandoned by the caller.
BadOpcUa_BadExpectedStreamToBlock0x80B40000The stream did not return all data requested.
BadOpcUa_BadWouldBlock0x80B50000Non blocking behaviour is required and the operation would block.
BadOpcUa_BadSyntaxError0x80B60000A value had an invalid syntax.
BadOpcUa_BadMaxConnectionsReached0x80B70000All available connections are in use.
BadOpcUa_BadEventNotAcknowledgeable0x80BB0000The event cannot be acknowledged.
BadOpcUa_BadStateNotActive0x80BF0000The sub-state machine is not currently active.
BadOpcUa_BadFilterOperatorInvalid0x80C10000An unrecognized operator was provided in a filter.
BadOpcUa_BadFilterOperatorUnsupported0x80C20000A valid operator was provided, but the server does not provide support for this filter operator.
BadOpcUa_BadFilterOperandCountMismatch0x80C30000The number of operands provided for the filter operator was less than expected.
BadOpcUa_BadFilterElementInvalid0x80C40000The referenced element is not a valid element in the content filter.
BadOpcUa_BadFilterLiteralInvalid0x80C50000The referenced literal is not a valid value.
BadOpcUa_BadIdentityChangeNotSupported0x80C60000The Server does not support changing the user identity assigned to the session.
BadOpcUa_BadViewTimestampInvalid0x80C90000The view timestamp is not available or not supported.
BadOpcUa_BadViewParameterMismatch0x80CA0000The view parameters are not consistent with each other.
BadOpcUa_BadViewVersionInvalid0x80CB0000The view version is not available or not supported.
BadOpcUa_BadConditionAlreadyEnabled0x80CC0000This condition has already been enabled.
BadOpcUa_BadDialogNotActive0x80CD0000The dialog condition is not active.
BadOpcUa_BadDialogResponseInvalid0x80CE0000The response is not valid for the dialog.
BadOpcUa_BadConditionBranchAlreadyAcked0x80CF0000The condition branch has already been acknowledged.
BadOpcUa_BadConditionBranchAlreadyConfirmed0x80D00000The condition branch has already been confirmed.
BadOpcUa_BadConditionAlreadyShelved0x80D10000The condition has already been shelved.
BadOpcUa_BadConditionNotShelved0x80D20000The condition is not currently shelved.
BadOpcUa_BadShelvingTimeOutOfRange0x80D30000The shelving time not within an acceptable range.
BadOpcUa_BadAggregateListMismatch0x80D40000The requested number of Aggregates does not match the requested number of NodeIds.
BadOpcUa_BadAggregateNotSupported0x80D50000The requested Aggregate is not support by the server.
BadOpcUa_BadAggregateInvalidInputs0x80D60000The aggregate value could not be derived due to invalid data inputs.
BadOpcUa_BadBoundNotFound0x80D70000No data found to provide upper or lower bound value.
BadOpcUa_BadBoundNotSupported0x80D80000The server cannot retrieve a bound for the variable.
BadOpcUa_BadAggregateConfigurationRejected0x80DA0000The aggregate configuration is not valid for specified node.
BadOpcUa_BadCertificateChainIncomplete0x810D0000The certificate chain is incomplete.
BadOpcUa_BadCertificatePolicyCheckFailed0x81140000The certificate does not meet the requirements of the security policy.
BadOpcUa_BadAlreadyExists0x81150000An equivalent rule or node already exists.