docs: def url_builder(self, endpoint, *, root=None, params=None, url_params=None):
          """Create a URL for the specified endpoint.
  
          Arguments:
            endpoint (:py:class:`str`): The API endpoint to access.
            root: (:py:class:`str`, optional): The root URL for the
              service API.
            params: (:py:class:`dict`, optional): The values for format
              into the created URL (defaults to ``None``).
            url_params: (:py:class:`dict`, optional): Parameters to add
              to the end of the URL (defaults to ``None``).
  
          Returns:
            :py:class:`str`: The resulting URL.
  
          """
          if root is None:
              root = self.ROOT
          return ''.join([
              root,
              endpoint,
              '?' + urlencode(url_params) if url_params else '',
          ]).format(**params or {})