/// <summary>
        ///     Adds our credentials to the URL
        /// </summary>
        /// <param name="url">The URL to add to</param>
        /// <returns>The updated URL</returns>
        protected virtual string AddCredentialsToUrl(string url)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                throw new InvalidOperationException("Endpoint is null or empty");
            }

            string token = null;

            var credentials = Options.Credentials;

            var simple = credentials as SimpleApiTokenCredentials;

            if (simple != null)
            {
                token = simple.Token;
            }
            var oauth = credentials as OAuthCredentials;

            if (oauth != null)
            {
                token = oauth.Token;
            }

            if (string.IsNullOrWhiteSpace(token))
            {
                throw new InvalidOperationException("Invalid credentials");
            }

            return(HttpUtility.AddQueryStringValueToUri(url, "access_token", token));
        }