40311: Application requires a TLS connection

application_requires_a_tls_connection

The connection was rejected because it did not use TLS, but the application requires TLS connections.

What you should do

Connect over TLS. The application is configured to require it, so remove any tls: false setting from the client options, or set it to true. SDKs use TLS by default, so this normally means TLS was explicitly disabled.

Why it happens

The connection did not use TLS, but the application has the TLS-only setting enabled, which rejects non-TLS connections. This applies to connections using token authentication; a non-TLS connection using Basic authentication is rejected as 40103 instead.

What you'll see

The error is reported with code 40311 and HTTP status 403. The message is of the form application requires TLS Connections; applicationId = <id>.