diff --git a/.gitleaksignore b/.gitleaksignore
new file mode 100644
index 0000000..3d5d019
--- /dev/null
+++ b/.gitleaksignore
@@ -0,0 +1,2 @@
+# False positive: generated constructor parameter default, not a secret
+src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs:generic-credential-with-special-chars:74
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 93b86f0..e9ac4a8 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -294,9 +294,9 @@ paths:
- Media
put:
description: |-
- Upload a file. You may add headers to the request in order to provide some control to your media file.
+ Upload a file.
- If a file is uploaded with the same name as a file that already exists under this account, the previous file will be overwritten.
+ Filename should always be unique. Reusing filenames may result in the wrong media being sent.
A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
operationId: uploadMedia
@@ -331,8 +331,9 @@ paths:
schema:
type: string
style: simple
- - description: General-header field is used to specify directives that MUST
- be obeyed by all caching mechanisms along the request/response chain.
+ - description: Pass-through header stored with the media and returned when the
+ media is retrieved by the user. Does not affect internal server caching
+ behavior.
example: no-cache
explode: false
in: header
@@ -4836,7 +4837,12 @@ paths:
callbacks:
tfVerificationStatus:
$ref: '#/components/callbacks/tfVerificationStatus'
- description: Submit a request for verification of a toll-free phone number.
+ description: |-
+ Submit a request for verification of a toll-free phone number.
+
+ **Upcoming change (effective January 2027):** If any phone number in the request already has a verification in progress, the request will be rejected with a `409 Conflict`.
+ This check is all-or-nothing: if a single phone number conflicts, the entire request is rejected and **none** of the phone numbers in the request are submitted.
+ Today, these requests are accepted with a `202`.
operationId: requestTollFreeVerification
parameters:
- description: Your Bandwidth Account ID.
@@ -4893,6 +4899,16 @@ paths:
schema:
$ref: '#/components/schemas/tfvError'
description: Method Not Allowed
+ "409":
+ content:
+ application/json:
+ example:
+ description: "TFV request already in progress for phone number: +18005551234"
+ type: conflict
+ schema:
+ $ref: '#/components/schemas/tfvError'
+ description: Conflict. A toll-free verification for the phone number is
+ already in progress.
"429":
content:
application/json:
@@ -4928,7 +4944,10 @@ paths:
url: https://api.bandwidth.com/api/v2
/accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification:
delete:
- description: Delete a toll-free verification submission for a toll-free number.
+ description: |-
+ Delete a toll-free verification submission for a toll-free number.
+
+ **Upcoming change (effective January 2027):** If a verification for the phone number is in progress, it will be cancelled and the submission will then be deleted asynchronously.
operationId: deleteVerificationRequest
parameters:
- description: Your Bandwidth Account ID.
@@ -5140,6 +5159,9 @@ paths:
description: |-
Updates a toll-free verification request.
Submissions are only eligible for resubmission for 7 days within being processed and if resubmission is allowed (resubmitAllowed field is true).
+ Returns a `404` if no verification request exists for the phone number, and a `400` if the existing request is not eligible for resubmission.
+
+ **Upcoming change (effective January 2027):** If a verification for the phone number is in progress, the update will be rejected with a `409 Conflict`.
operationId: updateTollFreeVerificationRequest
parameters:
- description: Your Bandwidth Account ID.
@@ -5196,6 +5218,15 @@ paths:
schema:
$ref: '#/components/schemas/tfvError'
description: Forbidden
+ "404":
+ content:
+ application/json:
+ example:
+ description: Cannot find the requested resource.
+ type: Not Found
+ schema:
+ $ref: '#/components/schemas/tfvError'
+ description: Cannot find the requested resource.
"405":
content:
application/json:
@@ -5205,6 +5236,16 @@ paths:
schema:
$ref: '#/components/schemas/tfvError'
description: Method Not Allowed
+ "409":
+ content:
+ application/json:
+ example:
+ description: "TFV request already in progress for phone number: +18005551234"
+ type: conflict
+ schema:
+ $ref: '#/components/schemas/tfvError'
+ description: Conflict. A toll-free verification for the phone number is
+ already in progress.
"429":
content:
application/json:
@@ -7246,8 +7287,8 @@ components:
type: string
style: simple
cacheControl:
- description: General-header field is used to specify directives that MUST be
- obeyed by all caching mechanisms along the request/response chain.
+ description: Pass-through header stored with the media and returned when the
+ media is retrieved by the user. Does not affect internal server caching behavior.
example: no-cache
explode: false
in: header
@@ -8898,6 +8939,16 @@ components:
schema:
$ref: '#/components/schemas/tfvError'
description: Cannot find the requested resource.
+ tfvConflictResponse:
+ content:
+ application/json:
+ example:
+ description: "TFV request already in progress for phone number: +18005551234"
+ type: conflict
+ schema:
+ $ref: '#/components/schemas/tfvError'
+ description: Conflict. A toll-free verification for the phone number is already
+ in progress.
tfvNotAllowedResponse:
content:
application/json:
@@ -15080,7 +15131,7 @@ components:
description: |
Government-issued business identifying number.
- **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
+ **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
example: 12-3456789
maxLength: 500
nullable: true
@@ -15089,7 +15140,7 @@ components:
description: |
The type of business registration number.
- **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is provided.**
enum:
- EIN
- CBN
@@ -15116,7 +15167,7 @@ components:
description: |-
The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged.
- **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is provided.**
| Registration Type | Supported Countries |
|----------------------|------------------------------------|
@@ -15142,13 +15193,11 @@ components:
nullable: true
type: string
businessEntityTypeEnum:
- description: "The type of registered business.\n\n**Note: As of October 19th,\
- \ 2026 submissions using a value other than `SOLE_PROPRIETOR` must provide\
- \ a value for `businessRegistrationNumber`, `businessRegistrationType`, and\
- \ `businessRegistrationIssuingCountry`. \nSubmissions using `SOLE_PROPRIETOR`\
- \ must _omit_ `businessRegistrationNumber`, `businessRegistrationType`, and\
- \ `businessRegistrationIssuingCountry`. Failure to adhere to these constraints\
- \ will result in a 400 Bad Request rejection.**\n"
+ description: |
+ The type of registered business.
+
+ **Submissions using a value other than `SOLE_PROPRIETOR` must provide a value for `businessRegistrationNumber`, `businessRegistrationType`, and `businessRegistrationIssuingCountry`.
+ Submissions using `SOLE_PROPRIETOR` must _omit_ `businessRegistrationNumber`, `businessRegistrationType`, and `businessRegistrationIssuingCountry`. Failure to adhere to these constraints will result in a 400 Bad Request rejection.**
enum:
- SOLE_PROPRIETOR
- PRIVATE_PROFIT
@@ -15259,7 +15308,7 @@ components:
description: |
Government-issued business identifying number.
- **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
+ **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
example: 12-3456789
maxLength: 500
nullable: true
@@ -15270,7 +15319,7 @@ components:
description: |-
The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged.
- **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is provided.**
| Registration Type | Supported Countries |
|----------------------|------------------------------------|
@@ -15396,7 +15445,7 @@ components:
description: |
Government-issued business identifying number.
- **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
+ **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
example: 12-3456789
maxLength: 500
nullable: true
@@ -15409,7 +15458,7 @@ components:
description: |-
The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged.
- **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is provided.**
| Registration Type | Supported Countries |
|----------------------|------------------------------------|
@@ -15457,6 +15506,7 @@ components:
required:
- businessAddress
- businessContact
+ - businessEntityType
- messageVolume
- optInWorkflow
- productionMessageContent
@@ -16304,7 +16354,7 @@ components:
description: |
Government-issued business identifying number.
- **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
+ **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.**
example: 12-3456789
maxLength: 500
nullable: true
@@ -16315,7 +16365,7 @@ components:
description: |-
The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged.
- **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is provided.**
| Registration Type | Supported Countries |
|----------------------|------------------------------------|
diff --git a/bandwidth.yml b/bandwidth.yml
index 53949fe..6b44f54 100644
--- a/bandwidth.yml
+++ b/bandwidth.yml
@@ -88,12 +88,11 @@ paths:
put:
summary: Upload Media
description: >-
- Upload a file. You may add headers to the request in order to provide
- some control to your media file.
+ Upload a file.
- If a file is uploaded with the same name as a file that already exists
- under this account, the previous file will be overwritten.
+ Filename should always be unique. Reusing filenames may result in the
+ wrong media being sent.
A list of supported media types can be found at [Bandwidth
@@ -1404,7 +1403,19 @@ paths:
tags:
- Toll-Free Verification
summary: Request Toll-Free Verification
- description: Submit a request for verification of a toll-free phone number.
+ description: >-
+ Submit a request for verification of a toll-free phone number.
+
+
+ **Upcoming change (effective January 2027):** If any phone number in the
+ request already has a verification in progress, the request will be
+ rejected with a `409 Conflict`.
+
+ This check is all-or-nothing: if a single phone number conflicts, the
+ entire request is rejected and **none** of the phone numbers in the
+ request are submitted.
+
+ Today, these requests are accepted with a `202`.
operationId: requestTollFreeVerification
parameters:
- $ref: '#/components/parameters/accountId4'
@@ -1421,6 +1432,8 @@ paths:
$ref: '#/components/responses/tfvForbiddenResponse'
'405':
$ref: '#/components/responses/tfvNotAllowedResponse'
+ '409':
+ $ref: '#/components/responses/tfvConflictResponse'
'429':
$ref: '#/components/responses/tfvTooManyRequestsResponse'
'500':
@@ -1477,6 +1490,14 @@ paths:
Submissions are only eligible for resubmission for 7 days within being
processed and if resubmission is allowed (resubmitAllowed field is
true).
+
+ Returns a `404` if no verification request exists for the phone number,
+ and a `400` if the existing request is not eligible for resubmission.
+
+
+ **Upcoming change (effective January 2027):** If a verification for the
+ phone number is in progress, the update will be rejected with a `409
+ Conflict`.
operationId: updateTollFreeVerificationRequest
parameters:
- $ref: '#/components/parameters/accountId4'
@@ -1492,8 +1513,12 @@ paths:
$ref: '#/components/responses/tfvUnauthorizedResponse'
'403':
$ref: '#/components/responses/tfvForbiddenResponse'
+ '404':
+ $ref: '#/components/responses/tfvNotFoundResponse'
'405':
$ref: '#/components/responses/tfvNotAllowedResponse'
+ '409':
+ $ref: '#/components/responses/tfvConflictResponse'
'429':
$ref: '#/components/responses/tfvTooManyRequestsResponse'
'500':
@@ -1504,7 +1529,13 @@ paths:
tfVerificationStatus:
$ref: '#/components/callbacks/tfVerificationStatus'
delete:
- description: Delete a toll-free verification submission for a toll-free number.
+ description: >-
+ Delete a toll-free verification submission for a toll-free number.
+
+
+ **Upcoming change (effective January 2027):** If a verification for the
+ phone number is in progress, it will be cancelled and the submission
+ will then be deleted asynchronously.
operationId: deleteVerificationRequest
parameters:
- $ref: '#/components/parameters/accountId4'
@@ -6273,10 +6304,9 @@ components:
Government-issued business identifying number.
- **Note: As of October 19th, 2026 this field will be required when
- `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is
- provided, `businessRegistrationType` and
- `businessRegistrationIssuingCountry` are also required.**
+ **This field is required when `businessEntityType` is _not_
+ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType`
+ and `businessRegistrationIssuingCountry` are also required.**
nullable: true
maxLength: 500
example: 12-3456789
@@ -6286,8 +6316,8 @@ components:
The type of business registration number.
- **Note: As of October 19th, 2026 this field will be required when
- `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is
+ provided.**
enum:
- EIN
- CBN
@@ -6317,8 +6347,8 @@ components:
encouraged.
- **Note: As of October 19th, 2026 this field will be required when
- `businessRegistrationNumber` is provided.**
+ **This field is required when `businessRegistrationNumber` is
+ provided.**
| Registration Type | Supported Countries |
@@ -6368,9 +6398,9 @@ components:
The type of registered business.
- **Note: As of October 19th, 2026 submissions using a value other than
- `SOLE_PROPRIETOR` must provide a value for `businessRegistrationNumber`,
- `businessRegistrationType`, and `businessRegistrationIssuingCountry`.
+ **Submissions using a value other than `SOLE_PROPRIETOR` must provide a
+ value for `businessRegistrationNumber`, `businessRegistrationType`, and
+ `businessRegistrationIssuingCountry`.
Submissions using `SOLE_PROPRIETOR` must _omit_
`businessRegistrationNumber`, `businessRegistrationType`, and
@@ -6490,6 +6520,7 @@ components:
- useCaseSummary
- productionMessageContent
- optInWorkflow
+ - businessEntityType
properties:
businessAddress:
$ref: '#/components/schemas/address'
@@ -8072,6 +8103,17 @@ components:
example:
description: Cannot find the requested resource.
type: Not Found
+ tfvConflictResponse:
+ description: >-
+ Conflict. A toll-free verification for the phone number is already in
+ progress.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/tfvError'
+ example:
+ description: 'TFV request already in progress for phone number: +18005551234'
+ type: conflict
tfvNotAllowedResponse:
description: Method Not Allowed
content:
@@ -8256,8 +8298,8 @@ components:
style: simple
explode: false
description: >-
- General-header field is used to specify directives that MUST be obeyed
- by all caching mechanisms along the request/response chain.
+ Pass-through header stored with the media and returned when the media is
+ retrieved by the user. Does not affect internal server caching behavior.
example: no-cache
schema:
type: string
diff --git a/docs/BusinessEntityTypeEnum.md b/docs/BusinessEntityTypeEnum.md
index 19035ef..f0fadc7 100644
--- a/docs/BusinessEntityTypeEnum.md
+++ b/docs/BusinessEntityTypeEnum.md
@@ -1,5 +1,5 @@
# Bandwidth.Standard.Model.BusinessEntityTypeEnum
-The type of registered business. **Note: As of October 19th, 2026 submissions using a value other than `SOLE_PROPRIETOR` must provide a value for `businessRegistrationNumber`, `businessRegistrationType`, and `businessRegistrationIssuingCountry`. Submissions using `SOLE_PROPRIETOR` must _omit_ `businessRegistrationNumber`, `businessRegistrationType`, and `businessRegistrationIssuingCountry`. Failure to adhere to these constraints will result in a 400 Bad Request rejection.**
+The type of registered business. **Submissions using a value other than `SOLE_PROPRIETOR` must provide a value for `businessRegistrationNumber`, `businessRegistrationType`, and `businessRegistrationIssuingCountry`. Submissions using `SOLE_PROPRIETOR` must _omit_ `businessRegistrationNumber`, `businessRegistrationType`, and `businessRegistrationIssuingCountry`. Failure to adhere to these constraints will result in a 400 Bad Request rejection.**
## Properties
diff --git a/docs/BusinessRegistrationTypeEnum.md b/docs/BusinessRegistrationTypeEnum.md
index 0f5669e..ee3a29a 100644
--- a/docs/BusinessRegistrationTypeEnum.md
+++ b/docs/BusinessRegistrationTypeEnum.md
@@ -1,5 +1,5 @@
# Bandwidth.Standard.Model.BusinessRegistrationTypeEnum
-The type of business registration number. **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.**
+The type of business registration number. **This field is required when `businessRegistrationNumber` is provided.**
## Properties
diff --git a/docs/MediaApi.md b/docs/MediaApi.md
index 76ba4b0..41eb310 100644
--- a/docs/MediaApi.md
+++ b/docs/MediaApi.md
@@ -332,7 +332,7 @@ catch (ApiException e)
Upload Media
-Upload a file. You may add headers to the request in order to provide some control to your media file. If a file is uploaded with the same name as a file that already exists under this account, the previous file will be overwritten. A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
+Upload a file. Filename should always be unique. Reusing filenames may result in the wrong media being sent. A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
### Example
```csharp
@@ -361,7 +361,7 @@ namespace Example
var mediaId = bw.png; // string | The ID of the media file.
var body = new System.IO.MemoryStream(System.IO.File.ReadAllBytes("/path/to/file.txt")); // System.IO.Stream |
var contentType = audio/wav; // string | The media type of the entity-body. (optional)
- var cacheControl = no-cache; // string | General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain. (optional)
+ var cacheControl = no-cache; // string | Pass-through header stored with the media and returned when the media is retrieved by the user. Does not affect internal server caching behavior. (optional)
try
{
@@ -404,7 +404,7 @@ catch (ApiException e)
| **mediaId** | **string** | The ID of the media file. | |
| **body** | **System.IO.Stream****System.IO.Stream** | | |
| **contentType** | **string** | The media type of the entity-body. | [optional] |
-| **cacheControl** | **string** | General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain. | [optional] |
+| **cacheControl** | **string** | Pass-through header stored with the media and returned when the media is retrieved by the user. Does not affect internal server caching behavior. | [optional] |
### Return type
diff --git a/docs/TfvSubmissionInfo.md b/docs/TfvSubmissionInfo.md
index 9ebf1cc..24487a8 100644
--- a/docs/TfvSubmissionInfo.md
+++ b/docs/TfvSubmissionInfo.md
@@ -16,9 +16,9 @@ Name | Type | Description | Notes
**PrivacyPolicyUrl** | **string** | The Toll-Free Verification request privacy policy URL. | [optional]
**TermsAndConditionsUrl** | **string** | The Toll-Free Verification request terms and conditions policy URL. | [optional]
**BusinessDba** | **string** | The company 'Doing Business As'. | [optional]
-**BusinessRegistrationNumber** | **string** | Government-issued business identifying number. **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.** | [optional]
+**BusinessRegistrationNumber** | **string** | Government-issued business identifying number. **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.** | [optional]
**BusinessRegistrationType** | **BusinessRegistrationTypeEnum** | | [optional]
-**BusinessRegistrationIssuingCountry** | **string** | The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged. **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.** | 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 | | [optional]
+**BusinessRegistrationIssuingCountry** | **string** | The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged. **This field is required when `businessRegistrationNumber` is provided.** | 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 | | [optional]
**BusinessEntityType** | **BusinessEntityTypeEnum** | | [optional]
[[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/TollFreeVerificationApi.md b/docs/TollFreeVerificationApi.md
index bb69f97..a135cc0 100644
--- a/docs/TollFreeVerificationApi.md
+++ b/docs/TollFreeVerificationApi.md
@@ -127,7 +127,7 @@ catch (ApiException e)
Delete a Toll-Free Verification Submission
-Delete a toll-free verification submission for a toll-free number.
+Delete a toll-free verification submission for a toll-free number. **Upcoming change (effective January 2027):** If a verification for the phone number is in progress, it will be cancelled and the submission will then be deleted asynchronously.
### Example
```csharp
@@ -644,7 +644,7 @@ catch (ApiException e)
Request Toll-Free Verification
-Submit a request for verification of a toll-free phone number.
+Submit a request for verification of a toll-free phone number. **Upcoming change (effective January 2027):** If any phone number in the request already has a verification in progress, the request will be rejected with a `409 Conflict`. This check is all-or-nothing: if a single phone number conflicts, the entire request is rejected and **none** of the phone numbers in the request are submitted. Today, these requests are accepted with a `202`.
### Example
```csharp
@@ -734,6 +734,7 @@ void (empty response body)
| **401** | Unauthorized | - |
| **403** | Forbidden | - |
| **405** | Method Not Allowed | - |
+| **409** | Conflict. A toll-free verification for the phone number is already in progress. | - |
| **429** | Too Many Requests | - |
| **500** | Internal Server Error | - |
| **503** | Service Unavailable | - |
@@ -746,7 +747,7 @@ void (empty response body)
Update Toll-Free Verification Request
-Updates a toll-free verification request. Submissions are only eligible for resubmission for 7 days within being processed and if resubmission is allowed (resubmitAllowed field is true).
+Updates a toll-free verification request. Submissions are only eligible for resubmission for 7 days within being processed and if resubmission is allowed (resubmitAllowed field is true). Returns a `404` if no verification request exists for the phone number, and a `400` if the existing request is not eligible for resubmission. **Upcoming change (effective January 2027):** If a verification for the phone number is in progress, the update will be rejected with a `409 Conflict`.
### Example
```csharp
@@ -837,7 +838,9 @@ void (empty response body)
| **400** | Bad Request | - |
| **401** | Unauthorized | - |
| **403** | Forbidden | - |
+| **404** | Cannot find the requested resource. | - |
| **405** | Method Not Allowed | - |
+| **409** | Conflict. A toll-free verification for the phone number is already in progress. | - |
| **429** | Too Many Requests | - |
| **500** | Internal Server Error | - |
| **503** | Service Unavailable | - |
diff --git a/docs/VerificationRequest.md b/docs/VerificationRequest.md
index 18c8a2a..5a3c906 100644
--- a/docs/VerificationRequest.md
+++ b/docs/VerificationRequest.md
@@ -17,9 +17,9 @@ Name | Type | Description | Notes
**PrivacyPolicyUrl** | **string** | The Toll-Free Verification request privacy policy URL. | [optional]
**TermsAndConditionsUrl** | **string** | The Toll-Free Verification request terms and conditions policy URL. | [optional]
**BusinessDba** | **string** | The company 'Doing Business As'. | [optional]
-**BusinessRegistrationNumber** | **string** | Government-issued business identifying number. **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.** | [optional]
+**BusinessRegistrationNumber** | **string** | Government-issued business identifying number. **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.** | [optional]
**BusinessRegistrationType** | **BusinessRegistrationTypeEnum** | | [optional]
-**BusinessRegistrationIssuingCountry** | **string** | The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged. **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.** | 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 | | [optional]
+**BusinessRegistrationIssuingCountry** | **string** | The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged. **This field is required when `businessRegistrationNumber` is provided.** | 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 | | [optional]
**BusinessEntityType** | **BusinessEntityTypeEnum** | |
**HelpMessageResponse** | **string** | A message that gets sent to users requesting help. | [optional]
**AgeGatedContent** | **bool** | Indicates whether the content is age-gated. | [optional]
diff --git a/docs/VerificationUpdateRequest.md b/docs/VerificationUpdateRequest.md
index 7774476..b8bee6a 100644
--- a/docs/VerificationUpdateRequest.md
+++ b/docs/VerificationUpdateRequest.md
@@ -16,10 +16,10 @@ Name | Type | Description | Notes
**PrivacyPolicyUrl** | **string** | The Toll-Free Verification request privacy policy URL. | [optional]
**TermsAndConditionsUrl** | **string** | The Toll-Free Verification request terms and conditions policy URL. | [optional]
**BusinessDba** | **string** | The company 'Doing Business As'. | [optional]
-**BusinessRegistrationNumber** | **string** | Government-issued business identifying number. **Note: As of October 19th, 2026 this field will be required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.** | [optional]
+**BusinessRegistrationNumber** | **string** | Government-issued business identifying number. **This field is required when `businessEntityType` is _not_ `SOLE_PROPRIETOR`. If this field is provided, `businessRegistrationType` and `businessRegistrationIssuingCountry` are also required.** | [optional]
**BusinessRegistrationType** | **BusinessRegistrationTypeEnum** | | [optional]
-**BusinessEntityType** | **BusinessEntityTypeEnum** | | [optional]
-**BusinessRegistrationIssuingCountry** | **string** | The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged. **Note: As of October 19th, 2026 this field will be required when `businessRegistrationNumber` is provided.** | 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 | | [optional]
+**BusinessEntityType** | **BusinessEntityTypeEnum** | |
+**BusinessRegistrationIssuingCountry** | **string** | The country issuing the business registration in ISO-3166-1 alpha-3 format. Alpha-2 format is accepted by the API, but alpha-3 is highly encouraged. **This field is required when `businessRegistrationNumber` is provided.** | 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 | | [optional]
**HelpMessageResponse** | **string** | A message that gets sent to users requesting help. | [optional]
**AgeGatedContent** | **bool** | Indicates whether the content is age-gated. | [optional]
**CvToken** | **string** | 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/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs b/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs
index bbb47ed..abb0866 100644
--- a/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs
+++ b/src/Bandwidth.Standard.Test/Unit/Model/TfvSubmissionWrapperTests.cs
@@ -62,7 +62,8 @@ public TfvSubmissionWrapperTests()
isvReseller: "test",
privacyPolicyUrl: "test",
termsAndConditionsUrl: "test",
- businessDba: "test"
+ businessDba: "test",
+ businessEntityType: BusinessEntityTypeEnum.SOLEPROPRIETOR
);
instance = new TfvSubmissionWrapper(
diff --git a/src/Bandwidth.Standard/Api/MediaApi.cs b/src/Bandwidth.Standard/Api/MediaApi.cs
index ec4c852..901201e 100644
--- a/src/Bandwidth.Standard/Api/MediaApi.cs
+++ b/src/Bandwidth.Standard/Api/MediaApi.cs
@@ -107,14 +107,14 @@ public interface IMediaApiSync : IApiAccessor
/// Upload Media
///
///
- /// Upload a file. You may add headers to the request in order to provide some control to your media file. If a file is uploaded with the same name as a file that already exists under this account, the previous file will be overwritten. A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
+ /// Upload a file. Filename should always be unique. Reusing filenames may result in the wrong media being sent. A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
///
/// Thrown when fails to make API call
/// This is your 7-digit Bandwidth Account ID, as shown in the Bandwidth App. The older ID format (`u-be8dvafwrs63rwpm7pfil4b`) is deprecated. **When migrating to OAuth authentication, you must use the 7-digit Account ID.**
/// The ID of the media file.
///
/// The media type of the entity-body. (optional)
- /// General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain. (optional)
+ /// Pass-through header stored with the media and returned when the media is retrieved by the user. Does not affect internal server caching behavior. (optional)
/// Index associated with the operation.
///
void UploadMedia(string accountId, string mediaId, System.IO.Stream body, string contentType = default(string), string cacheControl = default(string), int operationIndex = 0);
@@ -123,14 +123,14 @@ public interface IMediaApiSync : IApiAccessor
/// Upload Media
///
///
- /// Upload a file. You may add headers to the request in order to provide some control to your media file. If a file is uploaded with the same name as a file that already exists under this account, the previous file will be overwritten. A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
+ /// Upload a file. Filename should always be unique. Reusing filenames may result in the wrong media being sent. A list of supported media types can be found at [Bandwidth Support](https://www.bandwidth.com/support/en/articles/12823220-what-mms-file-types-are-supported).
///
/// Thrown when fails to make API call
/// This is your 7-digit Bandwidth Account ID, as shown in the Bandwidth App. The older ID format (`u-be8dvafwrs63rwpm7pfil4b`) is deprecated. **When migrating to OAuth authentication, you must use the 7-digit Account ID.**
/// The ID of the media file.
///
/// The media type of the entity-body. (optional)
- /// General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain. (optional)
+ /// Pass-through header stored with the media and returned when the media is retrieved by the user. Does not affect internal server caching behavior. (optional)
/// Index associated with the operation.
/// ApiResponse of Object(void)
ApiResponse