diff --git a/linebot/api.py b/linebot/api.py
index bb6075b..85bee50 100644
--- a/linebot/api.py
+++ b/linebot/api.py
@@ -228,7 +228,8 @@ class LineBotApi(object):
 
     def narrowcast(
             self, messages,
-            retry_key=None, recipient=None, filter=None, limit=None, timeout=None):
+            retry_key=None, recipient=None, filter=None, limit=None,
+            notification_disabled=False, timeout=None):
         """Call narrowcast API.
 
         https://developers.line.biz/en/reference/messaging-api/#send-narrowcast-message
@@ -247,6 +248,8 @@ class LineBotApi(object):
         :type filter: T <= :py:class:`linebot.models.filter.DemographicFilter`
         :param limit: limit on this narrowcast
         :type limit: T <= :py:class:`linebot.models.limit.Limit`
+        :param bool notification_disabled: (optional) True to disable push notification
+            when the message is sent. The default value is False.
         :param timeout: (optional) How long to wait for the server
             to send data before giving up, as a float,
             or a (connect timeout, read timeout) float tuple.
@@ -265,6 +268,7 @@ class LineBotApi(object):
             'recipient': recipient.as_json_dict(),
             'filter': filter.as_json_dict(),
             'limit': limit.as_json_dict(),
+            'notificationDisabled': notification_disabled,
         }
 
         response = self._post(
diff --git a/linebot/models/limit.py b/linebot/models/limit.py
index 7f96767..8cae392 100644
--- a/linebot/models/limit.py
+++ b/linebot/models/limit.py
@@ -30,7 +30,7 @@ class Limit(with_metaclass(ABCMeta, Base)):
 
     """
 
-    def __init__(self, max=None, **kwargs):
+    def __init__(self, max=None, up_to_remaining_quota=False, **kwargs):
         """__init__ method.
 
         :param kwargs:
@@ -38,3 +38,4 @@ class Limit(with_metaclass(ABCMeta, Base)):
         super(Limit, self).__init__(**kwargs)
 
         self.max = max
+        self.up_to_remaining_quota = up_to_remaining_quota

Messaging API - September 2020 update
News: https://developers.line.biz/en/news/2020/09/01/messaging-api-update-september-2020/

- [ ] [limit.upToRemainingQuota property has been added to narrowcast messages.](https://developers.line.biz/en/reference/messaging-api/#send-narrowcast-message)
diff --git a/tests/api/test_narrowcast_message.py b/tests/api/test_narrowcast_message.py
index 24ff784..3e48c12 100644
--- a/tests/api/test_narrowcast_message.py
+++ b/tests/api/test_narrowcast_message.py
@@ -85,8 +85,10 @@ class TestNarrowcastMessage(unittest.TestCase):
                     }
                 },
                 "limit": {
-                    "max": 10
-                }
+                    "max": 10,
+                    "upToRemainingQuota": False,
+                },
+                "notificationDisabled": False,
             }
         )
 
@@ -120,7 +122,7 @@ class TestNarrowcastMessage(unittest.TestCase):
                     )
                 )
             ),
-            limit=Limit(max=100),
+            limit=Limit(max=100, up_to_remaining_quota=True),
         )
 
         request = responses.calls[0].request
@@ -211,8 +213,10 @@ class TestNarrowcastMessage(unittest.TestCase):
                     }
                 },
                 "limit": {
-                    "max": 100
-                }
+                    "max": 100,
+                    "upToRemainingQuota": True,
+                },
+                "notificationDisabled": False,
             }
         )
         self.assertEqual('request_id_test', response.request_id)
@@ -242,7 +246,7 @@ class TestNarrowcastMessage(unittest.TestCase):
                     )
                 )
             ),
-            limit=Limit(max=100),
+            limit=Limit(max=100, up_to_remaining_quota=True),
             retry_key='123e4567-e89b-12d3-a456-426614174000',
         )
 
@@ -295,8 +299,10 @@ class TestNarrowcastMessage(unittest.TestCase):
                     }
                 },
                 "limit": {
-                    "max": 100
-                }
+                    "max": 100,
+                    "upToRemainingQuota": True,
+                },
+                "notificationDisabled": False,
             }
         )
         self.assertEqual('request_id_test', response.request_id)

pip install -e .[dev]
parse_log_pytest
requirements.txt
responses pytest
apt-get update apt-get install -y gcc
3.9
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
certifi==2025.1.31
charset-normalizer==3.4.1
exceptiongroup==1.2.2
future==1.0.0
idna==3.10
iniconfig==2.1.0
-e git+https://github.com/line/line-bot-sdk-python.git@1d0653e32f6c1bf4334751fc23d98419dbdaf709#egg=line_bot_sdk
packaging==24.2
pluggy==1.5.0
pytest==8.3.5
PyYAML==6.0.2
requests==2.32.3
responses==0.25.7
tomli==2.2.1
urllib3==2.3.0

name: line-bot-sdk-python
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - certifi==2025.1.31
      - charset-normalizer==3.4.1
      - exceptiongroup==1.2.2
      - future==1.0.0
      - idna==3.10
      - iniconfig==2.1.0
      - packaging==24.2
      - pluggy==1.5.0
      - pytest==8.3.5
      - pyyaml==6.0.2
      - requests==2.32.3
      - responses==0.25.7
      - tomli==2.2.1
      - urllib3==2.3.0
prefix: /opt/conda/envs/line-bot-sdk-python

tests/api/test_narrowcast_message.py::TestNarrowcastMessage::test_narrowcast_simple_text_message tests/api/test_narrowcast_message.py::TestNarrowcastMessage::test_narrowcast_text_message tests/api/test_narrowcast_message.py::TestNarrowcastMessage::test_narrowcast_text_message_with_retry_key
tests/api/test_narrowcast_message.py::TestNarrowcastMessage::test_get_progress_status_narrowcast
linebot/models/limit.py linebot/api.py
linebot/models/limit.py linebot/api.py