diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 665ecea..10b44bd 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -60,6 +60,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 @@ -247,6 +248,7 @@ models/create-message-request-error.ts models/create-multi-channel-message-response.ts models/create-sync-lookup-response-data.ts models/create-sync-lookup-response.ts +models/custom-too-many-requests-error.ts models/deactivation-event-enum.ts models/disconnect-callback.ts models/diversion.ts diff --git a/README.md b/README.md index 1f44d1e..e53d08e 100644 --- a/README.md +++ b/README.md @@ -203,6 +203,7 @@ Class | Method | HTTP request | Description - [CreateMultiChannelMessageResponse](docs/CreateMultiChannelMessageResponse.md) - [CreateSyncLookupResponse](docs/CreateSyncLookupResponse.md) - [CreateSyncLookupResponseData](docs/CreateSyncLookupResponseData.md) + - [CustomTooManyRequestsError](docs/CustomTooManyRequestsError.md) - [DeactivationEventEnum](docs/DeactivationEventEnum.md) - [DisconnectCallback](docs/DisconnectCallback.md) - [Diversion](docs/Diversion.md) diff --git a/api/messages-api.ts b/api/messages-api.ts index 2b00916..fe57286 100644 --- a/api/messages-api.ts +++ b/api/messages-api.ts @@ -24,6 +24,8 @@ import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError // @ts-ignore import type { CreateMessageRequestError } from '../models'; // @ts-ignore +import type { CustomTooManyRequestsError } from '../models'; +// @ts-ignore import type { ListMessageDirectionEnum } from '../models'; // @ts-ignore import type { Message } from '../models'; @@ -93,7 +95,7 @@ export const MessagesApiAxiosParamCreator = function (configuration?: Configurat }; }, /** - * 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. * @summary List Messages * @param {string} accountId Your Bandwidth Account ID. * @param {string} [messageId] The ID of the message to search for. Special characters need to be encoded using URL encoding. Message IDs could come in different formats, e.g., 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 and 1589228074636lm4k2je7j7jklbn2 are valid message ID formats. Note that you must include at least one query parameter. @@ -293,7 +295,7 @@ export const MessagesApiFp = function(configuration?: Configuration) { return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** - * 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. * @summary List Messages * @param {string} accountId Your Bandwidth Account ID. * @param {string} [messageId] The ID of the message to search for. Special characters need to be encoded using URL encoding. Message IDs could come in different formats, e.g., 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 and 1589228074636lm4k2je7j7jklbn2 are valid message ID formats. Note that you must include at least one query parameter. @@ -353,7 +355,7 @@ export const MessagesApiFactory = function (configuration?: Configuration, baseP return localVarFp.createMessage(accountId, messageRequest, options).then((request) => request(axios, basePath)); }, /** - * 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. * @summary List Messages * @param {string} accountId Your Bandwidth Account ID. * @param {string} [messageId] The ID of the message to search for. Special characters need to be encoded using URL encoding. Message IDs could come in different formats, e.g., 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 and 1589228074636lm4k2je7j7jklbn2 are valid message ID formats. Note that you must include at least one query parameter. @@ -409,7 +411,7 @@ export class MessagesApi extends BaseAPI { } /** - * 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. * @summary List Messages * @param {string} accountId Your Bandwidth Account ID. * @param {string} [messageId] The ID of the message to search for. Special characters need to be encoded using URL encoding. Message IDs could come in different formats, e.g., 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 and 1589228074636lm4k2je7j7jklbn2 are valid message ID formats. Note that you must include at least one query parameter. diff --git a/bandwidth.yml b/bandwidth.yml index d7c3295..4c32a6b 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/CustomTooManyRequestsError.md b/docs/CustomTooManyRequestsError.md new file mode 100644 index 0000000..4d22dc5 --- /dev/null +++ b/docs/CustomTooManyRequestsError.md @@ -0,0 +1,22 @@ +# CustomTooManyRequestsError + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **string** | | [default to undefined] +**description** | **string** | | [default to undefined] + +## Example + +```typescript +import { CustomTooManyRequestsError } from 'bandwidth-sdk'; + +const instance: CustomTooManyRequestsError = { + type, + description, +}; +``` + +[[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 0a01251..9202261 100644 --- a/docs/MessagesApi.md +++ b/docs/MessagesApi.md @@ -74,7 +74,7 @@ const { status, data } = await apiInstance.createMessage( # **listMessages** > MessagesList listMessages() -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 @@ -204,8 +204,9 @@ const { status, data } = await apiInstance.listMessages( |**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 4d566be..dc887e8 100644 --- a/docs/MultiChannelChannelListRBMObjectAllOfContent.md +++ b/docs/MultiChannelChannelListRBMObjectAllOfContent.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **text** | **string** | The text associated with the message. Must be 3270 characters or less | [default to undefined] **suggestions** | [**Array<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] [default to undefined] -**media** | [**RbmMessageContentFile**](RbmMessageContentFile.md) | | [default to undefined] +**media** | [**Array<RbmMessageContentFile>**](RbmMessageContentFile.md) | | [default to undefined] **orientation** | [**StandaloneCardOrientationEnum**](StandaloneCardOrientationEnum.md) | | [default to undefined] **thumbnailImageAlignment** | [**ThumbnailAlignmentEnum**](ThumbnailAlignmentEnum.md) | | [default to undefined] **cardContent** | [**RbmCardContent**](RbmCardContent.md) | | [default to undefined] diff --git a/docs/RbmMessageMedia.md b/docs/RbmMessageMedia.md index a941751..c184653 100644 --- a/docs/RbmMessageMedia.md +++ b/docs/RbmMessageMedia.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**media** | [**RbmMessageContentFile**](RbmMessageContentFile.md) | | [default to undefined] +**media** | [**Array<RbmMessageContentFile>**](RbmMessageContentFile.md) | | [default to undefined] **suggestions** | [**Array<MultiChannelAction>**](MultiChannelAction.md) | An array of suggested actions for the recipient. | [optional] [default to undefined] ## Example 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/custom-too-many-requests-error.ts b/models/custom-too-many-requests-error.ts new file mode 100644 index 0000000..6bc28db --- /dev/null +++ b/models/custom-too-many-requests-error.ts @@ -0,0 +1,21 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Bandwidth + * Bandwidth\'s Communication APIs + * + * The version of the OpenAPI document: 1.0.0 + * Contact: letstalk@bandwidth.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +export interface CustomTooManyRequestsError { + 'type': string; + 'description': string; +} + diff --git a/models/index.ts b/models/index.ts index 7900f52..c69c202 100644 --- a/models/index.ts +++ b/models/index.ts @@ -41,6 +41,7 @@ export * from './create-message-request-error'; export * from './create-multi-channel-message-response'; export * from './create-sync-lookup-response'; export * from './create-sync-lookup-response-data'; +export * from './custom-too-many-requests-error'; export * from './deactivation-event-enum'; export * from './disconnect-callback'; export * from './diversion'; diff --git a/models/rbm-message-media.ts b/models/rbm-message-media.ts index c196bef..7a953d3 100644 --- a/models/rbm-message-media.ts +++ b/models/rbm-message-media.ts @@ -21,7 +21,7 @@ import type { MultiChannelAction } from './multi-channel-action'; import type { RbmMessageContentFile } from './rbm-message-content-file'; export interface RbmMessageMedia { - 'media': RbmMessageContentFile; + 'media': Array; /** * An array of suggested actions for the recipient. */ 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; }