Update FreeItemCoupon

        Update attributes of FreeItemCoupon
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_free_item_coupon_by_id(free_item_coupon_id, free_item_coupon, async=True)
        >>> result = thread.get()

        :param async bool
        :param str free_item_coupon_id: ID of freeItemCoupon to update. (required)
        :param FreeItemCoupon free_item_coupon: Attributes of freeItemCoupon to update. (required)
        :return: FreeItemCoupon
                 If the method is called asynchronously,
                 returns the request thread.

def update_free_item_coupon_by_id(cls, free_item_coupon_id, free_item_coupon, **kwargs):
        """Update FreeItemCoupon

        Update attributes of FreeItemCoupon
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async=True
        >>> thread = api.update_free_item_coupon_by_id(free_item_coupon_id, free_item_coupon, async=True)
        >>> result = thread.get()

        :param async bool
        :param str free_item_coupon_id: ID of freeItemCoupon to update. (required)
        :param FreeItemCoupon free_item_coupon: Attributes of freeItemCoupon to update. (required)
        :return: FreeItemCoupon
                 If the method is called asynchronously,
                 returns the request thread.
        """
        kwargs['_return_http_data_only'] = True
        if kwargs.get('async'):
            return cls._update_free_item_coupon_by_id_with_http_info(free_item_coupon_id, free_item_coupon, **kwargs)
        else:
            (data) = cls._update_free_item_coupon_by_id_with_http_info(free_item_coupon_id, free_item_coupon, **kwargs)
            return data