The UnverifiedPeer error indicates that an attempt to connect to an unknown or not-yet-trusted endpoint failed because the system was unable to verify the identity of the endpoint. Typically the field of this error will contain information that can be presented to a human to allow them to decide whether to trust the endpoint. If they decide to trust the endpoint, the request can be resubmitted with an indication that the endpoint should be trusted.


  • The client provides an IP address or URL of an endpoint the system should communicate with using an SSL connection, but the endpoint’s SSL certificate is self-signed, expired, or otherwise not trustworthy.
  • The client provides an IP address of a host the system should communicate with using ssh, but ssh doesn’t recognize the public key of the host


data Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully. Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports. The ArgumentLocations, FileLocations, and TransientIndication structures are intended as possible values for this field. DynamicID may also be useful as a value for this field (although that is not its primary purpose). Some services may provide their own specific structures for use as the value of this field when reporting errors from their operations.

Some operations will not set this field when reporting errors.

error_type Optional

Discriminator field to help API consumers identify the structure type. Can be unset for compatibility with preceding implementations.


messages Required

Stack of one or more localizable messages for human error consumers. The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked. Each subsequent message in the stack describes the “cause” of the prior message.

JSON Example

    "messages": [
            "args": [
            "default_message": "string",
            "id": "string"

Was this page helpful?