Update: The issue seems to be resolved.

Hi, I have just encountered an issue making requests to the CDS API for the CAMS solar radiation time-series product. 

The issue occurs both from my code (using python cdsapi package) and from the web page (https://ads.atmosphere.copernicus.eu/cdsapp#!/dataset/cams-solar-radiation-timeseries)

I thought at first I was being rate-limited but it is also happening from a different user account. 

The full traceback I receive from the API request:

ERROR:cdsapi:  Traceback (most recent call last):
ERROR:cdsapi:    File "/opt/cdstoolbox/cdscompute/cdscompute/cdshandlers/services/handler.py", line 59, in handle_request
ERROR:cdsapi:      result = cached(context.method, proc, context, context.args, context.kwargs)
ERROR:cdsapi:    File "/opt/cdstoolbox/cdscompute/cdscompute/caching.py", line 108, in cached
ERROR:cdsapi:      result = proc(context, *context.args, **context.kwargs)
ERROR:cdsapi:    File "/opt/cdstoolbox/cdscompute/cdscompute/services.py", line 124, in __call__
ERROR:cdsapi:      return p(*args, **kwargs)
ERROR:cdsapi:    File "/opt/cdstoolbox/cdscompute/cdscompute/services.py", line 60, in __call__
ERROR:cdsapi:      return self.proc(context, *args, **kwargs)
ERROR:cdsapi:    File "/home/cds/cdsservices/services/cams_solar_rad.py", line 37, in execute
ERROR:cdsapi:    File "/opt/cdstoolbox/cds-common/cds_common/cams/solar_radiation/solar_rad_retrieve.py", line 26, in solar_rad_retrieve
ERROR:cdsapi:      user_id = anonymised_user_id(user_id)
ERROR:cdsapi:    File "/opt/cdstoolbox/cds-common/cds_common/cams/solar_radiation/solar_rad_retrieve.py", line 56, in anonymised_user_id
ERROR:cdsapi:      ('__%SecretFromDataProvider%__' + ads_user_id).encode()).hexdigest()
ERROR:cdsapi:  TypeError: must be str, not int

This suggests that my user id (a four digit number) is being parsed as an int at some point. 

If the solar_rad_retrieve.py is being executed with python >3.8, line 56 could be modified to use f-strings and hopefully remedy the issue:

(f'__%SecretFromDataProvider%__{ads_user_id}').encode()).hexdigest()