code: def create(cls, schedule_id, schedule_instance_id, attachment_id,
                 monetary_account_id=None, description=None, custom_headers=None):
          
  
          if custom_headers is None:
              custom_headers = {}
  
          request_map = {
              cls.FIELD_DESCRIPTION: description,
              cls.FIELD_ATTACHMENT_ID: attachment_id
          }
          request_map_string = converter.class_to_json(request_map)
          request_map_string = cls._remove_field_for_request(request_map_string)
  
          api_client = client.ApiClient(cls._get_api_context())
          request_bytes = request_map_string.encode()
          endpoint_url = cls._ENDPOINT_URL_CREATE.format(cls._determine_user_id(),
                                                         cls._determine_monetary_account_id(
                                                             monetary_account_id),
                                                         schedule_id,
                                                         schedule_instance_id)
          response_raw = api_client.post(endpoint_url, request_bytes,
                                         custom_headers)
  
          return BunqResponseInt.cast_from_bunq_response(
              cls._process_for_id(response_raw)
          )
docs: :type user_id: int
          :type monetary_account_id: int
          :type schedule_id: int
          :type schedule_instance_id: int
          :param attachment_id: The reference to the uploaded file to attach to
          this note.
          :type attachment_id: int
          :param description: Optional description of the attachment.
          :type description: str
          :type custom_headers: dict[str, str]|None
  
          :rtype: BunqResponseInt