code: def json_request_response(f):
      
      @wraps(f)
      def wrapper(*args, **kwargs):
          response = f(*args, **kwargs)
          response.raise_for_status()
          return json.loads(response.content.decode('utf-8'))
  
      API_FUNCTIONS[f.__name__] = f
      return wrapper
docs: Parse the JSON from an API response. We do this in a decorator so that our
      Twisted library can reuse the underlying functions