docs: def add_message(self, id, body, attachment_ids=None, included_messages=None, media_comment_id=None, media_comment_type=None, recipients=None, user_note=None):
          """
          Add a message.
  
          Add a message to an existing conversation. Response is similar to the
          GET/show action, except that only includes the
          latest message (i.e. what we just sent)
          
          An array of user ids. Defaults to all of the current conversation
          recipients. To explicitly send a message to no other recipients,
          this array should consist of the logged-in user id.
          
          An array of message ids from this conversation to send to recipients
          of the new message. Recipients who already had a copy of included
          messages will not be affected.
          """
          path = {}
          data = {}
          params = {}
  
          # REQUIRED - PATH - id
          """ID"""
          path["id"] = id
  
          # REQUIRED - body
          """The message to be sent."""
          data["body"] = body
  
          # OPTIONAL - attachment_ids
          """An array of attachments ids. These must be files that have been previously
          uploaded to the sender's "conversation attachments" folder."""
          if attachment_ids is not None:
              data["attachment_ids"] = attachment_ids
  
          # OPTIONAL - media_comment_id
          """Media comment id of an audio of video file to be associated with this
          message."""
          if media_comment_id is not None:
              data["media_comment_id"] = media_comment_id
  
          # OPTIONAL - media_comment_type
          """Type of the associated media file."""
          if media_comment_type is not None:
              self._validate_enum(media_comment_type, ["audio", "video"])
              data["media_comment_type"] = media_comment_type
  
          # OPTIONAL - recipients
          """no description"""
          if recipients is not None:
              data["recipients"] = recipients
  
          # OPTIONAL - included_messages
          """no description"""
          if included_messages is not None:
              data["included_messages"] = included_messages
  
          # OPTIONAL - user_note
          """Will add a faculty journal entry for each recipient as long as the user
          making the api call has permission, the recipient is a student and
          faculty journals are enabled in the account."""
          if user_note is not None:
              data["user_note"] = user_note
  
          self.logger.debug("POST /api/v1/conversations/{id}/add_message with query params: {params} and form data: {data}".format(params=params, data=data, **path))
          return self.generic_request("POST", "/api/v1/conversations/{id}/add_message".format(**path), data=data, params=params, no_data=True)