diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 9fa5c7fe..4ea64983 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -47,6 +47,7 @@ docs/CreateMessageRequestError.md
docs/CreateMultiChannelMessageResponse.md
docs/CreateSyncLookupResponse.md
docs/CreateSyncLookupResponseData.md
+docs/CustomTooManyRequestsError.md
docs/DeactivationEventEnum.md
docs/DisconnectCallback.md
docs/Diversion.md
@@ -264,6 +265,7 @@ src/Bandwidth.Standard/Model/CreateMessageRequestError.cs
src/Bandwidth.Standard/Model/CreateMultiChannelMessageResponse.cs
src/Bandwidth.Standard/Model/CreateSyncLookupResponse.cs
src/Bandwidth.Standard/Model/CreateSyncLookupResponseData.cs
+src/Bandwidth.Standard/Model/CustomTooManyRequestsError.cs
src/Bandwidth.Standard/Model/DeactivationEventEnum.cs
src/Bandwidth.Standard/Model/DisconnectCallback.cs
src/Bandwidth.Standard/Model/Diversion.cs
diff --git a/Bandwidth.Standard.sln b/Bandwidth.Standard.sln
index 45670746..17ea04bc 100644
--- a/Bandwidth.Standard.sln
+++ b/Bandwidth.Standard.sln
@@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{1B496B75-0E81-41BC-86C2-73D16188960A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard", "src\Bandwidth.Standard\Bandwidth.Standard.csproj", "{3169CA47-72BD-4861-8006-EA3ED1D104BB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bandwidth.Standard.Test", "src\Bandwidth.Standard.Test\Bandwidth.Standard.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}"
EndProject
@@ -12,10 +12,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1B496B75-0E81-41BC-86C2-73D16188960A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1B496B75-0E81-41BC-86C2-73D16188960A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1B496B75-0E81-41BC-86C2-73D16188960A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1B496B75-0E81-41BC-86C2-73D16188960A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3169CA47-72BD-4861-8006-EA3ED1D104BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3169CA47-72BD-4861-8006-EA3ED1D104BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3169CA47-72BD-4861-8006-EA3ED1D104BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3169CA47-72BD-4861-8006-EA3ED1D104BB}.Release|Any CPU.Build.0 = Release|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/README.md b/README.md
index 63e41ead..bdcf2f22 100644
--- a/README.md
+++ b/README.md
@@ -211,6 +211,7 @@ Class | Method | HTTP request | Description
- [Model.CreateMultiChannelMessageResponse](docs/CreateMultiChannelMessageResponse.md)
- [Model.CreateSyncLookupResponse](docs/CreateSyncLookupResponse.md)
- [Model.CreateSyncLookupResponseData](docs/CreateSyncLookupResponseData.md)
+ - [Model.CustomTooManyRequestsError](docs/CustomTooManyRequestsError.md)
- [Model.DeactivationEventEnum](docs/DeactivationEventEnum.md)
- [Model.DisconnectCallback](docs/DisconnectCallback.md)
- [Model.Diversion](docs/Diversion.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 9cd4e5ce..ad0809ef 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -389,7 +389,10 @@ paths:
url: https://messaging.bandwidth.com/api/v2
/users/{accountId}/messages:
get:
- description: Returns a list of messages based on query parameters.
+ description: |
+ Returns a list of messages based on query parameters.
+
+ **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
operationId: listMessages
parameters:
- description: Your Bandwidth Account ID.
@@ -699,6 +702,12 @@ paths:
schema:
$ref: '#/components/schemas/messagingRequestError'
description: Not Found
+ "405":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/messagingRequestError'
+ description: Method Not Allowed
"415":
content:
application/json:
@@ -709,8 +718,16 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/messagingRequestError'
+ $ref: '#/components/schemas/customTooManyRequestsError'
description: Too Many Requests
+ headers:
+ Retry-After:
+ description: The number of seconds to wait before retrying the request.
+ explode: false
+ schema:
+ example: 300
+ type: integer
+ style: simple
"500":
content:
application/json:
@@ -7409,6 +7426,20 @@ components:
schema:
$ref: '#/components/schemas/multiChannelError'
description: Internal Server Error
+ customTooManyRequestsError:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/customTooManyRequestsError'
+ description: Too Many Requests
+ headers:
+ Retry-After:
+ description: The number of seconds to wait before retrying the request.
+ explode: false
+ schema:
+ example: 300
+ type: integer
+ style: simple
createCallResponse:
content:
application/json:
@@ -8735,7 +8766,9 @@ components:
rbmMessageMedia:
properties:
media:
- $ref: '#/components/schemas/rbmMessageContentFile'
+ items:
+ $ref: '#/components/schemas/rbmMessageContentFile'
+ type: array
suggestions:
description: An array of suggested actions for the recipient.
items:
@@ -9615,6 +9648,24 @@ components:
- segmentCount
- time
- to
+ customTooManyRequestsError:
+ example:
+ description: Rate limit exceeded. Wait for Retry-After time before sending
+ another request.
+ type: rate_limit_exceeded
+ properties:
+ type:
+ example: rate_limit_exceeded
+ type: string
+ description:
+ example: Rate limit exceeded. Wait for Retry-After time before sending another
+ request.
+ type: string
+ required:
+ - description
+ - type
+ title: CustomTooManyRequestsError
+ type: object
callbackMethodEnum:
default: POST
description: The HTTP method to use to deliver the callback. GET or POST. Default
@@ -13623,13 +13674,11 @@ components:
description: Unique identifier (UUID) generated by Bandwidth to assist in tracking
the verification status of a toll-free number - included in all webhook payloads.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
internalTicketNumberForWebhook:
description: Unique identifier (UUID) generated by Bandwidth to assist in tracking
the verification status of a toll-free number.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
businessContactPhoneNumber:
description: Contact telephone number
@@ -13728,6 +13777,16 @@ components:
description: Indicates whether the content is age-gated.
example: false
type: boolean
+ cvToken:
+ 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. If you\
+ \ pass an empty string, it will be passed along and potentially rejected."
+ example: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ maxLength: 500
+ minLength: 0
+ nullable: true
+ type: string
required:
- businessAddress
- businessContact
@@ -13822,6 +13881,16 @@ components:
description: Indicates whether the content is age-gated.
example: false
type: boolean
+ cvToken:
+ 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. If you\
+ \ pass an empty string, it will be passed along and potentially rejected."
+ example: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ maxLength: 500
+ minLength: 0
+ nullable: true
+ type: string
required:
- businessAddress
- businessContact
@@ -13909,7 +13978,6 @@ components:
description: Unique identifier (UUID) generated by Bandwidth to assist in
tracking the verification status of a toll-free number.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
type: object
verificationDenialWebhook:
@@ -13945,7 +14013,6 @@ components:
description: Unique identifier (UUID) generated by Bandwidth to assist in
tracking the verification status of a toll-free number.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
phoneNumber:
description: Toll-free telephone number in E.164 format.
@@ -13995,7 +14062,6 @@ components:
description: Unique identifier (UUID) generated by Bandwidth to assist in
tracking the verification status of a toll-free number.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
type: object
blockedWebhook:
@@ -14018,7 +14084,6 @@ components:
description: Unique identifier (UUID) generated by Bandwidth to assist in
tracking the verification status of a toll-free number.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
blocked:
description: Whether a Toll-Free Verification is blocked. This attribute
@@ -14484,6 +14549,7 @@ components:
useCaseSummary: Text summarizing the use case for the toll-free number
declineReasonDescription: Invalid Information - Can't Validate URL - Website
is not accessible / not available
+ cvToken: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
status: VERIFIED
properties:
phoneNumber:
@@ -14501,7 +14567,6 @@ components:
tracking the verification status of a toll-free number - included in all
webhook payloads.
example: acde070d-8c4c-4f0d-9d8a-162843c10333
- format: uuid
type: string
declineReasonDescription:
description: Explanation for why a verification request was declined.
@@ -14536,6 +14601,16 @@ components:
attribute will only be defined when the number is blocked.
example: Toll-free number was used to send spam messages
type: string
+ cvToken:
+ 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. If you\
+ \ pass an empty string, it will be passed along and potentially rejected."
+ example: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ maxLength: 500
+ minLength: 0
+ nullable: true
+ type: string
type: object
tfvSubmissionInfo:
example:
@@ -14660,6 +14735,16 @@ components:
nullable: true
pattern: "^[ -~]{16,64}$"
type: string
+ cvToken:
+ 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. If you pass\
+ \ an empty string, it will be passed along and potentially rejected."
+ example: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ maxLength: 500
+ minLength: 0
+ nullable: true
+ type: string
rbmCardContent_media:
allOf:
- $ref: '#/components/schemas/rbmMessageContentFile'
diff --git a/bandwidth.yml b/bandwidth.yml
index d7c32953..4c32a6b9 100644
--- a/bandwidth.yml
+++ b/bandwidth.yml
@@ -163,7 +163,13 @@ paths:
/users/{accountId}/messages:
get:
summary: List Messages
- description: Returns a list of messages based on query parameters.
+ description: >
+ Returns a list of messages based on query parameters.
+
+
+ **Rate Limit:** This endpoint is rate limited to 3500 requests per 5
+ minutes per Source IP address. Exceeding the limit returns HTTP 429 with
+ a `Retry-After` header.
operationId: listMessages
tags:
- Messages
@@ -207,10 +213,12 @@ paths:
$ref: '#/components/responses/messagingForbiddenError'
'404':
$ref: '#/components/responses/messagingNotFoundError'
+ '405':
+ $ref: '#/components/responses/messagingMethodNotAllowedError'
'415':
$ref: '#/components/responses/messagingInvalidMediaTypeError'
'429':
- $ref: '#/components/responses/messagingTooManyRequestsError'
+ $ref: '#/components/responses/customTooManyRequestsError'
'500':
$ref: '#/components/responses/messagingInternalServerError'
post:
@@ -2257,7 +2265,9 @@ components:
type: object
properties:
media:
- $ref: '#/components/schemas/rbmMessageContentFile'
+ type: array
+ items:
+ $ref: '#/components/schemas/rbmMessageContentFile'
suggestions:
$ref: '#/components/schemas/multiChannelFullActions'
required:
@@ -2944,6 +2954,21 @@ components:
- direction
- to
- from
+ customTooManyRequestsError:
+ title: CustomTooManyRequestsError
+ type: object
+ properties:
+ type:
+ type: string
+ example: rate_limit_exceeded
+ description:
+ type: string
+ example: >-
+ Rate limit exceeded. Wait for Retry-After time before sending
+ another request.
+ required:
+ - type
+ - description
callbackMethodEnum:
type: string
nullable: true
@@ -5875,7 +5900,6 @@ components:
type: object
internalTicketNumber:
type: string
- format: uuid
description: >-
Unique identifier (UUID) generated by Bandwidth to assist in tracking
the verification status of a toll-free number - included in all webhook
@@ -5883,7 +5907,6 @@ components:
example: acde070d-8c4c-4f0d-9d8a-162843c10333
internalTicketNumberForWebhook:
type: string
- format: uuid
description: >-
Unique identifier (UUID) generated by Bandwidth to assist in tracking
the verification status of a toll-free number.
@@ -5956,6 +5979,8 @@ components:
$ref: '#/components/schemas/helpMessageResponse'
ageGatedContent:
$ref: '#/components/schemas/ageGatedContent'
+ cvToken:
+ $ref: '#/components/schemas/cvToken'
verificationUpdateRequest:
type: object
required:
@@ -6005,6 +6030,8 @@ components:
$ref: '#/components/schemas/helpMessageResponse'
ageGatedContent:
$ref: '#/components/schemas/ageGatedContent'
+ cvToken:
+ $ref: '#/components/schemas/cvToken'
tfvBasicAuthentication:
type: object
properties:
@@ -6456,6 +6483,8 @@ components:
$ref: '#/components/schemas/blocked'
blockedReason:
$ref: '#/components/schemas/blockedReason'
+ cvToken:
+ $ref: '#/components/schemas/cvToken'
tfvSubmissionInfo:
type: object
properties:
@@ -6520,6 +6549,18 @@ components:
nullable: true
pattern: ^[ -~]{16,64}$
type: string
+ cvToken:
+ type: string
+ 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. If you pass an
+ empty string, it will be passed along and potentially rejected.
+ minLength: 0
+ maxLength: 500
+ nullable: true
+ example: >-
+ cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
responses:
createMessageResponse:
description: Accepted
@@ -6734,6 +6775,18 @@ components:
- type: internal-server-error
description: Internal server error. No further information available
source: {}
+ customTooManyRequestsError:
+ description: Too Many Requests
+ headers:
+ Retry-After:
+ description: The number of seconds to wait before retrying the request.
+ schema:
+ type: integer
+ example: 300
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/customTooManyRequestsError'
createCallResponse:
description: Created
headers:
diff --git a/docs/BlockedWebhook.md b/docs/BlockedWebhook.md
index 2447c63a..6c1987a3 100644
--- a/docs/BlockedWebhook.md
+++ b/docs/BlockedWebhook.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
**AccountId** | **string** | User's account ID. | [optional]
**PhoneNumber** | **string** | Toll-free telephone number in E.164 format. | [optional]
**Status** | **TfvCallbackStatusEnum** | | [optional]
-**InternalTicketNumber** | **Guid** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional]
+**InternalTicketNumber** | **string** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional]
**Blocked** | **bool** | Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. | [optional]
**BlockedReason** | **string** | The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. | [optional]
diff --git a/docs/CustomTooManyRequestsError.md b/docs/CustomTooManyRequestsError.md
new file mode 100644
index 00000000..f7c193af
--- /dev/null
+++ b/docs/CustomTooManyRequestsError.md
@@ -0,0 +1,11 @@
+# Bandwidth.Standard.Model.CustomTooManyRequestsError
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Type** | **string** | |
+**Description** | **string** | |
+
+[[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/FailureWebhook.md b/docs/FailureWebhook.md
index 74fefe57..ee69d41d 100644
--- a/docs/FailureWebhook.md
+++ b/docs/FailureWebhook.md
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
**ErrorCode** | **string** | An error code indicating what error was encountered. This code can be interpreted as an HTTP status code in regards to the error that was encountered. | [optional]
**ErrorMessage** | **string** | A description of the error that was encountered. | [optional]
**Errors** | **List<string>** | Details of the errors that were encountered when processing the request. | [optional]
-**InternalTicketNumber** | **Guid** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional]
+**InternalTicketNumber** | **string** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [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/MessagesApi.md b/docs/MessagesApi.md
index ddd281a3..b850fd91 100644
--- a/docs/MessagesApi.md
+++ b/docs/MessagesApi.md
@@ -121,7 +121,7 @@ catch (ApiException e)
List Messages
-Returns a list of messages based on query parameters.
+Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
### Example
```csharp
@@ -267,8 +267,9 @@ catch (ApiException e)
| **401** | Unauthorized | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
+| **405** | Method Not Allowed | - |
| **415** | Unsupported Media Type | - |
-| **429** | Too Many Requests | - |
+| **429** | Too Many Requests | * Retry-After - The number of seconds to wait before retrying the request.
|
| **500** | Internal Server Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/docs/MultiChannelChannelListRBMObjectAllOfContent.md b/docs/MultiChannelChannelListRBMObjectAllOfContent.md
index bd919a25..74015b4a 100644
--- a/docs/MultiChannelChannelListRBMObjectAllOfContent.md
+++ b/docs/MultiChannelChannelListRBMObjectAllOfContent.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Text** | **string** | The text associated with the message. Must be 3270 characters or less |
**Suggestions** | [**List<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional]
-**Media** | [**RbmMessageContentFile**](RbmMessageContentFile.md) | |
+**Media** | [**List<RbmMessageContentFile>**](RbmMessageContentFile.md) | |
**Orientation** | **StandaloneCardOrientationEnum** | |
**ThumbnailImageAlignment** | **ThumbnailAlignmentEnum** | |
**CardContent** | [**RbmCardContent**](RbmCardContent.md) | |
diff --git a/docs/RbmMessageMedia.md b/docs/RbmMessageMedia.md
index 7a0e5aad..cc1c7349 100644
--- a/docs/RbmMessageMedia.md
+++ b/docs/RbmMessageMedia.md
@@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**Media** | [**RbmMessageContentFile**](RbmMessageContentFile.md) | |
+**Media** | [**List<RbmMessageContentFile>**](RbmMessageContentFile.md) | |
**Suggestions** | [**List<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [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/TfvStatus.md b/docs/TfvStatus.md
index 169a3b9a..8ffb666f 100644
--- a/docs/TfvStatus.md
+++ b/docs/TfvStatus.md
@@ -6,7 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**PhoneNumber** | **string** | Toll-free telephone number in E.164 format. | [optional]
**Status** | **TfvStatusEnum** | | [optional]
-**InternalTicketNumber** | **Guid** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number - included in all webhook payloads. | [optional]
+**InternalTicketNumber** | **string** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number - included in all webhook payloads. | [optional]
**DeclineReasonDescription** | **string** | Explanation for why a verification request was declined. | [optional]
**ResubmitAllowed** | **bool** | Whether a Toll-Free Verification request qualifies for resubmission via PUT. | [optional]
**CreatedDateTime** | **DateTime** | Date and time the verification request was created. | [optional]
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
**Submission** | [**TfvSubmissionInfo**](TfvSubmissionInfo.md) | | [optional]
**Blocked** | **bool** | Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. | [optional]
**BlockedReason** | **string** | The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. | [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. If you pass an empty string, it will be passed along and potentially rejected. | [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/VerificationDenialWebhook.md b/docs/VerificationDenialWebhook.md
index 8764138c..87564364 100644
--- a/docs/VerificationDenialWebhook.md
+++ b/docs/VerificationDenialWebhook.md
@@ -8,7 +8,7 @@ Name | Type | Description | Notes
**AdditionalDenialReasons** | [**List<AdditionalDenialReason>**](AdditionalDenialReason.md) | An optional list of denial reasons in addition to declineReasonDescription when multiple reasons apply. | [optional]
**DeclineReasonDescription** | **string** | Explanation for why a verification request was declined. | [optional]
**DenialStatusCode** | **int** | Reason code for denial. | [optional]
-**InternalTicketNumber** | **Guid** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional]
+**InternalTicketNumber** | **string** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional]
**PhoneNumber** | **string** | Toll-free telephone number in E.164 format. | [optional]
**ResubmitAllowed** | **bool** | Whether a Toll-Free Verification request qualifies for resubmission via PUT. | [optional]
**Status** | **string** | | [optional] [default to "UNVERIFIED"]
diff --git a/docs/VerificationRequest.md b/docs/VerificationRequest.md
index 1cc6e1e6..47068170 100644
--- a/docs/VerificationRequest.md
+++ b/docs/VerificationRequest.md
@@ -22,6 +22,7 @@ Name | Type | Description | Notes
**BusinessEntityType** | **BusinessEntityTypeEnum** | | [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. If you pass an empty string, it will be passed along and potentially rejected. | [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/VerificationUpdateRequest.md b/docs/VerificationUpdateRequest.md
index 20b585d4..ca59c898 100644
--- a/docs/VerificationUpdateRequest.md
+++ b/docs/VerificationUpdateRequest.md
@@ -21,6 +21,7 @@ Name | Type | Description | Notes
**BusinessEntityType** | **BusinessEntityTypeEnum** | | [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. If you pass an empty string, it will be passed along and potentially rejected. | [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/VerificationWebhook.md b/docs/VerificationWebhook.md
index beb3236c..36710752 100644
--- a/docs/VerificationWebhook.md
+++ b/docs/VerificationWebhook.md
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
**AccountId** | **string** | User's account ID. | [optional]
**PhoneNumber** | **string** | Toll-free telephone number in E.164 format. | [optional]
**Status** | **TfvCallbackStatusEnum** | | [optional]
-**InternalTicketNumber** | **Guid** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [optional]
+**InternalTicketNumber** | **string** | Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number. | [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/src/Bandwidth.Standard/Api/MessagesApi.cs b/src/Bandwidth.Standard/Api/MessagesApi.cs
index 7b11fb04..4d3a8e17 100644
--- a/src/Bandwidth.Standard/Api/MessagesApi.cs
+++ b/src/Bandwidth.Standard/Api/MessagesApi.cs
@@ -57,7 +57,7 @@ public interface IMessagesApiSync : IApiAccessor
/// List Messages
///
///
- /// Returns a list of messages based on query parameters.
+ /// Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -96,7 +96,7 @@ public interface IMessagesApiSync : IApiAccessor
/// List Messages
///
///
- /// Returns a list of messages based on query parameters.
+ /// Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -170,7 +170,7 @@ public interface IMessagesApiAsync : IApiAccessor
/// List Messages
///
///
- /// Returns a list of messages based on query parameters.
+ /// Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -210,7 +210,7 @@ public interface IMessagesApiAsync : IApiAccessor
/// List Messages
///
///
- /// Returns a list of messages based on query parameters.
+ /// Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -574,7 +574,7 @@ public Bandwidth.Standard.Client.ApiResponse CreateMessageWithHttpInfo(
}
///
- /// List Messages Returns a list of messages based on query parameters.
+ /// List Messages Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -614,7 +614,7 @@ public Bandwidth.Standard.Client.ApiResponse CreateMessageWithHttpInfo(
}
///
- /// List Messages Returns a list of messages based on query parameters.
+ /// List Messages Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -828,7 +828,7 @@ public Bandwidth.Standard.Client.ApiResponse CreateMessageWithHttpInfo(
}
///
- /// List Messages Returns a list of messages based on query parameters.
+ /// List Messages Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
@@ -869,7 +869,7 @@ public Bandwidth.Standard.Client.ApiResponse CreateMessageWithHttpInfo(
}
///
- /// List Messages Returns a list of messages based on query parameters.
+ /// List Messages Returns a list of messages based on query parameters. **Rate Limit:** This endpoint is rate limited to 3500 requests per 5 minutes per Source IP address. Exceeding the limit returns HTTP 429 with a `Retry-After` header.
///
/// Thrown when fails to make API call
/// Your Bandwidth Account ID.
diff --git a/src/Bandwidth.Standard/Model/BlockedWebhook.cs b/src/Bandwidth.Standard/Model/BlockedWebhook.cs
index 7e6b7d5a..e5eb0bcd 100644
--- a/src/Bandwidth.Standard/Model/BlockedWebhook.cs
+++ b/src/Bandwidth.Standard/Model/BlockedWebhook.cs
@@ -47,7 +47,7 @@ public partial class BlockedWebhook : IValidatableObject
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number..
/// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked..
/// The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked..
- public BlockedWebhook(string accountId = default(string), string phoneNumber = default(string), TfvCallbackStatusEnum? status = default(TfvCallbackStatusEnum?), Guid internalTicketNumber = default(Guid), bool blocked = default(bool), string blockedReason = default(string))
+ public BlockedWebhook(string accountId = default(string), string phoneNumber = default(string), TfvCallbackStatusEnum? status = default(TfvCallbackStatusEnum?), string internalTicketNumber = default(string), bool blocked = default(bool), string blockedReason = default(string))
{
this.AccountId = accountId;
this.PhoneNumber = phoneNumber;
@@ -79,7 +79,7 @@ public partial class BlockedWebhook : IValidatableObject
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number.
/// acde070d-8c4c-4f0d-9d8a-162843c10333
[DataMember(Name = "internalTicketNumber", EmitDefaultValue = false)]
- public Guid InternalTicketNumber { get; set; }
+ public string InternalTicketNumber { get; set; }
///
/// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked.
diff --git a/src/Bandwidth.Standard/Model/CustomTooManyRequestsError.cs b/src/Bandwidth.Standard/Model/CustomTooManyRequestsError.cs
new file mode 100644
index 00000000..01b738fb
--- /dev/null
+++ b/src/Bandwidth.Standard/Model/CustomTooManyRequestsError.cs
@@ -0,0 +1,109 @@
+/*
+ * Bandwidth
+ *
+ * Bandwidth's Communication APIs
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: letstalk@bandwidth.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Linq;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Bandwidth.Standard.Client.OpenAPIDateConverter;
+
+namespace Bandwidth.Standard.Model
+{
+ ///
+ /// CustomTooManyRequestsError
+ ///
+ [DataContract(Name = "customTooManyRequestsError")]
+ public partial class CustomTooManyRequestsError : IValidatableObject
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ [JsonConstructorAttribute]
+ protected CustomTooManyRequestsError() { }
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// type (required).
+ /// description (required).
+ public CustomTooManyRequestsError(string type = default(string), string description = default(string))
+ {
+ // to ensure "type" is required (not null)
+ if (type == null)
+ {
+ throw new ArgumentNullException("type is a required property for CustomTooManyRequestsError and cannot be null");
+ }
+ this.Type = type;
+ // to ensure "description" is required (not null)
+ if (description == null)
+ {
+ throw new ArgumentNullException("description is a required property for CustomTooManyRequestsError and cannot be null");
+ }
+ this.Description = description;
+ }
+
+ ///
+ /// Gets or Sets Type
+ ///
+ /// rate_limit_exceeded
+ [DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
+ public string Type { get; set; }
+
+ ///
+ /// Gets or Sets Description
+ ///
+ /// Rate limit exceeded. Wait for Retry-After time before sending another request.
+ [DataMember(Name = "description", IsRequired = true, EmitDefaultValue = true)]
+ public string Description { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.Append("class CustomTooManyRequestsError {\n");
+ sb.Append(" Type: ").Append(Type).Append("\n");
+ sb.Append(" Description: ").Append(Description).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/src/Bandwidth.Standard/Model/FailureWebhook.cs b/src/Bandwidth.Standard/Model/FailureWebhook.cs
index 68ec307e..feb427df 100644
--- a/src/Bandwidth.Standard/Model/FailureWebhook.cs
+++ b/src/Bandwidth.Standard/Model/FailureWebhook.cs
@@ -41,7 +41,7 @@ public partial class FailureWebhook : IValidatableObject
/// A description of the error that was encountered..
/// Details of the errors that were encountered when processing the request..
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number..
- public FailureWebhook(string accountId = default(string), string phoneNumber = default(string), string errorCode = default(string), string errorMessage = default(string), List errors = default(List), Guid internalTicketNumber = default(Guid))
+ public FailureWebhook(string accountId = default(string), string phoneNumber = default(string), string errorCode = default(string), string errorMessage = default(string), List errors = default(List), string internalTicketNumber = default(string))
{
this.AccountId = accountId;
this.PhoneNumber = phoneNumber;
@@ -96,7 +96,7 @@ public partial class FailureWebhook : IValidatableObject
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number.
/// acde070d-8c4c-4f0d-9d8a-162843c10333
[DataMember(Name = "internalTicketNumber", EmitDefaultValue = false)]
- public Guid InternalTicketNumber { get; set; }
+ public string InternalTicketNumber { get; set; }
///
/// Returns the string presentation of the object
diff --git a/src/Bandwidth.Standard/Model/LookupResult.cs b/src/Bandwidth.Standard/Model/LookupResult.cs
index e566406b..549bafe1 100644
--- a/src/Bandwidth.Standard/Model/LookupResult.cs
+++ b/src/Bandwidth.Standard/Model/LookupResult.cs
@@ -130,7 +130,7 @@ public partial class LookupResult : IValidatableObject
/// [DNI-Only](#section/DNI-Only). The date the phone number entered the status described in `latestMessageDeliveryStatus`. Think of this as the \"start time\" for that status. Value resets every time the `latestMessageDeliveryStatus` changes.
///
/// [DNI-Only](#section/DNI-Only). The date the phone number entered the status described in `latestMessageDeliveryStatus`. Think of this as the \"start time\" for that status. Value resets every time the `latestMessageDeliveryStatus` changes.
- /// Thu Jun 19 20:00:00 EDT 2025
+ /// Fri Jun 20 00:00:00 UTC 2025
[DataMember(Name = "initialMessageDeliveryStatusDate", EmitDefaultValue = false)]
[JsonConverter(typeof(OpenAPIDateConverter))]
public DateTime InitialMessageDeliveryStatusDate { get; set; }
@@ -139,7 +139,7 @@ public partial class LookupResult : IValidatableObject
/// [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes.
///
/// [DNI-Only](#section/DNI-Only). The date bandwidth last received delivery status information for this phone number. Use this field to understand how up-to-date the `latestMessageDeliveryStatus` is. Value resets every time the `latestMessageDeliveryStatus` changes.
- /// Fri Jun 20 20:00:00 EDT 2025
+ /// Sat Jun 21 00:00:00 UTC 2025
[DataMember(Name = "latestMessageDeliveryStatusDate", EmitDefaultValue = false)]
[JsonConverter(typeof(OpenAPIDateConverter))]
public DateTime LatestMessageDeliveryStatusDate { get; set; }
diff --git a/src/Bandwidth.Standard/Model/RbmActionBase.cs b/src/Bandwidth.Standard/Model/RbmActionBase.cs
index e7864304..329e5f87 100644
--- a/src/Bandwidth.Standard/Model/RbmActionBase.cs
+++ b/src/Bandwidth.Standard/Model/RbmActionBase.cs
@@ -78,7 +78,7 @@ protected RbmActionBase() { }
/// Base64 payload the customer receives when the reply is clicked.
///
/// Base64 payload the customer receives when the reply is clicked.
- /// [B@731d0d5c
+ /// [B@f98cff
[DataMember(Name = "postbackData", IsRequired = true, EmitDefaultValue = true)]
public byte[] PostbackData { get; set; }
diff --git a/src/Bandwidth.Standard/Model/RbmMessageMedia.cs b/src/Bandwidth.Standard/Model/RbmMessageMedia.cs
index 96a89251..0967a508 100644
--- a/src/Bandwidth.Standard/Model/RbmMessageMedia.cs
+++ b/src/Bandwidth.Standard/Model/RbmMessageMedia.cs
@@ -42,7 +42,7 @@ protected RbmMessageMedia() { }
///
/// media (required).
/// An array of suggested actions for the recipient..
- public RbmMessageMedia(RbmMessageContentFile media = default(RbmMessageContentFile), List suggestions = default(List))
+ public RbmMessageMedia(List media = default(List), List suggestions = default(List))
{
// to ensure "media" is required (not null)
if (media == null)
@@ -57,7 +57,7 @@ protected RbmMessageMedia() { }
/// Gets or Sets Media
///
[DataMember(Name = "media", IsRequired = true, EmitDefaultValue = true)]
- public RbmMessageContentFile Media { get; set; }
+ public List Media { get; set; }
///
/// An array of suggested actions for the recipient.
diff --git a/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs b/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs
index 732e4594..567aaa4a 100644
--- a/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs
+++ b/src/Bandwidth.Standard/Model/RbmSuggestionResponse.cs
@@ -55,7 +55,7 @@ public partial class RbmSuggestionResponse : IValidatableObject
/// Base64 payload the customer receives when the reply is clicked.
///
/// Base64 payload the customer receives when the reply is clicked.
- /// [B@731d0d5c
+ /// [B@f98cff
[DataMember(Name = "postbackData", EmitDefaultValue = false)]
public byte[] PostbackData { get; set; }
diff --git a/src/Bandwidth.Standard/Model/TfvStatus.cs b/src/Bandwidth.Standard/Model/TfvStatus.cs
index fbe325d1..76e29c98 100644
--- a/src/Bandwidth.Standard/Model/TfvStatus.cs
+++ b/src/Bandwidth.Standard/Model/TfvStatus.cs
@@ -51,7 +51,8 @@ public partial class TfvStatus : IValidatableObject
/// submission.
/// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked..
/// The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked..
- public TfvStatus(string phoneNumber = default(string), TfvStatusEnum? status = default(TfvStatusEnum?), Guid internalTicketNumber = default(Guid), string declineReasonDescription = default(string), bool resubmitAllowed = default(bool), DateTime createdDateTime = default(DateTime), DateTime modifiedDateTime = default(DateTime), TfvSubmissionInfo submission = default(TfvSubmissionInfo), bool blocked = default(bool), string blockedReason = default(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. If you pass an empty string, it will be passed along and potentially rejected..
+ public TfvStatus(string phoneNumber = default(string), TfvStatusEnum? status = default(TfvStatusEnum?), string internalTicketNumber = default(string), string declineReasonDescription = default(string), bool resubmitAllowed = default(bool), DateTime createdDateTime = default(DateTime), DateTime modifiedDateTime = default(DateTime), TfvSubmissionInfo submission = default(TfvSubmissionInfo), bool blocked = default(bool), string blockedReason = default(string), string cvToken = default(string))
{
this.PhoneNumber = phoneNumber;
this.Status = status;
@@ -63,6 +64,7 @@ public partial class TfvStatus : IValidatableObject
this.Submission = submission;
this.Blocked = blocked;
this.BlockedReason = blockedReason;
+ this.CvToken = cvToken;
}
///
@@ -79,7 +81,7 @@ public partial class TfvStatus : IValidatableObject
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number - included in all webhook payloads.
/// acde070d-8c4c-4f0d-9d8a-162843c10333
[DataMember(Name = "internalTicketNumber", EmitDefaultValue = false)]
- public Guid InternalTicketNumber { get; set; }
+ public string InternalTicketNumber { get; set; }
///
/// Explanation for why a verification request was declined.
@@ -135,6 +137,14 @@ public partial class TfvStatus : IValidatableObject
[DataMember(Name = "blockedReason", EmitDefaultValue = false)]
public string BlockedReason { get; set; }
+ ///
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected.
+ ///
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected.
+ /// cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ [DataMember(Name = "cvToken", EmitDefaultValue = true)]
+ public string CvToken { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -153,6 +163,7 @@ public override string ToString()
sb.Append(" Submission: ").Append(Submission).Append("\n");
sb.Append(" Blocked: ").Append(Blocked).Append("\n");
sb.Append(" BlockedReason: ").Append(BlockedReason).Append("\n");
+ sb.Append(" CvToken: ").Append(CvToken).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -194,6 +205,18 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
}
}
+ // CvToken (string) maxLength
+ if (this.CvToken != null && this.CvToken.Length > 500)
+ {
+ yield return new ValidationResult("Invalid value for CvToken, length must be less than 500.", new [] { "CvToken" });
+ }
+
+ // CvToken (string) minLength
+ if (this.CvToken != null && this.CvToken.Length < 0)
+ {
+ yield return new ValidationResult("Invalid value for CvToken, length must be greater than 0.", new [] { "CvToken" });
+ }
+
yield break;
}
}
diff --git a/src/Bandwidth.Standard/Model/VerificationDenialWebhook.cs b/src/Bandwidth.Standard/Model/VerificationDenialWebhook.cs
index 8ae7ba17..46b7066a 100644
--- a/src/Bandwidth.Standard/Model/VerificationDenialWebhook.cs
+++ b/src/Bandwidth.Standard/Model/VerificationDenialWebhook.cs
@@ -45,7 +45,7 @@ public partial class VerificationDenialWebhook : IValidatableObject
/// status (default to "UNVERIFIED").
/// Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked..
/// The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked..
- public VerificationDenialWebhook(string accountId = default(string), List additionalDenialReasons = default(List), string declineReasonDescription = default(string), int denialStatusCode = default(int), Guid internalTicketNumber = default(Guid), string phoneNumber = default(string), bool resubmitAllowed = default(bool), string status = @"UNVERIFIED", bool blocked = default(bool), string blockedReason = default(string))
+ public VerificationDenialWebhook(string accountId = default(string), List additionalDenialReasons = default(List), string declineReasonDescription = default(string), int denialStatusCode = default(int), string internalTicketNumber = default(string), string phoneNumber = default(string), bool resubmitAllowed = default(bool), string status = @"UNVERIFIED", bool blocked = default(bool), string blockedReason = default(string))
{
this.AccountId = accountId;
this.AdditionalDenialReasons = additionalDenialReasons;
@@ -98,7 +98,7 @@ public partial class VerificationDenialWebhook : IValidatableObject
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number.
/// acde070d-8c4c-4f0d-9d8a-162843c10333
[DataMember(Name = "internalTicketNumber", EmitDefaultValue = false)]
- public Guid InternalTicketNumber { get; set; }
+ public string InternalTicketNumber { get; set; }
///
/// Toll-free telephone number in E.164 format.
diff --git a/src/Bandwidth.Standard/Model/VerificationRequest.cs b/src/Bandwidth.Standard/Model/VerificationRequest.cs
index 04991333..987aabe5 100644
--- a/src/Bandwidth.Standard/Model/VerificationRequest.cs
+++ b/src/Bandwidth.Standard/Model/VerificationRequest.cs
@@ -70,7 +70,8 @@ protected VerificationRequest() { }
/// businessEntityType.
/// A message that gets sent to users requesting help..
/// Indicates whether the content is age-gated..
- public VerificationRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), List phoneNumbers = default(List), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string), string businessRegistrationNumber = default(string), BusinessRegistrationTypeEnum? businessRegistrationType = default(BusinessRegistrationTypeEnum?), BusinessEntityTypeEnum? businessEntityType = default(BusinessEntityTypeEnum?), string helpMessageResponse = default(string), bool ageGatedContent = default(bool))
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected..
+ public VerificationRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), List phoneNumbers = default(List), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string), string businessRegistrationNumber = default(string), BusinessRegistrationTypeEnum? businessRegistrationType = default(BusinessRegistrationTypeEnum?), BusinessEntityTypeEnum? businessEntityType = default(BusinessEntityTypeEnum?), string helpMessageResponse = default(string), bool ageGatedContent = default(bool), string cvToken = default(string))
{
// to ensure "businessAddress" is required (not null)
if (businessAddress == null)
@@ -125,6 +126,7 @@ protected VerificationRequest() { }
this.BusinessEntityType = businessEntityType;
this.HelpMessageResponse = helpMessageResponse;
this.AgeGatedContent = ageGatedContent;
+ this.CvToken = cvToken;
}
///
@@ -247,6 +249,14 @@ protected VerificationRequest() { }
[DataMember(Name = "ageGatedContent", EmitDefaultValue = true)]
public bool AgeGatedContent { get; set; }
+ ///
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected.
+ ///
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected.
+ /// cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ [DataMember(Name = "cvToken", EmitDefaultValue = true)]
+ public string CvToken { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -273,6 +283,7 @@ public override string ToString()
sb.Append(" BusinessEntityType: ").Append(BusinessEntityType).Append("\n");
sb.Append(" HelpMessageResponse: ").Append(HelpMessageResponse).Append("\n");
sb.Append(" AgeGatedContent: ").Append(AgeGatedContent).Append("\n");
+ sb.Append(" CvToken: ").Append(CvToken).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -377,6 +388,18 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
yield return new ValidationResult("Invalid value for HelpMessageResponse, length must be less than 500.", new [] { "HelpMessageResponse" });
}
+ // CvToken (string) maxLength
+ if (this.CvToken != null && this.CvToken.Length > 500)
+ {
+ yield return new ValidationResult("Invalid value for CvToken, length must be less than 500.", new [] { "CvToken" });
+ }
+
+ // CvToken (string) minLength
+ if (this.CvToken != null && this.CvToken.Length < 0)
+ {
+ yield return new ValidationResult("Invalid value for CvToken, length must be greater than 0.", new [] { "CvToken" });
+ }
+
yield break;
}
}
diff --git a/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs b/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs
index a6e9a17e..04eb9c7c 100644
--- a/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs
+++ b/src/Bandwidth.Standard/Model/VerificationUpdateRequest.cs
@@ -69,7 +69,8 @@ protected VerificationUpdateRequest() { }
/// businessEntityType.
/// A message that gets sent to users requesting help..
/// Indicates whether the content is age-gated..
- public VerificationUpdateRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string), string businessRegistrationNumber = default(string), BusinessRegistrationTypeEnum? businessRegistrationType = default(BusinessRegistrationTypeEnum?), BusinessEntityTypeEnum? businessEntityType = default(BusinessEntityTypeEnum?), string helpMessageResponse = default(string), bool ageGatedContent = default(bool))
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected..
+ public VerificationUpdateRequest(Address businessAddress = default(Address), Contact businessContact = default(Contact), int messageVolume = default(int), string useCase = default(string), string useCaseSummary = default(string), string productionMessageContent = default(string), OptInWorkflow optInWorkflow = default(OptInWorkflow), string additionalInformation = default(string), string isvReseller = default(string), string privacyPolicyUrl = default(string), string termsAndConditionsUrl = default(string), string businessDba = default(string), string businessRegistrationNumber = default(string), BusinessRegistrationTypeEnum? businessRegistrationType = default(BusinessRegistrationTypeEnum?), BusinessEntityTypeEnum? businessEntityType = default(BusinessEntityTypeEnum?), string helpMessageResponse = default(string), bool ageGatedContent = default(bool), string cvToken = default(string))
{
// to ensure "businessAddress" is required (not null)
if (businessAddress == null)
@@ -118,6 +119,7 @@ protected VerificationUpdateRequest() { }
this.BusinessEntityType = businessEntityType;
this.HelpMessageResponse = helpMessageResponse;
this.AgeGatedContent = ageGatedContent;
+ this.CvToken = cvToken;
}
///
@@ -234,6 +236,14 @@ protected VerificationUpdateRequest() { }
[DataMember(Name = "ageGatedContent", EmitDefaultValue = true)]
public bool AgeGatedContent { get; set; }
+ ///
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected.
+ ///
+ /// 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. If you pass an empty string, it will be passed along and potentially rejected.
+ /// cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw
+ [DataMember(Name = "cvToken", EmitDefaultValue = true)]
+ public string CvToken { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -259,6 +269,7 @@ public override string ToString()
sb.Append(" BusinessEntityType: ").Append(BusinessEntityType).Append("\n");
sb.Append(" HelpMessageResponse: ").Append(HelpMessageResponse).Append("\n");
sb.Append(" AgeGatedContent: ").Append(AgeGatedContent).Append("\n");
+ sb.Append(" CvToken: ").Append(CvToken).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -363,6 +374,18 @@ IEnumerable IValidatableObject.Validate(ValidationContext vali
yield return new ValidationResult("Invalid value for HelpMessageResponse, length must be less than 500.", new [] { "HelpMessageResponse" });
}
+ // CvToken (string) maxLength
+ if (this.CvToken != null && this.CvToken.Length > 500)
+ {
+ yield return new ValidationResult("Invalid value for CvToken, length must be less than 500.", new [] { "CvToken" });
+ }
+
+ // CvToken (string) minLength
+ if (this.CvToken != null && this.CvToken.Length < 0)
+ {
+ yield return new ValidationResult("Invalid value for CvToken, length must be greater than 0.", new [] { "CvToken" });
+ }
+
yield break;
}
}
diff --git a/src/Bandwidth.Standard/Model/VerificationWebhook.cs b/src/Bandwidth.Standard/Model/VerificationWebhook.cs
index 6318cfab..11d76cb1 100644
--- a/src/Bandwidth.Standard/Model/VerificationWebhook.cs
+++ b/src/Bandwidth.Standard/Model/VerificationWebhook.cs
@@ -45,7 +45,7 @@ public partial class VerificationWebhook : IValidatableObject
/// Toll-free telephone number in E.164 format..
/// status.
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number..
- public VerificationWebhook(string accountId = default(string), string phoneNumber = default(string), TfvCallbackStatusEnum? status = default(TfvCallbackStatusEnum?), Guid internalTicketNumber = default(Guid))
+ public VerificationWebhook(string accountId = default(string), string phoneNumber = default(string), TfvCallbackStatusEnum? status = default(TfvCallbackStatusEnum?), string internalTicketNumber = default(string))
{
this.AccountId = accountId;
this.PhoneNumber = phoneNumber;
@@ -75,7 +75,7 @@ public partial class VerificationWebhook : IValidatableObject
/// Unique identifier (UUID) generated by Bandwidth to assist in tracking the verification status of a toll-free number.
/// acde070d-8c4c-4f0d-9d8a-162843c10333
[DataMember(Name = "internalTicketNumber", EmitDefaultValue = false)]
- public Guid InternalTicketNumber { get; set; }
+ public string InternalTicketNumber { get; set; }
///
/// Returns the string presentation of the object