From 82f35c15b5c687c41c78af0c831561e2c554bff1 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 16 Dec 2025 14:08:35 +0000 Subject: [PATCH 1/3] Generate SDK with OpenAPI Generator Version --- bandwidth.yml | 18 ++++++++++++++++++ docs/TfvStatus.md | 2 ++ docs/VerificationRequest.md | 2 ++ docs/VerificationUpdateRequest.md | 2 ++ models/tfv-status.ts | 4 ++++ models/verification-request.ts | 4 ++++ models/verification-update-request.ts | 4 ++++ 7 files changed, 36 insertions(+) diff --git a/bandwidth.yml b/bandwidth.yml index d7c3295..22b13ce 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -5956,6 +5956,8 @@ components: $ref: '#/components/schemas/helpMessageResponse' ageGatedContent: $ref: '#/components/schemas/ageGatedContent' + cvToken: + $ref: '#/components/schemas/cvToken' verificationUpdateRequest: type: object required: @@ -6005,6 +6007,8 @@ components: $ref: '#/components/schemas/helpMessageResponse' ageGatedContent: $ref: '#/components/schemas/ageGatedContent' + cvToken: + $ref: '#/components/schemas/cvToken' tfvBasicAuthentication: type: object properties: @@ -6456,6 +6460,8 @@ components: $ref: '#/components/schemas/blocked' blockedReason: $ref: '#/components/schemas/blockedReason' + cvToken: + $ref: '#/components/schemas/cvToken' tfvSubmissionInfo: type: object properties: @@ -6520,6 +6526,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 diff --git a/docs/TfvStatus.md b/docs/TfvStatus.md index fea78e2..8e471e6 100644 --- a/docs/TfvStatus.md +++ b/docs/TfvStatus.md @@ -15,6 +15,7 @@ Name | Type | Description | Notes **submission** | [**TfvSubmissionInfo**](TfvSubmissionInfo.md) | | [optional] [default to undefined] **blocked** | **boolean** | Whether a Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. | [optional] [default to undefined] **blockedReason** | **string** | The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. | [optional] [default to undefined] +**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] [default to undefined] ## Example @@ -32,6 +33,7 @@ const instance: TfvStatus = { submission, blocked, blockedReason, + cvToken, }; ``` diff --git a/docs/VerificationRequest.md b/docs/VerificationRequest.md index 7071e56..4e2ee4f 100644 --- a/docs/VerificationRequest.md +++ b/docs/VerificationRequest.md @@ -23,6 +23,7 @@ Name | Type | Description | Notes **businessEntityType** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] [default to undefined] **helpMessageResponse** | **string** | A message that gets sent to users requesting help. | [optional] [default to undefined] **ageGatedContent** | **boolean** | Indicates whether the content is age-gated. | [optional] [default to undefined] +**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] [default to undefined] ## Example @@ -48,6 +49,7 @@ const instance: VerificationRequest = { businessEntityType, helpMessageResponse, ageGatedContent, + cvToken, }; ``` diff --git a/docs/VerificationUpdateRequest.md b/docs/VerificationUpdateRequest.md index a372076..d4bd61f 100644 --- a/docs/VerificationUpdateRequest.md +++ b/docs/VerificationUpdateRequest.md @@ -22,6 +22,7 @@ Name | Type | Description | Notes **businessEntityType** | [**BusinessEntityTypeEnum**](BusinessEntityTypeEnum.md) | | [optional] [default to undefined] **helpMessageResponse** | **string** | A message that gets sent to users requesting help. | [optional] [default to undefined] **ageGatedContent** | **boolean** | Indicates whether the content is age-gated. | [optional] [default to undefined] +**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] [default to undefined] ## Example @@ -46,6 +47,7 @@ const instance: VerificationUpdateRequest = { businessEntityType, helpMessageResponse, ageGatedContent, + cvToken, }; ``` diff --git a/models/tfv-status.ts b/models/tfv-status.ts index 8330fcf..a20f39d 100644 --- a/models/tfv-status.ts +++ b/models/tfv-status.ts @@ -55,6 +55,10 @@ export interface TfvStatus { * The reason why the Toll-Free Verification is blocked. This attribute will only be defined when the number is blocked. */ 'blockedReason'?: 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. + */ + 'cvToken'?: string | null; } diff --git a/models/verification-request.ts b/models/verification-request.ts index 409b383..80569ad 100644 --- a/models/verification-request.ts +++ b/models/verification-request.ts @@ -84,6 +84,10 @@ export interface VerificationRequest { * Indicates whether the content is age-gated. */ 'ageGatedContent'?: boolean; + /** + * 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. + */ + 'cvToken'?: string | null; } diff --git a/models/verification-update-request.ts b/models/verification-update-request.ts index 5e6d90e..85c83e3 100644 --- a/models/verification-update-request.ts +++ b/models/verification-update-request.ts @@ -83,6 +83,10 @@ export interface VerificationUpdateRequest { * Indicates whether the content is age-gated. */ 'ageGatedContent'?: boolean; + /** + * 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. + */ + 'cvToken'?: string | null; } From ab465f40e957ada28ff39e613ed0e3b7b3f36273 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Wed, 7 Jan 2026 16:50:01 -0500 Subject: [PATCH 2/3] update unit test --- .../unit/api/toll-free-verification-api.test.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/unit/api/toll-free-verification-api.test.ts b/tests/unit/api/toll-free-verification-api.test.ts index 60c58c6..83f7b42 100644 --- a/tests/unit/api/toll-free-verification-api.test.ts +++ b/tests/unit/api/toll-free-verification-api.test.ts @@ -1,7 +1,7 @@ //@ts-nocheck import { TollFreeVerificationApi } from '../../../api'; import { Configuration } from '../../../configuration'; -import { CallbackTypeEnum, TfvStatusEnum, WebhookSubscriptionTypeEnum } from '../../../models'; +import { BusinessEntityTypeEnum, BusinessRegistrationTypeEnum, CallbackTypeEnum, TfvStatusEnum, WebhookSubscriptionTypeEnum } from '../../../models'; describe('TollFreeVerificationApi', () => { const config = new Configuration({ @@ -56,6 +56,9 @@ describe('TollFreeVerificationApi', () => { expect(data.resubmitAllowed).toBeBoolean(); expect(data.createdDateTime).toBeDateString(); expect(data.modifiedDateTime).toBeDateString(); + expect(data.submission).toBeObject(); + expect(data.blocked).toBeBoolean(); + expect(data.blockedReason).toBeString(); }); }); @@ -130,7 +133,16 @@ describe('TollFreeVerificationApi', () => { imageUrls: ['https://example.com'] }, additionalInformation: 'additionalInformation', - isvReseller: 'isvReseller' + isvReseller: 'isvReseller', + privacyPolicyUrl: 'https://example.com', + termsAndConditionsUrl: 'https://example.com', + businessDba: 'businessDba', + businessRegistrationNumber: 'businessRegistrationNumber', + businessRegistrationType: BusinessRegistrationTypeEnum.Ein, + businessEntityType: BusinessEntityTypeEnum.NonProfit, + helpMessageResponse: 'helpMessageResponse', + ageGatedContent: true, + cvToken: 'cvToken' }; const { status } = await tfvApi.requestTollFreeVerification(BW_ACCOUNT_ID, verificationRequest); From b913283f27ee7dc505b6d96f7710c4b45247008a Mon Sep 17 00:00:00 2001 From: ckoegel Date: Wed, 7 Jan 2026 16:55:52 -0500 Subject: [PATCH 3/3] add cvtoken assertion --- tests/unit/api/toll-free-verification-api.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit/api/toll-free-verification-api.test.ts b/tests/unit/api/toll-free-verification-api.test.ts index 83f7b42..cf0f1d3 100644 --- a/tests/unit/api/toll-free-verification-api.test.ts +++ b/tests/unit/api/toll-free-verification-api.test.ts @@ -59,6 +59,7 @@ describe('TollFreeVerificationApi', () => { expect(data.submission).toBeObject(); expect(data.blocked).toBeBoolean(); expect(data.blockedReason).toBeString(); + expect(data.cvToken).toBeString(); }); });