def __init__(self, account_sid, auth_token, workspace_sid, channel_id, **kwargs):
super(TaskRouterCapabilityToken, self).__init__(<EOL>secret_key=auth_token,<EOL>issuer=account_sid,<EOL>algorithm='<STR_LIT>',<EOL>nbf=kwargs.get('<STR_LIT>', Jwt.GENERATE),<EOL>ttl=kwargs.get('<STR_LIT>', <NUM_LIT>),<EOL>valid_until=kwargs.get('<STR_LIT>', None),<EOL>)<EOL>self._validate_inputs(account_sid, workspace_sid, channel_id)<EOL>self.account_sid = account_sid<EOL>self.auth_token = auth_token<EOL>self.workspace_sid = workspace_sid<EOL>self.channel_id = channel_id<EOL>self.policies = []<EOL>if kwargs.get('<STR_LIT>', True):<EOL><INDENT>self.allow_web_sockets()<EOL><DEDENT>if kwargs.get('<STR_LIT>', True):<EOL><INDENT>self.allow_fetch_self()<EOL><DEDENT>if kwargs.get('<STR_LIT>', False):<EOL><INDENT>self.allow_update_self()<EOL><DEDENT>if kwargs.get('<STR_LIT>', False):<EOL><INDENT>self.allow_delete_self()<EOL><DEDENT>if kwargs.get('<STR_LIT>', False):<EOL><INDENT>self.allow_fetch_subresources()<EOL><DEDENT>if kwargs.get('<STR_LIT>', False):<EOL><INDENT>self.allow_delete_subresources()<EOL><DEDENT>if kwargs.get('<STR_LIT>', False):<EOL><INDENT>self.allow_update_subresources()<EOL><DEDENT>
:param str account_sid: Twilio account sid
:param str auth_token: Twilio auth token used to sign the JWT
:param str workspace_sid: TaskRouter workspace sid
:param str channel_id: TaskRouter channel sid
:param kwargs:
    :param bool allow_web_sockets: shortcut to calling allow_web_sockets, defaults to True
    :param bool allow_fetch_self: shortcut to calling allow_fetch_self, defaults to True
    :param bool allow_update_self: shortcut to calling allow_update_self, defaults to False
    :param bool allow_delete_self: shortcut to calling allow_delete_self, defaults to False
    :param bool allow_fetch_subresources: shortcut to calling allow_fetch_subresources,
                                          defaults to False
    :param bool allow_update_subresources: shortcut to calling allow_update_subresources,
                                           defaults to False
    :param bool allow_delete_subresources: shortcut to calling allow_delete_subresources,
                                           defaults to False
:returns a new TaskRouterCapabilityToken with capabilities set depending on kwargs.