Skip to content

Commit e32998a

Browse files
authored
Merge branch 'main' into brtc-python-sdk
2 parents f0da7e3 + 8fa2278 commit e32998a

18 files changed

Lines changed: 99 additions & 33 deletions

bandwidth.yml

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2131,8 +2131,10 @@ components:
21312131
type: string
21322132
contentLength:
21332133
type: integer
2134+
example: 1024
21342135
mediaName:
21352136
type: string
2137+
example: image.png
21362138
segmentCount:
21372139
type: integer
21382140
description: >-
@@ -2919,6 +2921,7 @@ components:
29192921
discriminator:
29202922
propertyName: type
29212923
mapping:
2924+
message-sending: '#/components/schemas/statusCallback'
29222925
message-sent: '#/components/schemas/statusCallback'
29232926
message-delivered: '#/components/schemas/statusCallback'
29242927
message-failed: '#/components/schemas/statusCallback'
@@ -5685,10 +5688,14 @@ components:
56855688
56865689
- UNKNOWN: Bandwidth cannot find an delivery status entry for the
56875690
number.
5691+
5692+
- NOT_ENABLED: The phone number is not enabled for messaging, so there
5693+
is no delivery status information.
56885694
enum:
56895695
- ACTIVE
56905696
- DEACTIVATED
56915697
- UNKNOWN
5698+
- NOT_ENABLED
56925699
lineTypeEnum:
56935700
type: string
56945701
enum:
@@ -5991,25 +5998,36 @@ components:
59915998
type: string
59925999
privacyPolicyUrl:
59936000
description: The Toll-Free Verification request privacy policy URL.
6001+
maxLength: 500
59946002
example: http://your-company.com/privacyPolicy
59956003
type: string
59966004
termsAndConditionsUrl:
59976005
description: The Toll-Free Verification request terms and conditions policy URL.
6006+
maxLength: 500
59986007
example: http://your-company.com/termsAndConditions
59996008
type: string
60006009
businessDba:
60016010
description: The company 'Doing Business As'.
6011+
maxLength: 500
60026012
example: Another Company Name Inc.
60036013
type: string
60046014
businessRegistrationNumber:
60056015
type: string
6006-
description: Government-issued business identifying number.
6016+
description: >
6017+
Government-issued business identifying number.
6018+
6019+
6020+
**Note:** If this field is provided, it is strongly recommended to also
6021+
provide `businessRegistrationType` and
6022+
`businessRegistrationIssuingCountry`. Submissions missing these fields
6023+
have a high likelihood of rejection.
60076024
nullable: true
60086025
maxLength: 500
60096026
example: 12-3456789
60106027
businessRegistrationTypeEnum:
60116028
type: string
6012-
description: The type of business registration number.
6029+
description: |
6030+
The type of business registration number.
60136031
enum:
60146032
- EIN
60156033
- CBN
@@ -6029,12 +6047,22 @@ components:
60296047
- CNPJ
60306048
- UID
60316049
- OTHER
6050+
example: EIN
60326051
nullable: true
60336052
businessRegistrationIssuingCountryEnum:
60346053
type: string
60356054
description: >-
60366055
The country issuing the business registration in ISO-3166-1 alpha-3
6037-
format.
6056+
format. Alpha-2 country codes are acceptable, but the application will
6057+
convert them to alpha-3 when received, so alpha-3 is encouraged.
6058+
6059+
6060+
**Note:** If this field is omitted but `businessRegistrationType` is
6061+
provided, the application will attempt to infer the country based on the
6062+
registration type. However, if the application cannot confidently infer
6063+
the country, the submission may be rejected. To ensure the highest
6064+
likelihood of acceptance, it is recommended to provide both
6065+
`businessRegistrationType` and `businessRegistrationIssuingCountry`.
60386066
60396067
60406068
| Registration Type | Supported Countries |
@@ -6090,18 +6118,23 @@ components:
60906118
- DEU
60916119
- ESP
60926120
- CHE
6121+
- CYP
6122+
- IND
6123+
- CHN
6124+
- BGR
6125+
example: USA
60936126
nullable: false
60946127
businessEntityTypeEnum:
60956128
type: string
6096-
description: >-
6097-
The type of registered business. If no option is applicable, please
6098-
provide "SOLE_PROPRIETOR" as a value.
6129+
description: |
6130+
The type of registered business.
60996131
enum:
61006132
- SOLE_PROPRIETOR
61016133
- PRIVATE_PROFIT
61026134
- PUBLIC_PROFIT
61036135
- NON_PROFIT
61046136
- GOVERNMENT
6137+
example: PRIVATE_PROFIT
61056138
nullable: false
61066139
helpMessageResponse:
61076140
type: string
@@ -6751,10 +6784,14 @@ components:
67516784
$ref: '#/components/schemas/businessDba'
67526785
businessRegistrationNumber:
67536786
$ref: '#/components/schemas/businessRegistrationNumber'
6787+
description: Government-issued business identifying number.
67546788
businessRegistrationType:
67556789
$ref: '#/components/schemas/businessRegistrationTypeEnum'
67566790
businessRegistrationIssuingCountry:
67576791
$ref: '#/components/schemas/businessRegistrationIssuingCountryEnum'
6792+
description: >-
6793+
The country issuing the business registration in ISO-3166-1 alpha-3
6794+
format.
67586795
businessEntityType:
67596796
$ref: '#/components/schemas/businessEntityTypeEnum'
67606797
tfvStatusEnum:
@@ -8727,7 +8764,7 @@ components:
87278764
latestMessageDeliveryStatusDate: '2025-05-18'
87288765
- phoneNumber: '+10072904498'
87298766
countryCodeA3: USA
8730-
lineType: FIXED
8767+
lineType: MOBILE
87318768
voiceProvider: VERIZON
87328769
latestMessageDeliveryStatus: DEACTIVATED
87338770
initialMessageDeliveryStatusDate: '2025-09-05'
@@ -8741,6 +8778,14 @@ components:
87418778
deactivationDate: '2025-09-29 01:23:00'
87428779
deactivationEvent: DEACTIVATED
87438780
latestMessageDeliveryStatus: UNKNOWN
8781+
- phoneNumber: '+10072904500'
8782+
lineType: FIXED
8783+
countryCodeA3: USA
8784+
voiceProvider: VERIZON
8785+
deactivationReporter: Verizon Wireless
8786+
deactivationDate: '2025-09-29 01:23:00'
8787+
deactivationEvent: DEACTIVATED
8788+
latestMessageDeliveryStatus: NOT_ENABLED
87448789
errors: []
87458790
badRequestExample:
87468791
summary: Example Bad Request Error

bandwidth/models/business_entity_type_enum.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
class BusinessEntityTypeEnum(str, Enum):
2323
"""
24-
The type of registered business. If no option is applicable, please provide \"SOLE_PROPRIETOR\" as a value.
24+
The type of registered business.
2525
"""
2626

2727
"""

bandwidth/models/business_registration_issuing_country_enum.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
class BusinessRegistrationIssuingCountryEnum(str, Enum):
2323
"""
24-
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 |
24+
The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 country codes are acceptable, but the application will convert them to alpha-3 when received, so alpha-3 is encouraged. **Note:** If this field is omitted but `businessRegistrationType` is provided, the application will attempt to infer the country based on the registration type. However, if the application cannot confidently infer the country, the submission may be rejected. To ensure the highest likelihood of acceptance, it is recommended to provide both `businessRegistrationType` and `businessRegistrationIssuingCountry`. | 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 |
2525
"""
2626

2727
"""
@@ -40,6 +40,10 @@ class BusinessRegistrationIssuingCountryEnum(str, Enum):
4040
DEU = 'DEU'
4141
ESP = 'ESP'
4242
CHE = 'CHE'
43+
CYP = 'CYP'
44+
IND = 'IND'
45+
CHN = 'CHN'
46+
BGR = 'BGR'
4347

4448
@classmethod
4549
def from_json(cls, json_str: str) -> Self:

bandwidth/models/business_registration_type_enum.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
class BusinessRegistrationTypeEnum(str, Enum):
2323
"""
24-
The type of business registration number.
24+
The type of business registration number.
2525
"""
2626

2727
"""

bandwidth/models/callback.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class Callback(BaseModel):
5151
'message-failed': 'StatusCallback',
5252
'message-read': 'StatusCallback',
5353
'message-received': 'InboundCallback',
54+
'message-sending': 'StatusCallback',
5455
'message-sent': 'StatusCallback',
5556
'request-location-response': 'InboundCallback',
5657
'suggestion-response': 'InboundCallback'

bandwidth/models/latest_message_delivery_status_enum.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
class LatestMessageDeliveryStatusEnum(str, Enum):
2323
"""
24-
[DNI-Only](#section/DNI-Only). The current delivery status of the phone number. - ACTIVE: A message was successfully sent to the number (delivery code 0). - DEACTIVATED: A message was not delivered to a number (delivery code 720) - UNKNOWN: Bandwidth cannot find an delivery status entry for the number.
24+
[DNI-Only](#section/DNI-Only). The current delivery status of the phone number. - ACTIVE: A message was successfully sent to the number (delivery code 0). - DEACTIVATED: A message was not delivered to a number (delivery code 720) - UNKNOWN: Bandwidth cannot find an delivery status entry for the number. - NOT_ENABLED: The phone number is not enabled for messaging, so there is no delivery status information.
2525
"""
2626

2727
"""
@@ -30,6 +30,7 @@ class LatestMessageDeliveryStatusEnum(str, Enum):
3030
ACTIVE = 'ACTIVE'
3131
DEACTIVATED = 'DEACTIVATED'
3232
UNKNOWN = 'UNKNOWN'
33+
NOT_ENABLED = 'NOT_ENABLED'
3334

3435
@classmethod
3536
def from_json(cls, json_str: str) -> Self:

bandwidth/models/tfv_submission_info.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import re # noqa: F401
1919
import json
2020

21-
from pydantic import BaseModel, ConfigDict, Field, StrictStr
21+
from pydantic import BaseModel, ConfigDict, Field
2222
from typing import Any, ClassVar, Dict, List, Optional
2323
from typing_extensions import Annotated
2424
from bandwidth.models.address import Address
@@ -43,10 +43,10 @@ class TfvSubmissionInfo(BaseModel):
4343
opt_in_workflow: Optional[OptInWorkflow] = Field(default=None, alias="optInWorkflow")
4444
additional_information: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="Any additional information.", alias="additionalInformation")
4545
isv_reseller: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="ISV name.", alias="isvReseller")
46-
privacy_policy_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl")
47-
terms_and_conditions_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl")
48-
business_dba: Optional[StrictStr] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba")
49-
business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number.", alias="businessRegistrationNumber")
46+
privacy_policy_url: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl")
47+
terms_and_conditions_url: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl")
48+
business_dba: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba")
49+
business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number. **Note:** If this field is provided, it is strongly recommended to also provide `businessRegistrationType` and `businessRegistrationIssuingCountry`. Submissions missing these fields have a high likelihood of rejection. ", alias="businessRegistrationNumber")
5050
business_registration_type: Optional[BusinessRegistrationTypeEnum] = Field(default=None, alias="businessRegistrationType")
5151
business_registration_issuing_country: Optional[BusinessRegistrationIssuingCountryEnum] = Field(default=None, alias="businessRegistrationIssuingCountry")
5252
business_entity_type: Optional[BusinessEntityTypeEnum] = Field(default=None, alias="businessEntityType")

bandwidth/models/verification_request.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import re # noqa: F401
1919
import json
2020

21-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
21+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator
2222
from typing import Any, ClassVar, Dict, List, Optional
2323
from typing_extensions import Annotated
2424
from bandwidth.models.address import Address
@@ -44,10 +44,10 @@ class VerificationRequest(BaseModel):
4444
opt_in_workflow: OptInWorkflow = Field(alias="optInWorkflow")
4545
additional_information: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="Any additional information.", alias="additionalInformation")
4646
isv_reseller: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="ISV name.", alias="isvReseller")
47-
privacy_policy_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl")
48-
terms_and_conditions_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl")
49-
business_dba: Optional[StrictStr] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba")
50-
business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number.", alias="businessRegistrationNumber")
47+
privacy_policy_url: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl")
48+
terms_and_conditions_url: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl")
49+
business_dba: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba")
50+
business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number. **Note:** If this field is provided, it is strongly recommended to also provide `businessRegistrationType` and `businessRegistrationIssuingCountry`. Submissions missing these fields have a high likelihood of rejection. ", alias="businessRegistrationNumber")
5151
business_registration_type: Optional[BusinessRegistrationTypeEnum] = Field(default=None, alias="businessRegistrationType")
5252
business_registration_issuing_country: Optional[BusinessRegistrationIssuingCountryEnum] = Field(default=None, alias="businessRegistrationIssuingCountry")
5353
business_entity_type: BusinessEntityTypeEnum = Field(alias="businessEntityType")

bandwidth/models/verification_update_request.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import re # noqa: F401
1919
import json
2020

21-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21+
from pydantic import BaseModel, ConfigDict, Field, StrictBool
2222
from typing import Any, ClassVar, Dict, List, Optional
2323
from typing_extensions import Annotated
2424
from bandwidth.models.address import Address
@@ -43,10 +43,10 @@ class VerificationUpdateRequest(BaseModel):
4343
opt_in_workflow: OptInWorkflow = Field(alias="optInWorkflow")
4444
additional_information: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="Any additional information.", alias="additionalInformation")
4545
isv_reseller: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=500)]] = Field(default=None, description="ISV name.", alias="isvReseller")
46-
privacy_policy_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl")
47-
terms_and_conditions_url: Optional[StrictStr] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl")
48-
business_dba: Optional[StrictStr] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba")
49-
business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number.", alias="businessRegistrationNumber")
46+
privacy_policy_url: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The Toll-Free Verification request privacy policy URL.", alias="privacyPolicyUrl")
47+
terms_and_conditions_url: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The Toll-Free Verification request terms and conditions policy URL.", alias="termsAndConditionsUrl")
48+
business_dba: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="The company 'Doing Business As'.", alias="businessDba")
49+
business_registration_number: Optional[Annotated[str, Field(strict=True, max_length=500)]] = Field(default=None, description="Government-issued business identifying number. **Note:** If this field is provided, it is strongly recommended to also provide `businessRegistrationType` and `businessRegistrationIssuingCountry`. Submissions missing these fields have a high likelihood of rejection. ", alias="businessRegistrationNumber")
5050
business_registration_type: Optional[BusinessRegistrationTypeEnum] = Field(default=None, alias="businessRegistrationType")
5151
business_entity_type: Optional[BusinessEntityTypeEnum] = Field(default=None, alias="businessEntityType")
5252
business_registration_issuing_country: Optional[BusinessRegistrationIssuingCountryEnum] = Field(default=None, alias="businessRegistrationIssuingCountry")

docs/BusinessEntityTypeEnum.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# BusinessEntityTypeEnum
22

3-
The type of registered business. If no option is applicable, please provide \"SOLE_PROPRIETOR\" as a value.
3+
The type of registered business.
44

55
## Enum
66

0 commit comments

Comments
 (0)