diff --git a/stytch/b2b/models/discovery_intermediate_sessions.py b/stytch/b2b/models/discovery_intermediate_sessions.py index faef811..47cc8bd 100644 --- a/stytch/b2b/models/discovery_intermediate_sessions.py +++ b/stytch/b2b/models/discovery_intermediate_sessions.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import Optional @@ -25,6 +26,14 @@ class ExchangeRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class ExchangeResponse(ResponseBase): @@ -41,6 +50,7 @@ class ExchangeResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -54,3 +64,4 @@ class ExchangeResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/discovery_organizations.py b/stytch/b2b/models/discovery_organizations.py index d3c94aa..3590bb6 100644 --- a/stytch/b2b/models/discovery_organizations.py +++ b/stytch/b2b/models/discovery_organizations.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import List, Optional @@ -67,6 +68,7 @@ class CreateResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -80,3 +82,4 @@ class CreateResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/impersonation.py b/stytch/b2b/models/impersonation.py index 903fd6e..e31d447 100644 --- a/stytch/b2b/models/impersonation.py +++ b/stytch/b2b/models/impersonation.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime from typing import Optional from stytch.b2b.models.mfa import MfaRequired @@ -27,6 +28,7 @@ class AuthenticateResponse(ResponseBase): - member_authenticated: The member will always be fully authenticated if an impersonation token is successfully authenticated. - member_session: The [Session object](https://stytch.com/docs/b2b/api/session-object) for the impersonated Member. - mfa_required: MFA will not be required when authenticating impersonation tokens. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -39,3 +41,4 @@ class AuthenticateResponse(ResponseBase): member_authenticated: bool member_session: Optional[MemberSession] = None mfa_required: Optional[MfaRequired] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/magic_links.py b/stytch/b2b/models/magic_links.py index d0a01c4..c32ffb3 100644 --- a/stytch/b2b/models/magic_links.py +++ b/stytch/b2b/models/magic_links.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import Optional @@ -40,6 +41,7 @@ class AuthenticateResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: (no documentation yet) - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -56,3 +58,4 @@ class AuthenticateResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/magic_links_discovery.py b/stytch/b2b/models/magic_links_discovery.py index d81f65f..7fbeb53 100644 --- a/stytch/b2b/models/magic_links_discovery.py +++ b/stytch/b2b/models/magic_links_discovery.py @@ -6,7 +6,8 @@ from __future__ import annotations -from typing import List +import datetime +from typing import List, Optional from stytch.b2b.models.discovery import DiscoveredOrganization from stytch.core.response_base import ResponseBase @@ -29,8 +30,10 @@ class AuthenticateResponse(ResponseBase): b) The Organizations' allowed domains list contains the Member's email domain. c) The Organization has at least one other Member with a verified email address with the same domain as the end user (to prevent phishing attacks). + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa intermediate_session_token: str email_address: str discovered_organizations: List[DiscoveredOrganization] + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/oauth.py b/stytch/b2b/models/oauth.py index 5391f36..86adf95 100644 --- a/stytch/b2b/models/oauth.py +++ b/stytch/b2b/models/oauth.py @@ -28,6 +28,14 @@ class AuthenticateRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class ProviderValues(pydantic.BaseModel): @@ -68,6 +76,7 @@ class AuthenticateResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -86,3 +95,4 @@ class AuthenticateResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/oauth_discovery.py b/stytch/b2b/models/oauth_discovery.py index e3d60ae..8a3605e 100644 --- a/stytch/b2b/models/oauth_discovery.py +++ b/stytch/b2b/models/oauth_discovery.py @@ -6,7 +6,8 @@ from __future__ import annotations -from typing import List +import datetime +from typing import List, Optional from stytch.b2b.models.discovery import DiscoveredOrganization from stytch.core.response_base import ResponseBase @@ -33,6 +34,7 @@ class AuthenticateResponse(ResponseBase): - provider_tenant_id: The tenant ID returned by the OAuth provider. This is typically used to identify an organization or group within the provider's domain. For example, in HubSpot this is a Hub ID, in Slack this is the Workspace ID, and in GitHub this is an organization ID. This field will only be populated if exactly one tenant ID is returned from a successful OAuth authentication and developers should prefer `provider_tenant_ids` over this since it accounts for the possibility of an OAuth provider yielding multiple tenant IDs. - provider_tenant_ids: All tenant IDs returned by the OAuth provider. These is typically used to identify organizations or groups within the provider's domain. For example, in HubSpot this is a Hub ID, in Slack this is the Workspace ID, and in GitHub this is an organization ID. Some OAuth providers do not return tenant IDs, some providers are guaranteed to return one, and some may return multiple. This field will always be populated if at least one tenant ID was returned from the OAuth provider and developers should prefer this field over `provider_tenant_id`. - full_name: The full name of the authenticated end user, if available. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa intermediate_session_token: str @@ -42,3 +44,4 @@ class AuthenticateResponse(ResponseBase): provider_tenant_id: str provider_tenant_ids: List[str] full_name: str + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/otp_email.py b/stytch/b2b/models/otp_email.py index 291bc34..ee66d82 100644 --- a/stytch/b2b/models/otp_email.py +++ b/stytch/b2b/models/otp_email.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import Optional @@ -46,6 +47,7 @@ class AuthenticateResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: (no documentation yet) - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -61,6 +63,7 @@ class AuthenticateResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class LoginOrSignupResponse(ResponseBase): diff --git a/stytch/b2b/models/otp_email_discovery.py b/stytch/b2b/models/otp_email_discovery.py index 4a26b79..7189b5a 100644 --- a/stytch/b2b/models/otp_email_discovery.py +++ b/stytch/b2b/models/otp_email_discovery.py @@ -6,8 +6,9 @@ from __future__ import annotations +import datetime import enum -from typing import List +from typing import List, Optional from stytch.b2b.models.discovery import DiscoveredOrganization from stytch.core.response_base import ResponseBase @@ -37,11 +38,13 @@ class AuthenticateResponse(ResponseBase): b) The Organizations' allowed domains list contains the Member's email domain. c) The Organization has at least one other Member with a verified email address with the same domain as the end user (to prevent phishing attacks). + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa intermediate_session_token: str email_address: str discovered_organizations: List[DiscoveredOrganization] + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class SendResponse(ResponseBase): diff --git a/stytch/b2b/models/otp_sms.py b/stytch/b2b/models/otp_sms.py index 7acf65b..5bb80d4 100644 --- a/stytch/b2b/models/otp_sms.py +++ b/stytch/b2b/models/otp_sms.py @@ -24,6 +24,14 @@ class SendRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class AuthenticateResponse(ResponseBase): diff --git a/stytch/b2b/models/passwords.py b/stytch/b2b/models/passwords.py index 5331299..995334e 100644 --- a/stytch/b2b/models/passwords.py +++ b/stytch/b2b/models/passwords.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import List, Optional @@ -84,6 +85,7 @@ class AuthenticateResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -98,6 +100,7 @@ class AuthenticateResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class MigrateResponse(ResponseBase): diff --git a/stytch/b2b/models/passwords_discovery.py b/stytch/b2b/models/passwords_discovery.py index 7afde54..2dfb687 100644 --- a/stytch/b2b/models/passwords_discovery.py +++ b/stytch/b2b/models/passwords_discovery.py @@ -6,7 +6,8 @@ from __future__ import annotations -from typing import List +import datetime +from typing import List, Optional from stytch.b2b.models.discovery import DiscoveredOrganization from stytch.core.response_base import ResponseBase @@ -29,8 +30,10 @@ class AuthenticateResponse(ResponseBase): b) The Organizations' allowed domains list contains the Member's email domain. c) The Organization has at least one other Member with a verified email address with the same domain as the end user (to prevent phishing attacks). + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa email_address: str intermediate_session_token: str discovered_organizations: List[DiscoveredOrganization] + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/passwords_discovery_email.py b/stytch/b2b/models/passwords_discovery_email.py index a30073a..7f7d039 100644 --- a/stytch/b2b/models/passwords_discovery_email.py +++ b/stytch/b2b/models/passwords_discovery_email.py @@ -6,7 +6,8 @@ from __future__ import annotations -from typing import List +import datetime +from typing import List, Optional from stytch.b2b.models.discovery import DiscoveredOrganization from stytch.core.response_base import ResponseBase @@ -29,11 +30,13 @@ class ResetResponse(ResponseBase): b) The Organizations' allowed domains list contains the Member's email domain. c) The Organization has at least one other Member with a verified email address with the same domain as the end user (to prevent phishing attacks). + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa intermediate_session_token: str email_address: str discovered_organizations: List[DiscoveredOrganization] + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class ResetStartResponse(ResponseBase): diff --git a/stytch/b2b/models/passwords_email.py b/stytch/b2b/models/passwords_email.py index 2a32d4f..7ed5fa3 100644 --- a/stytch/b2b/models/passwords_email.py +++ b/stytch/b2b/models/passwords_email.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import Dict, Optional @@ -78,6 +79,7 @@ class ResetResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -93,6 +95,7 @@ class ResetResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class ResetStartResponse(ResponseBase): diff --git a/stytch/b2b/models/passwords_existing_password.py b/stytch/b2b/models/passwords_existing_password.py index dd924c6..abf6b13 100644 --- a/stytch/b2b/models/passwords_existing_password.py +++ b/stytch/b2b/models/passwords_existing_password.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import Optional @@ -37,6 +38,7 @@ class ResetResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -50,3 +52,4 @@ class ResetResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/passwords_session.py b/stytch/b2b/models/passwords_session.py index d4cbe71..e6a0419 100644 --- a/stytch/b2b/models/passwords_session.py +++ b/stytch/b2b/models/passwords_session.py @@ -6,6 +6,7 @@ from __future__ import annotations +import datetime import enum from typing import Optional @@ -36,6 +37,7 @@ class ResetResponse(ResponseBase): - member_session: The [Session object](https://stytch.com/docs/b2b/api/session-object). - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -48,3 +50,4 @@ class ResetResponse(ResponseBase): member_session: Optional[MemberSession] = None mfa_required: Optional[MfaRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None diff --git a/stytch/b2b/models/sessions.py b/stytch/b2b/models/sessions.py index d932ebb..40e868d 100644 --- a/stytch/b2b/models/sessions.py +++ b/stytch/b2b/models/sessions.py @@ -29,6 +29,14 @@ class ExchangeRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class AuthorizationCheck(pydantic.BaseModel): @@ -194,6 +202,7 @@ class ExchangeResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: Information about the primary authentication requirements of the Organization. - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -207,6 +216,7 @@ class ExchangeResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class GetJWKSResponse(ResponseBase): diff --git a/stytch/b2b/models/sso.py b/stytch/b2b/models/sso.py index f426cb8..73398f0 100644 --- a/stytch/b2b/models/sso.py +++ b/stytch/b2b/models/sso.py @@ -29,6 +29,14 @@ class AuthenticateRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class ConnectionImplicitRoleAssignment(pydantic.BaseModel): @@ -271,6 +279,7 @@ class AuthenticateResponse(ResponseBase): - mfa_required: Information about the MFA requirements of the Organization and the Member's options for fulfilling MFA. - primary_required: (no documentation yet) - member_device: If a valid `telemetry_id` was passed in the request and the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) returned results, the `member_device` response field will contain information about the member's device attributes. + - intermediate_session_token_expires_at: (no documentation yet) """ # noqa member_id: str @@ -286,6 +295,7 @@ class AuthenticateResponse(ResponseBase): mfa_required: Optional[MfaRequired] = None primary_required: Optional[PrimaryRequired] = None member_device: Optional[DeviceInfo] = None + intermediate_session_token_expires_at: Optional[datetime.datetime] = None class DeleteConnectionResponse(ResponseBase): diff --git a/stytch/consumer/api/connected_apps_clients.py b/stytch/consumer/api/connected_apps_clients.py index d0e11b1..251a968 100644 --- a/stytch/consumer/api/connected_apps_clients.py +++ b/stytch/consumer/api/connected_apps_clients.py @@ -83,6 +83,7 @@ def update( post_logout_redirect_urls: Optional[List[str]] = None, logo_url: Optional[str] = None, bypass_consent_for_offline_access: Optional[bool] = None, + id_token_template_content: Optional[str] = None, ) -> UpdateResponse: """Updates mutable fields of a Connected App. Cannot update Client Type, Client ID, or Secrets. @@ -98,6 +99,7 @@ def update( - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - logo_url: The logo URL of the Connected App, if any. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. + - id_token_template_content: (no documentation yet) """ # noqa headers: Dict[str, str] = {} data: Dict[str, Any] = { @@ -125,6 +127,8 @@ def update( data["bypass_consent_for_offline_access"] = ( bypass_consent_for_offline_access ) + if id_token_template_content is not None: + data["id_token_template_content"] = id_token_template_content url = self.api_base.url_for("/v1/connected_apps/clients/{client_id}", data) res = self.sync_client.put(url, data, headers) @@ -143,6 +147,7 @@ async def update_async( post_logout_redirect_urls: Optional[List[str]] = None, logo_url: Optional[str] = None, bypass_consent_for_offline_access: Optional[bool] = None, + id_token_template_content: Optional[str] = None, ) -> UpdateResponse: """Updates mutable fields of a Connected App. Cannot update Client Type, Client ID, or Secrets. @@ -158,6 +163,7 @@ async def update_async( - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - logo_url: The logo URL of the Connected App, if any. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. + - id_token_template_content: (no documentation yet) """ # noqa headers: Dict[str, str] = {} data: Dict[str, Any] = { @@ -185,6 +191,8 @@ async def update_async( data["bypass_consent_for_offline_access"] = ( bypass_consent_for_offline_access ) + if id_token_template_content is not None: + data["id_token_template_content"] = id_token_template_content url = self.api_base.url_for("/v1/connected_apps/clients/{client_id}", data) res = await self.async_client.put(url, data, headers) @@ -283,6 +291,7 @@ def create( post_logout_redirect_urls: Optional[List[str]] = None, logo_url: Optional[str] = None, bypass_consent_for_offline_access: Optional[bool] = None, + id_token_template_content: Optional[str] = None, ) -> CreateResponse: """Creates a new Connected App. If the Connected App `client_type` is `first_party` or `third_party` a `client_secret` is returned. @@ -300,6 +309,7 @@ def create( - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - logo_url: The logo URL of the Connected App, if any. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. + - id_token_template_content: (no documentation yet) """ # noqa headers: Dict[str, str] = {} data: Dict[str, Any] = { @@ -327,6 +337,8 @@ def create( data["bypass_consent_for_offline_access"] = ( bypass_consent_for_offline_access ) + if id_token_template_content is not None: + data["id_token_template_content"] = id_token_template_content url = self.api_base.url_for("/v1/connected_apps/clients", data) res = self.sync_client.post(url, data, headers) @@ -345,6 +357,7 @@ async def create_async( post_logout_redirect_urls: Optional[List[str]] = None, logo_url: Optional[str] = None, bypass_consent_for_offline_access: Optional[bool] = None, + id_token_template_content: Optional[str] = None, ) -> CreateResponse: """Creates a new Connected App. If the Connected App `client_type` is `first_party` or `third_party` a `client_secret` is returned. @@ -362,6 +375,7 @@ async def create_async( - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - logo_url: The logo URL of the Connected App, if any. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. + - id_token_template_content: (no documentation yet) """ # noqa headers: Dict[str, str] = {} data: Dict[str, Any] = { @@ -389,6 +403,8 @@ async def create_async( data["bypass_consent_for_offline_access"] = ( bypass_consent_for_offline_access ) + if id_token_template_content is not None: + data["id_token_template_content"] = id_token_template_content url = self.api_base.url_for("/v1/connected_apps/clients", data) res = await self.async_client.post(url, data, headers) diff --git a/stytch/consumer/models/connected_apps.py b/stytch/consumer/models/connected_apps.py index 3687435..23d4484 100644 --- a/stytch/consumer/models/connected_apps.py +++ b/stytch/consumer/models/connected_apps.py @@ -26,6 +26,7 @@ class ConnectedApp(pydantic.BaseModel): - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. - creation_method: (no documentation yet) + - id_token_template_content: (no documentation yet) - client_secret_last_four: The last four characters of the client secret. - next_client_secret_last_four: The last four characters of the `next_client_secret`. Null if no `next_client_secret` exists. - access_token_custom_audience: (no documentation yet) @@ -45,6 +46,7 @@ class ConnectedApp(pydantic.BaseModel): post_logout_redirect_urls: List[str] bypass_consent_for_offline_access: bool creation_method: str + id_token_template_content: str client_secret_last_four: Optional[str] = None next_client_secret_last_four: Optional[str] = None access_token_custom_audience: Optional[str] = None @@ -74,6 +76,7 @@ class ConnectedAppWithClientSecret(pydantic.BaseModel): - access_token_template_content: (no documentation yet) - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. + - id_token_template_content: (no documentation yet) - client_secret_last_four: The last four characters of the client secret. - next_client_secret_last_four: The last four characters of the `next_client_secret`. Null if no `next_client_secret` exists. - client_secret: The secret of the Connected App client. **Required for confidential clients** @@ -93,6 +96,7 @@ class ConnectedAppWithClientSecret(pydantic.BaseModel): access_token_template_content: str post_logout_redirect_urls: List[str] bypass_consent_for_offline_access: bool + id_token_template_content: str client_secret_last_four: Optional[str] = None next_client_secret_last_four: Optional[str] = None client_secret: Optional[str] = None @@ -117,6 +121,7 @@ class ConnectedAppWithNextClientSecret(pydantic.BaseModel): - access_token_template_content: (no documentation yet) - post_logout_redirect_urls: Array of redirect URI values for use in OIDC Logout flows. - bypass_consent_for_offline_access: Valid for first party clients only. If true, the client does not need to request explicit user consent for the `offline_access` scope. + - id_token_template_content: (no documentation yet) - next_client_secret_last_four: The last four characters of the `next_client_secret`. Null if no `next_client_secret` exists. - access_token_custom_audience: (no documentation yet) - logo_url: The logo URL of the Connected App, if any. @@ -136,6 +141,7 @@ class ConnectedAppWithNextClientSecret(pydantic.BaseModel): access_token_template_content: str post_logout_redirect_urls: List[str] bypass_consent_for_offline_access: bool + id_token_template_content: str next_client_secret_last_four: Optional[str] = None access_token_custom_audience: Optional[str] = None logo_url: Optional[str] = None diff --git a/stytch/consumer/models/otp_sms.py b/stytch/consumer/models/otp_sms.py index dd952f8..42767c9 100644 --- a/stytch/consumer/models/otp_sms.py +++ b/stytch/consumer/models/otp_sms.py @@ -20,6 +20,14 @@ class LoginOrCreateRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class SendRequestLocale(str, enum.Enum): @@ -31,6 +39,14 @@ class SendRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class LoginOrCreateResponse(ResponseBase): diff --git a/stytch/consumer/models/otp_whatsapp.py b/stytch/consumer/models/otp_whatsapp.py index 6e7647f..ac18f21 100644 --- a/stytch/consumer/models/otp_whatsapp.py +++ b/stytch/consumer/models/otp_whatsapp.py @@ -20,6 +20,14 @@ class LoginOrCreateRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class SendRequestLocale(str, enum.Enum): @@ -31,6 +39,14 @@ class SendRequestLocale(str, enum.Enum): DEDE = "de-DE" ZHHANS = "zh-Hans" CAES = "ca-ES" + JA = "ja" + RU = "ru" + NL = "nl" + PL = "pl" + TR = "tr" + FA = "fa" + VI = "vi" + CS = "cs" class LoginOrCreateResponse(ResponseBase): diff --git a/stytch/version.py b/stytch/version.py index 30c70d3..1609d49 100644 --- a/stytch/version.py +++ b/stytch/version.py @@ -1 +1 @@ -__version__ = "15.2.0" +__version__ = "15.3.0"