diff --git a/CHANGES.md b/CHANGES.md index bd3ae33df5..7ca1ea5dfd 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,15 @@ twilio-python Changelog Here you can see the full list of changes between each twilio-python release. +[2025-08-28] Version 9.7.2 +-------------------------- +**Studio** +- Add `type` to Step resource APIs + +**Verify** +- Allow to update all passkeys parameters in the service update + + [2025-08-18] Version 9.7.1 -------------------------- **Accounts** diff --git a/setup.py b/setup.py index 5fd6b7b011..e1c321d3f0 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ setup( name="twilio", - version="9.7.1", + version="9.7.2", description="Twilio API client and TwiML generator", author="Twilio", help_center="https://www.twilio.com/help/contact", diff --git a/twilio/__init__.py b/twilio/__init__.py index b1455c4177..e02405ec28 100644 --- a/twilio/__init__.py +++ b/twilio/__init__.py @@ -1,2 +1,2 @@ -__version_info__ = ("9", "7", "1") +__version_info__ = ("9", "7", "2") __version__ = ".".join(__version_info__) diff --git a/twilio/rest/studio/v1/flow/engagement/step/__init__.py b/twilio/rest/studio/v1/flow/engagement/step/__init__.py index a5017c3313..a1b600802e 100644 --- a/twilio/rest/studio/v1/flow/engagement/step/__init__.py +++ b/twilio/rest/studio/v1/flow/engagement/step/__init__.py @@ -34,6 +34,7 @@ class StepInstance(InstanceResource): :ivar parent_step_sid: The SID of the parent Step. :ivar transitioned_from: The Widget that preceded the Widget for the Step. :ivar transitioned_to: The Widget that will follow the Widget for the Step. + :ivar type: The type of the widget that was executed. :ivar date_created: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. :ivar date_updated: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. :ivar url: The absolute URL of the resource. @@ -59,6 +60,7 @@ def __init__( self.parent_step_sid: Optional[str] = payload.get("parent_step_sid") self.transitioned_from: Optional[str] = payload.get("transitioned_from") self.transitioned_to: Optional[str] = payload.get("transitioned_to") + self.type: Optional[str] = payload.get("type") self.date_created: Optional[datetime] = deserialize.iso8601_datetime( payload.get("date_created") ) diff --git a/twilio/rest/studio/v1/flow/execution/execution_step/__init__.py b/twilio/rest/studio/v1/flow/execution/execution_step/__init__.py index 50a1e2371d..22f16f0f27 100644 --- a/twilio/rest/studio/v1/flow/execution/execution_step/__init__.py +++ b/twilio/rest/studio/v1/flow/execution/execution_step/__init__.py @@ -36,6 +36,7 @@ class ExecutionStepInstance(InstanceResource): :ivar context: The current state of the Flow's Execution. As a flow executes, we save its state in this context. We save data that your widgets can access as variables in configuration fields or in text areas as variable substitution. :ivar transitioned_from: The Widget that preceded the Widget for the Step. :ivar transitioned_to: The Widget that will follow the Widget for the Step. + :ivar type: The type of the widget that was executed. :ivar date_created: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. :ivar date_updated: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. :ivar url: The absolute URL of the resource. @@ -61,6 +62,7 @@ def __init__( self.context: Optional[Dict[str, object]] = payload.get("context") self.transitioned_from: Optional[str] = payload.get("transitioned_from") self.transitioned_to: Optional[str] = payload.get("transitioned_to") + self.type: Optional[str] = payload.get("type") self.date_created: Optional[datetime] = deserialize.iso8601_datetime( payload.get("date_created") ) diff --git a/twilio/rest/studio/v2/flow/execution/execution_step/__init__.py b/twilio/rest/studio/v2/flow/execution/execution_step/__init__.py index 9ffb2502e6..6b5b5b3dfa 100644 --- a/twilio/rest/studio/v2/flow/execution/execution_step/__init__.py +++ b/twilio/rest/studio/v2/flow/execution/execution_step/__init__.py @@ -36,6 +36,7 @@ class ExecutionStepInstance(InstanceResource): :ivar context: The current state of the Flow's Execution. As a flow executes, we save its state in this context. We save data that your widgets can access as variables in configuration fields or in text areas as variable substitution. :ivar transitioned_from: The Widget that preceded the Widget for the Step. :ivar transitioned_to: The Widget that will follow the Widget for the Step. + :ivar type: The type of the widget that was executed. :ivar date_created: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. :ivar date_updated: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. :ivar url: The absolute URL of the resource. @@ -61,6 +62,7 @@ def __init__( self.context: Optional[Dict[str, object]] = payload.get("context") self.transitioned_from: Optional[str] = payload.get("transitioned_from") self.transitioned_to: Optional[str] = payload.get("transitioned_to") + self.type: Optional[str] = payload.get("type") self.date_created: Optional[datetime] = deserialize.iso8601_datetime( payload.get("date_created") ) diff --git a/twilio/rest/verify/v2/service/__init__.py b/twilio/rest/verify/v2/service/__init__.py index 77638b6db9..e76dd4883f 100644 --- a/twilio/rest/verify/v2/service/__init__.py +++ b/twilio/rest/verify/v2/service/__init__.py @@ -175,6 +175,9 @@ def update( passkeys_relying_party_id: Union[str, object] = values.unset, passkeys_relying_party_name: Union[str, object] = values.unset, passkeys_relying_party_origins: Union[str, object] = values.unset, + passkeys_authenticator_attachment: Union[str, object] = values.unset, + passkeys_discoverable_credentials: Union[str, object] = values.unset, + passkeys_user_verification: Union[str, object] = values.unset, verify_event_subscription_enabled: Union[bool, object] = values.unset, ) -> "ServiceInstance": """ @@ -202,6 +205,9 @@ def update( :param passkeys_relying_party_id: The Relying Party ID for Passkeys. This is the domain of your application, e.g. `example.com`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_name: The Relying Party Name for Passkeys. This is the name of your application, e.g. `Example App`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_origins: The Relying Party Origins for Passkeys. This is the origin of your application, e.g. `login.example.com,www.example.com`. It is used to identify your application when creating Passkeys, it can have multiple origins split by `,`. + :param passkeys_authenticator_attachment: The Authenticator Attachment for Passkeys. This is the type of authenticator that will be used to create Passkeys. It can be empty or it can have the values `platform`, `cross-platform` or `any`. + :param passkeys_discoverable_credentials: Indicates whether credentials must be discoverable by the authenticator. It can be empty or it can have the values `required`, `preferred` or `discouraged`. + :param passkeys_user_verification: The User Verification for Passkeys. This is the type of user verification that will be used to create Passkeys. It can be empty or it can have the values `required`, `preferred` or `discouraged`. :param verify_event_subscription_enabled: Whether to allow verifications from the service to reach the stream-events sinks if configured :returns: The updated ServiceInstance @@ -229,6 +235,9 @@ def update( passkeys_relying_party_id=passkeys_relying_party_id, passkeys_relying_party_name=passkeys_relying_party_name, passkeys_relying_party_origins=passkeys_relying_party_origins, + passkeys_authenticator_attachment=passkeys_authenticator_attachment, + passkeys_discoverable_credentials=passkeys_discoverable_credentials, + passkeys_user_verification=passkeys_user_verification, verify_event_subscription_enabled=verify_event_subscription_enabled, ) @@ -256,6 +265,9 @@ async def update_async( passkeys_relying_party_id: Union[str, object] = values.unset, passkeys_relying_party_name: Union[str, object] = values.unset, passkeys_relying_party_origins: Union[str, object] = values.unset, + passkeys_authenticator_attachment: Union[str, object] = values.unset, + passkeys_discoverable_credentials: Union[str, object] = values.unset, + passkeys_user_verification: Union[str, object] = values.unset, verify_event_subscription_enabled: Union[bool, object] = values.unset, ) -> "ServiceInstance": """ @@ -283,6 +295,9 @@ async def update_async( :param passkeys_relying_party_id: The Relying Party ID for Passkeys. This is the domain of your application, e.g. `example.com`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_name: The Relying Party Name for Passkeys. This is the name of your application, e.g. `Example App`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_origins: The Relying Party Origins for Passkeys. This is the origin of your application, e.g. `login.example.com,www.example.com`. It is used to identify your application when creating Passkeys, it can have multiple origins split by `,`. + :param passkeys_authenticator_attachment: The Authenticator Attachment for Passkeys. This is the type of authenticator that will be used to create Passkeys. It can be empty or it can have the values `platform`, `cross-platform` or `any`. + :param passkeys_discoverable_credentials: Indicates whether credentials must be discoverable by the authenticator. It can be empty or it can have the values `required`, `preferred` or `discouraged`. + :param passkeys_user_verification: The User Verification for Passkeys. This is the type of user verification that will be used to create Passkeys. It can be empty or it can have the values `required`, `preferred` or `discouraged`. :param verify_event_subscription_enabled: Whether to allow verifications from the service to reach the stream-events sinks if configured :returns: The updated ServiceInstance @@ -310,6 +325,9 @@ async def update_async( passkeys_relying_party_id=passkeys_relying_party_id, passkeys_relying_party_name=passkeys_relying_party_name, passkeys_relying_party_origins=passkeys_relying_party_origins, + passkeys_authenticator_attachment=passkeys_authenticator_attachment, + passkeys_discoverable_credentials=passkeys_discoverable_credentials, + passkeys_user_verification=passkeys_user_verification, verify_event_subscription_enabled=verify_event_subscription_enabled, ) @@ -489,6 +507,9 @@ def update( passkeys_relying_party_id: Union[str, object] = values.unset, passkeys_relying_party_name: Union[str, object] = values.unset, passkeys_relying_party_origins: Union[str, object] = values.unset, + passkeys_authenticator_attachment: Union[str, object] = values.unset, + passkeys_discoverable_credentials: Union[str, object] = values.unset, + passkeys_user_verification: Union[str, object] = values.unset, verify_event_subscription_enabled: Union[bool, object] = values.unset, ) -> ServiceInstance: """ @@ -516,6 +537,9 @@ def update( :param passkeys_relying_party_id: The Relying Party ID for Passkeys. This is the domain of your application, e.g. `example.com`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_name: The Relying Party Name for Passkeys. This is the name of your application, e.g. `Example App`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_origins: The Relying Party Origins for Passkeys. This is the origin of your application, e.g. `login.example.com,www.example.com`. It is used to identify your application when creating Passkeys, it can have multiple origins split by `,`. + :param passkeys_authenticator_attachment: The Authenticator Attachment for Passkeys. This is the type of authenticator that will be used to create Passkeys. It can be empty or it can have the values `platform`, `cross-platform` or `any`. + :param passkeys_discoverable_credentials: Indicates whether credentials must be discoverable by the authenticator. It can be empty or it can have the values `required`, `preferred` or `discouraged`. + :param passkeys_user_verification: The User Verification for Passkeys. This is the type of user verification that will be used to create Passkeys. It can be empty or it can have the values `required`, `preferred` or `discouraged`. :param verify_event_subscription_enabled: Whether to allow verifications from the service to reach the stream-events sinks if configured :returns: The updated ServiceInstance @@ -549,6 +573,9 @@ def update( "Passkeys.RelyingParty.Id": passkeys_relying_party_id, "Passkeys.RelyingParty.Name": passkeys_relying_party_name, "Passkeys.RelyingParty.Origins": passkeys_relying_party_origins, + "Passkeys.AuthenticatorAttachment": passkeys_authenticator_attachment, + "Passkeys.DiscoverableCredentials": passkeys_discoverable_credentials, + "Passkeys.UserVerification": passkeys_user_verification, "VerifyEventSubscriptionEnabled": serialize.boolean_to_string( verify_event_subscription_enabled ), @@ -590,6 +617,9 @@ async def update_async( passkeys_relying_party_id: Union[str, object] = values.unset, passkeys_relying_party_name: Union[str, object] = values.unset, passkeys_relying_party_origins: Union[str, object] = values.unset, + passkeys_authenticator_attachment: Union[str, object] = values.unset, + passkeys_discoverable_credentials: Union[str, object] = values.unset, + passkeys_user_verification: Union[str, object] = values.unset, verify_event_subscription_enabled: Union[bool, object] = values.unset, ) -> ServiceInstance: """ @@ -617,6 +647,9 @@ async def update_async( :param passkeys_relying_party_id: The Relying Party ID for Passkeys. This is the domain of your application, e.g. `example.com`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_name: The Relying Party Name for Passkeys. This is the name of your application, e.g. `Example App`. It is used to identify your application when creating Passkeys. :param passkeys_relying_party_origins: The Relying Party Origins for Passkeys. This is the origin of your application, e.g. `login.example.com,www.example.com`. It is used to identify your application when creating Passkeys, it can have multiple origins split by `,`. + :param passkeys_authenticator_attachment: The Authenticator Attachment for Passkeys. This is the type of authenticator that will be used to create Passkeys. It can be empty or it can have the values `platform`, `cross-platform` or `any`. + :param passkeys_discoverable_credentials: Indicates whether credentials must be discoverable by the authenticator. It can be empty or it can have the values `required`, `preferred` or `discouraged`. + :param passkeys_user_verification: The User Verification for Passkeys. This is the type of user verification that will be used to create Passkeys. It can be empty or it can have the values `required`, `preferred` or `discouraged`. :param verify_event_subscription_enabled: Whether to allow verifications from the service to reach the stream-events sinks if configured :returns: The updated ServiceInstance @@ -650,6 +683,9 @@ async def update_async( "Passkeys.RelyingParty.Id": passkeys_relying_party_id, "Passkeys.RelyingParty.Name": passkeys_relying_party_name, "Passkeys.RelyingParty.Origins": passkeys_relying_party_origins, + "Passkeys.AuthenticatorAttachment": passkeys_authenticator_attachment, + "Passkeys.DiscoverableCredentials": passkeys_discoverable_credentials, + "Passkeys.UserVerification": passkeys_user_verification, "VerifyEventSubscriptionEnabled": serialize.boolean_to_string( verify_event_subscription_enabled ),