async def METHOD_NAME(self, acl, action, offer_url):
    """Grants or revokes the given access level for this user on a given offer
    :param str acl: Controller access levels (see access module)
    :param str action: grant/revoke
    :param str offer_url: url for the offer
    :return bool: True if access changed, Error if user already has it
    """
    application_offers_facade = client.ApplicationOffersFacade.from_connection(
        self.controller.connection())
    changes = client.ModifyOfferAccess(acl, action, offer_url, self.tag)
    await application_offers_facade.ModifyOfferAccess(changes=[changes])
    return True