def METHOD_NAME(self, logger: AirbyteLogger, config: Mapping[str, Any]) -> Tuple[bool, Any]:
    is_valid_credentials, msg = self._check_credentials(config)
    if not is_valid_credentials:
        return is_valid_credentials, msg
    authenticator = self.get_authenticator(config)
    if "survey_ids" in config:
        # Check whether survey id exists and collect errors
        errors = []
        for survey_id in config["survey_ids"]:
            response = requests.head(
                url=f"https://api.surveymonkey.com/v3/surveys/{survey_id}/details", headers=authenticator.get_auth_header()
            )
            try:
                response.raise_for_status()
            except requests.exceptions.HTTPError:
                errors.append((survey_id, f"{response.status_code} {response.reason}"))
        if errors:
            # Group survey ids by their error type
            survey_id_index, error_message_index = 0, 1
            msg = "; ".join(
                [
                    f"{error_type}: {', '.join(list(map(itemgetter(survey_id_index), survey_ids)))}"
                    for error_type, survey_ids in groupby(errors, lambda x: x[error_message_index])
                ]
            )
            return False, msg
    try:
        response = requests.get(url="https://api.surveymonkey.com/v3/users/me", headers=authenticator.get_auth_header())
        response.raise_for_status()
        return self._check_scopes(response.json())
    except Exception as e:
        return False, repr(e)