def update(self, campaign_id, data):
self.campaign_id = campaign_id<EOL>if '<STR_LIT>' not in data:<EOL><INDENT>raise KeyError('<STR_LIT>')<EOL><DEDENT>if '<STR_LIT>' not in data['<STR_LIT>']:<EOL><INDENT>raise KeyError('<STR_LIT>')<EOL><DEDENT>if '<STR_LIT>' not in data['<STR_LIT>']:<EOL><INDENT>raise KeyError('<STR_LIT>')<EOL><DEDENT>if '<STR_LIT>' not in data['<STR_LIT>']:<EOL><INDENT>raise KeyError('<STR_LIT>')<EOL><DEDENT>check_email(data['<STR_LIT>']['<STR_LIT>'])<EOL>return self._mc_client._patch(url=self._build_path(campaign_id), data=data)<EOL>
Update some or all of the settings for a specific campaign.

:param campaign_id: The unique id for the campaign.
:type campaign_id: :py:class:`str`
:param data: The request body parameters
:type data: :py:class:`dict`
data = {
    "settings": object*
    {
        "subject_line": string*,
        "from_name": string*,
        "reply_to": string*
    },
}