Skip to content

Commit 91f2e34

Browse files
committed
[Librarian] Regenerated @ 754b16a1a340bc0157862792bcf49dd91e5f1b50 38ffa57cae13de23a2b24b3316ec9e0f0613f66a
1 parent f17fe7b commit 91f2e34

File tree

4 files changed

+80
-0
lines changed

4 files changed

+80
-0
lines changed

CHANGES.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ twilio-python Changelog
33

44
Here you can see the full list of changes between each twilio-python release.
55

6+
[2026-01-07] Version 9.9.1
7+
--------------------------
8+
**Api**
9+
- Added optional parameter `clientNotificationUrl` for create call api
10+
- Added optional parameter `clientNotificationUrl` for create participant api
11+
12+
613
[2025-12-17] Version 9.9.0
714
--------------------------
815
**Library - Fix**

twilio/rest/api/v2010/account/call/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,7 @@ def create(
754754
call_token: Union[str, object] = values.unset,
755755
recording_track: Union[str, object] = values.unset,
756756
time_limit: Union[int, object] = values.unset,
757+
client_notification_url: Union[str, object] = values.unset,
757758
url: Union[str, object] = values.unset,
758759
twiml: Union[str, object] = values.unset,
759760
application_sid: Union[str, object] = values.unset,
@@ -793,6 +794,7 @@ def create(
793794
:param call_token: A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
794795
:param recording_track: The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio.
795796
:param time_limit: The maximum duration of the call in seconds. Constraints depend on account and configuration.
797+
:param client_notification_url: The URL that we should use to deliver `push call notification`.
796798
:param url: The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
797799
:param twiml: TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If both `twiml` and `url` are provided then `twiml` parameter will be ignored. Max 4000 characters.
798800
:param application_sid: The SID of the Application resource that will handle the call, if the call will be handled by an application.
@@ -838,6 +840,7 @@ def create(
838840
"CallToken": call_token,
839841
"RecordingTrack": recording_track,
840842
"TimeLimit": time_limit,
843+
"ClientNotificationUrl": client_notification_url,
841844
"Url": url,
842845
"Twiml": twiml,
843846
"ApplicationSid": application_sid,
@@ -891,6 +894,7 @@ async def create_async(
891894
call_token: Union[str, object] = values.unset,
892895
recording_track: Union[str, object] = values.unset,
893896
time_limit: Union[int, object] = values.unset,
897+
client_notification_url: Union[str, object] = values.unset,
894898
url: Union[str, object] = values.unset,
895899
twiml: Union[str, object] = values.unset,
896900
application_sid: Union[str, object] = values.unset,
@@ -930,6 +934,7 @@ async def create_async(
930934
:param call_token: A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
931935
:param recording_track: The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio.
932936
:param time_limit: The maximum duration of the call in seconds. Constraints depend on account and configuration.
937+
:param client_notification_url: The URL that we should use to deliver `push call notification`.
933938
:param url: The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
934939
:param twiml: TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If both `twiml` and `url` are provided then `twiml` parameter will be ignored. Max 4000 characters.
935940
:param application_sid: The SID of the Application resource that will handle the call, if the call will be handled by an application.
@@ -975,6 +980,7 @@ async def create_async(
975980
"CallToken": call_token,
976981
"RecordingTrack": recording_track,
977982
"TimeLimit": time_limit,
983+
"ClientNotificationUrl": client_notification_url,
978984
"Url": url,
979985
"Twiml": twiml,
980986
"ApplicationSid": application_sid,

twilio/rest/api/v2010/account/conference/participant.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,7 @@ def create(
595595
amd_status_callback_method: Union[str, object] = values.unset,
596596
trim: Union[str, object] = values.unset,
597597
call_token: Union[str, object] = values.unset,
598+
client_notification_url: Union[str, object] = values.unset,
598599
caller_display_name: Union[str, object] = values.unset,
599600
) -> ParticipantInstance:
600601
"""
@@ -648,6 +649,7 @@ def create(
648649
:param amd_status_callback_method: The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
649650
:param trim: Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
650651
:param call_token: A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
652+
:param client_notification_url: The URL that we should use to deliver `push call notification`.
651653
:param caller_display_name: The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
652654
653655
:returns: The created ParticipantInstance
@@ -715,6 +717,7 @@ def create(
715717
"AmdStatusCallbackMethod": amd_status_callback_method,
716718
"Trim": trim,
717719
"CallToken": call_token,
720+
"ClientNotificationUrl": client_notification_url,
718721
"CallerDisplayName": caller_display_name,
719722
}
720723
)
@@ -787,6 +790,7 @@ async def create_async(
787790
amd_status_callback_method: Union[str, object] = values.unset,
788791
trim: Union[str, object] = values.unset,
789792
call_token: Union[str, object] = values.unset,
793+
client_notification_url: Union[str, object] = values.unset,
790794
caller_display_name: Union[str, object] = values.unset,
791795
) -> ParticipantInstance:
792796
"""
@@ -840,6 +844,7 @@ async def create_async(
840844
:param amd_status_callback_method: The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
841845
:param trim: Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
842846
:param call_token: A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
847+
:param client_notification_url: The URL that we should use to deliver `push call notification`.
843848
:param caller_display_name: The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
844849
845850
:returns: The created ParticipantInstance
@@ -907,6 +912,7 @@ async def create_async(
907912
"AmdStatusCallbackMethod": amd_status_callback_method,
908913
"Trim": trim,
909914
"CallToken": call_token,
915+
"ClientNotificationUrl": client_notification_url,
910916
"CallerDisplayName": caller_display_name,
911917
}
912918
)

twilio/rest/messaging/v1/tollfree_verification.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class Status(object):
3939
TWILIO_APPROVED = "TWILIO_APPROVED"
4040
TWILIO_REJECTED = "TWILIO_REJECTED"
4141

42+
class VettingProvider(object):
43+
CAMPAIGN_VERIFY = "CAMPAIGN_VERIFY"
44+
4245
"""
4346
:ivar sid: The unique string to identify Tollfree Verification.
4447
:ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Tollfree Verification resource.
@@ -90,6 +93,9 @@ class Status(object):
9093
:ivar rejection_reasons: A list of rejection reasons and codes describing why a Tollfree Verification has been rejected.
9194
:ivar resource_links: The URLs of the documents associated with the Tollfree Verification resource.
9295
:ivar external_reference_id: An optional external reference ID supplied by customer and echoed back on status retrieval.
96+
:ivar vetting_id:
97+
:ivar vetting_provider:
98+
:ivar vetting_id_expiration:
9399
"""
94100

95101
def __init__(
@@ -193,6 +199,13 @@ def __init__(
193199
)
194200
self.resource_links: Optional[Dict[str, object]] = payload.get("resource_links")
195201
self.external_reference_id: Optional[str] = payload.get("external_reference_id")
202+
self.vetting_id: Optional[str] = payload.get("vetting_id")
203+
self.vetting_provider: Optional[
204+
"TollfreeVerificationInstance.VettingProvider"
205+
] = payload.get("vetting_provider")
206+
self.vetting_id_expiration: Optional[datetime] = deserialize.iso8601_datetime(
207+
payload.get("vetting_id_expiration")
208+
)
196209

197210
self._solution = {
198211
"sid": sid or self.sid,
@@ -287,6 +300,10 @@ def update(
287300
terms_and_conditions_url: Union[str, object] = values.unset,
288301
age_gated_content: Union[bool, object] = values.unset,
289302
opt_in_keywords: Union[List[str], object] = values.unset,
303+
vetting_provider: Union[
304+
"TollfreeVerificationInstance.VettingProvider", object
305+
] = values.unset,
306+
vetting_id: Union[str, object] = values.unset,
290307
) -> "TollfreeVerificationInstance":
291308
"""
292309
Update the TollfreeVerificationInstance
@@ -324,6 +341,8 @@ def update(
324341
:param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
325342
:param age_gated_content: Indicates if the content is age gated.
326343
:param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.
344+
:param vetting_provider:
345+
:param vetting_id: The unique ID of the vetting
327346
328347
:returns: The updated TollfreeVerificationInstance
329348
"""
@@ -361,6 +380,8 @@ def update(
361380
terms_and_conditions_url=terms_and_conditions_url,
362381
age_gated_content=age_gated_content,
363382
opt_in_keywords=opt_in_keywords,
383+
vetting_provider=vetting_provider,
384+
vetting_id=vetting_id,
364385
)
365386

366387
async def update_async(
@@ -400,6 +421,10 @@ async def update_async(
400421
terms_and_conditions_url: Union[str, object] = values.unset,
401422
age_gated_content: Union[bool, object] = values.unset,
402423
opt_in_keywords: Union[List[str], object] = values.unset,
424+
vetting_provider: Union[
425+
"TollfreeVerificationInstance.VettingProvider", object
426+
] = values.unset,
427+
vetting_id: Union[str, object] = values.unset,
403428
) -> "TollfreeVerificationInstance":
404429
"""
405430
Asynchronous coroutine to update the TollfreeVerificationInstance
@@ -437,6 +462,8 @@ async def update_async(
437462
:param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
438463
:param age_gated_content: Indicates if the content is age gated.
439464
:param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.
465+
:param vetting_provider:
466+
:param vetting_id: The unique ID of the vetting
440467
441468
:returns: The updated TollfreeVerificationInstance
442469
"""
@@ -474,6 +501,8 @@ async def update_async(
474501
terms_and_conditions_url=terms_and_conditions_url,
475502
age_gated_content=age_gated_content,
476503
opt_in_keywords=opt_in_keywords,
504+
vetting_provider=vetting_provider,
505+
vetting_id=vetting_id,
477506
)
478507

479508
def __repr__(self) -> str:
@@ -608,6 +637,10 @@ def update(
608637
terms_and_conditions_url: Union[str, object] = values.unset,
609638
age_gated_content: Union[bool, object] = values.unset,
610639
opt_in_keywords: Union[List[str], object] = values.unset,
640+
vetting_provider: Union[
641+
"TollfreeVerificationInstance.VettingProvider", object
642+
] = values.unset,
643+
vetting_id: Union[str, object] = values.unset,
611644
) -> TollfreeVerificationInstance:
612645
"""
613646
Update the TollfreeVerificationInstance
@@ -645,6 +678,8 @@ def update(
645678
:param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
646679
:param age_gated_content: Indicates if the content is age gated.
647680
:param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.
681+
:param vetting_provider:
682+
:param vetting_id: The unique ID of the vetting
648683
649684
:returns: The updated TollfreeVerificationInstance
650685
"""
@@ -684,6 +719,8 @@ def update(
684719
"TermsAndConditionsUrl": terms_and_conditions_url,
685720
"AgeGatedContent": serialize.boolean_to_string(age_gated_content),
686721
"OptInKeywords": serialize.map(opt_in_keywords, lambda e: e),
722+
"VettingProvider": vetting_provider,
723+
"VettingId": vetting_id,
687724
}
688725
)
689726
headers = values.of({})
@@ -737,6 +774,10 @@ async def update_async(
737774
terms_and_conditions_url: Union[str, object] = values.unset,
738775
age_gated_content: Union[bool, object] = values.unset,
739776
opt_in_keywords: Union[List[str], object] = values.unset,
777+
vetting_provider: Union[
778+
"TollfreeVerificationInstance.VettingProvider", object
779+
] = values.unset,
780+
vetting_id: Union[str, object] = values.unset,
740781
) -> TollfreeVerificationInstance:
741782
"""
742783
Asynchronous coroutine to update the TollfreeVerificationInstance
@@ -774,6 +815,8 @@ async def update_async(
774815
:param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
775816
:param age_gated_content: Indicates if the content is age gated.
776817
:param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.
818+
:param vetting_provider:
819+
:param vetting_id: The unique ID of the vetting
777820
778821
:returns: The updated TollfreeVerificationInstance
779822
"""
@@ -813,6 +856,8 @@ async def update_async(
813856
"TermsAndConditionsUrl": terms_and_conditions_url,
814857
"AgeGatedContent": serialize.boolean_to_string(age_gated_content),
815858
"OptInKeywords": serialize.map(opt_in_keywords, lambda e: e),
859+
"VettingProvider": vetting_provider,
860+
"VettingId": vetting_id,
816861
}
817862
)
818863
headers = values.of({})
@@ -908,6 +953,10 @@ def create(
908953
terms_and_conditions_url: Union[str, object] = values.unset,
909954
age_gated_content: Union[bool, object] = values.unset,
910955
opt_in_keywords: Union[List[str], object] = values.unset,
956+
vetting_provider: Union[
957+
"TollfreeVerificationInstance.VettingProvider", object
958+
] = values.unset,
959+
vetting_id: Union[str, object] = values.unset,
911960
) -> TollfreeVerificationInstance:
912961
"""
913962
Create the TollfreeVerificationInstance
@@ -947,6 +996,8 @@ def create(
947996
:param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
948997
:param age_gated_content: Indicates if the content is age gated.
949998
:param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.
999+
:param vetting_provider:
1000+
:param vetting_id: The unique ID of the vetting
9501001
9511002
:returns: The created TollfreeVerificationInstance
9521003
"""
@@ -988,6 +1039,8 @@ def create(
9881039
"TermsAndConditionsUrl": terms_and_conditions_url,
9891040
"AgeGatedContent": serialize.boolean_to_string(age_gated_content),
9901041
"OptInKeywords": serialize.map(opt_in_keywords, lambda e: e),
1042+
"VettingProvider": vetting_provider,
1043+
"VettingId": vetting_id,
9911044
}
9921045
)
9931046
headers = values.of({"Content-Type": "application/x-www-form-urlencoded"})
@@ -1039,6 +1092,10 @@ async def create_async(
10391092
terms_and_conditions_url: Union[str, object] = values.unset,
10401093
age_gated_content: Union[bool, object] = values.unset,
10411094
opt_in_keywords: Union[List[str], object] = values.unset,
1095+
vetting_provider: Union[
1096+
"TollfreeVerificationInstance.VettingProvider", object
1097+
] = values.unset,
1098+
vetting_id: Union[str, object] = values.unset,
10421099
) -> TollfreeVerificationInstance:
10431100
"""
10441101
Asynchronously create the TollfreeVerificationInstance
@@ -1078,6 +1135,8 @@ async def create_async(
10781135
:param terms_and_conditions_url: The URL to the terms and conditions for the business or organization.
10791136
:param age_gated_content: Indicates if the content is age gated.
10801137
:param opt_in_keywords: List of keywords that users can text in to opt in to receive messages.
1138+
:param vetting_provider:
1139+
:param vetting_id: The unique ID of the vetting
10811140
10821141
:returns: The created TollfreeVerificationInstance
10831142
"""
@@ -1119,6 +1178,8 @@ async def create_async(
11191178
"TermsAndConditionsUrl": terms_and_conditions_url,
11201179
"AgeGatedContent": serialize.boolean_to_string(age_gated_content),
11211180
"OptInKeywords": serialize.map(opt_in_keywords, lambda e: e),
1181+
"VettingProvider": vetting_provider,
1182+
"VettingId": vetting_id,
11221183
}
11231184
)
11241185
headers = values.of({"Content-Type": "application/x-www-form-urlencoded"})

0 commit comments

Comments
 (0)