I am integrating with Kite Connect (Python client) and running into a consistent WebSocket authentication failure.
REST authentication works generate_session() succeeds and returns a valid access_token. kc.profile() succeeds with that token.
WebSocket fails The WebSocket handshake to wss://ws.kite.trade?api_key=API_KEY&access_token=ACCESS_TOKEN consistently returns: HTTP 403 with body: {"status":"error","message":"Authentication failed."}
This happens even immediately after a fresh login + token exchange.
I am not asking for coding/debugging help — I want to confirm whether this API key/user/app has WebSocket streaming enabled, or if there is a server-side restriction or entitlement issue.
To access live market or historical candle data, you need to subscribe to Kite Connect(paid version). We noticed that you have created an app using the Kite Personal (free version). Please ensure you are using the API key and access token associated with the Connect app (paid version) instead of the Personal app (free version). You can refer to the similar discussion here.