Exchange a long-lived API key for an authenticated session.
If apikey is omitted, the SDK reads QTSURFER_APIKEY from the
environment. The returned AuthenticatedClient caches the JWT,
refreshes it on 401, and exposes the same surface as QTSurfer
(executeBacktest, sweep, downloadTickers, downloadKlines, getExchanges,
getInstruments, compileStrategy, validateStrategy, getStrategy,
getStrategies, deleteStrategy, getStrategyCode).
if no apikey is available or token issuance is rejected.
A 403 / apikey_without_scopes requires a key with at least one resource/action
grant; this rejection is not retried automatically.
Exchange a long-lived API key for an authenticated session.
If
apikeyis omitted, the SDK readsQTSURFER_APIKEYfrom the environment. The returned AuthenticatedClient caches the JWT, refreshes it on 401, and exposes the same surface asQTSurfer(executeBacktest,sweep,downloadTickers,downloadKlines,getExchanges,getInstruments,compileStrategy,validateStrategy,getStrategy,getStrategies,deleteStrategy,getStrategyCode).