diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 1380f48c..bcfdec9d 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -28,6 +28,7 @@ bandwidth/models/blocked_webhook.py bandwidth/models/bridge_complete_callback.py bandwidth/models/bridge_target_complete_callback.py bandwidth/models/business_entity_type_enum.py +bandwidth/models/business_registration_issuing_country_enum.py bandwidth/models/business_registration_type_enum.py bandwidth/models/call_direction_enum.py bandwidth/models/call_recording_metadata.py @@ -206,6 +207,7 @@ docs/BlockedWebhook.md docs/BridgeCompleteCallback.md docs/BridgeTargetCompleteCallback.md docs/BusinessEntityTypeEnum.md +docs/BusinessRegistrationIssuingCountryEnum.md docs/BusinessRegistrationTypeEnum.md docs/CallDirectionEnum.md docs/CallRecordingMetadata.md diff --git a/README.md b/README.md index 1a9d687d..2d261f30 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ Class | Method | HTTP request | Description - [BridgeCompleteCallback](docs/BridgeCompleteCallback.md) - [BridgeTargetCompleteCallback](docs/BridgeTargetCompleteCallback.md) - [BusinessEntityTypeEnum](docs/BusinessEntityTypeEnum.md) + - [BusinessRegistrationIssuingCountryEnum](docs/BusinessRegistrationIssuingCountryEnum.md) - [BusinessRegistrationTypeEnum](docs/BusinessRegistrationTypeEnum.md) - [CallDirectionEnum](docs/CallDirectionEnum.md) - [CallRecordingMetadata](docs/CallRecordingMetadata.md) diff --git a/bandwidth.yml b/bandwidth.yml index b4542b7a..2b6bdb17 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -5828,38 +5828,106 @@ components: type: string businessRegistrationNumber: type: string - description: >- - US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional - until early 2026. If a value is provided for this field, a value must be - provided for `businessRegistrationType` and `businessEntityType`. - Available starting October 1st, 2025. + description: Government-issued business identifying number. nullable: true maxLength: 500 example: 12-3456789 businessRegistrationTypeEnum: type: string - description: >- - The type of business registration number. Optional until early 2026; - required if `businessRegistrationNumber` is provided. Available starting - October 1st, 2025. + description: The type of business registration number. enum: - EIN - CBN + - NEQ + - PROVINCIAL_NUMBER + - CRN + - VAT + - ACN + - ABN + - BRN + - SIREN + - SIRET + - NZBN + - UST_IDNR + - CIF + - NIF + - CNPJ + - UID + - OTHER nullable: true + businessRegistrationIssuingCountryEnum: + type: string + description: >- + The country issuing the business registration in ISO-3166-1 alpha-3 + format. + + + | Registration Type | Supported Countries | + + |----------------------|------------------------------------| + + | EIN | USA | + + | CBN | CAN | + + | NEQ | CAN | + + | PROVINCIAL_NUMBER | CAN | + + | CRN | GBR, HKG | + + | VAT | GBR, IRL, BRA, NLD | + + | ACN | AUS | + + | ABN | AUS | + + | BRN | HKG | + + | SIREN | FRA | + + | SIRET | FRA | + + | NZBN | NZL | + + | UST_IDNR | DEU | + + | CIF | ESP | + + | NIF | ESP | + + | CNPJ | BRA | + + | UID | CHE | + + | OTHER | Must Provide Country Code | + enum: + - USA + - CAN + - HKG + - GBR + - IRL + - BRA + - NLD + - AUS + - FRA + - NZL + - DEU + - ESP + - CHE + nullable: false businessEntityTypeEnum: type: string description: >- The type of registered business. If no option is applicable, please - provide "SOLE_PROPRIETOR" as a value. Optional until early 2026; - required if `businessRegistrationNumber` is provided. Available starting - October 1st, 2025. + provide "SOLE_PROPRIETOR" as a value. enum: - SOLE_PROPRIETOR - PRIVATE_PROFIT - PUBLIC_PROFIT - NON_PROFIT - GOVERNMENT - nullable: true + nullable: false helpMessageResponse: type: string description: A message that gets sent to users requesting help. @@ -5914,6 +5982,7 @@ components: - useCaseSummary - productionMessageContent - optInWorkflow + - businessEntityType properties: businessAddress: $ref: '#/components/schemas/address' @@ -5958,6 +6027,8 @@ components: $ref: '#/components/schemas/businessRegistrationNumber' businessRegistrationType: $ref: '#/components/schemas/businessRegistrationTypeEnum' + businessRegistrationIssuingCountry: + $ref: '#/components/schemas/businessRegistrationIssuingCountryEnum' businessEntityType: $ref: '#/components/schemas/businessEntityTypeEnum' helpMessageResponse: @@ -6011,6 +6082,8 @@ components: $ref: '#/components/schemas/businessRegistrationTypeEnum' businessEntityType: $ref: '#/components/schemas/businessEntityTypeEnum' + businessRegistrationIssuingCountry: + $ref: '#/components/schemas/businessRegistrationIssuingCountryEnum' helpMessageResponse: $ref: '#/components/schemas/helpMessageResponse' ageGatedContent: @@ -6503,20 +6576,12 @@ components: $ref: '#/components/schemas/businessDba' businessRegistrationNumber: $ref: '#/components/schemas/businessRegistrationNumber' - description: >- - US Federal Tax ID Number (EIN) or Canada Business Number (CBN). - Available starting October 1st, 2025. businessRegistrationType: $ref: '#/components/schemas/businessRegistrationTypeEnum' - description: >- - The type of business registration number. Available starting October - 1st, 2025. + businessRegistrationIssuingCountry: + $ref: '#/components/schemas/businessRegistrationIssuingCountryEnum' businessEntityType: $ref: '#/components/schemas/businessEntityTypeEnum' - description: >- - The type of registered business. If no option is applicable, please - provide "SOLE_PROPRIETOR" as a value. Available starting October - 1st, 2025. tfvStatusEnum: type: string enum: diff --git a/bandwidth/__init__.py b/bandwidth/__init__.py index 5d5b6304..13b8760a 100644 --- a/bandwidth/__init__.py +++ b/bandwidth/__init__.py @@ -48,6 +48,7 @@ "BridgeCompleteCallback", "BridgeTargetCompleteCallback", "BusinessEntityTypeEnum", + "BusinessRegistrationIssuingCountryEnum", "BusinessRegistrationTypeEnum", "CallDirectionEnum", "CallRecordingMetadata", @@ -251,6 +252,7 @@ from bandwidth.models.bridge_complete_callback import BridgeCompleteCallback as BridgeCompleteCallback from bandwidth.models.bridge_target_complete_callback import BridgeTargetCompleteCallback as BridgeTargetCompleteCallback from bandwidth.models.business_entity_type_enum import BusinessEntityTypeEnum as BusinessEntityTypeEnum +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum as BusinessRegistrationIssuingCountryEnum from bandwidth.models.business_registration_type_enum import BusinessRegistrationTypeEnum as BusinessRegistrationTypeEnum from bandwidth.models.call_direction_enum import CallDirectionEnum as CallDirectionEnum from bandwidth.models.call_recording_metadata import CallRecordingMetadata as CallRecordingMetadata diff --git a/bandwidth/models/__init__.py b/bandwidth/models/__init__.py index 58a7cc68..abab5129 100644 --- a/bandwidth/models/__init__.py +++ b/bandwidth/models/__init__.py @@ -23,6 +23,7 @@ from bandwidth.models.bridge_complete_callback import BridgeCompleteCallback from bandwidth.models.bridge_target_complete_callback import BridgeTargetCompleteCallback from bandwidth.models.business_entity_type_enum import BusinessEntityTypeEnum +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum from bandwidth.models.business_registration_type_enum import BusinessRegistrationTypeEnum from bandwidth.models.call_direction_enum import CallDirectionEnum from bandwidth.models.call_recording_metadata import CallRecordingMetadata diff --git a/bandwidth/models/business_entity_type_enum.py b/bandwidth/models/business_entity_type_enum.py index 72784b37..6b17ac2d 100644 --- a/bandwidth/models/business_entity_type_enum.py +++ b/bandwidth/models/business_entity_type_enum.py @@ -21,7 +21,7 @@ class BusinessEntityTypeEnum(str, Enum): """ - The type of registered business. If no option is applicable, please provide \"SOLE_PROPRIETOR\" as a value. Optional until early 2026; required if `businessRegistrationNumber` is provided. Available starting October 1st, 2025. + The type of registered business. If no option is applicable, please provide \"SOLE_PROPRIETOR\" as a value. """ """ diff --git a/bandwidth/models/business_registration_issuing_country_enum.py b/bandwidth/models/business_registration_issuing_country_enum.py new file mode 100644 index 00000000..2c40769e --- /dev/null +++ b/bandwidth/models/business_registration_issuing_country_enum.py @@ -0,0 +1,49 @@ +# coding: utf-8 + +""" + Bandwidth + + Bandwidth's Communication APIs + + The version of the OpenAPI document: 1.0.0 + Contact: letstalk@bandwidth.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class BusinessRegistrationIssuingCountryEnum(str, Enum): + """ + The country issuing the business registration in ISO-3166-1 alpha-3 format. | Registration Type | Supported Countries | |----------------------|------------------------------------| | EIN | USA | | CBN | CAN | | NEQ | CAN | | PROVINCIAL_NUMBER | CAN | | CRN | GBR, HKG | | VAT | GBR, IRL, BRA, NLD | | ACN | AUS | | ABN | AUS | | BRN | HKG | | SIREN | FRA | | SIRET | FRA | | NZBN | NZL | | UST_IDNR | DEU | | CIF | ESP | | NIF | ESP | | CNPJ | BRA | | UID | CHE | | OTHER | Must Provide Country Code | + """ + + """ + allowed enum values + """ + USA = 'USA' + CAN = 'CAN' + HKG = 'HKG' + GBR = 'GBR' + IRL = 'IRL' + BRA = 'BRA' + NLD = 'NLD' + AUS = 'AUS' + FRA = 'FRA' + NZL = 'NZL' + DEU = 'DEU' + ESP = 'ESP' + CHE = 'CHE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of BusinessRegistrationIssuingCountryEnum from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/bandwidth/models/business_registration_type_enum.py b/bandwidth/models/business_registration_type_enum.py index 9f8e02c0..1c78e389 100644 --- a/bandwidth/models/business_registration_type_enum.py +++ b/bandwidth/models/business_registration_type_enum.py @@ -21,7 +21,7 @@ class BusinessRegistrationTypeEnum(str, Enum): """ - The type of business registration number. Optional until early 2026; required if `businessRegistrationNumber` is provided. Available starting October 1st, 2025. + The type of business registration number. """ """ @@ -29,6 +29,22 @@ class BusinessRegistrationTypeEnum(str, Enum): """ EIN = 'EIN' CBN = 'CBN' + NEQ = 'NEQ' + PROVINCIAL_NUMBER = 'PROVINCIAL_NUMBER' + CRN = 'CRN' + VAT = 'VAT' + ACN = 'ACN' + ABN = 'ABN' + BRN = 'BRN' + SIREN = 'SIREN' + SIRET = 'SIRET' + NZBN = 'NZBN' + UST_IDNR = 'UST_IDNR' + CIF = 'CIF' + NIF = 'NIF' + CNPJ = 'CNPJ' + UID = 'UID' + OTHER = 'OTHER' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/bandwidth/models/tfv_submission_info.py b/bandwidth/models/tfv_submission_info.py index aada3917..f1118c32 100644 --- a/bandwidth/models/tfv_submission_info.py +++ b/bandwidth/models/tfv_submission_info.py @@ -23,6 +23,7 @@ from typing_extensions import Annotated from bandwidth.models.address import Address from bandwidth.models.business_entity_type_enum import BusinessEntityTypeEnum +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum from bandwidth.models.business_registration_type_enum import BusinessRegistrationTypeEnum from bandwidth.models.contact import Contact from bandwidth.models.opt_in_workflow import OptInWorkflow @@ -45,11 +46,12 @@ class TfvSubmissionInfo(BaseModel): privacy_policy_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl") terms_and_conditions_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl") business_dba: Optional[StrictStr] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba") - business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025.", alias="businessRegistrationNumber") + business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number.", alias="businessRegistrationNumber") business_registration_type: Optional[BusinessRegistrationTypeEnum] = Field(default=None, alias="businessRegistrationType") + business_registration_issuing_country: Optional[BusinessRegistrationIssuingCountryEnum] = Field(default=None, alias="businessRegistrationIssuingCountry") business_entity_type: Optional[BusinessEntityTypeEnum] = Field(default=None, alias="businessEntityType") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["businessAddress", "businessContact", "messageVolume", "useCase", "useCaseSummary", "productionMessageContent", "optInWorkflow", "additionalInformation", "isvReseller", "privacyPolicyUrl", "termsAndConditionsUrl", "businessDba", "businessRegistrationNumber", "businessRegistrationType", "businessEntityType"] + __properties: ClassVar[List[str]] = ["businessAddress", "businessContact", "messageVolume", "useCase", "useCaseSummary", "productionMessageContent", "optInWorkflow", "additionalInformation", "isvReseller", "privacyPolicyUrl", "termsAndConditionsUrl", "businessDba", "businessRegistrationNumber", "businessRegistrationType", "businessRegistrationIssuingCountry", "businessEntityType"] model_config = ConfigDict( populate_by_name=True, @@ -126,11 +128,6 @@ def to_dict(self) -> Dict[str, Any]: if self.business_registration_type is None and "business_registration_type" in self.model_fields_set: _dict['businessRegistrationType'] = None - # set to None if business_entity_type (nullable) is None - # and model_fields_set contains the field - if self.business_entity_type is None and "business_entity_type" in self.model_fields_set: - _dict['businessEntityType'] = None - return _dict @classmethod @@ -157,6 +154,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "businessDba": obj.get("businessDba"), "businessRegistrationNumber": obj.get("businessRegistrationNumber"), "businessRegistrationType": obj.get("businessRegistrationType"), + "businessRegistrationIssuingCountry": obj.get("businessRegistrationIssuingCountry"), "businessEntityType": obj.get("businessEntityType") }) # store additional fields in additional_properties diff --git a/bandwidth/models/verification_request.py b/bandwidth/models/verification_request.py index 66709a00..a3fa4234 100644 --- a/bandwidth/models/verification_request.py +++ b/bandwidth/models/verification_request.py @@ -23,6 +23,7 @@ from typing_extensions import Annotated from bandwidth.models.address import Address from bandwidth.models.business_entity_type_enum import BusinessEntityTypeEnum +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum from bandwidth.models.business_registration_type_enum import BusinessRegistrationTypeEnum from bandwidth.models.contact import Contact from bandwidth.models.opt_in_workflow import OptInWorkflow @@ -46,14 +47,15 @@ class VerificationRequest(BaseModel): privacy_policy_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl") terms_and_conditions_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl") business_dba: Optional[StrictStr] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba") - business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025.", alias="businessRegistrationNumber") + business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number.", alias="businessRegistrationNumber") business_registration_type: Optional[BusinessRegistrationTypeEnum] = Field(default=None, alias="businessRegistrationType") - business_entity_type: Optional[BusinessEntityTypeEnum] = Field(default=None, alias="businessEntityType") + business_registration_issuing_country: Optional[BusinessRegistrationIssuingCountryEnum] = Field(default=None, alias="businessRegistrationIssuingCountry") + business_entity_type: BusinessEntityTypeEnum = Field(alias="businessEntityType") help_message_response: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="A message that gets sent to users requesting help.", alias="helpMessageResponse") age_gated_content: Optional[StrictBool] = Field(default=None, description="Indicates whether the content is age-gated.", alias="ageGatedContent") cv_token: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="The token provided by Campaign Verify to validate your political use case. Only required for 527 political organizations. If you are not a 527 political organization, this field should be omitted. Supplying an empty string will likely result in rejection.", alias="cvToken") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["businessAddress", "businessContact", "messageVolume", "phoneNumbers", "useCase", "useCaseSummary", "productionMessageContent", "optInWorkflow", "additionalInformation", "isvReseller", "privacyPolicyUrl", "termsAndConditionsUrl", "businessDba", "businessRegistrationNumber", "businessRegistrationType", "businessEntityType", "helpMessageResponse", "ageGatedContent", "cvToken"] + __properties: ClassVar[List[str]] = ["businessAddress", "businessContact", "messageVolume", "phoneNumbers", "useCase", "useCaseSummary", "productionMessageContent", "optInWorkflow", "additionalInformation", "isvReseller", "privacyPolicyUrl", "termsAndConditionsUrl", "businessDba", "businessRegistrationNumber", "businessRegistrationType", "businessRegistrationIssuingCountry", "businessEntityType", "helpMessageResponse", "ageGatedContent", "cvToken"] model_config = ConfigDict( populate_by_name=True, @@ -130,11 +132,6 @@ def to_dict(self) -> Dict[str, Any]: if self.business_registration_type is None and "business_registration_type" in self.model_fields_set: _dict['businessRegistrationType'] = None - # set to None if business_entity_type (nullable) is None - # and model_fields_set contains the field - if self.business_entity_type is None and "business_entity_type" in self.model_fields_set: - _dict['businessEntityType'] = None - # set to None if help_message_response (nullable) is None # and model_fields_set contains the field if self.help_message_response is None and "help_message_response" in self.model_fields_set: @@ -172,6 +169,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "businessDba": obj.get("businessDba"), "businessRegistrationNumber": obj.get("businessRegistrationNumber"), "businessRegistrationType": obj.get("businessRegistrationType"), + "businessRegistrationIssuingCountry": obj.get("businessRegistrationIssuingCountry"), "businessEntityType": obj.get("businessEntityType"), "helpMessageResponse": obj.get("helpMessageResponse"), "ageGatedContent": obj.get("ageGatedContent"), diff --git a/bandwidth/models/verification_update_request.py b/bandwidth/models/verification_update_request.py index 3ffb7528..1dce7948 100644 --- a/bandwidth/models/verification_update_request.py +++ b/bandwidth/models/verification_update_request.py @@ -23,6 +23,7 @@ from typing_extensions import Annotated from bandwidth.models.address import Address from bandwidth.models.business_entity_type_enum import BusinessEntityTypeEnum +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum from bandwidth.models.business_registration_type_enum import BusinessRegistrationTypeEnum from bandwidth.models.contact import Contact from bandwidth.models.opt_in_workflow import OptInWorkflow @@ -45,14 +46,15 @@ class VerificationUpdateRequest(BaseModel): privacy_policy_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl") terms_and_conditions_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl") business_dba: Optional[StrictStr] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba") - business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025.", alias="businessRegistrationNumber") + business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number.", alias="businessRegistrationNumber") business_registration_type: Optional[BusinessRegistrationTypeEnum] = Field(default=None, alias="businessRegistrationType") business_entity_type: Optional[BusinessEntityTypeEnum] = Field(default=None, alias="businessEntityType") + business_registration_issuing_country: Optional[BusinessRegistrationIssuingCountryEnum] = Field(default=None, alias="businessRegistrationIssuingCountry") help_message_response: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="A message that gets sent to users requesting help.", alias="helpMessageResponse") age_gated_content: Optional[StrictBool] = Field(default=None, description="Indicates whether the content is age-gated.", alias="ageGatedContent") cv_token: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="The token provided by Campaign Verify to validate your political use case. Only required for 527 political organizations. If you are not a 527 political organization, this field should be omitted. Supplying an empty string will likely result in rejection.", alias="cvToken") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["businessAddress", "businessContact", "messageVolume", "useCase", "useCaseSummary", "productionMessageContent", "optInWorkflow", "additionalInformation", "isvReseller", "privacyPolicyUrl", "termsAndConditionsUrl", "businessDba", "businessRegistrationNumber", "businessRegistrationType", "businessEntityType", "helpMessageResponse", "ageGatedContent", "cvToken"] + __properties: ClassVar[List[str]] = ["businessAddress", "businessContact", "messageVolume", "useCase", "useCaseSummary", "productionMessageContent", "optInWorkflow", "additionalInformation", "isvReseller", "privacyPolicyUrl", "termsAndConditionsUrl", "businessDba", "businessRegistrationNumber", "businessRegistrationType", "businessEntityType", "businessRegistrationIssuingCountry", "helpMessageResponse", "ageGatedContent", "cvToken"] model_config = ConfigDict( populate_by_name=True, @@ -129,11 +131,6 @@ def to_dict(self) -> Dict[str, Any]: if self.business_registration_type is None and "business_registration_type" in self.model_fields_set: _dict['businessRegistrationType'] = None - # set to None if business_entity_type (nullable) is None - # and model_fields_set contains the field - if self.business_entity_type is None and "business_entity_type" in self.model_fields_set: - _dict['businessEntityType'] = None - # set to None if help_message_response (nullable) is None # and model_fields_set contains the field if self.help_message_response is None and "help_message_response" in self.model_fields_set: @@ -171,6 +168,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "businessRegistrationNumber": obj.get("businessRegistrationNumber"), "businessRegistrationType": obj.get("businessRegistrationType"), "businessEntityType": obj.get("businessEntityType"), + "businessRegistrationIssuingCountry": obj.get("businessRegistrationIssuingCountry"), "helpMessageResponse": obj.get("helpMessageResponse"), "ageGatedContent": obj.get("ageGatedContent"), "cvToken": obj.get("cvToken") diff --git a/docs/BusinessEntityTypeEnum.md b/docs/BusinessEntityTypeEnum.md index 99f0d66e..81844eff 100644 --- a/docs/BusinessEntityTypeEnum.md +++ b/docs/BusinessEntityTypeEnum.md @@ -1,6 +1,6 @@ # BusinessEntityTypeEnum -The type of registered business. If no option is applicable, please provide \"SOLE_PROPRIETOR\" as a value. Optional until early 2026; required if `businessRegistrationNumber` is provided. Available starting October 1st, 2025. +The type of registered business. If no option is applicable, please provide \"SOLE_PROPRIETOR\" as a value. ## Enum diff --git a/docs/BusinessRegistrationIssuingCountryEnum.md b/docs/BusinessRegistrationIssuingCountryEnum.md new file mode 100644 index 00000000..70459eca --- /dev/null +++ b/docs/BusinessRegistrationIssuingCountryEnum.md @@ -0,0 +1,35 @@ +# BusinessRegistrationIssuingCountryEnum + +The country issuing the business registration in ISO-3166-1 alpha-3 format. | Registration Type | Supported Countries | |----------------------|------------------------------------| | EIN | USA | | CBN | CAN | | NEQ | CAN | | PROVINCIAL_NUMBER | CAN | | CRN | GBR, HKG | | VAT | GBR, IRL, BRA, NLD | | ACN | AUS | | ABN | AUS | | BRN | HKG | | SIREN | FRA | | SIRET | FRA | | NZBN | NZL | | UST_IDNR | DEU | | CIF | ESP | | NIF | ESP | | CNPJ | BRA | | UID | CHE | | OTHER | Must Provide Country Code | + +## Enum + +* `USA` (value: `'USA'`) + +* `CAN` (value: `'CAN'`) + +* `HKG` (value: `'HKG'`) + +* `GBR` (value: `'GBR'`) + +* `IRL` (value: `'IRL'`) + +* `BRA` (value: `'BRA'`) + +* `NLD` (value: `'NLD'`) + +* `AUS` (value: `'AUS'`) + +* `FRA` (value: `'FRA'`) + +* `NZL` (value: `'NZL'`) + +* `DEU` (value: `'DEU'`) + +* `ESP` (value: `'ESP'`) + +* `CHE` (value: `'CHE'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BusinessRegistrationTypeEnum.md b/docs/BusinessRegistrationTypeEnum.md index cfcf8af1..fb15fb9c 100644 --- a/docs/BusinessRegistrationTypeEnum.md +++ b/docs/BusinessRegistrationTypeEnum.md @@ -1,6 +1,6 @@ # BusinessRegistrationTypeEnum -The type of business registration number. Optional until early 2026; required if `businessRegistrationNumber` is provided. Available starting October 1st, 2025. +The type of business registration number. ## Enum @@ -8,6 +8,38 @@ The type of business registration number. Optional until early 2026; required if * `CBN` (value: `'CBN'`) +* `NEQ` (value: `'NEQ'`) + +* `PROVINCIAL_NUMBER` (value: `'PROVINCIAL_NUMBER'`) + +* `CRN` (value: `'CRN'`) + +* `VAT` (value: `'VAT'`) + +* `ACN` (value: `'ACN'`) + +* `ABN` (value: `'ABN'`) + +* `BRN` (value: `'BRN'`) + +* `SIREN` (value: `'SIREN'`) + +* `SIRET` (value: `'SIRET'`) + +* `NZBN` (value: `'NZBN'`) + +* `UST_IDNR` (value: `'UST_IDNR'`) + +* `CIF` (value: `'CIF'`) + +* `NIF` (value: `'NIF'`) + +* `CNPJ` (value: `'CNPJ'`) + +* `UID` (value: `'UID'`) + +* `OTHER` (value: `'OTHER'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/TfvSubmissionInfo.md b/docs/TfvSubmissionInfo.md index f1a3f8de..701bc8ce 100644 --- a/docs/TfvSubmissionInfo.md +++ b/docs/TfvSubmissionInfo.md @@ -17,8 +17,9 @@ Name | Type | Description | Notes **privacy_policy_url** | **str** | The Toll-Free Verification request privacy policy URL. | [optional] **terms_and_conditions_url** | **str** | The Toll-Free Verification request terms and conditions policy URL. | [optional] **business_dba** | **str** | The company 'Doing Business As'. | [optional] -**business_registration_number** | **str** | US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025. | [optional] +**business_registration_number** | **str** | Government-issued business identifying number. | [optional] **business_registration_type** | [**BusinessRegistrationTypeEnum**](BusinessRegistrationTypeEnum.md) | | [optional] +**business_registration_issuing_country** | [**BusinessRegistrationIssuingCountryEnum**](BusinessRegistrationIssuingCountryEnum.md) | | [optional] **business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] ## Example diff --git a/docs/VerificationRequest.md b/docs/VerificationRequest.md index c95ce95d..99e8b9cb 100644 --- a/docs/VerificationRequest.md +++ b/docs/VerificationRequest.md @@ -18,9 +18,10 @@ Name | Type | Description | Notes **privacy_policy_url** | **str** | The Toll-Free Verification request privacy policy URL. | [optional] **terms_and_conditions_url** | **str** | The Toll-Free Verification request terms and conditions policy URL. | [optional] **business_dba** | **str** | The company 'Doing Business As'. | [optional] -**business_registration_number** | **str** | US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025. | [optional] +**business_registration_number** | **str** | Government-issued business identifying number. | [optional] **business_registration_type** | [**BusinessRegistrationTypeEnum**](BusinessRegistrationTypeEnum.md) | | [optional] -**business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] +**business_registration_issuing_country** | [**BusinessRegistrationIssuingCountryEnum**](BusinessRegistrationIssuingCountryEnum.md) | | [optional] +**business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | **help_message_response** | **str** | A message that gets sent to users requesting help. | [optional] **age_gated_content** | **bool** | Indicates whether the content is age-gated. | [optional] **cv_token** | **str** | The token provided by Campaign Verify to validate your political use case. Only required for 527 political organizations. If you are not a 527 political organization, this field should be omitted. Supplying an empty string will likely result in rejection. | [optional] diff --git a/docs/VerificationUpdateRequest.md b/docs/VerificationUpdateRequest.md index f8f06662..f67cb6c6 100644 --- a/docs/VerificationUpdateRequest.md +++ b/docs/VerificationUpdateRequest.md @@ -17,9 +17,10 @@ Name | Type | Description | Notes **privacy_policy_url** | **str** | The Toll-Free Verification request privacy policy URL. | [optional] **terms_and_conditions_url** | **str** | The Toll-Free Verification request terms and conditions policy URL. | [optional] **business_dba** | **str** | The company 'Doing Business As'. | [optional] -**business_registration_number** | **str** | US Federal Tax ID Number (EIN) or Canada Business Number (CBN). Optional until early 2026. If a value is provided for this field, a value must be provided for `businessRegistrationType` and `businessEntityType`. Available starting October 1st, 2025. | [optional] +**business_registration_number** | **str** | Government-issued business identifying number. | [optional] **business_registration_type** | [**BusinessRegistrationTypeEnum**](BusinessRegistrationTypeEnum.md) | | [optional] **business_entity_type** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] +**business_registration_issuing_country** | [**BusinessRegistrationIssuingCountryEnum**](BusinessRegistrationIssuingCountryEnum.md) | | [optional] **help_message_response** | **str** | A message that gets sent to users requesting help. | [optional] **age_gated_content** | **bool** | Indicates whether the content is age-gated. | [optional] **cv_token** | **str** | The token provided by Campaign Verify to validate your political use case. Only required for 527 political organizations. If you are not a 527 political organization, this field should be omitted. Supplying an empty string will likely result in rejection. | [optional] diff --git a/test/unit/api/test_toll_free_verification_api.py b/test/unit/api/test_toll_free_verification_api.py index 54ad7cbd..8c97d294 100644 --- a/test/unit/api/test_toll_free_verification_api.py +++ b/test/unit/api/test_toll_free_verification_api.py @@ -37,6 +37,7 @@ from bandwidth.models.tfv_submission_wrapper import TfvSubmissionWrapper from bandwidth.models.tfv_submission_info import TfvSubmissionInfo from bandwidth.models.business_registration_type_enum import BusinessRegistrationTypeEnum +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum from bandwidth.models.business_entity_type_enum import BusinessEntityTypeEnum @@ -98,6 +99,7 @@ def setUpClass(cls) -> None: 'businessDba': 'businessDba', 'businessRegistrationNumber': 'businessRegistrationNumber', 'businessRegistrationType': BusinessRegistrationTypeEnum.EIN, + 'businessRegistrationIssuingCountry': BusinessRegistrationIssuingCountryEnum.USA, 'businessEntityType': BusinessEntityTypeEnum.NON_PROFIT, 'helpMessageResponse': 'helpMessageResponse', 'ageGatedContent': True, diff --git a/test/unit/models/test_business_registration_issuing_country_enum.py b/test/unit/models/test_business_registration_issuing_country_enum.py new file mode 100644 index 00000000..6895cc90 --- /dev/null +++ b/test/unit/models/test_business_registration_issuing_country_enum.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + Bandwidth + + Bandwidth's Communication APIs + + The version of the OpenAPI document: 1.0.0 + Contact: letstalk@bandwidth.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from bandwidth.models.business_registration_issuing_country_enum import BusinessRegistrationIssuingCountryEnum + +class TestBusinessRegistrationIssuingCountryEnum(unittest.TestCase): + """BusinessRegistrationIssuingCountryEnum unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testBusinessRegistrationIssuingCountryEnum(self): + """Test BusinessRegistrationIssuingCountryEnum""" + assert BusinessRegistrationIssuingCountryEnum('USA') == 'USA' + assert BusinessRegistrationIssuingCountryEnum('CAN') == 'CAN' + assert BusinessRegistrationIssuingCountryEnum('HKG') == 'HKG' + assert BusinessRegistrationIssuingCountryEnum('GBR') == 'GBR' + assert BusinessRegistrationIssuingCountryEnum('IRL') == 'IRL' + assert BusinessRegistrationIssuingCountryEnum('BRA') == 'BRA' + assert BusinessRegistrationIssuingCountryEnum('NLD') == 'NLD' + assert BusinessRegistrationIssuingCountryEnum('AUS') == 'AUS' + assert BusinessRegistrationIssuingCountryEnum('FRA') == 'FRA' + assert BusinessRegistrationIssuingCountryEnum('NZL') == 'NZL' + assert BusinessRegistrationIssuingCountryEnum('DEU') == 'DEU' + assert BusinessRegistrationIssuingCountryEnum('ESP') == 'ESP' + assert BusinessRegistrationIssuingCountryEnum('CHE') == 'CHE' + + +if __name__ == '__main__': + unittest.main() diff --git a/test/unit/models/test_business_registration_type_enum.py b/test/unit/models/test_business_registration_type_enum.py index ea587f66..ad133e10 100644 --- a/test/unit/models/test_business_registration_type_enum.py +++ b/test/unit/models/test_business_registration_type_enum.py @@ -30,6 +30,22 @@ def testBusinessRegistrationTypeEnum(self): """Test BusinessRegistrationTypeEnum""" assert BusinessRegistrationTypeEnum('EIN') == 'EIN' assert BusinessRegistrationTypeEnum('CBN') == 'CBN' + assert BusinessRegistrationTypeEnum('NEQ') == 'NEQ' + assert BusinessRegistrationTypeEnum('PROVINCIAL_NUMBER') == 'PROVINCIAL_NUMBER' + assert BusinessRegistrationTypeEnum('CRN') == 'CRN' + assert BusinessRegistrationTypeEnum('VAT') == 'VAT' + assert BusinessRegistrationTypeEnum('ACN') == 'ACN' + assert BusinessRegistrationTypeEnum('ABN') == 'ABN' + assert BusinessRegistrationTypeEnum('BRN') == 'BRN' + assert BusinessRegistrationTypeEnum('SIREN') == 'SIREN' + assert BusinessRegistrationTypeEnum('SIRET') == 'SIRET' + assert BusinessRegistrationTypeEnum('NZBN') == 'NZBN' + assert BusinessRegistrationTypeEnum('UST_IDNR') == 'UST_IDNR' + assert BusinessRegistrationTypeEnum('CIF') == 'CIF' + assert BusinessRegistrationTypeEnum('NIF') == 'NIF' + assert BusinessRegistrationTypeEnum('CNPJ') == 'CNPJ' + assert BusinessRegistrationTypeEnum('UID') == 'UID' + assert BusinessRegistrationTypeEnum('OTHER') == 'OTHER' diff --git a/test/unit/models/test_tfv_submission_info.py b/test/unit/models/test_tfv_submission_info.py index 1f55c39e..68648933 100644 --- a/test/unit/models/test_tfv_submission_info.py +++ b/test/unit/models/test_tfv_submission_info.py @@ -66,6 +66,7 @@ def make_instance(self, include_optional) -> TfvSubmissionInfo: business_dba = 'Bandwidth Inc.', business_registration_number = '12-3456789', business_registration_type = 'EIN', + business_registration_issuing_country = 'USA', business_entity_type = 'SOLE_PROPRIETOR' ) else: @@ -107,6 +108,7 @@ def testTfvSubmissionInfo(self): assert instance.business_dba == 'Bandwidth Inc.' assert instance.business_registration_number == '12-3456789' assert instance.business_registration_type == 'EIN' + assert instance.business_registration_issuing_country == 'USA' assert instance.business_entity_type == 'SOLE_PROPRIETOR' if __name__ == '__main__': diff --git a/test/unit/models/test_verification_request.py b/test/unit/models/test_verification_request.py index d4fa76ce..52802777 100644 --- a/test/unit/models/test_verification_request.py +++ b/test/unit/models/test_verification_request.py @@ -69,6 +69,7 @@ def make_instance(self, include_optional) -> VerificationRequest: business_dba = 'Bandwidth Inc.', business_registration_number = '12-3456789', business_registration_type = 'EIN', + business_registration_issuing_country = 'USA', business_entity_type = 'SOLE_PROPRIETOR', help_message_response = 'Please contact support for assistance.', age_gated_content = False, @@ -142,6 +143,7 @@ def testVerificationRequest(self): assert instance.business_dba == 'Bandwidth Inc.' assert instance.business_registration_number == '12-3456789' assert instance.business_registration_type == 'EIN' + assert instance.business_registration_issuing_country == 'USA' assert instance.business_entity_type == 'SOLE_PROPRIETOR' assert instance.help_message_response == 'Please contact support for assistance.' assert instance.age_gated_content == False diff --git a/test/unit/models/test_verification_update_request.py b/test/unit/models/test_verification_update_request.py index ea60a3fb..f7cf39b5 100644 --- a/test/unit/models/test_verification_update_request.py +++ b/test/unit/models/test_verification_update_request.py @@ -66,6 +66,7 @@ def make_instance(self, include_optional) -> VerificationUpdateRequest: business_dba = 'Bandwidth Inc.', business_registration_number = '12-3456789', business_registration_type = 'EIN', + business_registration_issuing_country = 'USA', business_entity_type = 'SOLE_PROPRIETOR', help_message_response = 'Please contact support for assistance.', age_gated_content = False, @@ -133,6 +134,7 @@ def testVerificationUpdateRequest(self): assert instance.business_dba == 'Bandwidth Inc.' assert instance.business_registration_number == '12-3456789' assert instance.business_registration_type == 'EIN' + assert instance.business_registration_issuing_country == 'USA' assert instance.business_entity_type == 'SOLE_PROPRIETOR' assert instance.help_message_response == 'Please contact support for assistance.' assert instance.age_gated_content == False