def get_auth_token(self) -> str:
    "\n        Returns an auth token:\n            - if no explicit access token is stored, returns the api token\n            - if there is an access token:\n                - if there's a refresh token and the access token expires in the next 30 seconds,\n                  then we refresh the access token and store the result\n                - return the access token\n\n        Returns:\n            - str: the access token\n        "
    if (not self._access_token):
        return self._api_token
    expiration = (self._access_token_expires_at or pendulum.now())
    if (self._refresh_token and (pendulum.now().add(seconds=30) > expiration)):
        self._refresh_access_token()
    return self._access_token
Returns an auth token:
    - if no explicit access token is stored, returns the api token
    - if there is an access token:
        - if there's a refresh token and the access token expires in the next 30 seconds,
          then we refresh the access token and store the result
        - return the access token

Returns:
    - str: the access token
def get_auth_token(self) -> str:
    "\n        Returns an auth token:\n            - if no explicit access token is stored, returns the api token\n            - if there is an access token:\n                - if there's a refresh token and the access token expires in the next 30 seconds,\n                  then we refresh the access token and store the result\n                - return the access token\n\n        Returns:\n            - str: the access token\n        "
    if (not self._access_token):
        return self._api_token
    expiration = (self._access_token_expires_at or pendulum.now())
    if (self._refresh_token and (pendulum.now().add(seconds=30) > expiration)):
        self._refresh_access_token()
    return self._access_token