private static Task <TResult> GetDetailsAsync <TResult>(HttpClient httpClient, string url, DetailsRequestBase request, Dictionary <string, string?>?queryStringParams, AudioSettings defaultAudioSettings)
        {
            queryStringParams ??= new Dictionary <string, string?>();

            if (request is IHasAudioSettings audioSettings)
            {
                UrlHelpers.AddAudioSettingsQueryStringParams(queryStringParams, audioSettings.AudioSettings, defaultAudioSettings);
            }

            var fullUrl = $"{url}/{request.Id:D}";

            return(httpClient.GetAsync <TResult>(fullUrl, queryStringParams));
        }
        // Internal

        private Task <TResult> GetDetailsAsync <TResult>(HttpClient httpClient, string url, DetailsRequestBase request, Dictionary <string, string?>?queryStringParams = null)
        {
            return(GetDetailsAsync <TResult>(httpClient, url, request, queryStringParams, _defaultAudioSettings));
        }