From 2a6869a83bc3acc00986b4d4731a97562ae1a358 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 17:48:08 +0000 Subject: [PATCH 1/8] Update generated code for v2177 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- .../delegated_checkout/_requested_session_confirm_params.py | 2 +- .../delegated_checkout/_requested_session_create_params.py | 4 ++-- .../delegated_checkout/_requested_session_modify_params.py | 4 ++-- .../delegated_checkout/_requested_session_update_params.py | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 5c168e856..cb365d929 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -68065dff88008f079e79eb1ef0add5e261b416e1 \ No newline at end of file +d8e3aa81d57559b89dde9deefbf83208a07e06bd \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 70faab1cf..57e9d41f5 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2176 \ No newline at end of file +v2177 \ No newline at end of file diff --git a/stripe/params/delegated_checkout/_requested_session_confirm_params.py b/stripe/params/delegated_checkout/_requested_session_confirm_params.py index 99d04011b..e9ef3a75e 100644 --- a/stripe/params/delegated_checkout/_requested_session_confirm_params.py +++ b/stripe/params/delegated_checkout/_requested_session_confirm_params.py @@ -75,7 +75,7 @@ class RequestedSessionConfirmParamsPaymentMethodDataBillingDetailsAddress( """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ diff --git a/stripe/params/delegated_checkout/_requested_session_create_params.py b/stripe/params/delegated_checkout/_requested_session_create_params.py index d738046d4..2321e80e7 100644 --- a/stripe/params/delegated_checkout/_requested_session_create_params.py +++ b/stripe/params/delegated_checkout/_requested_session_create_params.py @@ -86,7 +86,7 @@ class RequestedSessionCreateParamsFulfillmentDetailsAddress(TypedDict): """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ @@ -164,7 +164,7 @@ class RequestedSessionCreateParamsPaymentMethodDataBillingDetailsAddress( """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ diff --git a/stripe/params/delegated_checkout/_requested_session_modify_params.py b/stripe/params/delegated_checkout/_requested_session_modify_params.py index d1f5319c3..c36cf6a00 100644 --- a/stripe/params/delegated_checkout/_requested_session_modify_params.py +++ b/stripe/params/delegated_checkout/_requested_session_modify_params.py @@ -78,7 +78,7 @@ class RequestedSessionModifyParamsFulfillmentDetailsAddress(TypedDict): """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ @@ -178,7 +178,7 @@ class RequestedSessionModifyParamsPaymentMethodDataBillingDetailsAddress( """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ diff --git a/stripe/params/delegated_checkout/_requested_session_update_params.py b/stripe/params/delegated_checkout/_requested_session_update_params.py index e80124a3d..c28502d47 100644 --- a/stripe/params/delegated_checkout/_requested_session_update_params.py +++ b/stripe/params/delegated_checkout/_requested_session_update_params.py @@ -77,7 +77,7 @@ class RequestedSessionUpdateParamsFulfillmentDetailsAddress(TypedDict): """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ @@ -177,7 +177,7 @@ class RequestedSessionUpdateParamsPaymentMethodDataBillingDetailsAddress( """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ - line1: str + line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ From d27fa0b96c8bcaf657535e9d05cbfa7b00bb86eb Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Wed, 18 Feb 2026 23:12:24 +0000 Subject: [PATCH 2/8] Update generated code for v2178 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/billing/_alert_triggered.py | 41 ++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index cb365d929..742b573d9 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -d8e3aa81d57559b89dde9deefbf83208a07e06bd \ No newline at end of file +5bd84413a3560c9934209496c27ab7bb56c66bd0 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 57e9d41f5..3a90ab382 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2177 \ No newline at end of file +v2178 \ No newline at end of file diff --git a/stripe/billing/_alert_triggered.py b/stripe/billing/_alert_triggered.py index 0db43e2dc..3d51495ff 100644 --- a/stripe/billing/_alert_triggered.py +++ b/stripe/billing/_alert_triggered.py @@ -12,6 +12,35 @@ class AlertTriggered(StripeObject): OBJECT_NAME: ClassVar[Literal["billing.alert_triggered"]] = ( "billing.alert_triggered" ) + + class AggregationPeriod(StripeObject): + ends_at: int + """ + End time of the aggregation period + """ + starts_at: int + """ + Start time of the aggregation period + """ + + class GroupBy(StripeObject): + billing_cadence: Optional[str] + """ + The billing cadence ID, populated when type is `billing_cadence` + """ + pricing_plan_subscription: Optional[str] + """ + The pricing plan subscription ID, populated when type is `pricing_plan_subscription` + """ + type: Literal["billing_cadence", "pricing_plan_subscription"] + """ + The type of grouping used for this alert notification + """ + + aggregation_period: Optional[AggregationPeriod] + """ + The aggregation period for which this alert triggered + """ alert: "Alert" """ A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests. @@ -36,6 +65,10 @@ class AlertTriggered(StripeObject): """ External customer ID for the customer for which the alert triggered """ + group_by: Optional[GroupBy] + """ + Populated specifically for spend alerts to notify merchants which group_by entity has the exceeded spend + """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. @@ -44,7 +77,15 @@ class AlertTriggered(StripeObject): """ String representing the object's type. Objects of the same type share the same value. """ + triggered_at: Optional[int] + """ + Timestamp at which the threshold was crossed + """ value: str """ The value triggering the alert """ + _inner_class_types = { + "aggregation_period": AggregationPeriod, + "group_by": GroupBy, + } From 4122ba5986582bf49a71cd2df724a530edd371f0 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 22:50:42 +0000 Subject: [PATCH 3/8] Update generated code for v2179 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/__init__.py | 6 ++ stripe/_account.py | 40 +++++++++ stripe/_account_service.py | 3 + stripe/_account_signals.py | 88 +++++++++++++++++++ stripe/_account_signals_service.py | 59 +++++++++++++ stripe/_object_classes.py | 1 + stripe/params/__init__.py | 14 +++ .../params/_account_retrieve_signal_params.py | 12 +++ .../_account_signals_retrieve_params.py | 11 +++ 11 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 stripe/_account_signals.py create mode 100644 stripe/_account_signals_service.py create mode 100644 stripe/params/_account_retrieve_signal_params.py create mode 100644 stripe/params/_account_signals_retrieve_params.py diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 742b573d9..84a3ee392 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -5bd84413a3560c9934209496c27ab7bb56c66bd0 \ No newline at end of file +3d58ea6b9b289dc611aaebfa71ebfda8bc0874eb \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 3a90ab382..dd3027f3a 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2178 \ No newline at end of file +v2179 \ No newline at end of file diff --git a/stripe/__init__.py b/stripe/__init__.py index 9c78a054c..c2826f1e0 100644 --- a/stripe/__init__.py +++ b/stripe/__init__.py @@ -197,6 +197,10 @@ def add_beta_version( from stripe._account_session_service import ( AccountSessionService as AccountSessionService, ) + from stripe._account_signals import AccountSignals as AccountSignals + from stripe._account_signals_service import ( + AccountSignalsService as AccountSignalsService, + ) from stripe._api_mode import ApiMode as ApiMode from stripe._api_resource import APIResource as APIResource from stripe._apple_pay_domain import ApplePayDomain as ApplePayDomain @@ -687,6 +691,8 @@ def add_beta_version( "AccountService": ("stripe._account_service", False), "AccountSession": ("stripe._account_session", False), "AccountSessionService": ("stripe._account_session_service", False), + "AccountSignals": ("stripe._account_signals", False), + "AccountSignalsService": ("stripe._account_signals_service", False), "ApiMode": ("stripe._api_mode", False), "APIResource": ("stripe._api_resource", False), "ApplePayDomain": ("stripe._apple_pay_domain", False), diff --git a/stripe/_account.py b/stripe/_account.py index dfdf7f08f..8e102f4d8 100644 --- a/stripe/_account.py +++ b/stripe/_account.py @@ -15,6 +15,7 @@ from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: + from stripe._account_signals import AccountSignals from stripe._bank_account import BankAccount from stripe._capability import Capability from stripe._card import Card @@ -68,6 +69,9 @@ from stripe.params._account_retrieve_person_params import ( AccountRetrievePersonParams, ) + from stripe.params._account_retrieve_signal_params import ( + AccountRetrieveSignalParams, + ) @nested_resource_class_methods("capability") @@ -2779,6 +2783,42 @@ async def create_person_async( ), ) + @classmethod + def retrieve_signal( + cls, account_id: str, **params: Unpack["AccountRetrieveSignalParams"] + ) -> "AccountSignals": + """ + Retrieves the account's Signal objects + """ + return cast( + "AccountSignals", + cls._static_request( + "get", + "/v1/accounts/{account_id}/signals".format( + account_id=sanitize_id(account_id) + ), + params=params, + ), + ) + + @classmethod + async def retrieve_signal_async( + cls, account_id: str, **params: Unpack["AccountRetrieveSignalParams"] + ) -> "AccountSignals": + """ + Retrieves the account's Signal objects + """ + return cast( + "AccountSignals", + await cls._static_request_async( + "get", + "/v1/accounts/{account_id}/signals".format( + account_id=sanitize_id(account_id) + ), + params=params, + ), + ) + _inner_class_types = { "business_profile": BusinessProfile, "capabilities": Capabilities, diff --git a/stripe/_account_service.py b/stripe/_account_service.py index ecec209b3..46e457756 100644 --- a/stripe/_account_service.py +++ b/stripe/_account_service.py @@ -14,6 +14,7 @@ ) from stripe._account_login_link_service import AccountLoginLinkService from stripe._account_person_service import AccountPersonService + from stripe._account_signals_service import AccountSignalsService from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._account_create_params import AccountCreateParams @@ -40,6 +41,7 @@ "AccountLoginLinkService", ], "persons": ["stripe._account_person_service", "AccountPersonService"], + "signals": ["stripe._account_signals_service", "AccountSignalsService"], } @@ -48,6 +50,7 @@ class AccountService(StripeService): external_accounts: "AccountExternalAccountService" login_links: "AccountLoginLinkService" persons: "AccountPersonService" + signals: "AccountSignalsService" def __init__(self, requestor): super().__init__(requestor) diff --git a/stripe/_account_signals.py b/stripe/_account_signals.py new file mode 100644 index 000000000..e3fa77a29 --- /dev/null +++ b/stripe/_account_signals.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_object import StripeObject +from typing import ClassVar, List, Optional +from typing_extensions import Literal + + +class AccountSignals(StripeObject): + """ + The Account Signals API provides risk related signals that can be used to better manage risks. + """ + + OBJECT_NAME: ClassVar[Literal["account_signals"]] = "account_signals" + + class Delinquency(StripeObject): + class Indicator(StripeObject): + description: str + """ + A brief explanation of how this indicator contributed to the delinquency probability. + """ + impact: Literal[ + "decrease", "neutral", "slight_increase", "strong_increase" + ] + """ + The effect this indicator had on the overall risk level. + """ + indicator: Literal[ + "account_balance", + "aov", + "charge_concentration", + "dispute_window", + "disputes", + "duplicates", + "exposure", + "firmographic", + "lifetime_metrics", + "payment_processing", + "payment_volume", + "payouts", + "refunds", + "tenure", + "transfers", + ] + """ + The name of the specific indicator used in the risk assessment. + """ + + evaluated_at: Optional[int] + """ + Time at which the signal was evaluated, measured in seconds since the Unix epoch. + """ + indicators: Optional[List[Indicator]] + """ + Array of objects representing individual factors that contributed to the calculated probability of delinquency. + """ + probability: Optional[float] + """ + The probability of delinquency. Can be between 0.00 and 100.00 + """ + risk_level: Literal[ + "elevated", "highest", "low", "normal", "not_assessed", "unknown" + ] + """ + Categorical assessment of the delinquency risk based on probability. + """ + signal_id: Optional[str] + """ + Unique identifier for the delinquency signal. + """ + _inner_class_types = {"indicators": Indicator} + + account: str + """ + The account for which the signals belong to. + """ + delinquency: Optional[Delinquency] + """ + The delinquency signal of the account + """ + livemode: bool + """ + Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + """ + object: Literal["account_signals"] + """ + String representing the object's type. Objects of the same type share the same value. + """ + _inner_class_types = {"delinquency": Delinquency} diff --git a/stripe/_account_signals_service.py b/stripe/_account_signals_service.py new file mode 100644 index 000000000..9b0c4b4ed --- /dev/null +++ b/stripe/_account_signals_service.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._stripe_service import StripeService +from stripe._util import sanitize_id +from typing import Optional, cast +from typing_extensions import TYPE_CHECKING + +if TYPE_CHECKING: + from stripe._account_signals import AccountSignals + from stripe._request_options import RequestOptions + from stripe.params._account_signals_retrieve_params import ( + AccountSignalsRetrieveParams, + ) + + +class AccountSignalsService(StripeService): + def retrieve( + self, + account_id: str, + params: Optional["AccountSignalsRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "AccountSignals": + """ + Retrieves the account's Signal objects + """ + return cast( + "AccountSignals", + self._request( + "get", + "/v1/accounts/{account_id}/signals".format( + account_id=sanitize_id(account_id), + ), + base_address="api", + params=params, + options=options, + ), + ) + + async def retrieve_async( + self, + account_id: str, + params: Optional["AccountSignalsRetrieveParams"] = None, + options: Optional["RequestOptions"] = None, + ) -> "AccountSignals": + """ + Retrieves the account's Signal objects + """ + return cast( + "AccountSignals", + await self._request_async( + "get", + "/v1/accounts/{account_id}/signals".format( + account_id=sanitize_id(account_id), + ), + base_address="api", + params=params, + options=options, + ), + ) diff --git a/stripe/_object_classes.py b/stripe/_object_classes.py index 16c4c4b9c..3aa187041 100644 --- a/stripe/_object_classes.py +++ b/stripe/_object_classes.py @@ -20,6 +20,7 @@ "account_link": ("stripe._account_link", "AccountLink"), "account_notice": ("stripe._account_notice", "AccountNotice"), "account_session": ("stripe._account_session", "AccountSession"), + "account_signals": ("stripe._account_signals", "AccountSignals"), "apple_pay_domain": ("stripe._apple_pay_domain", "ApplePayDomain"), "application": ("stripe._application", "Application"), "application_fee": ("stripe._application_fee", "ApplicationFee"), diff --git a/stripe/params/__init__.py b/stripe/params/__init__.py index 1dcb5a173..3a1e28363 100644 --- a/stripe/params/__init__.py +++ b/stripe/params/__init__.py @@ -394,6 +394,9 @@ from stripe.params._account_retrieve_person_params import ( AccountRetrievePersonParams as AccountRetrievePersonParams, ) + from stripe.params._account_retrieve_signal_params import ( + AccountRetrieveSignalParams as AccountRetrieveSignalParams, + ) from stripe.params._account_session_create_params import ( AccountSessionCreateParams as AccountSessionCreateParams, AccountSessionCreateParamsComponents as AccountSessionCreateParamsComponents, @@ -468,6 +471,9 @@ AccountSessionCreateParamsComponentsTerminalHardwareShop as AccountSessionCreateParamsComponentsTerminalHardwareShop, AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures as AccountSessionCreateParamsComponentsTerminalHardwareShopFeatures, ) + from stripe.params._account_signals_retrieve_params import ( + AccountSignalsRetrieveParams as AccountSignalsRetrieveParams, + ) from stripe.params._account_update_params import ( AccountUpdateParams as AccountUpdateParams, AccountUpdateParamsBankAccount as AccountUpdateParamsBankAccount, @@ -6956,6 +6962,10 @@ "stripe.params._account_retrieve_person_params", False, ), + "AccountRetrieveSignalParams": ( + "stripe.params._account_retrieve_signal_params", + False, + ), "AccountSessionCreateParams": ( "stripe.params._account_session_create_params", False, @@ -7244,6 +7254,10 @@ "stripe.params._account_session_create_params", False, ), + "AccountSignalsRetrieveParams": ( + "stripe.params._account_signals_retrieve_params", + False, + ), "AccountUpdateParams": ("stripe.params._account_update_params", False), "AccountUpdateParamsBankAccount": ( "stripe.params._account_update_params", diff --git a/stripe/params/_account_retrieve_signal_params.py b/stripe/params/_account_retrieve_signal_params.py new file mode 100644 index 000000000..7acbc6a49 --- /dev/null +++ b/stripe/params/_account_retrieve_signal_params.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from stripe._request_options import RequestOptions +from typing import List +from typing_extensions import NotRequired + + +class AccountRetrieveSignalParams(RequestOptions): + expand: NotRequired[List[str]] + """ + Specifies which fields in the response should be expanded. + """ diff --git a/stripe/params/_account_signals_retrieve_params.py b/stripe/params/_account_signals_retrieve_params.py new file mode 100644 index 000000000..3c20de723 --- /dev/null +++ b/stripe/params/_account_signals_retrieve_params.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- +# File generated from our OpenAPI spec +from typing import List +from typing_extensions import NotRequired, TypedDict + + +class AccountSignalsRetrieveParams(TypedDict): + expand: NotRequired[List[str]] + """ + Specifies which fields in the response should be expanded. + """ From c4f7dff6978bf9a4a8b1971bb603a88183ad4eb8 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 23:20:05 +0000 Subject: [PATCH 4/8] Update generated code for v2180 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/_application_fee.py | 19 ++++++++++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 84a3ee392..353285d2a 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -3d58ea6b9b289dc611aaebfa71ebfda8bc0874eb \ No newline at end of file +6fc98fdf6be6311e05ec2589480dda60a8e6eb5b \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index dd3027f3a..e5887c215 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2179 \ No newline at end of file +v2180 \ No newline at end of file diff --git a/stripe/_application_fee.py b/stripe/_application_fee.py index 10f4bb40a..9144aaa13 100644 --- a/stripe/_application_fee.py +++ b/stripe/_application_fee.py @@ -60,6 +60,16 @@ class FeeSource(StripeObject): Type of object that created the application fee. """ + class FundingSource(StripeObject): + invoice: Optional[str] + """ + The invoice ID associated with this funding source, if applicable. + """ + type: str + """ + The type of funding source. + """ + account: ExpandableField["Account"] """ ID of the Stripe account this fee was taken from. @@ -96,6 +106,10 @@ class FeeSource(StripeObject): """ Polymorphic source of the application fee. Includes the ID of the object the application fee was created from. """ + funding_source: Optional[FundingSource] + """ + Polymorphic funding source of the application fee. Includes the type and details of the funding source. + """ id: str """ Unique identifier for the object. @@ -525,4 +539,7 @@ async def create_refund_async( ), ) - _inner_class_types = {"fee_source": FeeSource} + _inner_class_types = { + "fee_source": FeeSource, + "funding_source": FundingSource, + } From 229e00627dba67c08d9e84cc6459bf98f35713fb Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 15:59:35 +0000 Subject: [PATCH 5/8] Update generated code for v2181 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/tax/_calculation_line_item.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 353285d2a..6869bbc2c 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -6fc98fdf6be6311e05ec2589480dda60a8e6eb5b \ No newline at end of file +a94599c90f9564528fe400272571333a94c772dc \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index e5887c215..10bf780f4 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2180 \ No newline at end of file +v2181 \ No newline at end of file diff --git a/stripe/tax/_calculation_line_item.py b/stripe/tax/_calculation_line_item.py index ae62748a3..2f494d06e 100644 --- a/stripe/tax/_calculation_line_item.py +++ b/stripe/tax/_calculation_line_item.py @@ -134,7 +134,7 @@ class TaxRateDetails(StripeObject): """ performance_location: Optional[str] """ - A tax location for a line item that acts as a performance location. This indicates that the line item might be taxed at the place where it is being performed at. This is helpful for events or other services being performed at non-customer addresses like venues or offices. This can be left empty for tax codes that do not require a tax location. For tax codes where the location requirement is "optional", this would override the customer address in most use cases. + Indicates the line item represents a performance where the venue location might determine the tax, not the customer address. Leave empty if the tax code doesn't require a tax location. If you provide this value for tax codes with an `optional` location requirement, it overrides the customer address. """ product: Optional[str] """ From c443522291bafbeab836f2982cb2929f455e20d7 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 20 Feb 2026 19:13:12 +0000 Subject: [PATCH 6/8] Update generated code for v2182 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/params/_account_link_create_params.py | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 6869bbc2c..b35f6559d 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -a94599c90f9564528fe400272571333a94c772dc \ No newline at end of file +9d9eb64ed1c8a7adcdcc153fc393b864deedc180 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 10bf780f4..863b4f4b4 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2181 \ No newline at end of file +v2182 \ No newline at end of file diff --git a/stripe/params/_account_link_create_params.py b/stripe/params/_account_link_create_params.py index 175faa7ca..5eea95553 100644 --- a/stripe/params/_account_link_create_params.py +++ b/stripe/params/_account_link_create_params.py @@ -52,3 +52,7 @@ class AccountLinkCreateParamsCollectionOptions(TypedDict): """ Specifies whether the platform collects future_requirements in addition to requirements in Connect Onboarding. The default value is `omit`. """ + external_account_collection: NotRequired[bool] + """ + Specifies whether the platform collects external account information from connected accounts during Connect Onboarding. When set to `false`, external account collection is skipped. Defaults to `true`. + """ From fc77ba82a1d172e0bc2e35f2b09f7a4285b6e283 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 18:50:53 +0000 Subject: [PATCH 7/8] Update generated code for v2184 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/params/_subscription_create_params.py | 4 ++++ stripe/params/_subscription_modify_params.py | 4 ++++ stripe/params/_subscription_update_params.py | 4 ++++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index b35f6559d..e1dc858dd 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -9d9eb64ed1c8a7adcdcc153fc393b864deedc180 \ No newline at end of file +f613ed838a6f816643faf0cc3e44100d558176cf \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 863b4f4b4..580aa33b9 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2182 \ No newline at end of file +v2184 \ No newline at end of file diff --git a/stripe/params/_subscription_create_params.py b/stripe/params/_subscription_create_params.py index be0457c75..ea6c0870e 100644 --- a/stripe/params/_subscription_create_params.py +++ b/stripe/params/_subscription_create_params.py @@ -1255,3 +1255,7 @@ class SubscriptionCreateParamsTrialSettingsEndBehavior(TypedDict): """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ + billing_cycle_anchor: NotRequired[Literal["now", "unchanged"]] + """ + Indicates how the subscription's billing cycle anchor is reset when a trial ends. Defaults to `now`. + """ diff --git a/stripe/params/_subscription_modify_params.py b/stripe/params/_subscription_modify_params.py index fa4da306a..67292e620 100644 --- a/stripe/params/_subscription_modify_params.py +++ b/stripe/params/_subscription_modify_params.py @@ -1221,3 +1221,7 @@ class SubscriptionModifyParamsTrialSettingsEndBehavior(TypedDict): """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ + billing_cycle_anchor: NotRequired[Literal["now", "unchanged"]] + """ + Indicates how the subscription's billing cycle anchor is reset when a trial ends. Defaults to `now`. + """ diff --git a/stripe/params/_subscription_update_params.py b/stripe/params/_subscription_update_params.py index ac8718dc2..8a01afc8b 100644 --- a/stripe/params/_subscription_update_params.py +++ b/stripe/params/_subscription_update_params.py @@ -1220,3 +1220,7 @@ class SubscriptionUpdateParamsTrialSettingsEndBehavior(TypedDict): """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ + billing_cycle_anchor: NotRequired[Literal["now", "unchanged"]] + """ + Indicates how the subscription's billing cycle anchor is reset when a trial ends. Defaults to `now`. + """ From acd393ecd6f0058ebdfca6455ed150d0974c3bf0 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:38:11 +0000 Subject: [PATCH 8/8] Update generated code for v2185 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- stripe/financial_connections/_session.py | 23 +++++++++++++++++++ .../params/financial_connections/__init__.py | 5 ++++ .../_session_create_params.py | 15 ++++++++++++ 5 files changed, 45 insertions(+), 2 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index e1dc858dd..c9b922226 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -f613ed838a6f816643faf0cc3e44100d558176cf \ No newline at end of file +35e26af8c8a4fb5988922dfcb4d9bd22f7f850c5 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 580aa33b9..ea042559f 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2184 \ No newline at end of file +v2185 \ No newline at end of file diff --git a/stripe/financial_connections/_session.py b/stripe/financial_connections/_session.py index 305c5c35f..a79a3dd0d 100644 --- a/stripe/financial_connections/_session.py +++ b/stripe/financial_connections/_session.py @@ -69,6 +69,16 @@ class Filters(StripeObject): Stripe ID of the institution with which the customer should be directed to log in. """ + class Hosted(StripeObject): + delivery_method: Optional[Literal["email", "url"]] + """ + How the user enters the hosted flow. You can only use the values `email` and `url` if you provide `relink_options`. + """ + return_url: Optional[str] + """ + The URL to redirect your customer back to after they link their accounts or cancel this Session. This parameter is required if `ui_mode` is `hosted`. + """ + class Limits(StripeObject): accounts: int """ @@ -127,6 +137,10 @@ class Cancelled(StripeObject): A value that will be passed to the client to launch the authentication flow. """ filters: Optional[Filters] + hosted: Optional[Hosted] + """ + Settings for the Hosted UI mode. + """ id: str """ Unique identifier for the object. @@ -168,6 +182,14 @@ class Cancelled(StripeObject): The current state of the session. """ status_details: Optional[StatusDetails] + ui_mode: Optional[Literal["hosted", "modal"]] + """ + The UI mode for this session. + """ + url: Optional[str] + """ + The hosted URL for this Session. Redirect customers to this URL to take them to the hosted authentication flow. This value is only present when the Session is active and the `ui_mode` is `hosted`. + """ @classmethod def create(cls, **params: Unpack["SessionCreateParams"]) -> "Session": @@ -224,6 +246,7 @@ async def retrieve_async( _inner_class_types = { "account_holder": AccountHolder, "filters": Filters, + "hosted": Hosted, "limits": Limits, "manual_entry": ManualEntry, "relink_options": RelinkOptions, diff --git a/stripe/params/financial_connections/__init__.py b/stripe/params/financial_connections/__init__.py index f5a64095d..21494b139 100644 --- a/stripe/params/financial_connections/__init__.py +++ b/stripe/params/financial_connections/__init__.py @@ -51,6 +51,7 @@ SessionCreateParams as SessionCreateParams, SessionCreateParamsAccountHolder as SessionCreateParamsAccountHolder, SessionCreateParamsFilters as SessionCreateParamsFilters, + SessionCreateParamsHosted as SessionCreateParamsHosted, SessionCreateParamsLimits as SessionCreateParamsLimits, SessionCreateParamsManualEntry as SessionCreateParamsManualEntry, SessionCreateParamsRelinkOptions as SessionCreateParamsRelinkOptions, @@ -141,6 +142,10 @@ "stripe.params.financial_connections._session_create_params", False, ), + "SessionCreateParamsHosted": ( + "stripe.params.financial_connections._session_create_params", + False, + ), "SessionCreateParamsLimits": ( "stripe.params.financial_connections._session_create_params", False, diff --git a/stripe/params/financial_connections/_session_create_params.py b/stripe/params/financial_connections/_session_create_params.py index 556adddc4..0a56de2c6 100644 --- a/stripe/params/financial_connections/_session_create_params.py +++ b/stripe/params/financial_connections/_session_create_params.py @@ -52,6 +52,14 @@ class SessionCreateParams(RequestOptions): """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ + hosted: NotRequired["SessionCreateParamsHosted"] + """ + Settings for hosted Sessions. Required if `ui_mode` is `hosted`. + """ + ui_mode: NotRequired[Literal["hosted", "modal"]] + """ + The UI mode of the Session. Defaults to `modal`. + """ class SessionCreateParamsAccountHolder(TypedDict): @@ -121,3 +129,10 @@ class SessionCreateParamsRelinkOptions(TypedDict): """ The authorization to relink. """ + + +class SessionCreateParamsHosted(TypedDict): + delivery_method: NotRequired[Literal["email", "url"]] + """ + How the user should enter the hosted flow. The values `email` and `url` can only be used if `relink_options` is provided. + """