docs: def api_representation(self, content_type):
          """ Returns the JSON representation of this message required for making requests to the API.
  
          Args:
              content_type (str): Either 'HTML' or 'Text'
          """
          payload = dict(Subject=self.subject, Body=dict(ContentType=content_type, Content=self.body))
  
          if self.sender is not None:
              payload.update(From=self.sender.api_representation())
  
          # A list of strings can also be provided for convenience. If provided, convert them into Contacts
          if any(isinstance(item, str) for item in self.to):
              self.to = [Contact(email=email) for email in self.to]
  
          # Turn each contact into the JSON needed for the Outlook API
  
          recipients = [contact.api_representation() for contact in self.to]
  
          payload.update(ToRecipients=recipients)
  
          # Conduct the same process for CC and BCC if needed
          if self.cc:
              if any(isinstance(email, str) for email in self.cc):
                  self.cc = [Contact(email) for email in self.cc]
  
              cc_recipients = [contact.api_representation() for contact in self.cc]
              payload.update(CcRecipients=cc_recipients)
  
          if self.bcc:
              if any(isinstance(email, str) for email in self.bcc):
                  self.bcc = [Contact(email) for email in self.bcc]
  
              bcc_recipients = [contact.api_representation() for contact in self.bcc]
              payload.update(BccRecipients=bcc_recipients)
  
          if self._attachments:
              payload.update(Attachments=[attachment.api_representation() for attachment in self._attachments])
  
          payload.update(Importance=str(self.importance))
  
          return dict(Message=payload)