From 73af8c34af5a2da9c9bcade1628a412bb1fd9c4e Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 5 Jun 2023 14:28:20 +0000 Subject: [PATCH 01/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 718 +++++++++++++++++++++++++++++++++++++++ site/specs/insights.yml | 25 +- site/specs/messaging.yml | 14 - site/specs/numbers.yml | 336 ------------------ 4 files changed, 719 insertions(+), 374 deletions(-) create mode 100644 site/specs/ai-bridge.yml diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml new file mode 100644 index 000000000..dbf758592 --- /dev/null +++ b/site/specs/ai-bridge.yml @@ -0,0 +1,718 @@ +openapi: 3.0.3 +info: + title: AI Bridge + description: >- + This AI Bridge API can be used to create and manage Providers and Bots for + the Bandwidth AI Bridge product. + contact: + name: Bandwidth + url: https://support.bandwidth.com/TODO + email: test@support.bandwidth.com + termsOfService: https://www.bandwidth.com/legal/terms-of-use-bandwidthcom-web-sites/ + version: 1.0.0 +servers: + - url: TODO + description: Production +paths: + /accounts/{accountId}/aibridge/providers: + get: + summary: List All Providers + operationId: listProviders + description: Retrieve a list of all Providers for a single account. + parameters: + - $ref: '#/components/parameters/accountId' + responses: + '200': + $ref: '#/components/responses/listProvidersResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + 5XX: + $ref: '#/components/responses/internalServerError' + post: + summary: Add a Provider + operationId: addProvider + description: Create a configuration for an new Provider. + parameters: + - $ref: '#/components/parameters/accountId' + requestBody: + $ref: '#/components/requestBodies/providerPostRequest' + responses: + '200': + $ref: '#/components/responses/createProviderResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + 5XX: + $ref: '#/components/responses/internalServerError' + /accounts/{accountId}/aibridge/providers/{providerId}: + get: + summary: Get a Provider by accountId and providerId + operationId: getProvider + description: >- + Get a provider which corresponds to a particular account and provider + Id. + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/providerId' + responses: + '200': + $ref: '#/components/responses/getProviderResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + 5XX: + $ref: '#/components/responses/internalServerError' + put: + summary: Replace a Provider + operationId: replaceProvider + description: Replace the configuration for an existing Provider. + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/providerId' + requestBody: + $ref: '#/components/requestBodies/providerPutRequest' + responses: + '200': + $ref: '#/components/responses/replaceProvidersResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + 5XX: + $ref: '#/components/responses/internalServerError' + patch: + summary: Update a Provider + operationId: updateProvider + description: Update an existing Provider. + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/providerId' + requestBody: + $ref: '#/components/requestBodies/providerPatchRequest' + responses: + '200': + $ref: '#/components/responses/modifyProvidersResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + 5XX: + $ref: '#/components/responses/internalServerError' + delete: + summary: Delete a Provider + operationId: deleteProvider + description: Delete an existing Provider + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/providerId' + responses: + '204': + $ref: '#/components/responses/deleteProviderResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + 5XX: + $ref: '#/components/responses/internalServerError' +components: + parameters: + accountId: + name: accountId + schema: + $ref: '#/components/schemas/accountId' + in: path + required: true + providerId: + name: providerId + in: path + description: The related provider id. + required: true + schema: + type: string + example: 255d53ae-9cd8-4eed-8e33-0464c728e02a + botId: + name: botId + in: path + description: The related bot id. + required: true + schema: + type: string + example: 255d53ae-9cd8-4eed-8e33-0464c728e02a + responses: + listProvidersResponse: + description: List of provider information for an account. + content: + application/json: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/googleProviderResponseData' + - $ref: '#/components/schemas/awsProviderResponseData' + - $ref: '#/components/schemas/cognigyProviderResponseData' + examples: + googleProviderExample: + $ref: '#/components/examples/googleProviderExample' + awsProviderExample: + $ref: '#/components/examples/awsProviderExample' + cognigyProviderExample: + $ref: '#/components/examples/cognigyProviderExample' + getProviderResponse: + description: Information on a specific provider. + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/googleProviderResponseData' + - $ref: '#/components/schemas/awsProviderResponseData' + - $ref: '#/components/schemas/cognigyProviderResponseData' + examples: + googleProviderExample: + $ref: '#/components/examples/googleProviderExample' + awsProviderExample: + $ref: '#/components/examples/awsProviderExample' + cognigyProviderExample: + $ref: '#/components/examples/cognigyProviderExample' + createProviderResponse: + description: A JSON object containing the details of the newly created Provider. + content: + application/json: + schema: + $ref: '#/components/schemas/postProviderResponseData' + replaceProvidersResponse: + description: A JSON object containing the updated details of the Provider. + content: + application/json: + schema: + $ref: '#/components/schemas/replaceProviderResponseData' + modifyProvidersResponse: + description: A JSON object containing the updated details of the Provider. + content: + application/json: + schema: + $ref: '#/components/schemas/updateProviderResponseData' + deleteProviderResponse: + description: The provider was successfully deleted. No response body is returned. + badRequestError: + description: A bad request error. + content: + application/json: + schema: + $ref: '#/components/schemas/badRequestError' + examples: + badRequestErrorExample: + $ref: '#/components/examples/badRequestErrorExample' + notFoundError: + description: A resource not found error. + content: + application/json: + schema: + $ref: '#/components/schemas/notFoundError' + examples: + notFoundErrorExample: + $ref: '#/components/examples/notFoundErrorExample' + internalServerError: + description: An internal server error. + content: + application/json: + schema: + $ref: '#/components/schemas/internalServerError' + examples: + internalServerErrorExample: + $ref: '#/components/examples/internalServerErrorExample' + unauthorizedError: + description: Un unauthorized error. + content: + application/json: + schema: + $ref: '#/components/schemas/authenticationError' + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/unauthorizedErrorExample' + forbiddenError: + description: Un unauthorized error. + content: + application/json: + schema: + $ref: '#/components/schemas/authorizationError' + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/forbiddenErrorExample' + schemas: + accountId: + type: number + description: >- + The ID of the Bandwidth Dashboard account that the called number of the + phone call is assigned to. + example: + type: integer + example: 1234567 + providersResponse: + type: object + description: All available information about a specific configured provider. + properties: + data: + type: object + properties: + schema: + $ref: '#/components/responses/getProviderResponse' + nullable: true + googleProviderResponseData: + title: Google Provider Response Data + type: object + description: Contains Provider information. + properties: + objects: + type: array + items: + type: object + properties: + type: + type: string + fields: + type: object + properties: + region: + type: string + description: A string representing the region. + example: us-east-1 + location: + type: string + description: A string representing the location. + example: Raleigh + environment: + type: string + description: A string representing the environment. + example: Production + projectId: + type: string + description: A string representing the project ID. + example: my-project + agentId: + type: string + description: A string representing the agent ID. + example: my-agent + minLength: 1 + sttOverrideConfig: + type: string + description: A string representing the STT override configuration. + sttOverrideStreamingConfig: + type: string + description: A string representing the STT override streaming configuration. + required: + - type + - fields + errors: + type: object + oneOf: + - $ref: '#/components/schemas/badRequestError' + - $ref: '#/components/schemas/authenticationError' + - $ref: '#/components/schemas/authorizationError' + - $ref: '#/components/schemas/notFoundError' + - $ref: '#/components/schemas/internalServerError' + awsProviderResponseData: + title: AWS Provider Response Data + type: object + properties: + type: + type: string + fields: + type: object + properties: + region: + type: string + description: A string representing the region. + example: us-west-2 + credentials: + type: string + description: A string representing the credentials. + example: ABCDEFG123456 + required: + - type + - fields + errors: + type: object + oneOf: + - $ref: '#/components/schemas/badRequestError' + - $ref: '#/components/schemas/authenticationError' + - $ref: '#/components/schemas/authorizationError' + - $ref: '#/components/schemas/notFoundError' + - $ref: '#/components/schemas/internalServerError' + cognigyProviderResponseData: + title: Cognigy Provider Response Data + type: object + properties: + type: + type: string + fields: + type: object + properties: + botEndpoint: + type: string + description: A string representing the Cognigy bot endpoint. + example: https://cognigy.ai/bots/mybot + credentials: + type: string + description: A string representing the Cognigy bot credentials. + example: ABCDEFG123456 + required: + - type + - fields + errors: + type: object + oneOf: + - $ref: '#/components/schemas/badRequestError' + - $ref: '#/components/schemas/authenticationError' + - $ref: '#/components/schemas/authorizationError' + - $ref: '#/components/schemas/notFoundError' + - $ref: '#/components/schemas/internalServerError' + badRequestError: + type: object + properties: + errorCode: + type: integer + description: The error code. + example: 400 + errorMsg: + type: string + description: The error message. + example: Malformed request data + required: + - errorCode + - errorMsg + authenticationError: + type: object + properties: + errorCode: + type: integer + description: The error code. + example: 401 + errorMsg: + type: string + description: The error message. + example: Invalid credentials + required: + - errorCode + - errorMsg + authorizationError: + type: object + properties: + errorCode: + type: integer + description: The error code. + example: 403 + errorMsg: + type: string + description: The error message. + example: Insufficient privileges + required: + - errorCode + - errorMsg + notFoundError: + type: object + properties: + errorCode: + type: integer + description: The error code + example: 404 + errorMsg: + type: string + description: The error message + example: Resource not found + required: + - errorCode + - errorMsg + internalServerError: + type: object + properties: + errorCode: + type: integer + description: The error code. + example: 500 + errorMsg: + type: string + description: The error message. + example: Internal server error + required: + - errorCode + - errorMsg + createProvider: + type: object + properties: + name: + type: string + example: Provider X + description: Description of Provider X. + credentials: + type: object + properties: + username: + type: string + example: johndoe + password: + type: string + example: p@ssw0rd + required: + - username + - password + x-createProviderExample: + name: Provider X + description: Description of Provider X. + credentials: + username: johndoe + password: p@ssw0rd + replaceProvider: + type: object + properties: + name: + type: string + example: Provider X + description: + type: string + example: Description of Provider X. + credentials: + type: object + properties: + username: + type: string + example: johndoe + password: + type: string + example: p@ssw0rd + required: + - username + - credentials + x-replaceProviderExample: + name: Provider X (Updated) + description: Description of Provider X (Updated) + credentials: + username: johndoe + password: newp@ssword + postProviderResponseData: + type: object + properties: + id: + type: string + description: Unique identifier of the new Provider. + example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 + name: + type: string + description: Name of the new Provider. + example: Provider X + description: + type: string + description: Description of the new Provider. + example: Configuration for Provider X + type: + type: string + description: The type of provider, such as 'google', 'aws', or 'cognigy'. + enum: + - google + - aws + - cognigy + replaceProviderResponseData: + type: object + properties: + id: + type: string + description: The new unique identifier of the updated provider. + example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e + name: + type: string + description: The new name of the updated provider. + example: Provider Y + description: + type: string + description: The new description of the updated provider. + example: Configuration for Provider Y + type: + type: string + description: The new type of the updated provider, such as 'google' or 'aws'. + enum: + - google + - aws + - cognigy + updateProviderResponseData: + type: object + properties: + id: + type: string + description: The unique identifier of the updated provider. + example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e + name: + type: string + description: The new name of the updated provider. + example: Provider Y + description: + type: string + description: The new description of the updated provider. + example: Configuration for Provider Y + type: + type: string + description: The new type of the updated provider, such as 'google' or 'aws'. + enum: + - google + - aws + - cognigy + updateProvider: + type: object + properties: + name: + type: string + example: Provider X + description: + type: string + example: Description of Provider X. + example: + name: Provider X (Updated) + description: Description of Provider X (Updated). + credentials: + username: johndoe + password: newp@ssword + cognigyResponse: + type: object + properties: + type: + type: string + fields: + type: object + properties: + ttsUrl: + type: string + description: A string representing the TTS URL. + example: http://example.com/tts + sttUrl: + type: string + description: A string representing the STT URL. + example: http://example.com/stt + required: + - type + - fields + requestBodies: + providerPostRequest: + description: Configuration details of the new Provider. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/createProvider' + providerPutRequest: + description: Updated configuration details for the Provider. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/replaceProvider' + providerPatchRequest: + description: Updated configuration details for the Provider. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/updateProvider' + examples: + googleProviderExample: + summary: An example of a Google provider + value: + objects: + - type: GoogleType + Region: northamerica + Location: us-east-1 + ProjectId: myproject + AgentId: myagent + SttOverrideConfig: null + SttOverrideStreamingConfig: null + awsProviderExample: + summary: An example of an AWS provider + value: + objects: + - type: AwsType + Region: us-west-1 + Credentials: + accessKeyId: myaccesskey + secretAccessKey: mysecretkey + cognigyProviderExample: + summary: An example of a Cognigy provider + value: + objects: + - type: CognigyType + TtsUrl: https://example.com/tts + SttUrl: https://example.com/stt + badRequestErrorExample: + summary: An example of a generic Bad Request Error. + value: + links: null + data: null + errors: + - id: optional-error-id + type: bad-request + description: There was an issue with your request. + code: 205617 + unauthorizedErrorExample: + summary: An example of a generic Unauthorized Error + value: + links: null + data: null + errors: + - id: optional-error-id + type: authentication-credentials + description: Invalid or missing credentials. + code: 206401 + forbiddenErrorExample: + summary: An example of a generic Unauthorized Error. + value: + links: null + data: null + errors: + - id: optional-error-id + type: resource-permissions + description: User does not have permissions to access this resource. + code: 109107 + notFoundErrorExample: + summary: An example of a generic Not Found Error. + value: + links: null + data: null + errors: + - id: optional-error-id + type: resource-not-found + description: The resource specified cannot be found. + code: 50420 + internalServerErrorExample: + summary: An example of a generic Internal Server Error. + value: + links: null + data: null + errors: + - id: optional-error-id + type: internal-server-error + description: >- + Unexpected internal server error. Contact Bandwidth Customer + Support if this problem persists. + code: 32030 diff --git a/site/specs/insights.yml b/site/specs/insights.yml index 9b3d52d21..e1fc6e683 100644 --- a/site/specs/insights.yml +++ b/site/specs/insights.yml @@ -105,12 +105,10 @@ components: example: '2022-05-26T17:27:44.400Z' duration: type: integer - nullable: true description: Length of the call, measured in milliseconds. example: 500000 callingNumber: type: string - nullable: true description: |- Phone number of the caller who initiated the call. @@ -118,7 +116,6 @@ components: example: '+18185559876' calledNumber: type: string - nullable: true description: |- Phone number of the caller who received the call. @@ -134,8 +131,7 @@ components: type: integer description: >- Message generated by a user agent server (UAS) or SIP server to - reply to a request generated by a client. A value of negative one - (-1) indicates an unknown SIP response. + reply to a request generated by a client. example: 200 sipResponseDescription: type: string @@ -144,7 +140,6 @@ components: cost: format: double type: number - nullable: true description: >- Estimated cost associated with the call. This may not match directly to your invoice as this is an estimate. If this value is null it is @@ -153,30 +148,12 @@ components: example: 0.000123 subAccount: type: string - nullable: true description: Sub-Account ID. example: '1234' attestationIndicator: $ref: '#/components/schemas/attestationIndicator' hangUpSource: $ref: '#/components/schemas/hangUpSource' - postDialDelay: - type: integer - description: >- - How long it takes for a calling party to hear a ringback tone after - initiating a call, measured in milliseconds. - nullable: true - example: 0 - packetsSent: - type: integer - description: Count of packets sent during transmission. - nullable: true - example: 0 - packetsReceived: - type: integer - description: Count of packets received during transmission. - nullable: true - example: 0 genericError: title: Generic Error type: object diff --git a/site/specs/messaging.yml b/site/specs/messaging.yml index 28e2569df..81b733399 100644 --- a/site/specs/messaging.yml +++ b/site/specs/messaging.yml @@ -883,7 +883,6 @@ paths: - $ref: '#/components/parameters/errorCode' - $ref: '#/components/parameters/fromDateTime' - $ref: '#/components/parameters/toDateTime' - - $ref: '#/components/parameters/campaignId' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/pageToken' - $ref: '#/components/parameters/limit' @@ -1493,14 +1492,6 @@ components: example: 2022-09-14T18:20:16.000Z schema: type: string - campaignId: - in: query - name: campaignId - required: false - description: The campaign ID of the message. - example: CJEUMDK - schema: - type: string sort: in: query name: sort @@ -1670,11 +1661,6 @@ components: description: The campaign class of the message if it has one. nullable: true example: T - campaignId: - type: string - description: The campaign ID of the message if it has one. - nullable: true - example: CJEUMDK pageInfo: title: PageInfo type: object diff --git a/site/specs/numbers.yml b/site/specs/numbers.yml index 938640bbb..47641681f 100644 --- a/site/specs/numbers.yml +++ b/site/specs/numbers.yml @@ -676,85 +676,6 @@ components: www.my.website.com true - RateCenterFindCoverage404Error: - value: |- - - - - Rate center coverage with id 999 was not found. - 3940 - - - RateCenterGetCoverage400Error: - value: |- - - - - You must provide at least one parameter in order to search. - 3924 - - - RateCenterGetCoverageResponseExample: - value: |- - - - - 49 - ALABASTER - AL - 1 - true - true - - - RateCenterPostCoverage400Error: - value: |- - - - - Offnet coverage must not have an LRN. - 3913 - - - RateCenterPostCoverage409Error: - value: |- - - - - Coverage already exists for FARMVILLE.NC with vendor ID 49 - 3923 - - - RateCenterPostCoverageResponseExample: - value: |- - - - - 49 - FARMVILLE - NC - 1 - false - true - 2529690000 - 951 - - - RateCenterPutCoverageResponseExample: - value: |- - - - - 49 - FARMVILLE - NC - 1 - false - true - 2529690000 - 951 - - RemoveImportedVoiceTnOrders: description: List all remove imported voice tn orders response value: |- @@ -953,69 +874,6 @@ components: required: true schema: type: string - RCAbbreviationOptional: - description: A rate center's abbreviation - example: ALABASTER - in: query - name: abbreviation - required: false - schema: - type: string - RCAbbreviationRequired: - description: A rate center's abbreviation - example: FARMVILLE - in: query - name: abbreviation - required: true - schema: - type: string - RCCoverageMatrixId: - description: A rate center's coverage matrix id - in: path - name: id - required: true - schema: - type: number - RCLataOptional: - description: Rate center LATA - example: 951 - in: query - name: lata - required: false - schema: - type: number - RCRegionOptional: - description: A rate center's state - example: AL - in: query - name: region - required: false - schema: - type: string - RCRegionRequired: - description: A rate center's state - example: NC - in: query - name: region - required: true - schema: - type: string - RCVendorOptional: - description: Vendor id - example: 49 - in: query - name: vendor - required: false - schema: - type: number - RCVendorRequired: - description: Vendor id - example: 49 - in: query - name: vendor - required: true - schema: - type: number RoleIdPathParam: description: Role Id example: testRole @@ -1233,121 +1091,6 @@ components: associated with the order, the state of the order, and a list of the successfully imported Telephone Numbers, and descriptions of any encountered errors. - rateCenter401Error: - content: - application/json: - examples: - example: - value: - description: Client is providing incorrect or invalid credentials. - type: unauthorized - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: Client is providing incorrect or invalid credentials. - rateCenter403Error: - content: - application/json: - examples: - example: - value: - description: Client does not have access rights to the content. - type: forbidden - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: Client is providing incorrect or invalid credentials. - rateCenter429Error: - content: - application/json: - examples: - example: - value: - description: Too many requests. - type: too many requests - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: Too many requests. - rateCenter500Error: - content: - application/json: - examples: - example: - value: - description: The server has encountered an internal error. - type: internal server error - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: The server has encountered an internal error. - rateCenterFindCoverageResponse404Error: - content: - application/xml: - examples: - unsuccessful404ErrorFindCoverageResponseExample: - $ref: '#/components/examples/RateCenterFindCoverage404Error' - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: >- - Unsuccessful response because the rate center coverage entry could not - be found. - rateCenterGetCoverageResponse: - content: - application/xml: - examples: - successfulGetCoverageResponseExample: - $ref: '#/components/examples/RateCenterGetCoverageResponseExample' - schema: - $ref: '#/components/schemas/RateCenterCoverageSuccessfulResponseList' - description: Successful response with a rate center's coverage. - rateCenterGetCoverageResponse400Error: - content: - application/xml: - examples: - unsuccessful400ErrorGetCoverageResponseExample: - $ref: '#/components/examples/RateCenterGetCoverage400Error' - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: >- - Unsucessful response of a rate center's coverage due to a validation - error. No search parameters were provided. - rateCenterPostCoverageResponse: - content: - application/xml: - examples: - successfulPostCoverageResponseExample: - $ref: '#/components/examples/RateCenterPostCoverageResponseExample' - schema: - $ref: '#/components/schemas/CoverageMatrixEntry' - description: Successful response with the generating matrix entry. - rateCenterPostCoverageResponse400Error: - content: - application/xml: - examples: - unsuccessful400ErrorPostCoverageResponseExample: - $ref: '#/components/examples/RateCenterPostCoverage400Error' - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: >- - Unsuccessful response due to a validation error. A LRN was provided for - offnet coverage. - rateCenterPostCoverageResponse409Error: - content: - application/xml: - examples: - unsuccessful409ErrorPostCoverageResponseExample: - $ref: '#/components/examples/RateCenterPostCoverage409Error' - schema: - $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' - description: >- - Unsuccessful response due to a validation error. This rate center - already exists. - rateCenterPutCoverageResponse: - content: - application/xml: - examples: - successfulPutCoverageResponseExample: - $ref: '#/components/examples/RateCenterPutCoverageResponseExample' - schema: - $ref: '#/components/schemas/CoverageMatrixEntry' - description: Successful response for the update of a coverage matrix entry. removeImportedVoiceTnOrdersResponse: content: application/xml: @@ -4247,43 +3990,6 @@ components: type: object type: array type: object - CoverageMatrixEntry: - properties: - Abbreviation: - description: A rate center's abbreviation. - example: FARMVILLE - type: string - Lata: - description: A rate center's LATA. - example: 951 - type: number - Lrn: - description: A rate center's LRN. - example: '2529690000' - type: string - Region: - description: A rate center's state. - example: NC - type: string - SupportsLnp: - description: Whether a rate center supports LNP. - example: true - type: boolean - SupportsNewTns: - description: Whether a rate center supports new TNs. - example: true - type: boolean - TierId: - description: A rate center's tier ID. - example: 1 - maximum: 6 - minimum: 0 - type: number - VendorId: - description: A rate center's vendor ID. - example: 49 - type: number - type: object CoveredRateCenter: properties: Abbreviation: @@ -9887,26 +9593,6 @@ components: type: integer type: object type: object - RateCenterCoverageSuccessfulResponseList: - description: A list of all coverage matrix entries returned by a GET endpoint. - properties: - data: - items: - $ref: '#/components/schemas/CoverageMatrixEntry' - type: array - required: - - data - type: object - RateCenterCoverageUnsuccessfulResponse: - description: A generic error object for coverage matrix / rate center responses. - properties: - description: - example: Error Message - type: string - errorCode: - example: 3900 - type: number - type: object RateCenterGroup: properties: City: @@ -12724,12 +12410,6 @@ components: - unchanged - systemDefault type: string - CallVerificationEnabled: - enum: - - '{custom value}' - - 'true' - - 'false' - type: string CallingNameDisplay: enum: - 'on' @@ -12976,8 +12656,6 @@ components: properties: CallForward: $ref: '#/components/schemas/TelephoneNumber' - CallVerificationEnabled: - type: string CallingNameDisplay: type: string FinalDestinationURI: @@ -39135,14 +38813,6 @@ paths: phone number in the option groupfalseExplicitly disables Pindrop integration on each phone number in the option - group
  • for Call Verification Enabled - attribute
  • Action - valueDescription of - action
    trueEnables Call Verification on each - phone number in the option - group
    falseExplicitly disables Call - Verification on each phone number in the option group
  • for other attribute
  • Please visit How to Manage Port - in guide. Also you can find more information about port types on Port Types section of - this guide + href='/docs/numbers/porting/port-ins/stand-alone-port-ins'>How to Manage + Port in guide. Also you can find more information about port types + on Port + Types section of this guide operationId: UpdatePortin parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -33857,135 +34237,6 @@ paths: summary: Download Report Instance File tags: - Reports - /accounts/{accountId}/shortcodes: - get: - description: Retrieves all the short codes registered with an account. - operationId: getAllShortCodesByAccount - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodeOffsetQueryParam' - - $ref: '#/components/parameters/shortCodeLimitQueryParam' - responses: - '200': - $ref: '#/components/responses/shortCodeGetAllShortCodesByAccountResponse' - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: Retrieve short codes by account. - tags: - - Short Codes - /accounts/{accountId}/shortcodes/{shortCode}/{country}: - get: - description: >- - Retrieve the details of an account's registration of a short code for a - single country. - operationId: getShortCodeByAccountIdCountryAndShortCode - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodePathParam' - - $ref: '#/components/parameters/shortCodeCountryPathParam' - responses: - '200': - $ref: >- - #/components/responses/shortCodeGetShortCodeByAccountIdCountryAndShortCodeResponse - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: Retrieve short code details. - tags: - - Short Codes - patch: - description: >- - Update (field by field) an account's short code registration for a - country. This utilizes [Json Patch](https://jsonpatch.com/). - operationId: patchShortCodeLease - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodePathParam' - - $ref: '#/components/parameters/shortCodeCountryPathParam' - requestBody: - $ref: '#/components/requestBodies/shortCodeJsonPatchShortCodeRequest' - responses: - '200': - $ref: '#/components/responses/shortCodeUpdateShortCodeResponse' - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '409': - $ref: '#/components/responses/shortCode409' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: >- - Update the lease information of an account's short code registration for - a country. - tags: - - Short Codes - /accounts/{accountId}/shortcodes/{shortCode}/{country}/history: - get: - description: >- - Retrieves a complete history of all updates associated with an account's - registration of a short code for a single country. - operationId: getShortCodeHistoryAccountIdCountryAndShortCode - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodePathParam' - - $ref: '#/components/parameters/shortCodeCountryPathParam' - - $ref: '#/components/parameters/shortCodeOffsetQueryParam' - - $ref: '#/components/parameters/shortCodeLimitQueryParam' - - $ref: '#/components/parameters/shortCodeHistoryShortCodeSortParam' - - $ref: '#/components/parameters/shortCodeHistoryVersionSortParam' - responses: - '200': - $ref: >- - #/components/responses/shortCodeGetShortCodeHistoryAccountIdCountryAndShortCodeResponse - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: Retrieve short code history. - tags: - - Short Codes /accounts/{accountId}/sipcredentials: get: description: Retrieve all SIP credentials for the account @@ -40560,164 +40811,6 @@ paths: summary: Patch toll-free porting validation tags: - Porting - /accounts/{accountId}/tollFreeVerification: - post: - callbacks: - tfVerificationStatus: - $ref: '#/components/callbacks/tfVerificationStatus' - description: Submit a request for verification of a toll-free phone number. - operationId: requestVerification - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - $ref: '#/components/requestBodies/verificationRequest' - responses: - '202': - $ref: '#/components/responses/verifyPostResponse' - '400': - $ref: '#/components/responses/tfvPostBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Submit a toll-free verification request - tags: - - Toll-Free Verification - /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions: - get: - description: >- - Provides a list of webhook subscriptions that are registered to receive - status updates for the toll-free verification requests submitted under - this account (password will not be returned through this API; if - `basicAuthentication` is defined, the `password` property of that object - will be null). - operationId: listWebhookSubscriptions - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - responses: - '200': - $ref: '#/components/responses/webhookSubscriptionsList' - '400': - $ref: '#/components/responses/tfvPostBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: List all webhook subscriptions registered for this account - tags: - - Toll-Free Verification - post: - description: >- - Create a new webhook subscription (this webhook will be called for every - update on every submission). In addition to a `callbackUrl`, this - subscription can provide optional HTTP basic authentication credentials - (a username and a password). The returned subscription object will - contain an ID that can be used to modify or delete the subscription at a - later time. - operationId: createWebhookSubscription - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - $ref: '#/components/requestBodies/webhookSubscriptionRequest' - responses: - '201': - $ref: '#/components/responses/webhookSubscriptionCreated' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Create a new webhook subscription - tags: - - Toll-Free Verification - /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions/{id}: - delete: - description: Delete a webhook subscription by ID. - operationId: deleteWebhookSubscription - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' - responses: - '204': - $ref: '#/components/responses/webhookSubscriptionDeleted' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Delete a webhook subscription - tags: - - Toll-Free Verification - put: - description: >- - Update an existing webhook subscription (`callbackUrl` and - `basicAuthentication` can be updated). - operationId: updateWebhookSubscription - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' - requestBody: - $ref: '#/components/requestBodies/webhookSubscriptionRequest' - responses: - '200': - $ref: '#/components/responses/webhookSubscriptionUpdated' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Update an existing webhook subscription - tags: - - Toll-Free Verification /accounts/{accountId}/totalSeats: get: description: Retrieves the total number of seats on account @@ -43421,7 +43514,325 @@ paths: summary: Retrieve tn details tags: - Tns - /tollFreeVerification/useCases: + /v1/accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification: + get: + description: >- + This endpoint will provide verification status for a phone number that + is provisioned to your account. + operationId: getVerificationStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/TfPhoneNumberPathParam' + responses: + '200': + $ref: '#/components/responses/verifyStatusResponse' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Get the verification status of a toll-free phone number + tags: + - Toll-Free Verification + /v1/accounts/{accountId}/shortcodes: + get: + description: Retrieves all the short codes registered with an account. + operationId: getAllShortCodesByAccount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodeOffsetQueryParam' + - $ref: '#/components/parameters/shortCodeLimitQueryParam' + responses: + '200': + $ref: '#/components/responses/shortCodeGetAllShortCodesByAccountResponse' + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short codes by account. + tags: + - Short Codes + /v1/accounts/{accountId}/shortcodes/{shortCode}/{country}: + get: + description: >- + Retrieve the details of an account's registration of a short code for a + single country. + operationId: getShortCodeByAccountIdCountryAndShortCode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + responses: + '200': + $ref: >- + #/components/responses/shortCodeGetShortCodeByAccountIdCountryAndShortCodeResponse + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short code details. + tags: + - Short Codes + patch: + description: >- + Update (field by field) an account's short code registration for a + country. This utilizes [Json Patch](https://jsonpatch.com/). + operationId: patchShortCodeLease + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + requestBody: + $ref: '#/components/requestBodies/shortCodeJsonPatchShortCodeRequest' + responses: + '200': + $ref: '#/components/responses/shortCodeUpdateShortCodeResponse' + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '409': + $ref: '#/components/responses/shortCode409' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: >- + Update the lease information of an account's short code registration for + a country. + tags: + - Short Codes + /v1/accounts/{accountId}/shortcodes/{shortCode}/{country}/history: + get: + description: >- + Retrieves a complete history of all updates associated with an account's + registration of a short code for a single country. + operationId: getShortCodeHistoryAccountIdCountryAndShortCode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + - $ref: '#/components/parameters/shortCodeOffsetQueryParam' + - $ref: '#/components/parameters/shortCodeLimitQueryParam' + - $ref: '#/components/parameters/shortCodeHistoryShortCodeSortParam' + - $ref: '#/components/parameters/shortCodeHistoryVersionSortParam' + responses: + '200': + $ref: >- + #/components/responses/shortCodeGetShortCodeHistoryAccountIdCountryAndShortCodeResponse + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short code history. + tags: + - Short Codes + /v1/accounts/{accountId}/tollFreeVerification: + post: + callbacks: + tfVerificationStatus: + $ref: '#/components/callbacks/tfVerificationStatus' + description: Submit a request for verification of a toll-free phone number. + operationId: requestVerification + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + $ref: '#/components/requestBodies/verificationRequest' + responses: + '202': + $ref: '#/components/responses/verifyPostResponse' + '400': + $ref: '#/components/responses/tfvPostBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Submit a toll-free verification request + tags: + - Toll-Free Verification + /v1/accounts/{accountId}/tollFreeVerification/webhooks/subscriptions: + get: + description: >- + Provides a list of webhook subscriptions that are registered to receive + status updates for the toll-free verification requests submitted under + this account (password will not be returned through this API; if + `basicAuthentication` is defined, the `password` property of that object + will be null). + operationId: listWebhookSubscriptions + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + $ref: '#/components/responses/webhookSubscriptionsList' + '400': + $ref: '#/components/responses/tfvPostBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: List all webhook subscriptions registered for this account + tags: + - Toll-Free Verification + post: + description: >- + Create a new webhook subscription (this webhook will be called for every + update on every submission). In addition to a `callbackUrl`, this + subscription can provide optional HTTP basic authentication credentials + (a username and a password). The returned subscription object will + contain an ID that can be used to modify or delete the subscription at a + later time. + operationId: createWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + $ref: '#/components/requestBodies/webhookSubscriptionRequest' + responses: + '201': + $ref: '#/components/responses/webhookSubscriptionCreated' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Create a new webhook subscription + tags: + - Toll-Free Verification + /v1/accounts/{accountId}/tollFreeVerification/webhooks/subscriptions/{id}: + delete: + description: Delete a webhook subscription by ID. + operationId: deleteWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' + responses: + '204': + $ref: '#/components/responses/webhookSubscriptionDeleted' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Delete a webhook subscription + tags: + - Toll-Free Verification + put: + description: >- + Update an existing webhook subscription (`callbackUrl` and + `basicAuthentication` can be updated). + operationId: updateWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' + requestBody: + $ref: '#/components/requestBodies/webhookSubscriptionRequest' + responses: + '200': + $ref: '#/components/responses/webhookSubscriptionUpdated' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Update an existing webhook subscription + tags: + - Toll-Free Verification + /v1/tollFreeVerification/useCases: get: description: Provides a list of valid toll-free use cases operationId: listUseCases @@ -43468,7 +43879,7 @@ tags: - description: Manage bulk port-in orders externalDocs: description: Bulk port-in guide - url: /docs/numbers/guides/porting/createBulkPortins + url: /docs/numbers/porting/port-ins/bulkPortIns name: Bulk Port-In - name: Callbacks - name: Cities @@ -43519,7 +43930,7 @@ tags: - description: '' externalDocs: description: Porting guide - url: /docs/numbers/guides/portingNumbers/ + url: /docs/numbers/porting/ name: Porting - name: Rate Centers - externalDocs: @@ -43541,6 +43952,5 @@ tags: - name: Tn Reservation - name: Tns - name: Admin Data - - name: Tn Vendor Assignment - description: Toll-Free Verification API guide name: Toll-Free Verification diff --git a/site/specs/one-identity-management.yml b/site/specs/one-identity-management.yml index ea8c72a5e..4158407f6 100644 --- a/site/specs/one-identity-management.yml +++ b/site/specs/one-identity-management.yml @@ -198,14 +198,22 @@ components: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89AB][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$ requestBodies: createIdpRequest: - description: Create Idp request body. + description: >- + Create Idp request body. The signatureCertificate field is required IF + the active field is set to true. You may create an IDP without the + certificate at first and then add it later before activating (or in the + same request that activates). content: application/json: schema: $ref: '#/components/schemas/newIdP' required: true updateIdpRequest: - description: Update Idp request body. + description: >- + Update Idp request body. The signatureCertificate field is required IF + the active field is set to true. You may create an IDP without the + certificate at first and then add it later before activating (or in the + same request that activates). content: application/json: schema: @@ -385,8 +393,6 @@ components: required: - accountIds - active - - issuerUri - - singleSignOnUrl - name type: object properties: @@ -411,9 +417,6 @@ components: required: - accountIds - active - - issuerUri - - singleSignOnUrl - - signatureCertificate - name type: object properties: @@ -482,20 +485,23 @@ components: type: boolean description: >- Whether this IdP is active or not. Only one IdP can be active for a - given accountId. + given accountId. NOTE that when this value is set to true, the + issuerUri, singleSignOnUrl and signatureCertificate become required + properties. example: false usernameField: title: usernameField type: string description: The field in the SAML assertion that contains the username - example: user1 + example: userName issuerUri: title: issuerUri type: string format: uri description: >- URI of the Identity Provider. This value is usually the SAML Metadata - EntityID of the IdP EntityDescriptor. + EntityID of the IdP EntityDescriptor. NOTE that this is required if the + IdP is active. example: https://your.provider.com/ singleSignOnUrl: title: singleSignOnUrl @@ -504,7 +510,7 @@ components: description: >- The binding-specific IdP Authentication Request Protocol endpoint that receives SAML AuthnRequest messages. This must be a valid RFC 3986 - value. + value. NOTE that this is required if the IdP is active. example: https://login.example.com/ signatureCertificate: title: signatureCertificate @@ -513,7 +519,8 @@ components: maxLength: 2147483647 description: >- The PEM or DER encoded public key certificate of the Identity Provider - used to verify SAML message and assertion signatures. + used to verify SAML message and assertion signatures. NOTE that this is + required if the IdP is active. example: >- MIIF1DCCA7wCCQDUe/gZ7Z9qrTANBgkqhkiG9w0BAQsFADCBqzELMAkGA1UEBhMCVVMxFzAVB...... accountIds: @@ -538,7 +545,7 @@ components: description: >- A short description to uniquely identify an Identity Provider configuration. Max 40 characters - example: IDP for Developers + example: IdP for Developers link: title: link type: object diff --git a/site/specs/phone-number-lookup.yml b/site/specs/phone-number-lookup.yml index 3ad86ea62..8f1ee46f9 100644 --- a/site/specs/phone-number-lookup.yml +++ b/site/specs/phone-number-lookup.yml @@ -661,12 +661,12 @@ components: message: Request has not been passed further. parameters: accountId: - name: accountId in: path + name: accountId required: true schema: type: string - description: The ID of the Bandwidth account that the user belongs to. + description: Your Bandwidth Account ID. example: '9900000' requestId: name: requestId diff --git a/site/specs/voice.yml b/site/specs/voice.yml index 18332197d..808ecea61 100644 --- a/site/specs/voice.yml +++ b/site/specs/voice.yml @@ -5211,7 +5211,7 @@ components: Max length 256 characters. - maximum: 256 + maxLength: 256 example: arbitrary text here createCallResponse: type: object @@ -5326,8 +5326,7 @@ components: example: mySecretPassword1! priority: nullable: true - type: number - format: integer + type: integer example: 5 description: The priority of this call over other calls from your account. callState: @@ -5593,7 +5592,7 @@ components: Not allowed if `state` is `completed`. - maximum: 256 + maxLength: 256 example: My Custom Tag updateCallRecording: type: object @@ -7078,7 +7077,7 @@ components: example: 4642074b-7b58-478b-96e4-3a60955c6765 nullable: true machineDetectionResult: - type: string + type: object description: >- (optional) if machine detection was requested in sync mode, the result will be specified here. Possible values are the same as the async From 9e16012f39bb5a0b04dc055db7a855ff3b61e597 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 23 Jun 2023 20:04:59 +0000 Subject: [PATCH 35/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 6d4fbedd9..c1ffac617 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -339,6 +339,8 @@ paths: $ref: '#/components/responses/tooManyRequestsError' 5XX: $ref: '#/components/responses/internalServerError' + tags: + - Bots components: parameters: accountId: From 57639cc4c75709ca3c988f68c74b5538f37d69a5 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 27 Jun 2023 17:00:41 +0000 Subject: [PATCH 36/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 39 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index c1ffac617..39666dc6c 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -618,9 +618,9 @@ components: - data - errors listProviderResponse: - title: Customer Response Payload + title: Provider Response Payload type: object - description: Response payload for customer information. + description: Response payload for provider information. properties: links: type: array @@ -650,9 +650,9 @@ components: - data - errors listBotResponse: - title: Customer Response Payload + title: Provider Response Payload type: object - description: Response payload for customer information. + description: Response payload for provider information. properties: links: type: array @@ -786,8 +786,6 @@ components: type: object description: Google provider request example. properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -835,8 +833,6 @@ components: type: object description: Aws request example. properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -857,8 +853,6 @@ components: type: object description: Cognigy request example properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -1159,8 +1153,6 @@ components: updateGoogleProvider: type: object properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -1191,8 +1183,6 @@ components: updateAwsProvider: type: object properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -1207,8 +1197,6 @@ components: updateCognigyProvider: type: object properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -1610,7 +1598,6 @@ components: googleProviderExample: summary: An example of a Google provider value: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider type: GOOGLE description: Google provider description @@ -1704,7 +1691,7 @@ components: rel: self method: POST - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: customer + rel: provider method: GET data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -1727,7 +1714,7 @@ components: rel: self method: POST - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: customer + rel: bot method: GET bot: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -1806,7 +1793,6 @@ components: awsProviderExample: summary: An example of an AWS provider value: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: AWS Provider type: AWS botUrl: http://aws-bot-url @@ -1848,11 +1834,11 @@ components: summary: An example of an AWS provider value: links: - - href: /customers + - href: /provider rel: self method: POST - - href: /customers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: customer + - href: /provider/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: provider method: GET data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -1922,7 +1908,6 @@ components: cognigyProviderExample: summary: An example of a Cognigy provider value: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Cognigy Provider type: COGNIGY botUrl: http://cognigy-bot-url @@ -1963,11 +1948,11 @@ components: summary: An example of a Cognigy provider value: links: - - href: /customers + - href: /provider rel: self method: POST - - href: /customers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: customer + - href: /provider/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: provider method: GET data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f From 47a96d53e0d94c54741bf0be724393027e1fd141 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 27 Jun 2023 17:12:01 +0000 Subject: [PATCH 37/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 39666dc6c..2176dd3f0 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -2098,3 +2098,25 @@ components: Unexpected internal server error. Contact Bandwidth Customer Support if this problem persists. code: 32030 + securitySchemes: + Basic: + type: http + scheme: basic + description: >- + Basic authentication is a simple authentication scheme built into the + HTTP protocol. To use it, send your HTTP requests with an Authorization + header that contains the word Basic followed by a space and a + base64-encoded string `username:password`. + + Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==` +tags: + - name: Providers + description: Providers information + externalDocs: + url: TODO + - name: Bots + description: Bots information + externalDocs: + url: TODO +security: + - Basic: [] From 6a75e8e947fe8f7e5bcaff956216b61e90f24759 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 27 Jun 2023 17:34:55 +0000 Subject: [PATCH 38/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 2176dd3f0..600ba7779 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -194,6 +194,8 @@ paths: $ref: '#/components/responses/unauthorizedError' '403': $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' '405': $ref: '#/components/responses/notAllowedError' '429': @@ -347,6 +349,7 @@ components: name: accountId schema: $ref: '#/components/schemas/accountId' + example: 1234567 in: path required: true providerId: @@ -356,7 +359,7 @@ components: required: true schema: type: string - example: 255d53ae-9cd8-4eed-8e33-0464c728e02a + example: 255d53ae-9cd8-4eed-8e33-0464c728e02a botId: name: botId in: path @@ -364,7 +367,7 @@ components: required: true schema: type: string - example: 255d53ae-9cd8-4eed-8e33-0464c728e02a + example: 255d53ae-9cd8-4eed-8e33-0464c728e02a responses: listProvidersResponse: description: OK @@ -382,7 +385,7 @@ components: schema: $ref: '#/components/schemas/listBotResponse' examples: - listProviderResponseExample: + listBotResponseExample: $ref: '#/components/examples/listBotResponseExample' getProviderResponse: description: OK @@ -404,7 +407,7 @@ components: schema: $ref: '#/components/schemas/botResponse' examples: - googleProviderExample: + googleBotExample: $ref: '#/components/examples/botGetResponseExample' createProviderResponse: description: OK @@ -1509,11 +1512,13 @@ components: displayName: Updated Display Name awsProvider: value: + name: awsProvider awsProvider: accessKeyId: myaccesskey secretAccessKey: mysecretkey cognigyProvider: value: + name: cognigyProvider ttsUrl: http://example.com/new-tts botPatchRequest: description: Updated configuration details for the Provider. @@ -1526,6 +1531,7 @@ components: examples: bot: value: + name: bot displayName: Updated Display Name examples: providerExample: @@ -1598,6 +1604,7 @@ components: googleProviderExample: summary: An example of a Google provider value: + name: googleProvider displayName: Google Provider type: GOOGLE description: Google provider description @@ -1612,8 +1619,9 @@ components: privateKey: samplekey clientEmai: email botExample: - summary: An example of a Google provider + summary: An example of a Google bot value: + name: bot id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -1655,7 +1663,7 @@ components: agentId: myagent errors: null botGetResponseExample: - summary: An example of a Google provider + summary: An example of a Google bot value: links: - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f From 7494d9ac3c86785b62d94000bad2340723a21d55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDarryl?= Date: Wed, 28 Jun 2023 08:27:03 -0400 Subject: [PATCH 39/81] Adding aiBridge icon --- site/src/pages/apis/index.js | 2 +- site/static/img/aiBridge.svg | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 site/static/img/aiBridge.svg diff --git a/site/src/pages/apis/index.js b/site/src/pages/apis/index.js index 38ef0e3f0..3313930f5 100644 --- a/site/src/pages/apis/index.js +++ b/site/src/pages/apis/index.js @@ -61,7 +61,7 @@ const apiList = [ }, { title: 'Ai Bridge API', - Svg: require('@site/static/img/api-icons/voice.svg').default, + Svg: require('@site/static/img/api-icons/aiBridge.svg').default, link: '/apis/ai-bridge/' }, /* TODO ONEID-1304 diff --git a/site/static/img/aiBridge.svg b/site/static/img/aiBridge.svg new file mode 100644 index 000000000..574bfb88a --- /dev/null +++ b/site/static/img/aiBridge.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file From b0e821b7dde32e1d1fe8fb738a1271801daf2c03 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 17 Jul 2023 03:34:59 +0000 Subject: [PATCH 40/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 569 +++++++++++++++++++++++++++++++++++---- 1 file changed, 516 insertions(+), 53 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 600ba7779..3ec8a5be7 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -297,7 +297,7 @@ paths: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/botId' requestBody: - $ref: '#/components/requestBodies/botPatchRequest' + $ref: '#/components/requestBodies/googleBotPatchRequest' responses: '200': $ref: '#/components/responses/getBotResponse' @@ -408,7 +408,11 @@ components: $ref: '#/components/schemas/botResponse' examples: googleBotExample: - $ref: '#/components/examples/botGetResponseExample' + $ref: '#/components/examples/googleBotGetResponseExample' + awsProviderExample: + $ref: '#/components/examples/awsBotGetResponseExample' + cognigyProviderExample: + $ref: '#/components/examples/cognigyBotGetResponseExample' createProviderResponse: description: OK content: @@ -429,8 +433,12 @@ components: schema: $ref: '#/components/schemas/createBotResponse' examples: - botExample: - $ref: '#/components/examples/botPostResponseExample' + googleBotExample: + $ref: '#/components/examples/googleBotPostResponseExample' + awsBotExample: + $ref: '#/components/examples/awsBotPostResponseExample' + cognigyProviderExample: + $ref: '#/components/examples/cognigyBotPostResponseExample' replaceProvidersResponse: description: A JSON object containing the updated details of the Provider. content: @@ -564,7 +572,9 @@ components: nullable: true data: oneOf: - - $ref: '#/components/schemas/botResponseData' + - $ref: '#/components/schemas/googleBotResponseData' + - $ref: '#/components/schemas/awsBotResponseData' + - $ref: '#/components/schemas/cognigyBotResponseData' errors: type: array items: @@ -610,7 +620,9 @@ components: nullable: true data: oneOf: - - $ref: '#/components/schemas/botResponseData' + - $ref: '#/components/schemas/googleBotResponseData' + - $ref: '#/components/schemas/awsBotResponseData' + - $ref: '#/components/schemas/cognigyBotResponseData' errors: type: array items: @@ -671,7 +683,9 @@ components: type: array items: anyOf: - - $ref: '#/components/schemas/botResponseData' + - $ref: '#/components/schemas/googleBotResponseData' + - $ref: '#/components/schemas/awsBotResponseData' + - $ref: '#/components/schemas/cognigyBotResponseData' nullable: true errors: type: array @@ -698,28 +712,6 @@ components: schema: $ref: '#/components/responses/getProviderResponse' nullable: true - botResponseData: - title: Bot Data - type: object - description: Contains Bot information. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/type' - ttsProvider: - $ref: '#/components/schemas/botUrl' - botFailover: - $ref: '#/components/schemas/botFailover' - nullable: true - example: - $ref: '#/components/examples/googleProviderExample' googleProviderResponseData: title: Google Provider Response Data type: object @@ -740,6 +732,30 @@ components: nullable: true example: $ref: '#/components/examples/googleProviderExample' + googleBotResponseData: + title: Google Bot + type: object + description: Contains Bot information. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/sttProvider' + ttsProvider: + $ref: '#/components/schemas/ttsProvider' + botFailover: + $ref: '#/components/schemas/botFailover' + googleBot: + $ref: '#/components/schemas/googleBot' + nullable: true + example: + $ref: '#/components/examples/googleBotExample' awsProviderResponseData: title: AWS Provider Response Data type: object @@ -762,6 +778,30 @@ components: nullable: true example: $ref: '#/components/examples/awsProviderExample' + awsBotResponseData: + title: AWS Bot + type: object + description: Contains Bot information. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/sttProvider' + ttsProvider: + $ref: '#/components/schemas/ttsProvider' + botFailover: + $ref: '#/components/schemas/botFailover' + awsBot: + $ref: '#/components/schemas/awsBot' + nullable: true + example: + $ref: '#/components/examples/googleBotExample' cognigyProviderResponseData: title: Cognigy Provider Response Data type: object @@ -784,6 +824,30 @@ components: nullable: true example: $ref: '#/components/examples/cognigyProviderExample' + cognigyBotResponseData: + title: Cognigy Bot + type: object + description: Contains Bot information. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/sttProvider' + ttsProvider: + $ref: '#/components/schemas/ttsProvider' + botFailover: + $ref: '#/components/schemas/botFailover' + cognigyBot: + $ref: '#/components/schemas/awsBot' + nullable: true + example: + $ref: '#/components/examples/googleBotExample' googleProviderRequestData: title: Google Provider Request Data type: object @@ -804,8 +868,8 @@ components: - description - type - googleProvider - botRequestData: - title: Bot Request Data + googleBotRequestData: + title: Google Bot Request Data type: object description: Bot request example. properties: @@ -825,8 +889,10 @@ components: $ref: '#/components/schemas/botFailover' providerBotName: $ref: '#/components/schemas/providerBotName' + googleBot: + $ref: '#/components/schemas/googleBot' example: - $ref: '#/components/examples/botExample' + $ref: '#/components/examples/googleBotExample' required: - name - description @@ -851,6 +917,31 @@ components: - awsProvider example: $ref: '#/components/examples/awsProviderExample' + awsBotRequestData: + title: AWS Bot Request Data + type: object + description: Bot request example. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/type' + ttsProvider: + $ref: '#/components/schemas/botUrl' + botFailover: + $ref: '#/components/schemas/botFailover' + providerBotName: + $ref: '#/components/schemas/providerBotName' + awsBot: + $ref: '#/components/schemas/awsBot' + example: + $ref: '#/components/examples/awsBotExample' cognigyProviderRequestData: title: Cognigy Provider Response Data type: object @@ -869,6 +960,31 @@ components: - description - type - cognigyProvider + cognigyBotRequestData: + title: Cognigy Bot Request Data + type: object + description: Bot request example. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/type' + ttsProvider: + $ref: '#/components/schemas/botUrl' + botFailover: + $ref: '#/components/schemas/botFailover' + providerBotName: + $ref: '#/components/schemas/providerBotName' + googleBot: + $ref: '#/components/schemas/cognigyBot' + example: + $ref: '#/components/examples/cognigyBotExample' badRequestError: type: object properties: @@ -1123,6 +1239,16 @@ components: example: privateKey: abc123 clientEmail: johndoe@example.com + googleBotCredentials: + type: object + properties: + conversationProfileId: + type: string + description: conversation Profile Id. + required: + - conversationProfileId + example: + conversationProfileId: '1234' cognigyProviderCredentials: type: object properties: @@ -1167,22 +1293,27 @@ components: - description - type - googleProvider - updateBot: + updateGoogleBot: type: object properties: id: $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' - type: - $ref: '#/components/schemas/type' - googleProvider: - $ref: '#/components/schemas/googleProvider' + sttProvider: + $ref: '#/components/schemas/sttProvider' + ttsProvider: + $ref: '#/components/schemas/ttsProvider' + botFailover: + $ref: '#/components/schemas/botFailover' + googleBot: + $ref: '#/components/schemas/googleBot' required: - - name - - description - - type - - googleProvider + - id updateAwsProvider: type: object properties: @@ -1197,6 +1328,27 @@ components: - description - type - awsProvider + updateAwsBot: + type: object + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/sttProvider' + ttsProvider: + $ref: '#/components/schemas/ttsProvider' + botFailover: + $ref: '#/components/schemas/botFailover' + awsBot: + $ref: '#/components/schemas/awsBot' + required: + - id updateCognigyProvider: type: object properties: @@ -1211,6 +1363,27 @@ components: - description - type - cognigyProvider + updateCognigyBot: + type: object + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + sttProvider: + $ref: '#/components/schemas/sttProvider' + ttsProvider: + $ref: '#/components/schemas/ttsProvider' + botFailover: + $ref: '#/components/schemas/botFailover' + cognigyBot: + $ref: '#/components/schemas/cognigyBot' + required: + - id id: required: - id @@ -1274,6 +1447,34 @@ components: type: string description: A string representing the STT URL. example: http://example.com/stt + sttProvider: + type: string + description: >- + A string value for a previously setup provider's uuid used for speech to + text. + example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 + ttsProvider: + type: string + description: >- + A string value for a previously setup provider's uuid used for text to + speech. + example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 + voiceName: + type: string + description: A name for a voice name + example: jill + botAlias: + type: string + description: Defines the bot alias ID + example: '1234' + token: + type: string + description: Defines the bot token + example: '1234' + oauthTokenUrl: + type: string + description: Defines the bot oauthTokenUrl + example: '1234' googleProvider: required: - googleProvider @@ -1316,6 +1517,16 @@ components: $ref: '#/components/schemas/projectId' agentId: $ref: '#/components/schemas/agentId' + googleBot: + required: + - voiceName + - credentials + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + credentials: + $ref: '#/components/schemas/googleBotCredentials' googleCredentials: required: - googleCredentials @@ -1331,6 +1542,19 @@ components: properties: region: $ref: '#/components/schemas/region' + awsBot: + required: + - voiceName + - providerBotName + - botAlias + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + providerBotName: + $ref: '#/components/schemas/providerBotName' + botAlias: + $ref: '#/components/schemas/botAlias' awsProviderResponse: required: - awsProvider @@ -1341,6 +1565,26 @@ components: $ref: '#/components/schemas/region' awsCredentials: $ref: '#/components/schemas/awsProviderCredentials' + awsBotResponse: + required: + - awsBot + - region + - location + - environment + - projectId + - agentId + description: Google Provider is required + properties: + region: + $ref: '#/components/schemas/region' + location: + $ref: '#/components/schemas/location' + environment: + $ref: '#/components/schemas/environment' + projectId: + $ref: '#/components/schemas/projectId' + agentId: + $ref: '#/components/schemas/agentId' awsCredentials: required: - awsCredentials @@ -1357,6 +1601,22 @@ components: $ref: '#/components/schemas/ttsUrl' sttUrl: $ref: '#/components/schemas/sttUrl' + cognigyBot: + required: + - botURL + - providerBotName + - token + - oauthTokenUrl + description: Google Bot is required + properties: + botUrl: + $ref: '#/components/schemas/botUrl' + providerBotName: + $ref: '#/components/schemas/providerBotName' + token: + $ref: '#/components/schemas/token' + oauthTokenUrl: + $ref: '#/components/schemas/oauthTokenUrl' cognigyCredentials: required: - googleCredentials @@ -1464,10 +1724,16 @@ components: application/json: schema: oneOf: - - $ref: '#/components/schemas/botRequestData' + - $ref: '#/components/schemas/googleBotRequestData' + - $ref: '#/components/schemas/awsBotRequestData' + - $ref: '#/components/schemas/cognigyBotRequestData' examples: - botExample: - $ref: '#/components/examples/botPostResponseExample' + googleBotExample: + $ref: '#/components/examples/googleBotPostResponseExample' + awsBotExample: + $ref: '#/components/examples/awsBotPostResponseExample' + cognigyBotExample: + $ref: '#/components/examples/cognigyBotPostResponseExample' providerPutRequest: description: Updated configuration details for the Provider. required: true @@ -1492,10 +1758,16 @@ components: application/json: schema: oneOf: - - $ref: '#/components/schemas/botRequestData' + - $ref: '#/components/schemas/googleBotRequestData' + - $ref: '#/components/schemas/awsProviderRequestData' + - $ref: '#/components/schemas/cognigyProviderRequestData' examples: googleProviderExample: - $ref: '#/components/examples/botExample' + $ref: '#/components/examples/googleBotExample' + awsBotExample: + $ref: '#/components/examples/awsBotPostResponseExample' + cognigyBotExample: + $ref: '#/components/examples/cognigyBotPostResponseExample' providerPatchRequest: description: Updated configuration details for the Provider. required: true @@ -1520,16 +1792,18 @@ components: value: name: cognigyProvider ttsUrl: http://example.com/new-tts - botPatchRequest: + googleBotPatchRequest: description: Updated configuration details for the Provider. required: true content: application/json: schema: oneOf: - - $ref: '#/components/schemas/updateBot' + - $ref: '#/components/schemas/updateGoogleBot' + - $ref: '#/components/schemas/updateCognigyBot' + - $ref: '#/components/schemas/updateAwsBot' examples: - bot: + googleBot: value: name: bot displayName: Updated Display Name @@ -1600,6 +1874,35 @@ components: sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 + googleBot: + voiceName: Jill + credentials: + conversationProfileId: '1234' + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://cognigy-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + cognigyBot: + token: replace + oauthTokenUrl: replace + botUrl: http://cognigy-bot-url + providerBotName: cognigy bot + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0g + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://aws-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + awsBot: + voiceName: Jill + botAlias: '1234' + providerBotName: aws bot errors: null googleProviderExample: summary: An example of a Google provider @@ -1618,7 +1921,7 @@ components: googleCredentials: privateKey: samplekey clientEmai: email - botExample: + googleBotExample: summary: An example of a Google bot value: name: bot @@ -1630,6 +1933,10 @@ components: sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 + googleBot: + voiceName: Jill + credentials: + conversationProfileId: '1234' googleProviderGetResponseExample: summary: An example of a Google provider value: @@ -1662,7 +1969,7 @@ components: projectId: myproject agentId: myagent errors: null - botGetResponseExample: + googleBotGetResponseExample: summary: An example of a Google bot value: links: @@ -1690,6 +1997,10 @@ components: sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 + googleBot: + voiceName: Jill + credentials: + conversationProfileId: '1234' errors: null googleProviderPostResponseExample: summary: An example of a Google provider @@ -1714,8 +2025,8 @@ components: projectId: myproject agentId: myagent errors: null - botPostResponseExample: - summary: An example of a Google provider + googleBotPostResponseExample: + summary: An example of a Google bot value: links: - href: /bots @@ -1733,6 +2044,10 @@ components: sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 + googleBot: + voiceName: Jill + credentials: + conversationProfileId: '1234' errors: null googleProviderPutResponseExample: summary: An example of a Google provider @@ -1810,6 +2125,22 @@ components: awsCredentials: accessKeyId: myaccesskey secretAccessKey: mysecretkey + awsBotExample: + summary: An example of a Aws bot + value: + name: bot + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://google-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + awsBot: + voiceName: Jill + botAlias: '1234' + providerBotName: aws bot awsProviderGetResponseExample: summary: An example of an AWS provider value: @@ -1838,6 +2169,39 @@ components: awsProvider: Region: us-west-1 errors: null + awsBotGetResponseExample: + summary: An example of a AWS bot + value: + links: + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /bots + rel: create + method: POST + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://google-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + awsBot: + voiceName: Jill + botAlias: '1234' + providerBotName: aws bot + errors: null awsProviderPostResponseExample: summary: An example of an AWS provider value: @@ -1857,6 +2221,30 @@ components: awsProvider: Region: us-west-1 errors: null + awsBotPostResponseExample: + summary: An example of a AWS bot + value: + links: + - href: /bots + rel: self + method: POST + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: bot + method: GET + bot: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://aws-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + awsBot: + voiceName: Jill + botAlias: '1234' + providerBotName: aws bot + errors: null awsProviderPutResponseExample: summary: An example of an AWS provider value: @@ -1923,6 +2311,22 @@ components: cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt + cognigyBotExample: + summary: An example of a Cognigy bot + value: + name: bot + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + cognigyBot: + token: replace + oauthTokenUrl: replace + botUrl: http://cognigy-bot-url + providerBotName: cognigy bot cognigyProviderGetResponseExample: summary: An example of a Cognigy provider value: @@ -1952,6 +2356,40 @@ components: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt errors: null + cognigyBotGetResponseExample: + summary: An example of a Cognigy bot + value: + links: + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /bots + rel: create + method: POST + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://google-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + cognigyBot: + token: replace + oauthTokenUrl: replace + botUrl: http://cognigy-bot-url + providerBotName: aws bot + errors: null cognigyProviderPostResponseExample: summary: An example of a Cognigy provider value: @@ -1972,6 +2410,31 @@ components: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt errors: null + cognigyBotPostResponseExample: + summary: An example of a Cognigy bot + value: + links: + - href: /bots + rel: self + method: POST + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: bot + method: GET + bot: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://cognigy-bot-url + sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + botFailover: 919-111-2222 + cognigyBot: + token: replace + oauthTokenUrl: replace + botUrl: http://cognigy-bot-url + providerBotName: cognigy bot + errors: null cognigyProviderPutResponseExample: summary: An example of a Cognigy provider value: From 807ed746e25bfd4d16bede5dd09d6e39b3a7cf47 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 17 Jul 2023 04:03:06 +0000 Subject: [PATCH 41/81] Add Code Snippets to Spec Files --- site/specs/messaging.yml | 18 +++++++++++++++++- site/specs/numbers.yml | 22 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/site/specs/messaging.yml b/site/specs/messaging.yml index 1b33d2623..faa95f274 100644 --- a/site/specs/messaging.yml +++ b/site/specs/messaging.yml @@ -887,6 +887,7 @@ paths: - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/pageToken' - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/limitTotalCount' responses: '200': $ref: '#/components/responses/listMessagesResponse' @@ -1529,6 +1530,19 @@ components: schema: type: integer example: 50 + limitTotalCount: + in: query + name: limitTotalCount + required: false + description: >- + When set to true, the response's totalCount field will have a maximum + value of 10,000. When set to false, or excluded, this will give an + accurate totalCount of all messages that match the provided filters. If + you are experiencing latency, try using this parameter to limit your + results. + example: true + schema: + type: boolean schemas: priorityEnum: type: string @@ -1593,7 +1607,9 @@ components: properties: totalCount: type: integer - description: Total number of messages matched by the search. + description: >- + The total number of messages matched by the search. When the request + has limitTotalCount set to true this value is limited to 10,000. example: 100 pageInfo: $ref: '#/components/schemas/pageInfo' diff --git a/site/specs/numbers.yml b/site/specs/numbers.yml index 1d0b427bb..f6f9199ea 100644 --- a/site/specs/numbers.yml +++ b/site/specs/numbers.yml @@ -11221,6 +11221,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + CallVerificationEnabled: + type: boolean CallingName: $ref: '#/components/schemas/SipPeerLineOptionDto' Description: @@ -11236,6 +11238,8 @@ components: type: integer PeerName: type: string + PindropEnabled: + type: boolean PremiseTrunks: type: string Products: @@ -11421,6 +11425,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + CallVerificationEnabled: + type: boolean CallingName: $ref: '#/components/schemas/SipPeerLineOptionDto' Description: @@ -11433,6 +11439,8 @@ components: $ref: '#/components/schemas/OriginationRoutePlan' PeerName: type: string + PindropEnabled: + type: boolean PremiseTrunks: type: string Products: @@ -36059,6 +36067,8 @@ paths: - Zip - AddressType type: object + CallVerificationEnabled: + type: boolean CustomerTrafficAllowed: description: >- A TerminationHost can be configured to allow different @@ -36091,6 +36101,8 @@ paths: description: Mandatory name for the SIP Peer maxLength: 10 type: string + PindropEnabled: + type: boolean Port: description: >- Optional Port Number for Voice and Termination hosts. This @@ -36181,6 +36193,11 @@ paths:
  • 13686 - Origination route plan action cannot be 'off' when creating a new SIP peer
  • 13687 - Voice hosts and host groups are not supported on this account, please add your hosts to the origination route plan for this SIP peer
  • 13688 - FinalDestinationUri is not supported on this account, to acheive the same thing, please add this URI to a fail-over group in the origination route plan for this SIP peer
  • +
  • 13691 - CallVerificationEnabled must be a boolean: true or false
  • +
  • 13692 - PindropEnabled must be a boolean: true or false
  • +
  • 13693 - CallVerificationEnabled and PindropEnabled are mutually exclusive and may not be used together
  • +
  • 13694 - CallVerificationEnabled is not allowed on this account
  • +
  • 13695 - PindropEnabled is not allowed on this account
  • 5200 - Origination route plan is not enabled for the account
  • 5207 - Specified Route Plan Action was invalid, must be one of 'asSpecified', 'unchanged' or 'off'
  • 5218 - Origination route cannot have private IP endpoint: %s
  • @@ -36516,6 +36533,11 @@ paths:
  • 13686 - Origination route plan action cannot be 'off' when creating a new SIP peer
  • 13687 - Voice hosts and host groups are not supported on this account, please add your hosts to the origination route plan for this SIP peer
  • 13688 - FinalDestinationUri is not supported on this account, to acheive the same thing, please add this URI to a fail-over group in the origination route plan for this SIP peer
  • +
  • 13691 - CallVerificationEnabled must be a boolean: true or false
  • +
  • 13692 - PindropEnabled must be a boolean: true or false
  • +
  • 13693 - CallVerificationEnabled and PindropEnabled are mutually exclusive and may not be used together
  • +
  • 13694 - CallVerificationEnabled is not allowed on this account
  • +
  • 13695 - PindropEnabled is not allowed on this account
  • 5200 - Origination route plan is not enabled for the account
  • 5207 - Specified Route Plan Action was invalid, must be one of 'asSpecified', 'unchanged' or 'off'
  • 5218 - Origination route cannot have private IP endpoint: %s
  • From f64a2000207e8e39eda45baaedd4aa706f23f051 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 17 Jul 2023 14:22:47 +0000 Subject: [PATCH 42/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 3ec8a5be7..9bf4c7565 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1780,18 +1780,11 @@ components: - $ref: '#/components/schemas/updateAwsProvider' examples: googleProvider: - value: - displayName: Updated Display Name + $ref: '#/components/examples/googleProviderExample' awsProvider: - value: - name: awsProvider - awsProvider: - accessKeyId: myaccesskey - secretAccessKey: mysecretkey + $ref: '#/components/examples/awsProviderExample' cognigyProvider: - value: - name: cognigyProvider - ttsUrl: http://example.com/new-tts + $ref: '#/components/examples/cognigyProviderExample' googleBotPatchRequest: description: Updated configuration details for the Provider. required: true From da9b4c208523a6795a44315d92154eefd7d5b478 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDarryl?= Date: Mon, 17 Jul 2023 10:56:25 -0400 Subject: [PATCH 43/81] Moving aibridge icon location --- site/static/img/{ => api-icons}/aiBridge.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename site/static/img/{ => api-icons}/aiBridge.svg (100%) diff --git a/site/static/img/aiBridge.svg b/site/static/img/api-icons/aiBridge.svg similarity index 100% rename from site/static/img/aiBridge.svg rename to site/static/img/api-icons/aiBridge.svg From 763a9f0f00d50966a01a80b8634e6d9046b9c37c Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Wed, 19 Jul 2023 02:01:11 +0000 Subject: [PATCH 44/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 456 +++++++++++++++++++++++++++++++-------- 1 file changed, 367 insertions(+), 89 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 9bf4c7565..f4f38d8af 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -297,7 +297,7 @@ paths: - $ref: '#/components/parameters/accountId' - $ref: '#/components/parameters/botId' requestBody: - $ref: '#/components/requestBodies/googleBotPatchRequest' + $ref: '#/components/requestBodies/botPatchRequest' responses: '200': $ref: '#/components/responses/getBotResponse' @@ -405,14 +405,10 @@ components: content: application/json: schema: - $ref: '#/components/schemas/botResponse' + $ref: '#/components/schemas/getBotResponse' examples: - googleBotExample: - $ref: '#/components/examples/googleBotGetResponseExample' - awsProviderExample: - $ref: '#/components/examples/awsBotGetResponseExample' - cognigyProviderExample: - $ref: '#/components/examples/cognigyBotGetResponseExample' + botExample: + $ref: '#/components/examples/botGetResponseExample' createProviderResponse: description: OK content: @@ -433,12 +429,8 @@ components: schema: $ref: '#/components/schemas/createBotResponse' examples: - googleBotExample: - $ref: '#/components/examples/googleBotPostResponseExample' - awsBotExample: - $ref: '#/components/examples/awsBotPostResponseExample' - cognigyProviderExample: - $ref: '#/components/examples/cognigyBotPostResponseExample' + postBotResponse: + $ref: '#/components/examples/botPostResponseExample' replaceProvidersResponse: description: A JSON object containing the updated details of the Provider. content: @@ -560,7 +552,7 @@ components: - links - data - errors - botResponse: + getBotResponse: title: Bot Response Payload type: object description: Response payload for bot information. @@ -571,10 +563,7 @@ components: $ref: '#/components/schemas/link' nullable: true data: - oneOf: - - $ref: '#/components/schemas/googleBotResponseData' - - $ref: '#/components/schemas/awsBotResponseData' - - $ref: '#/components/schemas/cognigyBotResponseData' + $ref: '#/components/schemas/botResponseData' errors: type: array items: @@ -619,10 +608,7 @@ components: $ref: '#/components/schemas/link' nullable: true data: - oneOf: - - $ref: '#/components/schemas/googleBotResponseData' - - $ref: '#/components/schemas/awsBotResponseData' - - $ref: '#/components/schemas/cognigyBotResponseData' + $ref: '#/components/schemas/botResponseData' errors: type: array items: @@ -682,10 +668,7 @@ components: bots: type: array items: - anyOf: - - $ref: '#/components/schemas/googleBotResponseData' - - $ref: '#/components/schemas/awsBotResponseData' - - $ref: '#/components/schemas/cognigyBotResponseData' + $ref: '#/components/schemas/botResponseData' nullable: true errors: type: array @@ -732,6 +715,44 @@ components: nullable: true example: $ref: '#/components/examples/googleProviderExample' + botResponseData: + title: Bot properties + type: object + description: Contains Bot information. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + botFailover: + $ref: '#/components/schemas/botFailover' + transferTarget: + $ref: '#/components/schemas/transferTarget' + sipHeadersToBot: + $ref: '#/components/schemas/sipHeadersToBot' + dtmfCollect: + $ref: '#/components/schemas/dtmfCollect' + dtmfCollectInterDigitTimeoutMS: + $ref: '#/components/schemas/dtmfCollectInterDigitTimeoutMS' + dtmfCollectMaxDigits: + $ref: '#/components/schemas/dtmfCollectMaxDigits' + dtmfCollectSubmitDigit: + $ref: '#/components/schemas/dtmfCollectSubmitDigit' + sttProvider: + oneOf: + - $ref: '#/components/schemas/googleSpeechToTextBot' + - $ref: '#/components/schemas/awsSpeechToTextBot' + ttsProvider: + oneOf: + - $ref: '#/components/schemas/googleTextToSpeechBot' + - $ref: '#/components/schemas/awsTextToSpeechBot' + nullable: true + example: + $ref: '#/components/examples/googleBotExample' googleBotResponseData: title: Google Bot type: object @@ -745,14 +766,34 @@ components: $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' + botFailover: + $ref: '#/components/schemas/botFailover' + googleBot: + $ref: '#/components/schemas/googleBot' sttProvider: - $ref: '#/components/schemas/sttProvider' + oneOf: + - $ref: '#/components/schemas/googleBotData' + - $ref: '#/components/schemas/sttProvider' ttsProvider: $ref: '#/components/schemas/ttsProvider' + nullable: true + example: + $ref: '#/components/examples/googleBotExample' + googleBotData: + title: Google Bot + type: object + description: Contains Bot information. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' botFailover: $ref: '#/components/schemas/botFailover' - googleBot: - $ref: '#/components/schemas/googleBot' nullable: true example: $ref: '#/components/examples/googleBotExample' @@ -868,6 +909,57 @@ components: - description - type - googleProvider + botRequestData: + title: Google Bot Request Data + type: object + description: Bot request example. + properties: + id: + $ref: '#/components/schemas/id' + provider: + $ref: '#/components/schemas/provider' + displayName: + $ref: '#/components/schemas/displayName' + description: + $ref: '#/components/schemas/description' + botFailover: + $ref: '#/components/schemas/botFailover' + transferTarget: + $ref: '#/components/schemas/transferTarget' + sipHeadersToBot: + $ref: '#/components/schemas/sipHeadersToBot' + dtmfCollect: + $ref: '#/components/schemas/dtmfCollect' + dtmfCollectInterDigitTimeoutMS: + $ref: '#/components/schemas/dtmfCollectInterDigitTimeoutMS' + dtmfCollectMaxDigits: + $ref: '#/components/schemas/dtmfCollectMaxDigits' + dtmfCollectSubmitDigit: + $ref: '#/components/schemas/dtmfCollectSubmitDigit' + sttProvider: + oneOf: + - $ref: '#/components/schemas/googleSpeechToTextBot' + - $ref: '#/components/schemas/awsSpeechToTextBot' + ttsProvider: + oneOf: + - $ref: '#/components/schemas/googleTextToSpeechBot' + - $ref: '#/components/schemas/awsTextToSpeechBot' + example: + $ref: '#/components/examples/googleBotExample' + required: + - id + - provider + - displayName + - description + - botFailover + - transferTarget + - sipHeadersToBot + - dtmfCollect + - dtmfCollectInterDigitTimeoutMS + - dtmfCollectMaxDigits + - dtmfCollectSubmitDigit + - sttProvider + - ttsProvider googleBotRequestData: title: Google Bot Request Data type: object @@ -1293,7 +1385,7 @@ components: - description - type - googleProvider - updateGoogleBot: + updateBot: type: object properties: id: @@ -1304,14 +1396,28 @@ components: $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' botFailover: $ref: '#/components/schemas/botFailover' - googleBot: - $ref: '#/components/schemas/googleBot' + transferTarget: + $ref: '#/components/schemas/transferTarget' + sipHeadersToBot: + $ref: '#/components/schemas/sipHeadersToBot' + dtmfCollect: + $ref: '#/components/schemas/dtmfCollect' + dtmfCollectInterDigitTimeoutMS: + $ref: '#/components/schemas/dtmfCollectInterDigitTimeoutMS' + dtmfCollectMaxDigits: + $ref: '#/components/schemas/dtmfCollectMaxDigits' + dtmfCollectSubmitDigit: + $ref: '#/components/schemas/dtmfCollectSubmitDigit' + sttProvider: + oneOf: + - $ref: '#/components/schemas/googleSpeechToTextBot' + - $ref: '#/components/schemas/awsSpeechToTextBot' + ttsProvider: + oneOf: + - $ref: '#/components/schemas/googleTextToSpeechBot' + - $ref: '#/components/schemas/awsTextToSpeechBot' required: - id updateAwsProvider: @@ -1475,6 +1581,48 @@ components: type: string description: Defines the bot oauthTokenUrl example: '1234' + language: + type: string + description: >- + Defines the language of the bot conversation. The value is obtained from + the service provider + example: en-US + dtmfCollect: + type: boolean + description: Enables the DTMF digit collection. + example: true + dtmfCollectInterDigitTimeoutMS: + type: number + description: >- + Defines the timeout (in milliseconds) to wait for the user to press + another digit before it sends all the digits to the bot + example: 5 + dtmfCollectMaxDigits: + type: number + description: >- + Defines the maximum number of DTMF digits expected to receive from the + user. + example: true + dtmfCollectSubmitDigit: + type: string + description: >- + Defines a special DTMF "submit" digit that when received from the user, + sends all the collected digits to the bot (as a DTMF message), without + waiting for the timeout to expire or for the maximum number of expected + digits. + example: true + transferTarget: + type: string + description: >- + URI to where the call should be transferred call to. Typically, the URI + is a "tel" or "sip" URI. + example: tel:+123456789 + sipHeadersToBot: + type: object + description: >- + Enables the value of a specified header to be sent in the start message + to the bot, using a newly created or existing parameter name. + example: '{ "new-parameter-name": ""}' googleProvider: required: - googleProvider @@ -1518,15 +1666,63 @@ components: agentId: $ref: '#/components/schemas/agentId' googleBot: + oneOf: + - $ref: '#/components/schemas/googleSpeechToTextBot' + - $ref: '#/components/schemas/googleTextToSpeechBot' + googleSpeechToTextBot: required: - voiceName - - credentials + - language description: Google Bot is required properties: voiceName: $ref: '#/components/schemas/voiceName' - credentials: - $ref: '#/components/schemas/googleBotCredentials' + language: + $ref: '#/components/schemas/language' + googleTextToSpeechBot: + required: + - voiceName + - language + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + language: + $ref: '#/components/schemas/language' + awsSpeechToTextBot: + required: + - voiceName + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + awsTextToSpeechBot: + required: + - voiceName + - language + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + language: + $ref: '#/components/schemas/language' + cognigySpeechToTextBot: + required: + - voiceName + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + cognigyTextToSpeechBot: + required: + - voiceName + - language + description: Google Bot is required + properties: + voiceName: + $ref: '#/components/schemas/voiceName' + language: + $ref: '#/components/schemas/language' googleCredentials: required: - googleCredentials @@ -1723,17 +1919,10 @@ components: content: application/json: schema: - oneOf: - - $ref: '#/components/schemas/googleBotRequestData' - - $ref: '#/components/schemas/awsBotRequestData' - - $ref: '#/components/schemas/cognigyBotRequestData' + $ref: '#/components/schemas/botRequestData' examples: - googleBotExample: - $ref: '#/components/examples/googleBotPostResponseExample' - awsBotExample: - $ref: '#/components/examples/awsBotPostResponseExample' - cognigyBotExample: - $ref: '#/components/examples/cognigyBotPostResponseExample' + botRequest: + $ref: '#/components/examples/botRequestExample' providerPutRequest: description: Updated configuration details for the Provider. required: true @@ -1757,17 +1946,10 @@ components: content: application/json: schema: - oneOf: - - $ref: '#/components/schemas/googleBotRequestData' - - $ref: '#/components/schemas/awsProviderRequestData' - - $ref: '#/components/schemas/cognigyProviderRequestData' + $ref: '#/components/schemas/botRequestData' examples: googleProviderExample: - $ref: '#/components/examples/googleBotExample' - awsBotExample: - $ref: '#/components/examples/awsBotPostResponseExample' - cognigyBotExample: - $ref: '#/components/examples/cognigyBotPostResponseExample' + $ref: '#/components/examples/botRequestExample' providerPatchRequest: description: Updated configuration details for the Provider. required: true @@ -1785,21 +1967,20 @@ components: $ref: '#/components/examples/awsProviderExample' cognigyProvider: $ref: '#/components/examples/cognigyProviderExample' - googleBotPatchRequest: + botPatchRequest: description: Updated configuration details for the Provider. required: true content: application/json: schema: - oneOf: - - $ref: '#/components/schemas/updateGoogleBot' - - $ref: '#/components/schemas/updateCognigyBot' - - $ref: '#/components/schemas/updateAwsBot' + $ref: '#/components/schemas/updateBot' examples: googleBot: - value: - name: bot - displayName: Updated Display Name + $ref: '#/components/examples/googleBotExample' + awsProvider: + $ref: '#/components/examples/awsBotExample' + cognigyProvider: + $ref: '#/components/examples/cognigyBotExample' examples: providerExample: summary: A summary of a Provider @@ -1864,26 +2045,35 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description botUrl: http://google-bot-url - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - googleBot: + dtmfCollect: true + dtmfCollectInterDigitTimeoutMS: 0 + dtmfCollectMaxDigits: 1 + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sipHeadersToBot: + new-parameter: . + sttProvider: + language: en-US + voiceName: Jill + ttsProvider: voiceName: Jill - credentials: - conversationProfileId: '1234' - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://cognigy-bot-url - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - cognigyBot: - token: replace - oauthTokenUrl: replace - botUrl: http://cognigy-bot-url - providerBotName: cognigy bot + botUrl: http://google-bot-url + dtmfCollect: false + dtmfCollectInterDigitTimeoutMS: 5 + dtmfCollectMaxDigits: 2 + dtmfCollectSubmitDigit: 3 + transferTarget: tel:+123456789 + sipHeadersToBot: + new-parameter: . + sttProvider: + language: en-US + voiceName: Jill + ttsProvider: + voiceName: Jill - id: b64b5e72-a850-4f38-98d4-5022cacd3f0g displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -1914,6 +2104,51 @@ components: googleCredentials: privateKey: samplekey clientEmai: email + botResponseExample: + summary: An example of a Google provider + value: + links: + - href: /providers + rel: self + method: GET + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://google-bot-url + dtmfCollect: true + dtmfCollectInterDigitTimeoutMS: 0 + dtmfCollectMaxDigits: 1 + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sipHeadersToBot: + new-parameter: . + sttProvider: + language: en-US + voiceName: Jill + ttsProvider: + voiceName: Jill + botRequestExample: + summary: An example of a Google provider + value: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://google-bot-url + dtmfCollect: true + dtmfCollectInterDigitTimeoutMS: 0 + dtmfCollectMaxDigits: 1 + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sipHeadersToBot: + new-parameter: . + sttProvider: + language: en-US + voiceName: Jill + ttsProvider: + voiceName: Jill googleBotExample: summary: An example of a Google bot value: @@ -1962,6 +2197,44 @@ components: projectId: myproject agentId: myagent errors: null + botGetResponseExample: + summary: An example of a Google bot + value: + links: + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /bots + rel: create + method: POST + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + botUrl: http://google-bot-url + dtmfCollect: true + dtmfCollectInterDigitTimeoutMS: 5 + dtmfCollectMaxDigits: 3 + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sipHeadersToBot: + new-parameter: . + sttProvider: + language: en-US + voiceName: Jill + ttsProvider: + voiceName: Jill + errors: null googleBotGetResponseExample: summary: An example of a Google bot value: @@ -2018,7 +2291,7 @@ components: projectId: myproject agentId: myagent errors: null - googleBotPostResponseExample: + botPostResponseExample: summary: An example of a Google bot value: links: @@ -2034,13 +2307,18 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description botUrl: http://google-bot-url - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - googleBot: + dtmfCollect: true + dtmfCollectInterDigitTimeoutMS: 0 + dtmfCollectMaxDigits: 1 + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sipHeadersToBot: + new-parameter: . + sttProvider: + language: en-US + voiceName: Jill + ttsProvider: voiceName: Jill - credentials: - conversationProfileId: '1234' errors: null googleProviderPutResponseExample: summary: An example of a Google provider From d663f7f835cc453aedefc16ca45d1d81ba105b97 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 20 Jul 2023 04:01:16 +0000 Subject: [PATCH 45/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 626 +++++++++++++++++++++++++-------------- 1 file changed, 411 insertions(+), 215 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index f4f38d8af..c8fd8f728 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -394,8 +394,10 @@ components: schema: $ref: '#/components/schemas/providerResponse' examples: - googleProviderExample: - $ref: '#/components/examples/googleProviderGetResponseExample' + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderGetResponseExample' + googleCxProviderExample: + $ref: '#/components/examples/googleCxProviderGetResponseExample' awsProviderExample: $ref: '#/components/examples/awsProviderGetResponseExample' cognigyProviderExample: @@ -416,8 +418,10 @@ components: schema: $ref: '#/components/schemas/createProviderResponse' examples: - googleProviderExample: - $ref: '#/components/examples/googleProviderPostResponseExample' + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderPostResponseExample' + googleCxProviderExample: + $ref: '#/components/examples/googleCxProviderPostResponseExample' awsProviderExample: $ref: '#/components/examples/awsProviderPostResponseExample' cognigyProviderExample: @@ -450,7 +454,7 @@ components: application/json: schema: oneOf: - - $ref: '#/components/schemas/googleProviderResponseData' + - $ref: '#/components/schemas/googleEsProviderResponseData' - $ref: '#/components/schemas/awsProviderResponseData' - $ref: '#/components/schemas/cognigyProviderResponseData' examples: @@ -540,7 +544,8 @@ components: nullable: true data: oneOf: - - $ref: '#/components/schemas/googleProviderResponseData' + - $ref: '#/components/schemas/googleEsProviderResponseData' + - $ref: '#/components/schemas/googleCxProviderResponseData' - $ref: '#/components/schemas/awsProviderResponseData' - $ref: '#/components/schemas/cognigyProviderResponseData' errors: @@ -585,7 +590,8 @@ components: nullable: true data: oneOf: - - $ref: '#/components/schemas/googleProviderResponseData' + - $ref: '#/components/schemas/googleEsProviderResponseData' + - $ref: '#/components/schemas/googleCxProviderResponseData' - $ref: '#/components/schemas/awsProviderResponseData' - $ref: '#/components/schemas/cognigyProviderResponseData' errors: @@ -637,7 +643,8 @@ components: type: array items: anyOf: - - $ref: '#/components/schemas/googleProviderResponseData' + - $ref: '#/components/schemas/googleEsProviderResponseData' + - $ref: '#/components/schemas/googleCxProviderResponseData' - $ref: '#/components/schemas/awsProviderResponseData' - $ref: '#/components/schemas/cognigyProviderResponseData' nullable: true @@ -695,8 +702,8 @@ components: schema: $ref: '#/components/responses/getProviderResponse' nullable: true - googleProviderResponseData: - title: Google Provider Response Data + googleEsProviderResponseData: + title: Google-ES Provider Response Data type: object description: Contains Provider information. properties: @@ -705,16 +712,46 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/type' + $ref: '#/components/schemas/google' displayName: $ref: '#/components/schemas/displayName' - botUrl: - $ref: '#/components/schemas/botUrl' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' + googleProvider: + $ref: '#/components/schemas/googleESProviderResponse' + nullable: true + example: + $ref: '#/components/examples/googleESProviderExample' + googleCxProviderResponseData: + title: Google-CX Provider Response Data + type: object + description: Contains Provider information. + properties: + id: + $ref: '#/components/schemas/id' + description: + $ref: '#/components/schemas/description' + type: + $ref: '#/components/schemas/google' + displayName: + $ref: '#/components/schemas/displayName' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' googleProvider: - $ref: '#/components/schemas/googleProviderResponse' + $ref: '#/components/schemas/googleCxProviderResponse' nullable: true example: - $ref: '#/components/examples/googleProviderExample' + $ref: '#/components/examples/googleCxProviderExample' botResponseData: title: Bot properties type: object @@ -732,16 +769,10 @@ components: $ref: '#/components/schemas/botFailover' transferTarget: $ref: '#/components/schemas/transferTarget' - sipHeadersToBot: - $ref: '#/components/schemas/sipHeadersToBot' dtmfCollect: $ref: '#/components/schemas/dtmfCollect' - dtmfCollectInterDigitTimeoutMS: - $ref: '#/components/schemas/dtmfCollectInterDigitTimeoutMS' dtmfCollectMaxDigits: $ref: '#/components/schemas/dtmfCollectMaxDigits' - dtmfCollectSubmitDigit: - $ref: '#/components/schemas/dtmfCollectSubmitDigit' sttProvider: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -806,11 +837,15 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/type' + $ref: '#/components/schemas/aws' displayName: $ref: '#/components/schemas/displayName' - botUrl: - $ref: '#/components/schemas/botUrl' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' awsProvider: $ref: '#/components/schemas/awsProviderResponse' required: @@ -854,9 +889,12 @@ components: displayName: $ref: '#/components/schemas/displayName' type: - $ref: '#/components/schemas/type' - botUrl: - $ref: '#/components/schemas/botUrl' + $ref: '#/components/schemas/cognigy' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: @@ -889,7 +927,34 @@ components: nullable: true example: $ref: '#/components/examples/googleBotExample' - googleProviderRequestData: + googleEsProviderRequestData: + title: Google Provider Request Data + type: object + description: Google provider request example. + properties: + description: + $ref: '#/components/schemas/description' + type: + $ref: '#/components/schemas/type' + displayName: + $ref: '#/components/schemas/displayName' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' + googleProvider: + $ref: '#/components/schemas/googleEsProvider' + example: + $ref: '#/components/examples/googleESProviderExample' + required: + - name + - description + - type + - googleProvider + googleCxProviderRequestData: title: Google Provider Request Data type: object description: Google provider request example. @@ -900,10 +965,17 @@ components: $ref: '#/components/schemas/type' displayName: $ref: '#/components/schemas/displayName' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' googleProvider: - $ref: '#/components/schemas/googleProvider' + $ref: '#/components/schemas/googleCxProvider' example: - $ref: '#/components/examples/googleProviderExample' + $ref: '#/components/examples/googleCxProviderExample' required: - name - description @@ -926,16 +998,10 @@ components: $ref: '#/components/schemas/botFailover' transferTarget: $ref: '#/components/schemas/transferTarget' - sipHeadersToBot: - $ref: '#/components/schemas/sipHeadersToBot' dtmfCollect: $ref: '#/components/schemas/dtmfCollect' - dtmfCollectInterDigitTimeoutMS: - $ref: '#/components/schemas/dtmfCollectInterDigitTimeoutMS' dtmfCollectMaxDigits: $ref: '#/components/schemas/dtmfCollectMaxDigits' - dtmfCollectSubmitDigit: - $ref: '#/components/schemas/dtmfCollectSubmitDigit' sttProvider: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -955,9 +1021,7 @@ components: - transferTarget - sipHeadersToBot - dtmfCollect - - dtmfCollectInterDigitTimeoutMS - dtmfCollectMaxDigits - - dtmfCollectSubmitDigit - sttProvider - ttsProvider googleBotRequestData: @@ -974,9 +1038,9 @@ components: description: $ref: '#/components/schemas/description' sttProvider: - $ref: '#/components/schemas/type' + $ref: '#/components/schemas/sttProvider' ttsProvider: - $ref: '#/components/schemas/botUrl' + $ref: '#/components/schemas/ttsProvider' botFailover: $ref: '#/components/schemas/botFailover' providerBotName: @@ -1000,6 +1064,12 @@ components: $ref: '#/components/schemas/type' displayName: $ref: '#/components/schemas/displayName' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' awsProvider: $ref: '#/components/schemas/awsProvider' required: @@ -1023,9 +1093,9 @@ components: description: $ref: '#/components/schemas/description' sttProvider: - $ref: '#/components/schemas/type' + $ref: '#/components/schemas/sttProvider' ttsProvider: - $ref: '#/components/schemas/botUrl' + $ref: '#/components/schemas/ttsProvider' botFailover: $ref: '#/components/schemas/botFailover' providerBotName: @@ -1045,6 +1115,11 @@ components: $ref: '#/components/schemas/type' displayName: $ref: '#/components/schemas/displayName' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: @@ -1052,31 +1127,6 @@ components: - description - type - cognigyProvider - cognigyBotRequestData: - title: Cognigy Bot Request Data - type: object - description: Bot request example. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/type' - ttsProvider: - $ref: '#/components/schemas/botUrl' - botFailover: - $ref: '#/components/schemas/botFailover' - providerBotName: - $ref: '#/components/schemas/providerBotName' - googleBot: - $ref: '#/components/schemas/cognigyBot' - example: - $ref: '#/components/examples/cognigyBotExample' badRequestError: type: object properties: @@ -1193,10 +1243,6 @@ components: - GOOGLE - AWS - COGNIGY - botUrl: - type: string - description: A url for the bot - example: http://google-bot-url description: type: string description: Description of the new Provider. @@ -1217,12 +1263,9 @@ components: description: The type of provider, such as 'google', 'aws', or 'cognigy'. enum: - GOOGLE + - GOOGLE-CX - AWS - COGNIGY - botUrl: - type: string - description: A url for the bot - example: http://google-bot-url description: type: string description: Description of the new Provider. @@ -1247,12 +1290,9 @@ components: description: The new type of the updated provider, such as 'google' or 'aws'. enum: - GOOGLE + - GOOGLE-CX - AWS - COGNIGY - botUrl: - type: string - description: A url for the bot - example: http://google-bot-url updateProviderResponseData: type: object properties: @@ -1273,12 +1313,9 @@ components: description: The new type of the updated provider, such as 'google' or 'aws'. enum: - GOOGLE + - GOOGLE-CX - AWS - COGNIGY - botUrl: - type: string - description: A url for the bot - example: http://google-bot-url updateProvider: type: object properties: @@ -1299,19 +1336,16 @@ components: description: The new type of the updated provider, such as 'google' or 'aws'. enum: - GOOGLE + - GOOGLE-CX - AWS - COGNIGY - botUrl: - type: string - description: A url for the bot - example: http://google-bot-url credentials: oneOf: - $ref: '#/components/schemas/googleProviderCredentials' - $ref: '#/components/schemas/cognigyProviderCredentials' - $ref: '#/components/schemas/awsProviderCredentials' googleConfig: - $ref: '#/components/schemas/googleProviderRequestData' + $ref: '#/components/schemas/googleEsProviderRequestData' cognigyConfig: $ref: '#/components/schemas/cognigyProviderRequestData' awsConfig: @@ -1371,19 +1405,49 @@ components: example: accessKey: abc123 secretKey: 456efg - updateGoogleProvider: + updateGoogleEsProvider: type: object properties: description: $ref: '#/components/schemas/description' type: $ref: '#/components/schemas/type' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' googleProvider: - $ref: '#/components/schemas/googleProvider' + $ref: '#/components/schemas/googleEsProvider' required: - name - description - type + - role + - googleProvider + updateGoogleCxProvider: + type: object + properties: + description: + $ref: '#/components/schemas/description' + type: + $ref: '#/components/schemas/type' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' + googleProvider: + $ref: '#/components/schemas/googleEsProvider' + required: + - name + - description + - type + - role - googleProvider updateBot: type: object @@ -1400,16 +1464,10 @@ components: $ref: '#/components/schemas/botFailover' transferTarget: $ref: '#/components/schemas/transferTarget' - sipHeadersToBot: - $ref: '#/components/schemas/sipHeadersToBot' dtmfCollect: $ref: '#/components/schemas/dtmfCollect' - dtmfCollectInterDigitTimeoutMS: - $ref: '#/components/schemas/dtmfCollectInterDigitTimeoutMS' dtmfCollectMaxDigits: $ref: '#/components/schemas/dtmfCollectMaxDigits' - dtmfCollectSubmitDigit: - $ref: '#/components/schemas/dtmfCollectSubmitDigit' sttProvider: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -1427,12 +1485,20 @@ components: $ref: '#/components/schemas/description' type: $ref: '#/components/schemas/type' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' + - $ref: '#/components/schemas/tts' + - $ref: '#/components/schemas/stt' awsProvider: $ref: '#/components/schemas/awsProvider' required: - name - description - type + - role - awsProvider updateAwsBot: type: object @@ -1462,6 +1528,11 @@ components: $ref: '#/components/schemas/description' type: $ref: '#/components/schemas/type' + role: + type: array + items: + anyOf: + - $ref: '#/components/schemas/bot' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: @@ -1501,7 +1572,22 @@ components: type: required: - type - description: Type is a required field + google: + required: + - google + description: google type for provider + google-cx: + required: + - google-cx + description: google-cx type for provider + aws: + required: + - aws + description: aws type for provider + cognigy: + required: + - cognigy + description: cognigy type for provider botUrl: type: string description: A string representing the bot endpoint. @@ -1623,7 +1709,42 @@ components: Enables the value of a specified header to be sent in the start message to the bot, using a newly created or existing parameter name. example: '{ "new-parameter-name": ""}' - googleProvider: + ttsEnhancedVoice: + type: string + description: Defines the AWS text-to-speech voice as Neural Voice or Standard Voice. + example: Ivy + tts: + type: string + description: Defines a provider to function as a text to speech integration + example: tts + stt: + type: string + description: Defines a provider to function as a speech to text integration + example: stt + bot: + type: string + description: Defines a provider to function as a bot integration + example: bot + googleEsProvider: + required: + - googleProvider + - region + - location + - environment + - projectId + description: Google Provider is required + properties: + region: + $ref: '#/components/schemas/region' + location: + $ref: '#/components/schemas/location' + environment: + $ref: '#/components/schemas/environment' + projectId: + $ref: '#/components/schemas/projectId' + googleCredentials: + $ref: '#/components/schemas/googleProviderCredentials' + googleCxProvider: required: - googleProvider - region @@ -1645,7 +1766,28 @@ components: $ref: '#/components/schemas/agentId' googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' - googleProviderResponse: + googleESProviderResponse: + required: + - googleProvider + - region + - location + - environment + - projectId + - agentId + - googleCredentials + description: Google Provider is required + properties: + region: + $ref: '#/components/schemas/region' + location: + $ref: '#/components/schemas/location' + environment: + $ref: '#/components/schemas/environment' + projectId: + $ref: '#/components/schemas/projectId' + googleCredentials: + $ref: '#/components/schemas/googleProviderCredentials' + googleCxProviderResponse: required: - googleProvider - region @@ -1653,6 +1795,7 @@ components: - environment - projectId - agentId + - googleCredentials description: Google Provider is required properties: region: @@ -1665,6 +1808,8 @@ components: $ref: '#/components/schemas/projectId' agentId: $ref: '#/components/schemas/agentId' + googleCredentials: + $ref: '#/components/schemas/googleProviderCredentials' googleBot: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -1706,6 +1851,8 @@ components: $ref: '#/components/schemas/voiceName' language: $ref: '#/components/schemas/language' + ttsEnhancedVoice: + $ref: '#/components/schemas/ttsEnhancedVoice' cognigySpeechToTextBot: required: - voiceName @@ -1905,12 +2052,15 @@ components: application/json: schema: oneOf: - - $ref: '#/components/schemas/googleProviderRequestData' + - $ref: '#/components/schemas/googleEsProviderRequestData' + - $ref: '#/components/schemas/googleCxProviderRequestData' - $ref: '#/components/schemas/awsProviderRequestData' - $ref: '#/components/schemas/cognigyProviderRequestData' examples: - googleProviderExample: - $ref: '#/components/examples/googleProviderExample' + googleESProviderExample: + $ref: '#/components/examples/googleESProviderExample' + googleCXProviderExample: + $ref: '#/components/examples/googleCxProviderExample' awsProviderExample: $ref: '#/components/examples/awsProviderExample' cognigyProviderExample: @@ -1930,12 +2080,13 @@ components: application/json: schema: oneOf: - - $ref: '#/components/schemas/googleProviderRequestData' + - $ref: '#/components/schemas/googleEsProviderRequestData' + - $ref: '#/components/schemas/googleCxProviderRequestData' - $ref: '#/components/schemas/awsProviderRequestData' - $ref: '#/components/schemas/cognigyProviderRequestData' examples: googleProviderExample: - $ref: '#/components/examples/googleProviderExample' + $ref: '#/components/examples/googleESProviderExample' awsProviderExample: $ref: '#/components/examples/awsProviderExample' cognigyProviderExample: @@ -1957,12 +2108,13 @@ components: application/json: schema: oneOf: - - $ref: '#/components/schemas/updateGoogleProvider' + - $ref: '#/components/schemas/updateGoogleEsProvider' + - $ref: '#/components/schemas/updateGoogleCxProvider' - $ref: '#/components/schemas/updateCognigyProvider' - $ref: '#/components/schemas/updateAwsProvider' examples: googleProvider: - $ref: '#/components/examples/googleProviderExample' + $ref: '#/components/examples/googleESProviderExample' awsProvider: $ref: '#/components/examples/awsProviderExample' cognigyProvider: @@ -1977,21 +2129,19 @@ components: examples: googleBot: $ref: '#/components/examples/googleBotExample' - awsProvider: + awsbot: $ref: '#/components/examples/awsBotExample' - cognigyProvider: - $ref: '#/components/examples/cognigyBotExample' examples: providerExample: summary: A summary of a Provider value: schema: oneOf: - - $ref: '#/components/examples/googleProviderExample' + - $ref: '#/components/examples/googleESProviderExample' - $ref: '#/components/examples/awsProviderExample' - $ref: '#/components/examples/cognigyProviderExample' listProviderResponseExample: - summary: An example of a Google provider + summary: An example of a list provider response value: links: - href: /providers @@ -2000,11 +2150,27 @@ components: data: totalCount: 3 providers: - - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Google Provider + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0a + displayName: Google-ES Provider type: GOOGLE description: Google provider description - botUrl: http://google-bot-url + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google-CX Provider + type: GOOGLE-CX + description: Google provider description + role: + - bot + - stt + - tts googleProvider: region: northamerica location: us-east-1 @@ -2014,24 +2180,27 @@ components: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: AWS Provider type: AWS - botUrl: http://aws-bot-url description: Aws provider description awsProvider: Region: us-west-1 awsCredentials: accessKeyId: myaccesskey secretAccessKey: mysecretkey + role: + - tts - id: b64b5e72-a850-4f38-98d4-5022cacd3f0g displayName: Cognigy Provider type: COGNIGY - botUrl: http://cognigy-bot-url description: Cognigy provider description cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt + botUrl: http://cognigy-bot-url + role: + - bot errors: null listBotResponseExample: - summary: An example of a Google provider + summary: An example of a list bot response value: links: - href: /providers @@ -2044,14 +2213,9 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url dtmfCollect: true - dtmfCollectInterDigitTimeoutMS: 0 - dtmfCollectMaxDigits: 1 dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 - sipHeadersToBot: - new-parameter: . sttProvider: language: en-US voiceName: Jill @@ -2061,40 +2225,45 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url dtmfCollect: false - dtmfCollectInterDigitTimeoutMS: 5 - dtmfCollectMaxDigits: 2 dtmfCollectSubmitDigit: 3 transferTarget: tel:+123456789 - sipHeadersToBot: - new-parameter: . sttProvider: language: en-US voiceName: Jill ttsProvider: voiceName: Jill - - id: b64b5e72-a850-4f38-98d4-5022cacd3f0g - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - botUrl: http://aws-bot-url - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - awsBot: - voiceName: Jill - botAlias: '1234' - providerBotName: aws bot errors: null - googleProviderExample: - summary: An example of a Google provider + googleESProviderExample: + summary: An example of a Google-ES provider + value: + name: googleProvider + displayName: Google Provider + type: GOOGLE + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + googleCredentials: + privateKey: samplekey + clientEmai: email + googleCxProviderExample: + summary: An example of a Google-CX provider value: name: googleProvider displayName: Google Provider type: GOOGLE description: Google provider description - botUrl: http://google-bot-url + role: + - bot + - stt + - tts googleProvider: region: northamerica location: us-east-1 @@ -2105,7 +2274,7 @@ components: privateKey: samplekey clientEmai: email botResponseExample: - summary: An example of a Google provider + summary: An example of a Bot Response value: links: - href: /providers @@ -2116,34 +2285,24 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url dtmfCollect: true - dtmfCollectInterDigitTimeoutMS: 0 dtmfCollectMaxDigits: 1 - dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 - sipHeadersToBot: - new-parameter: . sttProvider: language: en-US voiceName: Jill ttsProvider: voiceName: Jill botRequestExample: - summary: An example of a Google provider + summary: An example of a Bot request value: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url dtmfCollect: true - dtmfCollectInterDigitTimeoutMS: 0 - dtmfCollectMaxDigits: 1 dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 - sipHeadersToBot: - new-parameter: . sttProvider: language: en-US voiceName: Jill @@ -2157,7 +2316,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2165,8 +2323,8 @@ components: voiceName: Jill credentials: conversationProfileId: '1234' - googleProviderGetResponseExample: - summary: An example of a Google provider + googleEsProviderGetResponseExample: + summary: An example of a Google-ES provider get response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2189,7 +2347,44 @@ components: displayName: Google Provider type: GOOGLE description: Google provider description - botUrl: http://google-bot-url + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + errors: null + googleCxProviderGetResponseExample: + summary: An example of a Google-CX provider get response + value: + links: + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /providers + rel: create + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE-CX + description: Google provider description + role: + - bot + - stt + - tts googleProvider: region: northamerica location: us-east-1 @@ -2198,7 +2393,7 @@ components: agentId: myagent errors: null botGetResponseExample: - summary: An example of a Google bot + summary: An example of a bot get response value: links: - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2221,14 +2416,9 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url dtmfCollect: true - dtmfCollectInterDigitTimeoutMS: 5 - dtmfCollectMaxDigits: 3 dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 - sipHeadersToBot: - new-parameter: . sttProvider: language: en-US voiceName: Jill @@ -2236,7 +2426,7 @@ components: voiceName: Jill errors: null googleBotGetResponseExample: - summary: An example of a Google bot + summary: An example of a google bot get response value: links: - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2259,7 +2449,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2268,8 +2457,8 @@ components: credentials: conversationProfileId: '1234' errors: null - googleProviderPostResponseExample: - summary: An example of a Google provider + googleEsProviderPostResponseExample: + summary: An example of a Google-ES provider post response value: links: - href: /providers @@ -2283,7 +2472,35 @@ components: displayName: Google Provider type: GOOGLE description: Google provider description - botUrl: http://google-bot-url + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + errors: null + googleCxProviderPostResponseExample: + summary: An example of a Google-CX provider post response + value: + links: + - href: /providers + rel: self + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: provider + method: GET + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE + description: Google provider description + role: + - bot + - stt + - tts googleProvider: region: northamerica location: us-east-1 @@ -2292,7 +2509,7 @@ components: agentId: myagent errors: null botPostResponseExample: - summary: An example of a Google bot + summary: An example of a bot post response value: links: - href: /bots @@ -2306,14 +2523,9 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url dtmfCollect: true - dtmfCollectInterDigitTimeoutMS: 0 - dtmfCollectMaxDigits: 1 dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 - sipHeadersToBot: - new-parameter: . sttProvider: language: en-US voiceName: Jill @@ -2321,7 +2533,7 @@ components: voiceName: Jill errors: null googleProviderPutResponseExample: - summary: An example of a Google provider + summary: An example of a provider put response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2343,7 +2555,6 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider type: GOOGLE - botUrl: http://google-bot-url description: Google provider description googleProvider: region: northamerica @@ -2353,7 +2564,7 @@ components: agentId: myagent errors: null googleProviderPatchResponseExample: - summary: An example of a Google provider + summary: An example of a provider patch response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2375,7 +2586,6 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider type: GOOGLE - botUrl: http://google-bot-url description: Google provider description googleProvider: region: northamerica @@ -2389,8 +2599,9 @@ components: value: displayName: AWS Provider type: AWS - botUrl: http://aws-bot-url description: Aws provider description + role: + - tts awsProvider: Region: us-west-1 awsCredentials: @@ -2404,7 +2615,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2413,7 +2623,7 @@ components: botAlias: '1234' providerBotName: aws bot awsProviderGetResponseExample: - summary: An example of an AWS provider + summary: An example of an AWS provider get response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2435,13 +2645,14 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: AWS Provider type: AWS - botUrl: http://aws-bot-url description: Aws provider description + role: + - tts awsProvider: Region: us-west-1 errors: null awsBotGetResponseExample: - summary: An example of a AWS bot + summary: An example of a AWS bot get response value: links: - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2464,7 +2675,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2474,7 +2684,7 @@ components: providerBotName: aws bot errors: null awsProviderPostResponseExample: - summary: An example of an AWS provider + summary: An example of an AWS provider post response value: links: - href: /provider @@ -2487,13 +2697,14 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: AWS Provider type: AWS - botUrl: http://aws-bot-url + role: + - stt description: Aws provider description awsProvider: Region: us-west-1 errors: null awsBotPostResponseExample: - summary: An example of a AWS bot + summary: An example of a AWS bot post response value: links: - href: /bots @@ -2507,7 +2718,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://aws-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2517,7 +2727,7 @@ components: providerBotName: aws bot errors: null awsProviderPutResponseExample: - summary: An example of an AWS provider + summary: An example of an AWS provider put response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2539,13 +2749,12 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: AWS Provider type: AWS - botUrl: http://aws-bot-url description: Aws provider description awsProvider: Region: us-west-1 errors: null awsProviderPatchResponseExample: - summary: An example of an AWS provider + summary: An example of an AWS provider patch response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f @@ -2567,7 +2776,6 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: AWS Provider type: AWS - botUrl: http://aws-bot-url description: Aws provider description awsProvider: Region: us-west-1 @@ -2577,27 +2785,13 @@ components: value: displayName: Cognigy Provider type: COGNIGY - botUrl: http://cognigy-bot-url description: Cognigy provider description + role: + - bot cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt - cognigyBotExample: - summary: An example of a Cognigy bot - value: - name: bot - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - cognigyBot: - token: replace - oauthTokenUrl: replace botUrl: http://cognigy-bot-url - providerBotName: cognigy bot cognigyProviderGetResponseExample: summary: An example of a Cognigy provider value: @@ -2621,11 +2815,13 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Cognigy Provider type: COGNIGY - botUrl: http://cognigy-bot-url description: Cognigy provider description + role: + - bot cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt + botUrl: http://cognigy-bot-url errors: null cognigyBotGetResponseExample: summary: An example of a Cognigy bot @@ -2651,7 +2847,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://google-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2675,11 +2870,13 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Cognigy Provider type: COGNIGY - botUrl: http://cognigy-bot-url description: Cognigy provider description + role: + - bot cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt + botUrl: http://cognigy-bot-url errors: null cognigyBotPostResponseExample: summary: An example of a Cognigy bot @@ -2696,7 +2893,6 @@ components: displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - botUrl: http://cognigy-bot-url sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f botFailover: 919-111-2222 @@ -2729,11 +2925,11 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Cognigy Provider type: COGNIGY - botUrl: http://cognigy-bot-url description: Cognigy provider description cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt + botUrl: http://cognigy-bot-url errors: null cognigyProviderPatchResponseExample: summary: An example of a Cognigy provider @@ -2758,11 +2954,11 @@ components: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Cognigy Provider type: COGNIGY - botUrl: http://cognigy-bot-url description: Cognigy provider description cognigyProvider: TtsUrl: https://example.com/tts SttUrl: https://example.com/stt + botUrl: http://cognigy-bot-url errors: null badRequestErrorExample: summary: An example of a generic Bad Request Error. From 317de04197992e150785c9b04a1ca4edabf96e7d Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 20 Jul 2023 18:04:08 +0000 Subject: [PATCH 46/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 99 ++++++++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 40 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index c8fd8f728..8f79a1909 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -760,7 +760,8 @@ components: id: $ref: '#/components/schemas/id' provider: - $ref: '#/components/schemas/provider' + oneOf: + - $ref: '#/components/schemas/provider' displayName: $ref: '#/components/schemas/displayName' description: @@ -989,7 +990,8 @@ components: id: $ref: '#/components/schemas/id' provider: - $ref: '#/components/schemas/provider' + oneOf: + - $ref: '#/components/schemas/provider' displayName: $ref: '#/components/schemas/displayName' description: @@ -1455,7 +1457,8 @@ components: id: $ref: '#/components/schemas/id' provider: - $ref: '#/components/schemas/provider' + oneOf: + - $ref: '#/components/schemas/provider' displayName: $ref: '#/components/schemas/displayName' description: @@ -1603,7 +1606,7 @@ components: description: a name for the provider example: Provider description provider: - type: string + type: object description: A string representing the id of a previously setup provider. example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 providerBotName: @@ -1816,60 +1819,55 @@ components: - $ref: '#/components/schemas/googleTextToSpeechBot' googleSpeechToTextBot: required: + - providerId - voiceName - language description: Google Bot is required properties: + providerId: + $ref: '#/components/schemas/provider' voiceName: $ref: '#/components/schemas/voiceName' language: $ref: '#/components/schemas/language' googleTextToSpeechBot: required: + - providerId - voiceName - language description: Google Bot is required properties: + providerId: + $ref: '#/components/schemas/provider' voiceName: $ref: '#/components/schemas/voiceName' language: $ref: '#/components/schemas/language' awsSpeechToTextBot: required: + - providerId - voiceName description: Google Bot is required properties: + providerId: + $ref: '#/components/schemas/provider' voiceName: $ref: '#/components/schemas/voiceName' awsTextToSpeechBot: required: + - providerId - voiceName - language description: Google Bot is required properties: + providerId: + $ref: '#/components/schemas/provider' voiceName: $ref: '#/components/schemas/voiceName' language: $ref: '#/components/schemas/language' ttsEnhancedVoice: $ref: '#/components/schemas/ttsEnhancedVoice' - cognigySpeechToTextBot: - required: - - voiceName - description: Google Bot is required - properties: - voiceName: - $ref: '#/components/schemas/voiceName' - cognigyTextToSpeechBot: - required: - - voiceName - - language - description: Google Bot is required - properties: - voiceName: - $ref: '#/components/schemas/voiceName' - language: - $ref: '#/components/schemas/language' googleCredentials: required: - googleCredentials @@ -2211,27 +2209,34 @@ components: bots: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US voiceName: Jill ttsProvider: + provider: + provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: false dtmfCollectSubmitDigit: 3 transferTarget: tel:+123456789 sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US voiceName: Jill ttsProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill errors: null googleESProviderExample: @@ -2298,31 +2303,37 @@ components: value: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 sttProvider: + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US voiceName: Jill ttsProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill googleBotExample: summary: An example of a Google bot value: - name: bot id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - googleBot: + dtmfCollect: true + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US + voiceName: Jill + ttsProvider: + provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - credentials: - conversationProfileId: '1234' googleEsProviderGetResponseExample: summary: An example of a Google-ES provider get response value: @@ -2414,15 +2425,18 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US voiceName: Jill ttsProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill errors: null googleBotGetResponseExample: @@ -2521,15 +2535,18 @@ components: bot: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 transferTarget: tel:+123456789 sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US voiceName: Jill ttsProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill errors: null googleProviderPutResponseExample: @@ -2610,18 +2627,20 @@ components: awsBotExample: summary: An example of a Aws bot value: - name: bot id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - awsBot: + dtmfCollect: true + dtmfCollectSubmitDigit: 10 + transferTarget: tel:+123456789 + sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US + voiceName: Jill + ttsProvider: + provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - botAlias: '1234' - providerBotName: aws bot awsProviderGetResponseExample: summary: An example of an AWS provider get response value: From 2e4c07ccc06f3ca2cb1ee72001a8ccb26c8178ca Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 20 Jul 2023 18:44:23 +0000 Subject: [PATCH 47/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 8f79a1909..fa987aeba 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -712,7 +712,7 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/google' + $ref: '#/components/schemas/google-es' displayName: $ref: '#/components/schemas/displayName' role: @@ -737,7 +737,7 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/google' + $ref: '#/components/schemas/google-es' displayName: $ref: '#/components/schemas/displayName' role: @@ -929,14 +929,14 @@ components: example: $ref: '#/components/examples/googleBotExample' googleEsProviderRequestData: - title: Google Provider Request Data + title: Google-ES Provider Request Data type: object description: Google provider request example. properties: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/type' + $ref: '#/components/schemas/google-es' displayName: $ref: '#/components/schemas/displayName' role: @@ -956,7 +956,7 @@ components: - type - googleProvider googleCxProviderRequestData: - title: Google Provider Request Data + title: Google-CX Provider Request Data type: object description: Google provider request example. properties: @@ -1056,7 +1056,7 @@ components: - description - provider awsProviderRequestData: - title: AWS Provider Response Data + title: AWS Provider Request Data type: object description: Aws request example. properties: @@ -1107,7 +1107,7 @@ components: example: $ref: '#/components/examples/awsBotExample' cognigyProviderRequestData: - title: Cognigy Provider Response Data + title: Cognigy Provider request Data type: object description: Cognigy request example properties: @@ -1567,30 +1567,44 @@ components: id: required: - id - description: Id is a required field + description: uuid + example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 description: + type: string required: - description description: Description is a required field + example: This is a bot type: + type: string required: - type - google: + description: A property to hold the type of a provider + example: Google-ES + google-es: + type: string required: - google description: google type for provider + example: Google-ES google-cx: + type: string required: - google-cx description: google-cx type for provider + example: Google-CX aws: + type: string required: - aws description: aws type for provider + example: AWS cognigy: + type: string required: - cognigy description: cognigy type for provider + example: COGNIGY botUrl: type: string description: A string representing the bot endpoint. @@ -2322,7 +2336,8 @@ components: value: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 @@ -2629,7 +2644,8 @@ components: value: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 From bf4208bd589bdfadba8f8b0d30c7e7bc0c3318dc Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 21 Jul 2023 14:59:02 +0000 Subject: [PATCH 48/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 147 ++++++++++++++++++++++++++++----------- 1 file changed, 108 insertions(+), 39 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index fa987aeba..84392213f 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -442,8 +442,10 @@ components: schema: $ref: '#/components/schemas/replaceProviderResponseData' examples: - googleProviderExample: - $ref: '#/components/examples/googleProviderPutResponseExample' + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderPutResponseExample' + googleCxProviderExample: + $ref: '#/components/examples/googleEsProviderPutResponseExample' awsProviderExample: $ref: '#/components/examples/awsProviderPostResponseExample' cognigyProviderExample: @@ -458,8 +460,10 @@ components: - $ref: '#/components/schemas/awsProviderResponseData' - $ref: '#/components/schemas/cognigyProviderResponseData' examples: - googleProviderExample: - $ref: '#/components/examples/googleProviderPatchResponseExample' + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderPatchResponseExample' + googleCxProviderExample: + $ref: '#/components/examples/googleEsProviderPatchResponseExample' awsProviderExample: $ref: '#/components/examples/awsProviderPatchResponseExample' cognigyProviderExample: @@ -723,10 +727,10 @@ components: - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' googleProvider: - $ref: '#/components/schemas/googleESProviderResponse' + $ref: '#/components/schemas/googleEsProviderResponse' nullable: true example: - $ref: '#/components/examples/googleESProviderExample' + $ref: '#/components/examples/googleEsProviderExample' googleCxProviderResponseData: title: Google-CX Provider Response Data type: object @@ -949,7 +953,7 @@ components: googleProvider: $ref: '#/components/schemas/googleEsProvider' example: - $ref: '#/components/examples/googleESProviderExample' + $ref: '#/components/examples/googleEsProviderExample' required: - name - description @@ -1242,7 +1246,8 @@ components: type: string description: The type of provider, such as 'google', 'aws', or 'cognigy'. enum: - - GOOGLE + - GOOGLE-ES + - GOOGLE-CX - AWS - COGNIGY description: @@ -1264,7 +1269,7 @@ components: type: string description: The type of provider, such as 'google', 'aws', or 'cognigy'. enum: - - GOOGLE + - GOOGLE-ES - GOOGLE-CX - AWS - COGNIGY @@ -1291,7 +1296,7 @@ components: type: string description: The new type of the updated provider, such as 'google' or 'aws'. enum: - - GOOGLE + - GOOGLE-ES - GOOGLE-CX - AWS - COGNIGY @@ -1314,7 +1319,7 @@ components: type: string description: The new type of the updated provider, such as 'google' or 'aws'. enum: - - GOOGLE + - GOOGLE-ES - GOOGLE-CX - AWS - COGNIGY @@ -1337,7 +1342,7 @@ components: type: string description: The new type of the updated provider, such as 'google' or 'aws'. enum: - - GOOGLE + - GOOGLE-ES - GOOGLE-CX - AWS - COGNIGY @@ -1719,7 +1724,7 @@ components: description: >- URI to where the call should be transferred call to. Typically, the URI is a "tel" or "sip" URI. - example: tel:+123456789 + example: tel:+19195554321 sipHeadersToBot: type: object description: >- @@ -1783,7 +1788,7 @@ components: $ref: '#/components/schemas/agentId' googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' - googleESProviderResponse: + googleEsProviderResponse: required: - googleProvider - region @@ -2070,7 +2075,7 @@ components: - $ref: '#/components/schemas/cognigyProviderRequestData' examples: googleESProviderExample: - $ref: '#/components/examples/googleESProviderExample' + $ref: '#/components/examples/googleEsProviderExample' googleCXProviderExample: $ref: '#/components/examples/googleCxProviderExample' awsProviderExample: @@ -2097,8 +2102,10 @@ components: - $ref: '#/components/schemas/awsProviderRequestData' - $ref: '#/components/schemas/cognigyProviderRequestData' examples: - googleProviderExample: - $ref: '#/components/examples/googleESProviderExample' + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderExample' + googleCxProviderExample: + $ref: '#/components/examples/googleCxProviderExample' awsProviderExample: $ref: '#/components/examples/awsProviderExample' cognigyProviderExample: @@ -2125,8 +2132,10 @@ components: - $ref: '#/components/schemas/updateCognigyProvider' - $ref: '#/components/schemas/updateAwsProvider' examples: - googleProvider: - $ref: '#/components/examples/googleESProviderExample' + googleEsProvider: + $ref: '#/components/examples/googleEsProviderExample' + googleCxProvider: + $ref: '#/components/examples/googleCxProviderExample' awsProvider: $ref: '#/components/examples/awsProviderExample' cognigyProvider: @@ -2149,7 +2158,7 @@ components: value: schema: oneOf: - - $ref: '#/components/examples/googleESProviderExample' + - $ref: '#/components/examples/googleEsProviderExample' - $ref: '#/components/examples/awsProviderExample' - $ref: '#/components/examples/cognigyProviderExample' listProviderResponseExample: @@ -2164,7 +2173,7 @@ components: providers: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0a displayName: Google-ES Provider - type: GOOGLE + type: GOOGLE-ES description: Google provider description role: - bot @@ -2228,7 +2237,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US @@ -2244,7 +2253,7 @@ components: description: Bot description dtmfCollect: false dtmfCollectSubmitDigit: 3 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US @@ -2253,12 +2262,12 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill errors: null - googleESProviderExample: + googleEsProviderExample: summary: An example of a Google-ES provider value: name: googleProvider displayName: Google Provider - type: GOOGLE + type: GOOGLE-ES description: Google provider description role: - bot @@ -2277,7 +2286,7 @@ components: value: name: googleProvider displayName: Google Provider - type: GOOGLE + type: GOOGLE-CX description: Google provider description role: - bot @@ -2306,7 +2315,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectMaxDigits: 1 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: language: en-US voiceName: Jill @@ -2322,7 +2331,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -2341,7 +2350,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US @@ -2371,7 +2380,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE + type: GOOGLE_ES description: Google provider description role: - bot @@ -2445,7 +2454,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US @@ -2499,7 +2508,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE + type: GOOGLE-ES description: Google provider description role: - bot @@ -2524,7 +2533,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE + type: GOOGLE-CX description: Google provider description role: - bot @@ -2555,7 +2564,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US @@ -2564,7 +2573,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill errors: null - googleProviderPutResponseExample: + googleEsProviderPutResponseExample: summary: An example of a provider put response value: links: @@ -2586,7 +2595,37 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE + type: GOOGLE-ES + description: Google provider description + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + errors: null + googleCxProviderPutResponseExample: + summary: An example of a provider put response + value: + links: + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /providers + rel: create + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE-CX description: Google provider description googleProvider: region: northamerica @@ -2595,7 +2634,7 @@ components: projectId: myproject agentId: myagent errors: null - googleProviderPatchResponseExample: + googleEsProviderPatchResponseExample: summary: An example of a provider patch response value: links: @@ -2617,7 +2656,37 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE + type: GOOGLE-ES + description: Google provider description + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + errors: null + googleCxProviderPatchResponseExample: + summary: An example of a provider patch response + value: + links: + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /providers + rel: create + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE-CX description: Google provider description googleProvider: region: northamerica @@ -2649,7 +2718,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: 10 - transferTarget: tel:+123456789 + transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US From 2ceeaf5dea9184bde9b3b9b706c5496aa746ccc3 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 24 Jul 2023 17:48:34 +0000 Subject: [PATCH 49/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 84392213f..1c6455edc 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1839,39 +1839,30 @@ components: googleSpeechToTextBot: required: - providerId - - voiceName - language description: Google Bot is required properties: providerId: $ref: '#/components/schemas/provider' - voiceName: - $ref: '#/components/schemas/voiceName' language: $ref: '#/components/schemas/language' googleTextToSpeechBot: required: - providerId - - voiceName - language description: Google Bot is required properties: providerId: $ref: '#/components/schemas/provider' - voiceName: - $ref: '#/components/schemas/voiceName' language: $ref: '#/components/schemas/language' awsSpeechToTextBot: required: - providerId - - voiceName description: Google Bot is required properties: providerId: $ref: '#/components/schemas/provider' - voiceName: - $ref: '#/components/schemas/voiceName' awsTextToSpeechBot: required: - providerId @@ -2241,7 +2232,6 @@ components: sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f @@ -2257,7 +2247,6 @@ components: sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill @@ -2318,7 +2307,6 @@ components: transferTarget: tel:+19195554321 sttProvider: language: en-US - voiceName: Jill ttsProvider: voiceName: Jill botRequestExample: @@ -2336,7 +2324,6 @@ components: provider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill @@ -2354,7 +2341,6 @@ components: sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill @@ -2458,7 +2444,6 @@ components: sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill @@ -2568,7 +2553,6 @@ components: sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill @@ -2722,7 +2706,6 @@ components: sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US - voiceName: Jill ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill From 952f6f659fb9599c4249dfea3028a9a907ddb11e Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 25 Jul 2023 02:33:56 +0000 Subject: [PATCH 50/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 1c6455edc..ef5ebeeed 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -2321,8 +2321,7 @@ components: dtmfCollectSubmitDigit: 10 transferTarget: tel:+19195554321 sttProvider: - provider: - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f From b4ac1b9f593559c98edabaf393c40c893cfa0102 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 25 Jul 2023 12:43:55 +0000 Subject: [PATCH 51/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 42 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index ef5ebeeed..d028d068f 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1246,8 +1246,8 @@ components: type: string description: The type of provider, such as 'google', 'aws', or 'cognigy'. enum: - - GOOGLE-ES - - GOOGLE-CX + - GOOGLE_ES + - GOOGLE_CX - AWS - COGNIGY description: @@ -1269,8 +1269,8 @@ components: type: string description: The type of provider, such as 'google', 'aws', or 'cognigy'. enum: - - GOOGLE-ES - - GOOGLE-CX + - GOOGLE_ES + - GOOGLE_CX - AWS - COGNIGY description: @@ -1296,8 +1296,8 @@ components: type: string description: The new type of the updated provider, such as 'google' or 'aws'. enum: - - GOOGLE-ES - - GOOGLE-CX + - GOOGLE_ES + - GOOGLE_CX - AWS - COGNIGY updateProviderResponseData: @@ -1319,8 +1319,8 @@ components: type: string description: The new type of the updated provider, such as 'google' or 'aws'. enum: - - GOOGLE-ES - - GOOGLE-CX + - GOOGLE_ES + - GOOGLE_CX - AWS - COGNIGY updateProvider: @@ -1342,8 +1342,8 @@ components: type: string description: The new type of the updated provider, such as 'google' or 'aws'. enum: - - GOOGLE-ES - - GOOGLE-CX + - GOOGLE_ES + - GOOGLE_CX - AWS - COGNIGY credentials: @@ -2164,7 +2164,7 @@ components: providers: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0a displayName: Google-ES Provider - type: GOOGLE-ES + type: GOOGLE_ES description: Google provider description role: - bot @@ -2177,7 +2177,7 @@ components: projectId: myproject - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google-CX Provider - type: GOOGLE-CX + type: GOOGLE_CX description: Google provider description role: - bot @@ -2256,7 +2256,7 @@ components: value: name: googleProvider displayName: Google Provider - type: GOOGLE-ES + type: GOOGLE_ES description: Google provider description role: - bot @@ -2275,7 +2275,7 @@ components: value: name: googleProvider displayName: Google Provider - type: GOOGLE-CX + type: GOOGLE_CX description: Google provider description role: - bot @@ -2399,7 +2399,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-CX + type: GOOGLE_CX description: Google provider description role: - bot @@ -2492,7 +2492,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-ES + type: GOOGLE_ES description: Google provider description role: - bot @@ -2517,7 +2517,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-CX + type: GOOGLE_CX description: Google provider description role: - bot @@ -2578,7 +2578,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-ES + type: GOOGLE_ES description: Google provider description googleProvider: region: northamerica @@ -2608,7 +2608,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-CX + type: GOOGLE_CX description: Google provider description googleProvider: region: northamerica @@ -2639,7 +2639,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-ES + type: GOOGLE_ES description: Google provider description googleProvider: region: northamerica @@ -2669,7 +2669,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider - type: GOOGLE-CX + type: GOOGLE_CX description: Google provider description googleProvider: region: northamerica From 424482f0fa8103068fe7e00edcc534b483c6e79b Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 25 Jul 2023 20:10:28 +0000 Subject: [PATCH 52/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index d028d068f..bd2bd39d3 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -2205,8 +2205,6 @@ components: type: COGNIGY description: Cognigy provider description cognigyProvider: - TtsUrl: https://example.com/tts - SttUrl: https://example.com/stt botUrl: http://cognigy-bot-url role: - bot @@ -2875,8 +2873,6 @@ components: role: - bot cognigyProvider: - TtsUrl: https://example.com/tts - SttUrl: https://example.com/stt botUrl: http://cognigy-bot-url cognigyProviderGetResponseExample: summary: An example of a Cognigy provider @@ -2905,8 +2901,6 @@ components: role: - bot cognigyProvider: - TtsUrl: https://example.com/tts - SttUrl: https://example.com/stt botUrl: http://cognigy-bot-url errors: null cognigyBotGetResponseExample: @@ -2960,8 +2954,6 @@ components: role: - bot cognigyProvider: - TtsUrl: https://example.com/tts - SttUrl: https://example.com/stt botUrl: http://cognigy-bot-url errors: null cognigyBotPostResponseExample: @@ -3013,8 +3005,6 @@ components: type: COGNIGY description: Cognigy provider description cognigyProvider: - TtsUrl: https://example.com/tts - SttUrl: https://example.com/stt botUrl: http://cognigy-bot-url errors: null cognigyProviderPatchResponseExample: @@ -3042,8 +3032,6 @@ components: type: COGNIGY description: Cognigy provider description cognigyProvider: - TtsUrl: https://example.com/tts - SttUrl: https://example.com/stt botUrl: http://cognigy-bot-url errors: null badRequestErrorExample: From 3d9b5c0ff067a4b0d475468c02f0f100c93e439d Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Wed, 26 Jul 2023 04:06:15 +0000 Subject: [PATCH 53/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index bd2bd39d3..1c71ddd0a 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1636,6 +1636,14 @@ components: type: string description: A string representing the region. example: us-east-1 + accessKey: + type: string + description: Access key for the AWS account. + example: AKIAIOSFODNN7EXAMPLE + secretKey: + type: string + description: Secret key for the AWS account. + example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY location: type: string description: A string representing the location. @@ -1893,6 +1901,8 @@ components: properties: region: $ref: '#/components/schemas/region' + awsCredentials: + $ref: '#/components/schemas/awsProviderCredentials' awsBot: required: - voiceName @@ -1948,10 +1958,8 @@ components: - cognigyProvider description: Cognigy Provider is required properties: - ttsUrl: - $ref: '#/components/schemas/ttsUrl' - sttUrl: - $ref: '#/components/schemas/sttUrl' + botUrl: + $ref: '#/components/schemas/botUrl' cognigyBot: required: - botURL From de3c5a48bb8b8af5a9074de461e8dd379ed5952e Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 27 Jul 2023 16:42:34 +0000 Subject: [PATCH 54/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 1c71ddd0a..0e3bf6c71 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -43,7 +43,7 @@ paths: post: summary: Add a Provider operationId: createProvider - description: Create a configuration for an new Provider. + description: Create a configuration for a new Provider. parameters: - $ref: '#/components/parameters/accountId' requestBody: @@ -207,7 +207,7 @@ paths: post: summary: Add a Bot operationId: createBot - description: Create a configuration for an new Bot. + description: Create a configuration for a new Bot. parameters: - $ref: '#/components/parameters/accountId' requestBody: @@ -518,7 +518,7 @@ components: internalServerErrorExample: $ref: '#/components/examples/internalServerErrorExample' unauthorizedError: - description: Un unauthorized error. + description: Ununauthorized error. content: application/json: schema: @@ -527,7 +527,7 @@ components: unauthorizedErrorExample: $ref: '#/components/examples/unauthorizedErrorExample' forbiddenError: - description: Un unauthorized error. + description: Ununauthorized error. content: application/json: schema: From fc0ca5b87c5907ff27ead7fa0a1e48d264e7b584 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 10 Aug 2023 19:38:06 +0000 Subject: [PATCH 55/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 0e3bf6c71..e0ba94485 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1871,6 +1871,8 @@ components: properties: providerId: $ref: '#/components/schemas/provider' + language: + $ref: '#/components/schemas/language' awsTextToSpeechBot: required: - providerId From 35abc15701bb170c3f42af8502ac59deddb16175 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 21 Aug 2023 02:52:59 +0000 Subject: [PATCH 56/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index e0ba94485..c1feaa6ba 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -778,6 +778,8 @@ components: $ref: '#/components/schemas/dtmfCollect' dtmfCollectMaxDigits: $ref: '#/components/schemas/dtmfCollectMaxDigits' + dtmfCollectSubmitDigit: + $ref: '#/components/schemas/dtmfCollectSubmitDigit' sttProvider: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -991,8 +993,6 @@ components: type: object description: Bot request example. properties: - id: - $ref: '#/components/schemas/id' provider: oneOf: - $ref: '#/components/schemas/provider' @@ -1008,6 +1008,8 @@ components: $ref: '#/components/schemas/dtmfCollect' dtmfCollectMaxDigits: $ref: '#/components/schemas/dtmfCollectMaxDigits' + dtmfCollectSubmitDigit: + $ref: '#/components/schemas/dtmfCollectSubmitDigit' sttProvider: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -1024,7 +1026,6 @@ components: - displayName - description - botFailover - - transferTarget - sipHeadersToBot - dtmfCollect - dtmfCollectMaxDigits @@ -1476,6 +1477,8 @@ components: $ref: '#/components/schemas/dtmfCollect' dtmfCollectMaxDigits: $ref: '#/components/schemas/dtmfCollectMaxDigits' + dtmfCollectSubmitDigit: + $ref: '#/components/schemas/dtmfCollectSubmitDigit' sttProvider: oneOf: - $ref: '#/components/schemas/googleSpeechToTextBot' @@ -2235,7 +2238,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true - dtmfCollectSubmitDigit: 10 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f @@ -2250,7 +2253,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: false - dtmfCollectSubmitDigit: 3 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -2312,6 +2315,7 @@ components: description: Bot description dtmfCollect: true dtmfCollectMaxDigits: 1 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: language: en-US @@ -2320,13 +2324,12 @@ components: botRequestExample: summary: An example of a Bot request value: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true - dtmfCollectSubmitDigit: 10 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -2343,7 +2346,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true - dtmfCollectSubmitDigit: 10 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f @@ -2446,7 +2449,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true - dtmfCollectSubmitDigit: 10 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -2548,14 +2551,14 @@ components: - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f rel: bot method: GET - bot: + data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true - dtmfCollectSubmitDigit: 10 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f @@ -2708,7 +2711,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true - dtmfCollectSubmitDigit: 10 + dtmfCollectSubmitDigit: '#' transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f @@ -3053,7 +3056,6 @@ components: - id: optional-error-id type: bad-request description: There was an issue with your request. - code: 205617 unauthorizedErrorExample: summary: An example of a generic Unauthorized Error value: @@ -3063,7 +3065,6 @@ components: - id: optional-error-id type: authentication-credentials description: Invalid or missing credentials. - code: 206401 forbiddenErrorExample: summary: An example of a generic Unauthorized Error. value: @@ -3073,7 +3074,6 @@ components: - id: optional-error-id type: resource-permissions description: User does not have permissions to access this resource. - code: 109107 notFoundErrorExample: summary: An example of a generic Not Found Error. value: @@ -3083,7 +3083,6 @@ components: - id: optional-error-id type: resource-not-found description: The resource specified cannot be found. - code: 50420 notAllowedErrorExample: summary: An example of a Method Not Allowed error. value: @@ -3119,7 +3118,6 @@ components: description: >- Unexpected internal server error. Contact Bandwidth Customer Support if this problem persists. - code: 32030 securitySchemes: Basic: type: http From 4ef29685161c7bdbb94e349a62de7142a600b1b1 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 29 Aug 2023 00:16:48 +0000 Subject: [PATCH 57/81] Add Code Snippets to Spec Files --- site/specs/global-v2.yml | 909 +- site/specs/global.yml | 77 +- site/specs/messaging.yml | 16 + site/specs/numbers.yml | 944 +- site/specs/numbers_v2.yml | 43976 ++++++++++++++++++++++++++++++++++++ site/specs/voice.yml | 10 + 6 files changed, 45234 insertions(+), 698 deletions(-) create mode 100644 site/specs/numbers_v2.yml diff --git a/site/specs/global-v2.yml b/site/specs/global-v2.yml index e7ebbfb51..8e097ff1c 100644 --- a/site/specs/global-v2.yml +++ b/site/specs/global-v2.yml @@ -84,337 +84,40 @@ paths: description: List CDRs with filters operationId: searchCdrsExternalUsingGET parameters: - - name: from - in: query - description: Start of period where CDRs will be retrieved from. - required: true - schema: - type: string - format: date-time - example: 2020-03-04T12:00:00.000Z - - name: to - in: query - description: End of period where CDRs will be retrieved until. - required: true - schema: - type: string - format: date-time - example: 2020-03-05T12:00:00.000Z - - name: id - in: query - description: UUID for this record. - schema: - type: string - example: TTJE4M8N3P4N95FEDG3ANH8F98 - - name: countryCodeA3 - in: query - description: >- - Indicates the country code of the DID in its ISO 3166-1 alpha-3 - format (e.g. 'GBR' for United Kingdom, 'USA' for United States of - America, 'BEL' for Belgium, etc.). - style: form - explode: false - schema: - type: array - items: - type: string - enum: - - AFG - - ALB - - DZA - - ASM - - AND - - AGO - - AIA - - ATA - - ATG - - ARG - - ARM - - ABW - - AUS - - AUT - - AZE - - BHS - - BHR - - BGD - - BRB - - BLR - - BEL - - BLZ - - BEN - - BMU - - BTN - - BOL - - BIH - - BWA - - BRA - - BGR - - BFA - - BDI - - KHM - - CMR - - CAN - - CPV - - CYM - - CAF - - TCD - - CHL - - CHN - - CXR - - COL - - COM - - COD - - COG - - COK - - CRI - - CIV - - HRV - - CUB - - CYP - - CZE - - DNK - - DJI - - DMA - - DOM - - ECU - - EGY - - SLV - - GNQ - - ERI - - EST - - ETH - - FRO - - FJI - - FIN - - FRA - - GUF - - PYF - - GAB - - GMB - - GEO - - DEU - - GHA - - GIB - - GRC - - GRL - - GRD - - GLP - - GUM - - GTM - - GIN - - GNB - - GUY - - HTI - - HND - - HKG - - HUN - - ISL - - IND - - IDN - - IRN - - IRQ - - IRL - - ISR - - ITA - - JAM - - JPN - - JOR - - KAZ - - KEN - - KIR - - PRK - - KOR - - KWT - - KGZ - - LAO - - LVA - - LBN - - LSO - - LBR - - LBY - - LIE - - LTU - - LUX - - MAC - - MKD - - MDG - - MWI - - MYS - - MDV - - MLI - - MLT - - MHL - - MTQ - - MRT - - MUS - - MEX - - MDA - - MCO - - MNG - - MSR - - MAR - - MOZ - - MMR - - NAM - - NRU - - NPL - - NLD - - ANT - - NCL - - NZL - - NIC - - NER - - NGA - - NIU - - NFK - - MNP - - NOR - - OMN - - PAK - - PLW - - PAN - - PNG - - PRY - - PER - - PHL - - POL - - PRT - - PRI - - QAT - - REU - - ROU - - RUS - - RWA - - KNA - - LCA - - VCT - - WSM - - SMR - - SAU - - SEN - - SYC - - SLE - - SGP - - SVK - - SVN - - SLB - - SOM - - ZAF - - ESP - - LKA - - SHN - - SPM - - SDN - - SUR - - SWZ - - SWE - - CHE - - SYR - - TWN - - TJK - - TZA - - THA - - TGO - - TON - - TTO - - TUN - - TUR - - TKM - - TCA - - TUV - - UGA - - UKR - - ARE - - GBR - - USA - - UMI - - URY - - UZB - - VUT - - VAT - - VEN - - VNM - - VGB - - VIR - - WLF - - YEM - - ZMB - - ZWE - - SXM - - CUW - - BES - - WLD - - SRB - - MNE - - UNK - - SSD - - name: e164 - in: query - description: >- - The DID in its E164 format (e.g. “+16469185038”) with the ability to - provide multiple E164s. - style: form - explode: false - schema: - type: array - items: - type: string - - name: callType - in: query - description: The grouping for the type of DID. - schema: - type: string - enum: - - VOXDID - - VOXPREMIUM - - VOX800 - example: VOXDID - - name: offset - in: query - description: >- - Starting position in the dataset of a particular record where we - retrieve a subset of records. - schema: - type: integer - format: int32 - default: 0 - example: 20 - - name: limit - in: query - description: A limit on the number of records to be returned. - schema: - type: integer - format: int32 - default: 20 - - name: anonymized - in: query - description: >- - Mask the the last 3 digits of the destination number for OUTBOUND - calls due to GDPR regulations. - schema: - type: boolean - example: true + - $ref: '#/components/parameters/from' + - $ref: '#/components/parameters/to' + - $ref: '#/components/parameters/id' + - $ref: '#/components/parameters/countryCodeA3' + - $ref: '#/components/parameters/e164' + - $ref: '#/components/parameters/eventType' + - $ref: '#/components/parameters/callType' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/anonymized' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/originationCountryCodeA3' + - $ref: '#/components/parameters/destinationCountryCodeA3' responses: '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/PageResource«ExternalCdrResourceHolder»' + $ref: '#/components/responses/listCallsResponse' '400': - description: Bad request - content: - application/json: - schema: - $ref: >- - #/components/schemas/PageResource«ExternalApiResponseErrorMessage» + $ref: '#/components/responses/badRequestErrorResponse' + '402': + $ref: '#/components/responses/paymentRequiredResponse' + '403': + $ref: '#/components/responses/forbiddenErrorResponse' + '405': + $ref: '#/components/responses/notAllowedErrorResponse' + '500': + $ref: '#/components/responses/internalServerErrorResponse' security: - apiKey: - yourKey x-summary: Retrieve CDRs in real-time. components: schemas: - ExternalVoiceResource: + externalVoiceResource: + title: ExternalVoiceResource type: object properties: id: @@ -443,6 +146,16 @@ components: description: Number of calls that were happening at the same time to this DID. format: int32 example: 242 + cpc: + type: string + description: Calling Party Category. + enum: + - UNSUPPORTED + - ORDINARY + - CELLULAR + - PAYPHONE + - UNKNOWN + example: ORDINARY currency: type: string description: Currency at which you will be charged. @@ -528,6 +241,12 @@ components: type: string description: Price per minute of the call. example: '50' + ppid: + type: string + description: >- + Contains the caller id information for the call on the INVITE SIP + packet. + example: '442039668000' result: type: string description: The status of the call once it has been connected to you. @@ -569,6 +288,14 @@ components: If TRUE this call was free (origin and destination are both within the Bandwidth network). example: false + attestationIndicator: + type: string + description: STIR/SHAKEN attestation. + enum: + - A + - B + - C + example: A quality: $ref: '#/components/schemas/Quality' description: An individual CDR (call data record). @@ -593,16 +320,18 @@ components: type: string type: type: string - PageResource«ExternalCdrResourceHolder»: + data: + type: array + description: >- + An array which contains a collection of CDRs (call data record) in an + individual object. + items: + $ref: '#/components/schemas/externalVoiceResource' + externalCdrResourceHolder: type: object properties: data: - type: array - description: >- - An array which contains a collection of CDRs (call data record) in - an individual object. - items: - $ref: '#/components/schemas/ExternalVoiceResource' + $ref: '#/components/schemas/data' links: type: array items: @@ -638,26 +367,6 @@ components: - success - fail - error - PageResource«ExternalApiResponseErrorMessage»: - type: object - properties: - status: - type: string - description: Status of the HTTP response from the API. - example: fail - enum: - - success - - fail - - error - errors: - type: array - description: A collection of errors with detailed information. - items: - $ref: '#/components/schemas/Errors' - links: - type: array - items: - $ref: '#/components/schemas/Link' Errors: type: object properties: @@ -720,6 +429,508 @@ components: type: string description: The Round Trip Time or Post Dial Delay measured in milliseconds. example: '1' + externalApiResponseErrorMessage: + type: object + properties: + status: + type: string + description: Status of the HTTP response from the API. + example: fail + enum: + - success + - fail + - error + errors: + type: array + description: A collection of errors with detailed information. + items: + $ref: '#/components/schemas/Errors' + links: + type: array + items: + $ref: '#/components/schemas/Link' + forbiddenErrorResponseSchema: + type: object + properties: + timestamp: + type: string + format: date-time + example: 2022-05-19T09:25:20.991+0000 + status: + type: number + example: 403 + error: + type: string + example: Forbidden + message: + type: string + example: Access Denied + path: + type: string + example: /cdrs/calls + internalServerErrorResponseSchema: + type: object + properties: + globalMessages: + type: array + items: + type: object + properties: + type: + type: string + example: ERROR + code: + type: string + example: ERR-0999 + message: + type: string + example: >- + A system error occurred. Retry again later or contact Voxbone + support + parameters: + from: + name: from + in: query + description: Start of period where CDRs will be retrieved from. + required: true + schema: + type: string + format: date-time + example: 2020-03-04T12:00:00.000Z + to: + name: to + in: query + description: End of period where CDRs will be retrieved until. + required: true + schema: + type: string + format: date-time + example: 2020-03-05T12:00:00.000Z + id: + name: id + in: query + description: UUID for this record. + schema: + type: string + example: TTJE4M8N3P4N95FEDG3ANH8F98 + countryCodeA3: + name: countryCodeA3 + in: query + description: >- + Indicates the country code of the DID in its ISO 3166-1 alpha-3 format + (e.g. 'GBR' for United Kingdom, 'USA' for United States of America, + 'BEL' for Belgium, etc.). + style: form + explode: false + schema: + type: array + items: + type: string + enum: + - AFG + - ALB + - DZA + - ASM + - AND + - AGO + - AIA + - ATA + - ATG + - ARG + - ARM + - ABW + - AUT + - AUS + - AZE + - BHS + - BHR + - BGD + - BRB + - BLR + - BEL + - BLZ + - BEN + - BMU + - BTN + - BOL + - BIH + - BWA + - BRA + - BGR + - BFA + - BDI + - KHM + - CMR + - CAN + - CPV + - CYM + - CAF + - TCD + - CHL + - CHN + - CXR + - COL + - COM + - COD + - COG + - COK + - CRI + - CIV + - HRV + - CUB + - CYP + - CZE + - DNK + - DJI + - DMA + - DOM + - ECU + - EGY + - SLV + - GNQ + - ERI + - EST + - ETH + - FRO + - FJI + - FIN + - FRA + - GUF + - PYF + - GAB + - GMB + - GEO + - DEU + - GHA + - GIB + - GRC + - GRL + - GRD + - GLP + - GUM + - GTM + - GIN + - GNB + - GUY + - HTI + - HND + - HKG + - HUN + - ISL + - IND + - IDN + - IRN + - IRQ + - IRL + - ISR + - ITA + - JAM + - JPN + - JOR + - KAZ + - KEN + - KIR + - PRK + - KOR + - KWT + - KGZ + - LAO + - LVA + - LBN + - LSO + - LBR + - LBY + - LIE + - LTU + - LUX + - MAC + - MKD + - MDG + - MWI + - MYS + - MDV + - MLI + - MLT + - MHL + - MTQ + - MRT + - MUS + - MEX + - MDA + - MCO + - MNG + - MSR + - MAR + - MOZ + - MMR + - NAM + - NRU + - NPL + - NLD + - ANT + - NCL + - NZL + - NIC + - NER + - NGA + - NIU + - NFK + - MNP + - NOR + - OMN + - PAK + - PLW + - PAN + - PNG + - PRY + - PER + - PHL + - POL + - PRT + - PRI + - QAT + - REU + - ROU + - RUS + - RWA + - KNA + - LCA + - VCT + - WSM + - SMR + - SAU + - SEN + - SYC + - SLE + - SGP + - SVK + - SVN + - SLB + - SOM + - ZAF + - ESP + - LKA + - SHN + - SPM + - SDN + - SUR + - SWZ + - SWE + - CHE + - SYR + - TWN + - TJK + - TZA + - THA + - TGO + - TON + - TTO + - TUN + - TUR + - TKM + - TCA + - TUV + - UGA + - UKR + - ARE + - GBR + - USA + - UMI + - URY + - UZB + - VUT + - VAT + - VEN + - VNM + - VGB + - VIR + - WLF + - YEM + - ZMB + - ZWE + - SXM + - CUW + - BES + - WLD + - SRB + - MNE + - UNK + - SSD + e164: + name: e164 + in: query + description: >- + The DID in its E164 format (e.g. “+16469185038”) with the ability to + provide multiple E164s. + style: form + explode: false + schema: + type: array + items: + type: string + eventType: + name: eventType + in: query + description: The type of CDR event. + schema: + type: string + enum: + - IN_VOICE_END + - OUT_VOICE_END + example: IN_VOICE_END + callType: + name: callType + in: query + description: The grouping for the type of DID. + schema: + type: string + enum: + - VOXDID + - VOXPREMIUM + - VOX800 + example: VOXDID + offset: + name: offset + in: query + description: >- + Starting position in the dataset of a particular record where we + retrieve a subset of records. + schema: + type: integer + format: int32 + default: 0 + example: 20 + limit: + name: limit + in: query + description: A limit on the number of records to be returned. + schema: + type: integer + format: int32 + default: 20 + anonymized: + name: anonymized + in: query + description: >- + Mask the the last 3 digits of the destination number for OUTBOUND calls + due to GDPR regulations. + schema: + type: boolean + example: true + direction: + name: direction + in: query + description: Direction of the call. + schema: + type: string + enum: + - INBOUND + - OUTBOUND + example: INBOUND + originationCountryCodeA3: + name: originationCountryCodeA3 + in: query + description: > + Indicates the country code of origination country in its ISO 3166-1 + alpha-3 format (e.g. 'GBR' for United Kingdom, 'USA' for United States + of America, 'BEL' for Belgium, etc.). + + + Note: This filter is only available when direction is OUTBOUND. + schema: + type: array + items: + type: string + destinationCountryCodeA3: + name: destinationCountryCodeA3 + in: query + description: > + Indicates the country code of the destination country in its ISO 3166-1 + alpha-3 format (e.g. 'GBR' for United Kingdom, 'USA' for United States + of America, 'BEL' for Belgium, etc.). + + + Note: This filter is only available when direction is OUTBOUND. + schema: + type: array + items: + type: string + responses: + listCallsResponse: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/externalCdrResourceHolder' + badRequestErrorResponse: + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/externalApiResponseErrorMessage' + forbiddenErrorResponse: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/forbiddenErrorResponseSchema' + examples: + forbiddenErrorExample: + value: + timestamp: 2022-05-19T09:25:20.991+0000 + status: 403 + error: Forbidden + message: Access Denied + path: /cdrs/calls + notAllowedErrorResponse: + description: Method Not Allowed + content: + application/json: + schema: + $ref: '#/components/schemas/externalApiResponseErrorMessage' + examples: + notAllowedErrorExample: + value: + status: fail + errors: + - message: The method POST is not supported for this operation. + code: API-020 + links: + - rel: self + href: https://api.voxbone.com/cdrs/voice + internalServerErrorResponse: + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/internalServerErrorResponseSchema' + examples: + internalServerErrorExample: + value: + globalMessages: + - type: ERROR + code: ERR-0999 + message: >- + A system error occurred. Retry again later or contact + Voxbone support + paymentRequiredResponse: + description: Payment Required + content: + application/json: + schema: + $ref: '#/components/schemas/externalApiResponseErrorMessage' + examples: + notAllowedErrorExample: + value: + status: fail + errors: + - message: >- + Sorry you need to upgrade your CDR data retention to a + paid tier to get access to our API. + code: CDR-1015 + links: + - rel: self + href: https://api.voxbone.com/cdrs/voice securitySchemes: apiKey: type: apiKey diff --git a/site/specs/global.yml b/site/specs/global.yml index fa3bdbbdd..329e34e05 100644 --- a/site/specs/global.yml +++ b/site/specs/global.yml @@ -6603,14 +6603,30 @@ components: items: $ref: '#/components/schemas/portinEventStatusEnum' notificationChannel: + description: > + NOTE: When a request without the `Authorization` header is made to a + callback url that supports basic authentication, then the expected + behavior is: + + 1. Response code is `401` or `407`. + + 2. Response headers should contain `WWW-Authenticate` or + `Proxy-Authenticate` specifying basic authentication as a scheme. + For example `WWW-Authenticate":"Basic realm="Bandwidth API"`. type: array items: $ref: '#/components/schemas/notificationChannel' + example: + - callback: test-callback + url: https://test-callback.xyz.com/callback + callbackCredentials: + basicAuthentication: + username: myusername + password: mypassword required: - product - notificationChannel example: - exampleSubscriptionObject: null product: PORTING eventType: PORTIN_ORDER_STATUS entityId: unique_entity_id @@ -6621,10 +6637,10 @@ components: notifyStates: - ACCEPTED_BY_CARRIER notificationChannel: - callback: null - url: some-url - callbackCredentials: - - basicAuthentication: + - callback: test-callback + url: some-url + callbackCredentials: + basicAuthentication: username: username password: password modifySubscription: @@ -6659,7 +6675,16 @@ components: items: $ref: '#/components/schemas/portinEventStatusEnum' notificationChannel: - $ref: '#/components/schemas/notificationChannel' + type: array + items: + $ref: '#/components/schemas/notificationChannel' + example: + - callback: test-callback + url: https://test-callback.xyz.com/callback + callbackCredentials: + basicAuthentication: + username: myusername + password: mypassword example: exampleModifySubscription: null eventType: PORTIN_ORDER_STATUS @@ -6926,10 +6951,10 @@ components: - DRAFT - COMPLETED notificationChannel: - callback: null - url: some-url - callbackCredentials: - - basicAuthentication: + - callback: test-callback + url: some-url + callbackCredentials: + basicAuthentication: username: username password: password errors: null @@ -6972,10 +6997,10 @@ components: - COMPLETED - DRAFT notificationChannel: - callback: null - url: some-url - callbackCredentials: - - basicAuthentication: + - callback: test-callback + url: some-url + callbackCredentials: + basicAuthentication: username: username password: password errors: null @@ -7152,10 +7177,10 @@ components: notifyStates: - DRAFT notificationChannel: - callback: null - url: some-url - callbackCredentials: - - basicAuthentication: + - callback: test-callback + url: some-url + callbackCredentials: + basicAuthentication: username: username password: password modifySubscription: @@ -7178,10 +7203,10 @@ components: - DRAFT - COMPLETED notificationChannel: - callback: null - url: some-url - callbackCredentials: - - basicAuthentication: + - callback: test-callback + url: some-url + callbackCredentials: + basicAuthentication: username: username password: password updateSubscription: @@ -7204,10 +7229,10 @@ components: - DRAFT - COMPLETED notificationChannel: - callback: null - url: some-url - callbackCredentials: - - basicAuthentication: + - callback: test-callback + url: some-url + callbackCredentials: + basicAuthentication: username: username password: password parameters: diff --git a/site/specs/messaging.yml b/site/specs/messaging.yml index 07957c12b..de4129a53 100644 --- a/site/specs/messaging.yml +++ b/site/specs/messaging.yml @@ -37,6 +37,8 @@ paths: $ref: '#/components/responses/messagingForbiddenError' '404': $ref: '#/components/responses/messagingNotFoundError' + '406': + $ref: '#/components/responses/messagingNotAcceptableError' '415': $ref: '#/components/responses/messagingInvalidMediaTypeError' '429': @@ -224,6 +226,8 @@ paths: $ref: '#/components/responses/messagingForbiddenError' '404': $ref: '#/components/responses/messagingNotFoundError' + '406': + $ref: '#/components/responses/messagingNotAcceptableError' '415': $ref: '#/components/responses/messagingInvalidMediaTypeError' '429': @@ -436,6 +440,8 @@ paths: $ref: '#/components/responses/messagingForbiddenError' '404': $ref: '#/components/responses/messagingNotFoundError' + '406': + $ref: '#/components/responses/messagingNotAcceptableError' '415': $ref: '#/components/responses/messagingInvalidMediaTypeError' '429': @@ -691,6 +697,8 @@ paths: $ref: '#/components/responses/messagingForbiddenError' '404': $ref: '#/components/responses/messagingNotFoundError' + '406': + $ref: '#/components/responses/messagingNotAcceptableError' '415': $ref: '#/components/responses/messagingInvalidMediaTypeError' '429': @@ -1091,6 +1099,8 @@ paths: $ref: '#/components/responses/messagingForbiddenError' '404': $ref: '#/components/responses/messagingNotFoundError' + '406': + $ref: '#/components/responses/messagingNotAcceptableError' '415': $ref: '#/components/responses/messagingInvalidMediaTypeError' '429': @@ -2468,6 +2478,12 @@ components: application/json: schema: $ref: '#/components/schemas/messagingRequestError' + messagingNotAcceptableError: + description: Not Acceptable + content: + application/json: + schema: + $ref: '#/components/schemas/messagingRequestError' createMessageBadRequestError: description: Bad Request content: diff --git a/site/specs/numbers.yml b/site/specs/numbers.yml index f6f9199ea..6e8c45881 100644 --- a/site/specs/numbers.yml +++ b/site/specs/numbers.yml @@ -948,6 +948,45 @@ components: + associatedOutboundNumbersRequestExample: + value: |- + + + + +16175551212 + + + +16175551213 + + + associatedOutboundNumbersResponseGetExample: + value: |- + + + 2 + + + +16175551212 + 123 + + + +16175551213 + 124 + + + + associatedOutboundNumbersResponsePostExample: + value: |- + + + 2 + + + +16175551212 + Invalid Number Format + + + parameters: AccountIDQueryParam: description: > @@ -967,6 +1006,12 @@ components: required: true schema: type: string + AssociatedOutboundNumberIdParam: + in: path + name: associatedOutboundNumberId + required: true + schema: + type: integer BulkCoverageMatrixTaskId: description: Task id for a bulk coverage matrix update. in: path @@ -1079,6 +1124,27 @@ components: required: true schema: type: string + PaginationPageQueryParam: + description: >- + Retrievals must be paginated, using page and size indicators. The page + parameter contains the page number, e.g. "1" in the case of the first + page + example: 1 + in: query + name: page + required: true + schema: + type: integer + PaginationSizeQueryParam: + description: >- + The size parameter indicates the number of Associated Outbound Numbers + to return in the payload + example: 10 + in: query + name: size + required: true + schema: + type: integer PermissionIdPathParam: description: Permission Id example: testPermission @@ -1325,6 +1391,17 @@ components: schema: type: string requestBodies: + associatedOutboundNumbersRequest: + content: + application/xml: + examples: + requestExample: + summary: An example request + value: + $ref: '#/components/examples/associatedOutboundNumbersRequestExample' + schema: + $ref: '#/components/schemas/associatedOutboundNumbers' + description: OK shortCodeJsonPatchShortCodeRequest: content: application/json-patch+json: @@ -1396,6 +1473,59 @@ components: associated with the order, the state of the order, and a list of the successfully imported Telephone Numbers, and descriptions of any encountered errors. + associatedOutboundNumbers400Response: + content: + application/xml: + schema: + $ref: '#/components/schemas/associatedOutboundNumbersErrorResponse' + description: Bad Request + associatedOutboundNumbers401Response: + content: + application/xml: + schema: + $ref: '#/components/schemas/associatedOutboundNumbersErrorResponse' + description: Unauthorised + associatedOutboundNumbers403Response: + content: + application/xml: + schema: + $ref: '#/components/schemas/associatedOutboundNumbersErrorResponse' + description: Forbidden + associatedOutboundNumbers404Response: + content: + application/xml: + schema: + $ref: '#/components/schemas/associatedOutboundNumbersErrorResponse' + description: Not Found + associatedOutboundNumbers429Response: + content: + application/xml: + schema: + $ref: '#/components/schemas/associatedOutboundNumbersErrorResponse' + description: Too Many Requests + associatedOutboundNumbers500Response: + content: + application/xml: + schema: + $ref: '#/components/schemas/associatedOutboundNumbersErrorResponse' + description: Internal Server Error + associatedOutboundNumbersResponse: + content: + application/xml: + examples: + GetExample: + summary: An example GET response + value: + $ref: >- + #/components/examples/associatedOutboundNumbersResponseGetExample + PostExample: + summary: An example POST response + value: + $ref: >- + #/components/examples/associatedOutboundNumbersResponsePostExample + schema: + $ref: '#/components/schemas/associatedOutboundNumbersResponse' + description: OK bulkRateCenterGetResponse404Error: content: application/xml: @@ -11221,6 +11351,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + BillingIdentifier: + type: string CallVerificationEnabled: type: boolean CallingName: @@ -11425,6 +11557,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + BillingIdentifier: + type: string CallVerificationEnabled: type: boolean CallingName: @@ -14080,6 +14214,65 @@ components: - zip - url type: object + associatedOutboundNumber: + properties: + ErrorReason: + $ref: '#/components/schemas/associatedOutboundNumberErrorReason' + id: + type: integer + number: + description: |- +

    An Associated Outbound Number should: +

      +
    • Be a valid phone number in E.164 format. For example: +18005550123.
    • +
    • Not be duplicated. An Associated Outbound Number is unique within an account. +
    +

    + maxLength: 16 + minLength: 3 + type: string + type: object + associatedOutboundNumberErrorReason: + description: >- +

    Describes the reason an associated outbound number has failed. This + could be due to validation or business logic. + +
    + + Possible Error Reasons include: +

      +
    • Invalid number format.
    • +
    • Number is already associated with location ${location_name} [ID: ${location_id}].
    • +
    • Associated Outbound Number not found with location [ID: ${location_id}].
    • +
    +

    + type: string + associatedOutboundNumbers: + items: + $ref: '#/components/schemas/associatedOutboundNumber' + maxItems: 250 + type: array + associatedOutboundNumbersErrorResponse: + properties: + AssociatedOutboundNumbersResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + associatedOutboundNumbersResponse: + properties: + AssociatedOutboundNumbers: + $ref: '#/components/schemas/associatedOutboundNumbers' + Errors: + items: + properties: + AssociatedOutboundNumbers: + $ref: '#/components/schemas/associatedOutboundNumbers' + type: object + type: array + SuccessCount: + type: integer + TotalCount: + type: integer + type: object contact: nullable: false properties: @@ -14337,8 +14530,6 @@ components: name: OrderCreateDate type: object type: object - xml: - name: Order shortCode: description: Short code registration. properties: @@ -15218,7 +15409,7 @@ info: ## Base Path - https://dashboard.bandwidth.com/api/ + https://dashboard.bandwidth.com/api/v1/ title: Numbers version: 1.0.0 openapi: 3.0.1 @@ -29071,6 +29262,37 @@ paths: summary: Fetch Telephone Number order tn quantity tags: - Orders + /accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification: + get: + description: >- + This endpoint will provide verification status for a phone number that + is provisioned to your account. + operationId: getVerificationStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/TfPhoneNumberPathParam' + responses: + '200': + $ref: '#/components/responses/verifyStatusResponse' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Get the verification status of a toll-free phone number + tags: + - Toll-Free Verification /accounts/{accountId}/portins: get: description: >- @@ -34245,6 +34467,135 @@ paths: summary: Download Report Instance File tags: - Reports + /accounts/{accountId}/shortcodes: + get: + description: Retrieves all the short codes registered with an account. + operationId: getAllShortCodesByAccount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodeOffsetQueryParam' + - $ref: '#/components/parameters/shortCodeLimitQueryParam' + responses: + '200': + $ref: '#/components/responses/shortCodeGetAllShortCodesByAccountResponse' + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short codes by account. + tags: + - Short Codes + /accounts/{accountId}/shortcodes/{shortCode}/{country}: + get: + description: >- + Retrieve the details of an account's registration of a short code for a + single country. + operationId: getShortCodeByAccountIdCountryAndShortCode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + responses: + '200': + $ref: >- + #/components/responses/shortCodeGetShortCodeByAccountIdCountryAndShortCodeResponse + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short code details. + tags: + - Short Codes + patch: + description: >- + Update (field by field) an account's short code registration for a + country. This utilizes [Json Patch](https://jsonpatch.com/). + operationId: patchShortCodeLease + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + requestBody: + $ref: '#/components/requestBodies/shortCodeJsonPatchShortCodeRequest' + responses: + '200': + $ref: '#/components/responses/shortCodeUpdateShortCodeResponse' + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '409': + $ref: '#/components/responses/shortCode409' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: >- + Update the lease information of an account's short code registration for + a country. + tags: + - Short Codes + /accounts/{accountId}/shortcodes/{shortCode}/{country}/history: + get: + description: >- + Retrieves a complete history of all updates associated with an account's + registration of a short code for a single country. + operationId: getShortCodeHistoryAccountIdCountryAndShortCode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + - $ref: '#/components/parameters/shortCodeOffsetQueryParam' + - $ref: '#/components/parameters/shortCodeLimitQueryParam' + - $ref: '#/components/parameters/shortCodeHistoryShortCodeSortParam' + - $ref: '#/components/parameters/shortCodeHistoryVersionSortParam' + responses: + '200': + $ref: >- + #/components/responses/shortCodeGetShortCodeHistoryAccountIdCountryAndShortCodeResponse + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short code history. + tags: + - Short Codes /accounts/{accountId}/sipcredentials: get: description: Retrieve all SIP credentials for the account @@ -35840,6 +36191,7 @@ paths: CNAM-TEST-778 description false + Customer-Name-00010/01 @@ -35945,6 +36297,7 @@ paths: description false uri + Customer-Name-00010/01 @@ -35977,6 +36330,7 @@ paths: description false uri + Customer-Name-00010/01 10.10.10.1 @@ -36067,6 +36421,13 @@ paths: - Zip - AddressType type: object + BillingIdentifier: + description: >- + An optional field that offers a convenient way to segment + billing report for your customers. This same value can be + used across multiple locations. + maxLength: 50 + type: string CallVerificationEnabled: type: boolean CustomerTrafficAllowed: @@ -36209,6 +36570,7 @@ paths:
  • 5251 - One of the provided origination route plan route names is too long, please ensure all names are less than 256 characters.
  • 5252 - The origination route name %s is invalid, please use only alphanumeric, whitespace, underscore, and/or dash characters
  • 5253 - Telephone number endpoints are not allowed on this account. Please contact Bandwidth support if you wish to add this feature to your account.
  • +
  • 13691 - Billing Identifier '%s' is too long. Max length 50 characters
  • '409': content: @@ -36333,6 +36695,7 @@ paths: CNAM-TEST-778 description false + Customer-Name-00010/01 @@ -36422,6 +36785,7 @@ paths: name description false + Customer-Name-00010/01 10.10.10.1 @@ -36464,6 +36828,7 @@ paths: CNAM-TEST-778 description false + Customer-Name-00010/01 @@ -36549,6 +36914,7 @@ paths:
  • 5251 - One of the provided origination route plan route names is too long, please ensure all names are less than 256 characters.
  • 5252 - The origination route name %s is invalid, please use only alphanumeric, whitespace, underscore, and/or dash characters
  • 5253 - Telephone number endpoints are not allowed on this account. Please contact Bandwidth support if you wish to add this feature to your account.
  • +
  • 13691 - Billing Identifier '%s' is too long. Max length 50 characters
  • '409': content: @@ -36586,6 +36952,98 @@ paths: summary: Update Sip Peer tags: - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/associatedOutboundNumbers: + get: + description: >- + Retrieve list of Associated Outbound Numbers associated with SIP Peer + location. If none exist, then an empty list is returned. + operationId: retrieveSipPeerAssociatedOutboundNumbers + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + - $ref: '#/components/parameters/PaginationPageQueryParam' + - $ref: '#/components/parameters/PaginationSizeQueryParam' + responses: + '200': + $ref: '#/components/responses/associatedOutboundNumbersResponse' + '400': + $ref: '#/components/responses/associatedOutboundNumbers400Response' + '401': + $ref: '#/components/responses/associatedOutboundNumbers401Response' + '403': + $ref: '#/components/responses/associatedOutboundNumbers403Response' + '404': + $ref: '#/components/responses/associatedOutboundNumbers404Response' + '429': + $ref: '#/components/responses/associatedOutboundNumbers429Response' + '500': + $ref: '#/components/responses/associatedOutboundNumbers500Response' + summary: >- + Retrieve list of Associated Outbound Numbers associated with SIP Peer + location + tags: + - SipPeer Management + post: + description: Submit a list of new Associated Outbound Numbers. + operationId: uploadSipPeerAssociatedOutboundNumbers + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + requestBody: + $ref: '#/components/requestBodies/associatedOutboundNumbersRequest' + responses: + '200': + $ref: '#/components/responses/associatedOutboundNumbersResponse' + '400': + $ref: '#/components/responses/associatedOutboundNumbers400Response' + '401': + $ref: '#/components/responses/associatedOutboundNumbers401Response' + '403': + $ref: '#/components/responses/associatedOutboundNumbers403Response' + '404': + $ref: '#/components/responses/associatedOutboundNumbers404Response' + '429': + $ref: '#/components/responses/associatedOutboundNumbers429Response' + '500': + $ref: '#/components/responses/associatedOutboundNumbers500Response' + summary: >- + Associates a list of Associated Outbound Numbers with a SIP Peer + location + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/associatedOutboundNumbers/{associatedOutboundNumberId}: + delete: + description: Delete Associated Outbound Number from SIP Peer + operationId: deleteSipPeerAssociatedOutboundNumbers + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + - $ref: '#/components/parameters/AssociatedOutboundNumberIdParam' + responses: + '200': + content: + application/xml: {} + description: The Outbound Number has been successfully deleted + '400': + $ref: '#/components/responses/associatedOutboundNumbers400Response' + '401': + $ref: '#/components/responses/associatedOutboundNumbers401Response' + '403': + $ref: '#/components/responses/associatedOutboundNumbers403Response' + '404': + $ref: '#/components/responses/associatedOutboundNumbers404Response' + '429': + $ref: '#/components/responses/associatedOutboundNumbers429Response' + '500': + $ref: '#/components/responses/associatedOutboundNumbers500Response' + summary: >- + Provide a Associated Outbound Number Id which should be deleted from + this SIP Peer. + tags: + - SipPeer Management /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/movetns: post: description: >- @@ -40833,6 +41291,164 @@ paths: summary: Patch toll-free porting validation tags: - Porting + /accounts/{accountId}/tollFreeVerification: + post: + callbacks: + tfVerificationStatus: + $ref: '#/components/callbacks/tfVerificationStatus' + description: Submit a request for verification of a toll-free phone number. + operationId: requestVerification + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + $ref: '#/components/requestBodies/verificationRequest' + responses: + '202': + $ref: '#/components/responses/verifyPostResponse' + '400': + $ref: '#/components/responses/tfvPostBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Submit a toll-free verification request + tags: + - Toll-Free Verification + /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions: + get: + description: >- + Provides a list of webhook subscriptions that are registered to receive + status updates for the toll-free verification requests submitted under + this account (password will not be returned through this API; if + `basicAuthentication` is defined, the `password` property of that object + will be null). + operationId: listWebhookSubscriptions + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + $ref: '#/components/responses/webhookSubscriptionsList' + '400': + $ref: '#/components/responses/tfvPostBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: List all webhook subscriptions registered for this account + tags: + - Toll-Free Verification + post: + description: >- + Create a new webhook subscription (this webhook will be called for every + update on every submission). In addition to a `callbackUrl`, this + subscription can provide optional HTTP basic authentication credentials + (a username and a password). The returned subscription object will + contain an ID that can be used to modify or delete the subscription at a + later time. + operationId: createWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + $ref: '#/components/requestBodies/webhookSubscriptionRequest' + responses: + '201': + $ref: '#/components/responses/webhookSubscriptionCreated' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Create a new webhook subscription + tags: + - Toll-Free Verification + /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions/{id}: + delete: + description: Delete a webhook subscription by ID. + operationId: deleteWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' + responses: + '204': + $ref: '#/components/responses/webhookSubscriptionDeleted' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Delete a webhook subscription + tags: + - Toll-Free Verification + put: + description: >- + Update an existing webhook subscription (`callbackUrl` and + `basicAuthentication` can be updated). + operationId: updateWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' + requestBody: + $ref: '#/components/requestBodies/webhookSubscriptionRequest' + responses: + '200': + $ref: '#/components/responses/webhookSubscriptionUpdated' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Update an existing webhook subscription + tags: + - Toll-Free Verification /accounts/{accountId}/totalSeats: get: description: Retrieves the total number of seats on account @@ -43536,325 +44152,7 @@ paths: summary: Retrieve tn details tags: - Tns - /v1/accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification: - get: - description: >- - This endpoint will provide verification status for a phone number that - is provisioned to your account. - operationId: getVerificationStatus - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/TfPhoneNumberPathParam' - responses: - '200': - $ref: '#/components/responses/verifyStatusResponse' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Get the verification status of a toll-free phone number - tags: - - Toll-Free Verification - /v1/accounts/{accountId}/shortcodes: - get: - description: Retrieves all the short codes registered with an account. - operationId: getAllShortCodesByAccount - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodeOffsetQueryParam' - - $ref: '#/components/parameters/shortCodeLimitQueryParam' - responses: - '200': - $ref: '#/components/responses/shortCodeGetAllShortCodesByAccountResponse' - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: Retrieve short codes by account. - tags: - - Short Codes - /v1/accounts/{accountId}/shortcodes/{shortCode}/{country}: - get: - description: >- - Retrieve the details of an account's registration of a short code for a - single country. - operationId: getShortCodeByAccountIdCountryAndShortCode - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodePathParam' - - $ref: '#/components/parameters/shortCodeCountryPathParam' - responses: - '200': - $ref: >- - #/components/responses/shortCodeGetShortCodeByAccountIdCountryAndShortCodeResponse - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: Retrieve short code details. - tags: - - Short Codes - patch: - description: >- - Update (field by field) an account's short code registration for a - country. This utilizes [Json Patch](https://jsonpatch.com/). - operationId: patchShortCodeLease - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodePathParam' - - $ref: '#/components/parameters/shortCodeCountryPathParam' - requestBody: - $ref: '#/components/requestBodies/shortCodeJsonPatchShortCodeRequest' - responses: - '200': - $ref: '#/components/responses/shortCodeUpdateShortCodeResponse' - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '409': - $ref: '#/components/responses/shortCode409' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: >- - Update the lease information of an account's short code registration for - a country. - tags: - - Short Codes - /v1/accounts/{accountId}/shortcodes/{shortCode}/{country}/history: - get: - description: >- - Retrieves a complete history of all updates associated with an account's - registration of a short code for a single country. - operationId: getShortCodeHistoryAccountIdCountryAndShortCode - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/shortCodePathParam' - - $ref: '#/components/parameters/shortCodeCountryPathParam' - - $ref: '#/components/parameters/shortCodeOffsetQueryParam' - - $ref: '#/components/parameters/shortCodeLimitQueryParam' - - $ref: '#/components/parameters/shortCodeHistoryShortCodeSortParam' - - $ref: '#/components/parameters/shortCodeHistoryVersionSortParam' - responses: - '200': - $ref: >- - #/components/responses/shortCodeGetShortCodeHistoryAccountIdCountryAndShortCodeResponse - '400': - $ref: '#/components/responses/shortCode400' - '401': - $ref: '#/components/responses/shortCode401' - '403': - $ref: '#/components/responses/shortCode403' - '404': - $ref: '#/components/responses/shortCode404' - '405': - $ref: '#/components/responses/shortCode405' - '429': - $ref: '#/components/responses/shortCode429' - '500': - $ref: '#/components/responses/shortCode500' - summary: Retrieve short code history. - tags: - - Short Codes - /v1/accounts/{accountId}/tollFreeVerification: - post: - callbacks: - tfVerificationStatus: - $ref: '#/components/callbacks/tfVerificationStatus' - description: Submit a request for verification of a toll-free phone number. - operationId: requestVerification - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - $ref: '#/components/requestBodies/verificationRequest' - responses: - '202': - $ref: '#/components/responses/verifyPostResponse' - '400': - $ref: '#/components/responses/tfvPostBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Submit a toll-free verification request - tags: - - Toll-Free Verification - /v1/accounts/{accountId}/tollFreeVerification/webhooks/subscriptions: - get: - description: >- - Provides a list of webhook subscriptions that are registered to receive - status updates for the toll-free verification requests submitted under - this account (password will not be returned through this API; if - `basicAuthentication` is defined, the `password` property of that object - will be null). - operationId: listWebhookSubscriptions - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - responses: - '200': - $ref: '#/components/responses/webhookSubscriptionsList' - '400': - $ref: '#/components/responses/tfvPostBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: List all webhook subscriptions registered for this account - tags: - - Toll-Free Verification - post: - description: >- - Create a new webhook subscription (this webhook will be called for every - update on every submission). In addition to a `callbackUrl`, this - subscription can provide optional HTTP basic authentication credentials - (a username and a password). The returned subscription object will - contain an ID that can be used to modify or delete the subscription at a - later time. - operationId: createWebhookSubscription - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - $ref: '#/components/requestBodies/webhookSubscriptionRequest' - responses: - '201': - $ref: '#/components/responses/webhookSubscriptionCreated' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Create a new webhook subscription - tags: - - Toll-Free Verification - /v1/accounts/{accountId}/tollFreeVerification/webhooks/subscriptions/{id}: - delete: - description: Delete a webhook subscription by ID. - operationId: deleteWebhookSubscription - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' - responses: - '204': - $ref: '#/components/responses/webhookSubscriptionDeleted' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Delete a webhook subscription - tags: - - Toll-Free Verification - put: - description: >- - Update an existing webhook subscription (`callbackUrl` and - `basicAuthentication` can be updated). - operationId: updateWebhookSubscription - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' - requestBody: - $ref: '#/components/requestBodies/webhookSubscriptionRequest' - responses: - '200': - $ref: '#/components/responses/webhookSubscriptionUpdated' - '400': - $ref: '#/components/responses/tfvBadRequestResponse' - '401': - $ref: '#/components/responses/tfvUnauthorizedResponse' - '403': - $ref: '#/components/responses/tfvForbiddenResponse' - '404': - $ref: '#/components/responses/tfvNotFoundResponse' - '405': - $ref: '#/components/responses/tfvNotAllowedResponse' - '429': - $ref: '#/components/responses/tfvTooManyRequestsResponse' - '500': - $ref: '#/components/responses/tfvServerErrorResponse' - '503': - $ref: '#/components/responses/tfvServiceUnavailableResponse' - summary: Update an existing webhook subscription - tags: - - Toll-Free Verification - /v1/tollFreeVerification/useCases: + /tollFreeVerification/useCases: get: description: Provides a list of valid toll-free use cases operationId: listUseCases @@ -43884,7 +44182,7 @@ security: - httpBasic: [] servers: - description: Production - url: https://dashboard.bandwidth.com/api + url: https://dashboard.bandwidth.com/api/v1 variables: {} tags: - name: 10DLC diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml new file mode 100644 index 000000000..701f55faa --- /dev/null +++ b/site/specs/numbers_v2.yml @@ -0,0 +1,43976 @@ +components: + callbacks: + tfVerificationStatus: + your_url.com/webhookService: + post: + description: >- + Unique webhook URL provided by customers to which Bandwidth sends a + POST request to notify customer regarding TFV status update. + operationId: tfvRequest + requestBody: + $ref: '#/components/requestBodies/verificationWebhookRequest' + responses: + '204': + description: No content + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: POST to customer's webhook URL about TFV status update + examples: + Brand400Error: + value: |- + + + + 12055 + 'LONG_CODE' feature is not enabled on account 900000 + + + Brand404Error: + value: |- + + + + 12067 + Brand ID 'CVBURY' does not found. + + + BrandMissingFieldError: + value: |- + + + + 1003 + CompanyName is required + + + BrandResponse: + value: |- + + + + + PUBLIC_PROFIT + 111111111 + DUNS + MEDIUM_ACCOUNT + Raleigh + Bandwidth + US + Bandwidth + 123456789 + user@mail.com + +19195551234 + 27616 + NC + 123 street + NASDAQ + BAND + TECHNOLOGY + www.my.website.com + false + + + 1 + + BrandRevet400Error: + value: |- + + + + 12210 + The Brand 'BEAQBHG' with identity status 'VETTED_VERIFIED' not allowed to revet + + + BrandRevetResponse: + value: |- + + + + BJDHM3 + CMHSJ9 + NON_PROFIT + 111111111 + DUNS + MEDIUM_ACCOUNT + Raleigh + Bandwidth + US + Bandwidth + 111111111 + 111111111 + Test1@bandwidth.com + +18009999999 + 27606 + NC + 1200 Test Road + NASDAQ + BAND + COMMUNICATION + https://www.bandwidth.com + true + + + BrandVetting400Error: + value: |- + + + + 12055 + 'LONG_CODE' feature is not enabled on account 900000 + + + BrandVettingImportRequest: + value: |- + + + AEGIS + b62ed6ba-20f7-4031-a5fa-68e96cd6c036 + + BrandVettingImportResponse: + value: |- + + + + BJDHM3 + CMHSJ9 + PUBLIC_PROFIT + 111111111 + + + BrandVettingPost400Error: + value: |- + + + + 12055 + 'LONG_CODE' feature is not enabled on account 900000 + + + BrandVettingPostResponse: + value: |- + + + + BJDHM3 + CMHSJ9 + ACTIVE + 111111111 + + + BrandVettingRequest: + value: |- + + + AEGIS + STANDARD + + BrandVettingResponse: + value: |- + + + + 69823255-96b3-412f-9120-3e77f94c6be5 + PENDING + + + BulkRateCenterGetCoverage404Error: + value: |- + + + + The resource does not exist + + + BulkRateCenterGetResponseExample: + value: |- + + + + 2021-06-08 06:45:13.0 + 2021-06-08 06:45:13.0 + PARTIAL + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2 + 1 + 1 + + + 99 + 49 + AHOSKIE + NC + 1 + false + true + +12529690000 + 951 + + + + + 3909 + The specified vendor ID is not valid: 55 + + 100 + 55 + FARMVILLE + NC + 1 + false + true + +12529690000 + 951 + + + + + + BulkRateCenterPostCoverage400Error: + value: |- + + + + Payload cannot contain duplicate RateCenterCoverage. + 3928 + + + BulkRateCenterPostCoverage409Error: + value: |- + + + + Another bulk task is currently in processing. Task id = 4d06566e-9c99-44b7-8d9b-20e2e20dea15 + + + BulkRateCenterPostResponseExample: + value: |- + + + + PROCESSING + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + + + 49 + AHOSKIE + NC + 1 + false + true + +12529690000 + 951 + + + 49 + FARMVILLE + NC + 1 + false + true + +12529690000 + 951 + + + + + BulkTnVendorAssignmentPayload: + value: |- + + + + + +19195551111 + 49 + + + +19195552222 + 49 + + + +19195553333 + 69 + + + + BulkTnVendorAssignmentTaskErrorResponse: + value: |- + + + + 18000 + The vendor id is invalid. + + + BulkTnVendorAssignmentTaskResponseForGet: + value: |- + + + + 2022-09-08 06:45:13.0 + 2022-09-08 06:46:21.0 + PARTIAL + 8e4c0d41-3477-427c-bf2e-e06382d80f62 + 3 + 2 + 1 + + + XXXX + Telephone Number not found + + +19195553333 + 69 + + + + + + +19195551111 + 49 + + + +19195552222 + 49 + + + + + BulkTnVendorAssignmentTaskResponseForPost: + value: |- + + + + PROCESSING + 8e4c0d41-3477-427c-bf2e-e06382d80f62 + + + +19195551111 + 49 + + + +19195552222 + 49 + + + +19195553333 + 69 + + + + + Campaign403Error: + value: |- + + + + 12055 + CampaignManagement feature is not enabled on account 9999999 + + + CampaignImport400CampaignTooLongError: + value: |- + + + + 1011 + CampaignId is too long. Max length 12 characters. + + + CampaignImport400Error: + value: |- + + + + 12055 + 10DLCImportCampaign feature is not enabled on account + + + CampaignImportRequest: + value: |- + + + CJEUMDK + + CampaignImportResponse: + value: |- + + + + CA114BN + Test 1 + Campaign-E + 2021-03-18T12:50:45Z + ACCEPTED + ACTIVE + + + ATT + 10017 + APPROVED + + + TMO + 10035 + APPROVED + + + + + CampaignNotFound404Error: + value: |- + + + + 12189 + Campaign with id 'C8QH5FC' not found + + + CampaignResponse: + value: |- + + + + CW12PSQ + BDPD3I1 + REAL_ESTATE + ACCOUNT_NOTIFICATION + Campaign description + false + false + false + false + false + true + true + true + Sample message + Type /help for help + false + PENDING + + + ATT + true + false + true + 1 + true + true + true + true + true + 0.0035 + E + 30 + + + + + CampaignSetting400Error: + value: |- + + + + 1003 + Phone is required + + + CampaignSetting404Error: + value: |- + + + + 12178 + 10DLC settings not found for account '9999999' + + + CampaignSetting409Error: + value: |- + + + + 12177 + Account '9999999' already has existing 10DLC settings + + + CampaignTnsResponse: + value: |- + + + 1 + + +18888888888 + + + CampaignTnsResponse400Error: + value: |- + + + + 5081 + Number Format 'wrong' is invalid. + + + CampaignUpdateRequest: + value: |- + + + Sample message + + CampaignsListResponse: + value: |- + + + + + CH1GMWI + ACTIVE + 2021-05-25T19:06:23 + true + 2021-05-25T00:00 + B9AVERT + 2FA + + test + RPTAYWZ + false + false + false + false + false + true + false + true + test + false + DECLINED + Some Decline reason from secondary DCA + This is a sample Message Flow of my campaign. + HELP + This is a sample Help Message of my campaign. + START,YES + This is a sample Opt-In Message of my campaign. + STOP,NO + This is a sample Opt-Out Message of my campaign. + + + ATT + 10017 + APPROVED + + + TMO + 10035 + APPROVED + + + true + + + CU3UTYW + EXPIRED + 2021-06-03T11:50:16 + false + 2021-06-03T00:00 + B9AVERT + ENERGY + 2FA + + test + RPTAYWZ + false + false + false + false + false + true + false + true + test + test 15 + false + ACCEPTED + This is a sample Message Flow of my campaign. + HELP + This is a sample Help Message of my campaign. + START, YES + This is a sample Opt-In Message of my campaign. + STOP, NO + This is a sample Opt-Out Message of my campaign. + + + ATT + 10017 + APPROVED + + + TMO + 10035 + APPROVED + + + true + + + 17 + + CreateCampaign400Error: + value: |- + + + + 12185 + A call to the campaign registry service has failed validation. + + + + 509 + subscriberHelp + Support for standard help command is required by some MNOs + + + + CreateCampaignImportResponse: + value: |- + + + + CA114BN + Test 1 + Campaign-E + 2021-03-18T12:50:45Z + PENDING + ACTIVE + + + ATT + 10017 + APPROVED + + + TMO + 10035 + APPROVED + + + + + CreateCampaignRequest: + value: |- + + + 1 + B9AVERT + 2FA + + + COMMUNICATION + Test Campaign + Test Sample + true + false + true + false + false + false + false + false + false + true + This is a sample Message Flow of my campaign. + HELP + This is a sample Help Message of my campaign. + START,YES + This is a sample Opt-In Message of my campaign. + STOP,NO + This is a sample Opt-Out Message of my campaign. + + CustomerBrandRequest: + value: |- + + + PUBLIC_PROFIT + 111111111 + DUNS + MEDIUM_ACCOUNT + Raleigh + Bandwidth + US + Bandwidth + 123456789 + user@mail.com + +19195551234 + 27616 + NC + 123 street + NASDAQ + BAND + TECHNOLOGY + www.my.website.com + false + + DirectCustomerSetupRequest: + value: |- + + + DirectCustomer + + DirectCustomerSetupResponse: + value: |- + + + + DirectCustomer + + + ImportVoiceTnOrders: + description: List all import voice tn orders response + value: |- + + + 2 + + + 14 + 1 + CustomerOrderId + systemUser + 2019-01-24T11:08:09.770Z + 2019-01-24T11:08:09.770Z + import_tn_orders + COMPLETE + 211a103c-5f9c-4117-8833-c574bdc390fd + + + + + 14 + 2 + CustomerOrderId + systemUser + 2019-01-24T10:43:16.934Z + 2019-01-24T10:43:16.934Z + import_tn_orders + PARTIAL + 8dc32f09-2329-4c73-b702-526f46b02712 + + + + MyBrandRequest: + value: |- + + + PUBLIC_PROFIT + 111111111 + DUNS + MEDIUM_ACCOUNT + Raleigh + Bandwidth + US + Bandwidth + 123456789 + user@mail.com + +19195551234 + 27616 + NC + 123 street + NASDAQ + BAND + TECHNOLOGY + www.my.website.com + true + + RateCenterCoverageResponseExample: + value: |- + + + + 123 + 49 + FARMVILLE + NC + 1 + false + true + +12529690000 + 951 + + + RateCenterFindCoverage404Error: + value: |- + + + + Rate center coverage with id 999 was not found. + 3940 + + + RateCenterGetCoverage400Error: + value: |- + + + + You must provide at least one parameter in order to search. + 3924 + + + RateCenterPostCoverage400Error: + value: |- + + + + Offnet coverage must not have an LRN. + 3913 + + + RateCenterPostCoverage409Error: + value: |- + + + + Coverage already exists for FARMVILLE.NC with vendor ID 49 + 3923 + + + RegionsFindCoverage404Error: + value: |- + + + + Rate center FARMVILLE.NC was not found. + 3917 + + + RegionsFindCoverageWithVendor404Error: + value: |- + + + + Rate center coverage FARMVILLE.NC with vendor ID 49 was not found. + 3918 + + + RegionsUpdateRateCenterCoverage400Error: + value: |- + + + + The specified rate center / region combination is not valid: FARMVILLE.NC + 3908 + + + RemoveImportedVoiceTnOrders: + description: List all remove imported voice tn orders response + value: |- + + + 4 + + 12346163 + 2 + getRemoveImportedTn3uCf6 + systemUser + 2023-03-30T21:51:58.901Z + 2023-03-30T21:51:58.850Z + remove_imported_voice_tn_orders + COMPLETE + e694bd1c-3ee3-4f39-9b7e-279a75d2843d + + + 12346163 + 1 + getRemoveImportedTnmBwpt + systemUser + 2023-03-30T21:51:09.921Z + 2023-03-30T21:51:09.870Z + remove_imported_voice_tn_orders + COMPLETE + 492b8ef2-a7e4-4390-943e-87525d8b068d + + + 12346163 + 1 + undefinedOrderId + systemUser + 2023-03-30T21:50:50.874Z + 2023-03-30T21:50:50.861Z + remove_imported_voice_tn_orders + FAILED + f5f8c253-a786-4f35-bac1-0bd93524b137 + + + 12346163 + 1 + undefinedOrderId + systemUser + 2023-03-30T21:50:50.659Z + 2023-03-30T21:50:50.613Z + remove_imported_voice_tn_orders + COMPLETE + f28266b0-6fbb-497d-ac27-7db138386f4f + + + ResellerSetupRequest: + value: |- + + + Reseller + + Test Bandwidth Company + +18009999999 + Test1@bandwidth.com + + + ResellerSetupResponse: + value: |- + + + + Reseller + + Test 1 + +18002837273 + Test1@bandwidth.com + + + + parameters: + AccountIDQueryParam: + description: > + This is the account that the searched-for order will be contributing + to. Specifying this parameter will restrict the search to imported + voice orders within the specified account. + example: 5000125 + in: query + name: accountID + schema: + type: integer + AccountIdPathParam: + description: User's account ID + example: '1234567' + in: path + name: accountId + required: true + schema: + type: string + BulkCoverageMatrixTaskId: + description: Task id for a bulk coverage matrix update. + in: path + name: taskId + required: true + schema: + type: string + BypassRateCenterRegionValidation: + description: >- + Whether to bypass the validation that a rate center exists when updating + the coverage matrix. + in: query + name: bypassRateCenterRegionValidation + required: false + schema: + type: boolean + CampaignIdPathParam: + description: User's campaign ID + example: CBA001 + in: path + name: campaignId + required: true + schema: + type: string + CreatedDateFromQueryParam: + description: >- + Checks the order's creation date against this value. Orders that have a + creation date after this date will be included. Format is yyyy-MM-dd + example: '2013-10-22' + in: query + name: createdDateFrom + schema: + format: date + type: string + CreatedDateToQueryParam: + description: >- + Checks the order's creation date against this value. Orders that have a + creation date before this date will be included. Format is yyyy-MM-dd + example: '2013-10-25' + in: query + name: createdDateTo + schema: + format: date + type: string + CustomerOrderIdQueryParam: + description: >- + The Customer Order ID is an ID assigned by the account owner to provide + a reference number for the importVoiceTnOrder. + example: ABCCorp12345 + in: query + name: customerOrderId + schema: + type: string + DomainNamePathParam: + description: Domain name + example: dashboard + in: path + name: domainName + required: true + schema: + type: string + GatewayIdIdPathParam: + in: path + name: gatewayId + required: true + schema: + format: int64 + type: integer + KeyPathParam: + description: Validation key + example: someSecretValue + in: path + name: key + required: true + schema: + type: string + ModifiedDateFromQueryParam: + description: >- + For Date-based searches, the starting date of a date range (inclusive) + that will be used to find Import Tn Orders that were modified within the + date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + schema: + format: date + type: string + ModifiedDateToQueryParam: + description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find Import Tn Orders that were modified within the + date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + schema: + format: date + type: string + OrderIdPathParam: + description: ID of order to retrieve + example: bf1305b8-8998-1111-2222-51ba3ce52d4e + in: path + name: orderId + required: true + schema: + type: string + OrderTypePathParam: + in: path + name: orderType + required: true + schema: + type: string + PermissionIdPathParam: + description: Permission Id + example: testPermission + in: path + name: permissionId + required: true + schema: + type: string + RCAbbreviationInPath: + description: A rate center's abbreviation + example: ALABASTER + in: path + name: abbreviation + required: true + schema: + type: string + RCAbbreviationOptional: + description: A rate center's abbreviation + example: ALABASTER + in: query + name: abbreviation + required: false + schema: + type: string + RCAbbreviationRequired: + description: A rate center's abbreviation + example: FARMVILLE + in: query + name: abbreviation + required: true + schema: + type: string + RCCoverageMatrixId: + description: A rate center's coverage matrix id + in: path + name: id + required: true + schema: + type: number + RCLataOptional: + description: Rate center LATA + example: 951 + in: query + name: lata + required: false + schema: + type: number + RCRegionInPath: + description: A rate center's state + example: AL + in: path + name: region + required: true + schema: + type: string + RCRegionOptional: + description: A rate center's state + example: AL + in: query + name: region + required: false + schema: + type: string + RCRegionRequired: + description: A rate center's state + example: NC + in: query + name: region + required: true + schema: + type: string + RCVendorInPath: + description: A rate center's vendor ID + example: 49 + in: path + name: vendor + required: true + schema: + type: number + RCVendorOptional: + description: Vendor id + example: 49 + in: query + name: vendor + required: false + schema: + type: number + RCVendorRequired: + description: Vendor id + example: 49 + in: query + name: vendor + required: true + schema: + type: number + RoleIdPathParam: + description: Role Id + example: testRole + in: path + name: roleId + required: true + schema: + type: string + SipPeerIdPathParam: + in: path + name: sipPeerId + required: true + schema: + format: int32 + type: integer + SipPeerIdQueryParam: + description: A Sip Peer Id that is referenced in the order + example: 50139 + in: query + name: sipPeerId + schema: + type: integer + SiteIdPathParam: + description: Site ID of the Sip Peer + example: '407' + in: path + name: siteId + required: true + schema: + type: string + StatusQueryParam: + description: The status of the order being searched for. + in: query + name: status + required: false + schema: + items: + enum: + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + type: array + TaskIdPathParam: + description: Bulk tn vendor task's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: taskId + required: true + schema: + type: string + TfPhoneNumberPathParam: + description: Valid Toll-Free telephone number in E.164 format + example: +18885555555s + in: path + name: phoneNumber + required: true + schema: + $ref: '#/components/schemas/tfPhoneNumber' + TnQueryParam: + description: A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + schema: + type: string + UserIdPathParam: + description: User Id + example: testUser + in: path + name: userId + required: true + schema: + type: string + WebhookSubscriptionIdPathParam: + description: Webhook subscription ID + example: 7bt57JcsVYJrN9K1OcV1Nu + in: path + name: id + required: true + schema: + type: string + shortCodeCountryPathParam: + description: The short code number country. + example: USA + in: path + name: country + required: true + schema: + items: + enum: + - USA + - CAN + type: string + shortCodeHistoryShortCodeSortParam: + description: Sorting parameters for `shortCode` + example: + sort: asc + explode: true + in: query + name: shortCode + properties: + sort: + enum: + - asc + - desc + type: string + required: false + style: deepObject + shortCodeHistoryVersionSortParam: + description: Sorting parameters for `version` + example: + sort: asc + explode: true + in: query + name: version + properties: + sort: + enum: + - asc + - desc + type: string + required: false + style: deepObject + shortCodeLimitQueryParam: + description: The number of entities to return based in the offset. + in: query + name: limit + required: false + schema: + default: 50 + maximum: 250 + type: integer + shortCodeOffsetQueryParam: + description: The offset number of the results to return. + in: query + name: offset + required: false + schema: + default: 0 + type: integer + shortCodePathParam: + description: The short code number used in the request. + example: '123321' + in: path + name: shortCode + required: true + schema: + type: string + requestBodies: + shortCodeJsonPatchShortCodeRequest: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/jsonPatch' + verificationRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/verificationRequest' + description: Submit a request for verification of a toll-free phone number. + required: true + verificationWebhookRequest: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/verificationWebhookRequest' + - $ref: '#/components/schemas/verificationUnverifiedWebhookRequest' + - $ref: '#/components/schemas/failureWebhookRequest' + description: Verification callback status of a toll-free phone number. + required: true + webhookSubscriptionRequest: + content: + application/json: + schema: + properties: + basicAuthentication: + properties: + password: + maxLength: 200 + type: string + username: + maxLength: 100 + type: string + required: + - username + - password + type: object + callbackUrl: + $ref: '#/components/schemas/webhookUrl' + required: + - callbackUrl + type: object + description: >- + Information about a webhook that Bandwidth should send upon the + completion of TFV verification. + required: true + zipWhipTfvWebhookRequest: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TfvWaitingForSupportWebhook' + - $ref: '#/components/schemas/TfvResolvedVerifiedWebhook' + - $ref: '#/components/schemas/TfvResolvedNotVerifiedWebhook' + description: Webhook ZipWhip sends us with information regarding the TFV request. + required: true + responses: + ImportVoiceTnOrdersResponse: + content: + application/xml: + examples: + listAllImportVoiceTnOrders: + $ref: '#/components/examples/ImportVoiceTnOrders' + description: > + The descriptive payload for the importTnOrders query provides + information about the orders found by the query, including the data + associated with the order, the state of the order, and a list of the + successfully imported Telephone Numbers, and descriptions of any + encountered errors. + bulkRateCenterGetResponse404Error: + content: + application/xml: + examples: + successfulPostBulkCoverageMatrix: + $ref: '#/components/examples/BulkRateCenterGetCoverage404Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Unsuccessful response because the bulk task details could not be found. + bulkRateCenterPostResponse400Error: + content: + application/xml: + examples: + successfulPostBulkCoverageMatrix: + $ref: '#/components/examples/BulkRateCenterPostCoverage400Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Unsuccessful response due to a valiation error. + bulkRateCenterPostResponse409Error: + content: + application/xml: + examples: + successfulPostBulkCoverageMatrix: + $ref: '#/components/examples/BulkRateCenterPostCoverage409Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: >- + Unsuccessful response due to a Resource Conflict Exception. The previous + task hasn't finished yet. + bulkRateCenterSuccessfulGetResponse: + content: + application/xml: + examples: + successfulPostBulkCoverageMatrix: + $ref: '#/components/examples/BulkRateCenterGetResponseExample' + schema: + $ref: '#/components/schemas/BulkRateCenterTaskPayload' + description: >- + Successful response which retrieves information about bulk upsert task + with specified ID. + bulkRateCenterSuccessfulPostResponse: + content: + application/xml: + examples: + successfulPostBulkCoverageMatrix: + $ref: '#/components/examples/BulkRateCenterPostResponseExample' + schema: + $ref: '#/components/schemas/BulkRateCenterPayload' + description: >- + Successful response which starts the bulk upsert for provided rate + centers. + rateCenter401Error: + content: + application/json: + examples: + example: + value: + description: Client is providing incorrect or invalid credentials. + type: unauthorized + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Client is providing incorrect or invalid credentials. + rateCenter403Error: + content: + application/json: + examples: + example: + value: + description: Client does not have access rights to the content. + type: forbidden + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Client does not have access rights to the content. + rateCenter429Error: + content: + application/json: + examples: + example: + value: + description: Too many requests. + type: too many requests + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Too many requests. + rateCenter500Error: + content: + application/json: + examples: + example: + value: + description: The server has encountered an internal error. + type: internal server error + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: The server has encountered an internal error. + rateCenterFindCoverageResponse404Error: + content: + application/xml: + examples: + unsuccessful404ErrorFindCoverageResponseExample: + $ref: '#/components/examples/RateCenterFindCoverage404Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: >- + Unsuccessful response because the rate center coverage entry could not + be found. + rateCenterGetCoverageResponse: + content: + application/xml: + examples: + successfulGetCoverageResponseExample: + $ref: '#/components/examples/RateCenterCoverageResponseExample' + schema: + $ref: '#/components/schemas/RateCenterCoverageList' + description: Successful response with a rate center's coverage. + rateCenterGetCoverageResponse400Error: + content: + application/xml: + examples: + unsuccessful400ErrorGetCoverageResponseExample: + $ref: '#/components/examples/RateCenterGetCoverage400Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: >- + Unsucessful response of a rate center's coverage due to a validation + error. No search parameters were provided. + rateCenterPostCoverageResponse: + content: + application/xml: + examples: + successfulPostCoverageResponseExample: + $ref: '#/components/examples/RateCenterCoverageResponseExample' + schema: + $ref: '#/components/schemas/CoverageMatrixEntry' + description: Successful response with the generating matrix entry. + rateCenterPostCoverageResponse400Error: + content: + application/xml: + examples: + unsuccessful400ErrorPostCoverageResponseExample: + $ref: '#/components/examples/RateCenterPostCoverage400Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Unsuccessful response due to a validation error. + rateCenterPostCoverageResponse409Error: + content: + application/xml: + examples: + unsuccessful409ErrorPostCoverageResponseExample: + $ref: '#/components/examples/RateCenterPostCoverage409Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: >- + Unsuccessful response due to a validation error. This rate center + already exists. + rateCenterPutCoverageResponse: + content: + application/xml: + examples: + successfulPutCoverageResponseExample: + $ref: '#/components/examples/RateCenterCoverageResponseExample' + schema: + $ref: '#/components/schemas/CoverageMatrixEntry' + description: Successful response for the update of a coverage matrix entry. + regionsFindCoverageResponse404Error: + content: + application/xml: + examples: + unsuccessfulUpdateRateCenterCoverage: + $ref: '#/components/examples/RegionsFindCoverage404Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: >- + Unsuccessful response due to an invalid rate center region and + abbreviation combination. + regionsFindCoverageWithVendorResponse404Error: + content: + application/xml: + examples: + unsuccessfulUpdateRateCenterCoverage: + $ref: '#/components/examples/RegionsFindCoverageWithVendor404Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: >- + Unsuccessful response due to an invalid rate center region, + abbreviation, and vendor combination. + regionsRateCenterCoverageSuccessfulResponseExample: + content: + application/xml: + examples: + successfulRateCenterCoverageExample: + $ref: '#/components/examples/RateCenterCoverageResponseExample' + schema: + $ref: '#/components/schemas/CoverageMatrixEntry' + description: Successful response that returns the selected rate center coverage. + regionsUpdateRateCenterCoverageResponse400Error: + content: + application/xml: + examples: + unsuccessfulUpdateRateCenterCoverage: + $ref: '#/components/examples/RegionsUpdateRateCenterCoverage400Error' + schema: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + description: Unsuccessful update of rate center coverage due to a validation error. + removeImportedVoiceTnOrdersResponse: + content: + application/xml: + examples: + listAllRemoveImportedVoiceTnOrders: + $ref: '#/components/examples/RemoveImportedVoiceTnOrders' + description: > + The descriptive payload for the removeImportedVoiceTnOrders query + provides information about the orders found by the query, including the + data associated with the order, the state of the order, and a list of + the successfully removed Hosted Voice Telephone Numbers, and + descriptions of any encountered errors. + shortCode400: + content: + application/json: + examples: + example: + value: + description: Cannot process request. + type: cannot process request + schema: + $ref: '#/components/schemas/shortCodeError400' + description: Bad request, can not process the request. + shortCode401: + content: + application/json: + examples: + example: + value: + description: Client is providing incorrect or invalid credentials. + type: unauthorized + schema: + $ref: '#/components/schemas/shortCodeError' + description: Client is providing incorrect or invalid credentials. + shortCode403: + content: + application/json: + examples: + example: + value: + description: Client does not have access rights to the content. + type: forbidden + schema: + $ref: '#/components/schemas/shortCodeError' + description: Client is providing incorrect or invalid credentials. + shortCode404: + content: + application/json: + examples: + example: + value: + description: Cannot find requested resource. + type: not found + schema: + $ref: '#/components/schemas/shortCodeError' + description: The short code details not have been found. + shortCode405: + content: + application/json: + examples: + example: + value: + description: Request method 'POST' not supported. + type: method not supported + schema: + $ref: '#/components/schemas/shortCodeError' + description: Request method is not supported. + shortCode409: + content: + application/json: + examples: + example: + value: + description: Short code already exists. + type: conflict + schema: + $ref: '#/components/schemas/shortCodeError' + description: The short code already exists. + shortCode429: + content: + application/json: + examples: + example: + value: + description: Too many requests. + type: too many requests + schema: + $ref: '#/components/schemas/shortCodeError' + description: Too many requests. + shortCode500: + content: + application/json: + examples: + example: + value: + description: The server has encountered an internal error. + type: internal server error + schema: + $ref: '#/components/schemas/shortCodeError' + description: The server has encountered an internal error. + shortCodeGetAllShortCodesByAccountResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/shortCodeApiPage' + description: Successful response with a paginated list of short codes. + shortCodeGetShortCodeByAccountIdCountryAndShortCodeResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/shortCode' + description: The short code details have been successfully retrieved and displayed. + shortCodeGetShortCodeHistoryAccountIdCountryAndShortCodeResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/shortCodeHistoryApiPage' + description: >- + The short code number history details have been successfully retrieved + and displayed. + shortCodeUpdateShortCodeResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/shortCode' + description: Updated short code data. + tfvBadRequestResponse: + content: + application/json: + examples: + example: + value: + description: Cannot process request. + type: bad request + schema: + $ref: '#/components/schemas/tfvError' + description: Bad request, can not process the request. + tfvForbiddenResponse: + content: + application/json: + examples: + example: + value: + description: Client is not authorized for the action. + type: forbidden + schema: + $ref: '#/components/schemas/tfvError' + description: Client is not authorized for the action. + tfvNotAllowedResponse: + content: + application/json: + examples: + example: + value: + description: Method is not allowed. + type: Method Not Allowed + schema: + $ref: '#/components/schemas/tfvError' + description: Method is not allowed. + tfvNotFoundResponse: + content: + application/json: + examples: + example: + value: + description: Cannot find the requested resource. + type: Not Found + schema: + $ref: '#/components/schemas/tfvError' + description: Cannot find the requested resource. + tfvPostBadRequestResponse: + content: + application/json: + examples: + example: + value: + description: Cannot process request. + errors: + email: + - is not a valid email address + - is longer than 100 characters + name: + - is required + type: bad request + schema: + $ref: '#/components/schemas/tfvPostBadRequestError' + description: Bad request, can not process the request. + tfvServerErrorResponse: + content: + application/json: + examples: + example: + value: + description: Internal Server Error. + type: Internal Server Error + schema: + $ref: '#/components/schemas/tfvError' + description: Internal Server Error. + tfvServiceUnavailableResponse: + content: + application/json: + examples: + example: + value: + description: Service Unavailable Error. + type: Service Unavailable + schema: + $ref: '#/components/schemas/tfvError' + description: Service Unavailable Error. + tfvTooManyRequestsResponse: + content: + application/json: + examples: + example: + value: + description: Throttling error. Too many requests. + type: Too Many Requests + schema: + $ref: '#/components/schemas/tfvError' + description: Throttling error. Too many requests. + tfvUnauthorizedResponse: + content: + application/json: + examples: + example: + value: + description: Client is providing incorrect or invalid credentials. + type: unauthorized + schema: + $ref: '#/components/schemas/tfvError' + description: Client is providing incorrect or invalid credentials. + useCasesResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/useCases' + description: OK + verifyPostResponse: + description: Accepted + verifyStatusResponse: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/tfvWorkflowStatus' + - $ref: '#/components/schemas/tfvWorkflowStatusFromCache' + description: OK + webhookSubscriptionCreated: + content: + application/json: + schema: + $ref: '#/components/schemas/webhookSubscription' + description: Created + webhookSubscriptionDeleted: + description: Deleted + webhookSubscriptionUpdated: + content: + application/json: + schema: + $ref: '#/components/schemas/webhookSubscription' + description: OK + webhookSubscriptionsList: + content: + application/json: + schema: + $ref: '#/components/schemas/webhookSubscriptionsListBody' + description: OK + schemas: + A2pClass: + properties: + A2pClass: + properties: + ClassDescription: + type: string + MessageClass: + type: string + type: object + A2pClassList: + items: + $ref: '#/components/schemas/A2pClass' + type: array + A2pClassListResponse: + properties: + AdminDataResponse: + properties: + A2pClassList: + $ref: '#/components/schemas/A2pClassList' + type: object + type: object + A2pClassResponse: + properties: + AdminDataResponse: + $ref: '#/components/schemas/A2pClass' + type: object + A2pSettings: + properties: + Action: + enum: + - unchanged + - systemDefault + - 'off' + - delete + - asSpecified + type: string + CampaignId: + maxLength: 64 + minLength: 1 + type: string + MessageClass: + maxLength: 64 + minLength: 1 + type: string + type: object + AccessRestriction: + properties: + RestrictedAccessTypes: + items: + properties: + RestrictedAccessType: + type: string + type: object + type: array + RestrictedProduct: + type: string + type: object + Account: + properties: + AccountId: + format: int32 + type: integer + AccountRelationship: + type: string + AccountType: + type: string + Address: + $ref: '#/components/schemas/Address' + AltSpid: + type: string + AssociatedCatapultAccount: + type: string + BillingCycle: + format: int32 + type: integer + CompanyName: + type: string + Contact: + $ref: '#/components/schemas/Contact' + CustomerSegment: + type: string + Default911Provider: + type: string + ExternalId: + type: string + GlobalAccountNumber: + type: string + MaxTnsForAutomatedPort: + format: int32 + type: integer + NenaId: + type: string + PenaltyType: + type: string + PortCarrierType: + enum: + - WIRELESS + - WIRELINE + type: string + Pricing: + type: string + SPID: + type: string + Tiers: + properties: + Tier: + items: + $ref: '#/components/schemas/Tier' + type: array + type: object + type: object + AccountHttpFeature: + properties: + DefaultProxyPeerId: + type: integer + type: object + AccountHttpFeatureResponse: + properties: + AccountHttpFeature: + $ref: '#/components/schemas/AccountHttpFeature' + type: object + AccountMessagingRoutesResponse: + properties: + MessagingRoutes: + items: + $ref: '#/components/schemas/MessagingRoute' + type: array + type: object + AccountMmsFeatureResponse: + properties: + AccountHttpFeature: + $ref: '#/components/schemas/MmsFeature' + type: object + AccountMmsFeatureSettingsResponse: + properties: + mmsSettings: + $ref: '#/components/schemas/AccountMmsSettings' + type: object + AccountMmsSettings: + properties: + DefaultProvider: + type: string + GenDlr: + type: boolean + GenReadReply: + type: boolean + MM4Enabled: + type: boolean + TollFreeMMSAllowed: + type: boolean + type: object + AccountProduct: + properties: + Features: + items: + properties: + Feature: + type: string + type: object + type: array + Name: + type: string + type: object + AccountProducts: + properties: + Product: + items: + $ref: '#/components/schemas/AccountProduct' + type: array + type: object + AccountProductsResponse: + properties: + Products: + $ref: '#/components/schemas/AccountProducts' + type: object + AccountResponse: + properties: + Account: + $ref: '#/components/schemas/Account' + type: object + AccountResponseWrapper: + properties: + AccountResponse: + $ref: '#/components/schemas/AccountResponse' + type: object + AccountSipCredentials: + properties: + SipCredentials: + items: + $ref: '#/components/schemas/SipCredential' + type: array + type: object + AccountSipCredentialsRequest: + properties: + SipCredentials: + items: + $ref: '#/components/schemas/SipCredentialCreateRequest' + type: array + type: object + AccountSmsFeature: + properties: + MmsSettings: + $ref: '#/components/schemas/AccountSmsFeatureSettings' + SmppSettings: + $ref: '#/components/schemas/SmppSettings' + type: object + AccountSmsFeatureResponse: + properties: + AccountHttpFeature: + $ref: '#/components/schemas/AccountSmsFeature' + type: object + AccountSmsFeatureSettings: + properties: + DefaultProvider: + type: integer + SmppEnabled: + type: boolean + Zone1: + type: boolean + Zone2: + type: boolean + Zone3: + type: boolean + Zone4: + type: boolean + Zone5: + type: boolean + type: object + AccountTelephoneNumbersHistoryResponse: + properties: + TNs: + properties: + Links: + $ref: '#/components/schemas/PaginationLinks' + TelephoneNumbers: + $ref: '#/components/schemas/TelephoneNumbers' + TotalCount: + format: int32 + type: integer + type: object + type: object + ActivationStatus: + properties: + ActivationStatus: + properties: + ActivatedTelephoneNumbersList: + description: >- + This is the list of TNs that have been activated for the port-in + order. + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + AutoActivationDate: + description: >- + The date when auto activation is requested. It can be a + date/time in the past, if immediate activation is desired. + format: date-time + type: string + NotYetActivatedTelephoneNumbersList: + description: >- + This is the list of TNs that have not yet been activated for the + port-in order. + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + ActivationStatusResponse: + properties: + ActivationStatusResponse: + $ref: '#/components/schemas/ActivationStatus' + type: object + AddedAssociations: + description: Associations list + properties: + EepToEngAssociations: + $ref: '#/components/schemas/EepToEngAssociations' + ErrorList: + items: + properties: + Description: + type: string + type: array + type: object + AddedEmergencyNotificationGroup: + description: Indicates that the order is to add an emergency notification group. + properties: + AddedEmergencyNotificationRecipients: + description: >- + Indicates that emergency notification recipients are being added to + the emergency notification group. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithId' + type: object + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + type: object + AddedEmergencyNotificationGroupWithId: + description: Indicates that the order is to add an emergency notification group. + properties: + AddedEmergencyNotificationRecipients: + description: >- + Indicates that emergency notification recipients are being added to + the emergency notification group. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithId' + type: object + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + Identifier: + $ref: '#/components/schemas/EmergencyGroupIdentifier' + type: object + Address: + properties: + AddressLine2: + description: >- + AddressLine2 is used to specify Unit, Suite, Floor, etc. in the + Service Address. AddressLine2 is optional when not needed to fully + specify the ServiceAddress. + type: string + AddressType: + $ref: '#/components/schemas/AddressType' + City: + description: City is mandatory in cases where the ServiceAddress is mandatory. + type: string + Country: + description: >- + Country is the country of the ServiceAddress. This value will be + derived from the StateCode, so it should generally be omitted. + type: string + County: + description: The county where the subscriber or business is located. + type: string + HouseNumber: + description: >- + The HouseNumber is the street address number of the ServiceAddress. + HouseNumber is mandatory for port-in orders in which the + ServiceAddress is mandatory. + type: string + HousePrefix: + description: >- + The HousePrefix is the non-numeric address number prefix of the + ServiceAddress. This element is optional when not needed to fully + specify the ServiceAddress. + type: string + HouseSuffix: + description: >- + The HouseSuffix is the non-numeric address number suffix of the + ServiceAddress. This element is optional when not needed to fully + specify the ServiceAddress. + type: string + Latitude: + type: string + LegacyAddressId: + deprecated: true + type: string + LegacyEntityId: + deprecated: true + type: string + Longitude: + type: string + PlusFour: + description: >- + PlusFour is the 4 digits that are sometimes suffixed to the Zip + Code. + type: string + PostDirectional: + description: >- + The PostDirectional is the street name post directional of the + ServiceAddress. This element is optional when not needed to fully + specify the ServiceAddress. + type: string + PreDirectional: + description: >- + The PreDirectional is the non-numeric street name prefix of the + ServiceAddress. This element is optional when not needed to fully + specify the ServiceAddress. + type: string + RegionId: + deprecated: true + format: int32 + type: integer + ResetAddressFields: + type: boolean + StateCode: + description: >- + StateCode is the 2-letter abbreviation of the state of the + ServiceAddress. StateCode is mandatory in cases where the + ServiceAddress is mandatory. + type: string + StreetName: + description: >- + The StreetName is mandatory in cases where the ServiceAddress is + mandatory. + type: string + StreetSuffix: + description: >- + The StreetSuffix is the street suffix of the ServiceAddress. This + element is optional when not needed to fully specify the + ServiceAddress. + type: string + Zip: + description: >- + Zip is the Zip Code of the ServiceAddress. Zip is mandatory in cases + where the ServiceAddress is mandatory. + type: string + type: object + AddressErrorDescription: + properties: + AddressInconsistencies: + type: string + RecommendedAddress: + $ref: '#/components/schemas/Address' + type: object + AddressPatch: + properties: + AddressLine2: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Put unit, suite, floor, etc. here. + City: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: City. + County: + allOf: + - $ref:#/components/schemas/StringPatch' + description: The county where the subscriber or business is located. + HouseNumber: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Street address number. + HousePrefix: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: Street address number prefix. + HouseSuffix: + allOf: + - $ref:#/components/schemas/StringPatch' + description: Street address number suffix. + PlusFour: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Zip + 4 value. + PostDirectional: + allOf: + - $ref:#/components/schemas/StringPatch' + description: Street address post directional. + PreDirectional: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Street address pre-directional. + StateCode: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Two letter state code. + StreetName: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Street name. + StreetSuffix: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Street suffix. + Zip: + allOf: + - $ref:'#/components/schemas/StringPatch' + description: Zip code. + delete: + type: boolean + type: object + AddressType: + enum: + - SERVICE + - BILLING + - DLDA + - E911 + type: string + Addresses: + properties: + Address: + items: + $ref: '#/components/schemas/E911Address' + type: object + AddressesResponse: + properties: + Addresses: + $ref: '#/components/schemas/Addresses' + Links: + $ref: '#/components/schemas/Links' + TotalCount: + format: int32 + type: integer + type: object + AddressesResponseNotFound: + properties: + AddressesResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + AddressesResponseWrapper: + properties: + AddressesResponse: + $ref: '#/components/schemas/AddressesResponse' + type: object + AdminDataErrorResponse: + properties: + AdminDataResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + AdminParametersErrorResponse: + properties: + AdminParametersResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + AdminParametersPayload: + properties: + ActivityState: + type: string + BandwidthPrime: + type: string + title: AdminParameters + type: object + AdminParametersRequest: + properties: + AdminParameters: + $ref: '#/components/schemas/AdminParametersPayload' + title: AdminParameters + type: object + AdminParametersResponse: + properties: + AdminParametersResponse: + properties: + AdminParameters: + $ref: '#/components/schemas/AdminParametersPayload' + type: object + type: object + AlternateEndUserIdentifier: + properties: + CallbackNumber: + type: string + CallerName: + type: string + E911: + $ref: '#/components/schemas/E911' + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroup' + Identifier: + type: string + LocationId: + type: string + PIDFLOEnabled: + type: boolean + PreferredLanguage: + enum: + - en + - fr + - Incorrect value + type: string + type: object + AlternateEndUserIdentifierResponse: + properties: + AlternateEndUserIdentifier: + $ref: '#/components/schemas/AlternateEndUserIdentifier' + type: object + AlternateEndUserIdentifierResponseNotFound: + properties: + AlternateEndUserIdentifierResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + AlternateEndUserIdentifierWrapper: + properties: + AlternateEndUserIdentifiersResponse: + $ref: '#/components/schemas/AlternateEndUserIdentifierResponse' + type: object + AlternateEndUserIdentifiers: + properties: + AlternateEndUserIdentifier: + items: + $ref: '#/components/schemas/AlternateEndUserIdentifier' + type: array + type: object + AlternateEndUserIdentifiersResponse: + properties: + AlternateEndUserIdentifiers: + $ref: '#/components/schemas/AlternateEndUserIdentifiers' + Links: + $ref: '#/components/schemas/Links' + TotalCount: + format: int32 + type: integer + xml: + name: TotalCount + type: object + AlternateEndUserIdentifiersResponseNotFound: + properties: + AlternateEndUserIdentifiersResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + AlternateEndUserIdentifiersResponseWrapper: + properties: + AlternateEndUserIdentifiersResponse: + $ref: '#/components/schemas/AlternateEndUserIdentifiersResponse' + type: object + Application: + properties: + AppName: + type: string + ApplicationId: + type: string + CallInitiatedCallbackUrl: + type: string + CallInitiatedFallbackCreds: + $ref: '#/components/schemas/CallbackCreds' + CallInitiatedFallbackMethod: + type: string + CallInitiatedFallbackUrl: + type: string + CallInitiatedMethod: + type: string + CallStatusCallbackUrl: + type: string + CallStatusMethod: + type: string + CallbackCreds: + $ref: '#/components/schemas/CallbackCreds' + CallbackTimeout: + type: string + CallbackUrl: + deprecated: true + type: string + InboundCallbackCreds: + $ref: '#/components/schemas/CallbackCreds' + InboundCallbackUrl: + type: string + MsgCallbackUrl: + deprecated: true + type: string + OutboundCallbackCreds: + $ref: '#/components/schemas/CallbackCreds' + OutboundCallbackUrl: + type: string + RequestedCallbackTypes: + items: + $ref: '#/components/schemas/RequestedCallbackTypes' + type: array + ServiceType: + type: string + type: object + ApplicationPayload: + properties: + Application: + $ref: '#/components/schemas/Application' + type: object + ApplicationProvisioningResponse: + properties: + ApplicationList: + items: + $ref: '#/components/schemas/Application' + type: array + type: object + ApplicationProvisioningResponseWrapper: + properties: + ApplicationProvisioningResponse: + $ref: '#/components/schemas/ApplicationProvisioningResponse' + type: object + ApplicationProvisioningSingleResponseWrapper: + properties: + ApplicationProvisioningResponse: + $ref: '#/components/schemas/ApplicationWrapper' + type: object + ApplicationWrapper: + properties: + Application: + $ref: '#/components/schemas/Application' + title: Application + type: object + ApplicationsSettings: + properties: + HttpMessagingV2AppId: + type: string + type: object + ApplicationsSettingsResponse: + properties: + ApplicationsSettings: + $ref: '#/components/schemas/ApplicationsSettings' + type: object + AreaCodeSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + AreaCodeSearchAndOrderType: + $ref: '#/components/schemas/AreaCodeSearchAndOrderType' + type: object + xml: + name: Order + AreaCodeSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + AreaCodeSearchAndOrderType: + $ref: '#/components/schemas/AreaCodeSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + AreaCodeSearchAndOrderType: + properties: + AreaCode: + type: string + Quantity: + format: int32 + type: integer + type: object + xml: + name: AreaCodeSearchAndOrderType + AssociatedSipPeer: + properties: + PeerId: + format: int32 + type: integer + PeerName: + type: string + SiteId: + format: int32 + type: integer + SiteName: + type: string + type: object + AssociatedSipPeersErrorResponse: + properties: + AssociatedSipPeersResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + AssociatedSipPeersResponse: + properties: + AssociatedSipPeers: + items: + $ref: '#/components/schemas/AssociatedSipPeer' + type: array + type: object + AssociatedSipPeersResponseWrapper: + properties: + AssociatedSipPeersResponse: + $ref: '#/components/schemas/AssociatedSipPeersResponse' + type: object + AutomatedTollFreeLnpOrderRequest: + description: >- + Indicates that the port-in contains toll-free numbers and that Toll-Free + Automation is enabled. The numbers will be automatically validated and + submitted to our toll-free porting vendor, then the port will be + processed manually by Bandwidth’s Local Number Portability team. + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + - $ref: '#/components/schemas/LnpOrderAutomatedTollFreeFields' + title: Automated Toll-Free + type: object + AvailableNpaNxx: + properties: + City: + type: string + Npa: + type: string + Nxx: + type: string + Quantity: + format: int32 + type: integer + State: + type: string + type: object + BandwidthRespOrgId: + properties: + BandwidthRespOrgId: + properties: + Description: + type: string + RespOrgId: + type: string + type: object + BandwidthRespOrgIdList: + items: + $ref: '#/components/schemas/BandwidthRespOrgId' + type: array + BandwidthRespOrgIdResponse: + properties: + AdminDataResponse: + $ref: '#/components/schemas/BandwidthRespOrgId' + type: object + BandwidthRespOrgIdsResponse: + properties: + AdminDataResponse: + properties: + BandwidthRespOrgIdList: + $ref: '#/components/schemas/BandwidthRespOrgIdList' + type: object + type: object + BasicAuthenticationCredentials: + properties: + Password: + description: >- + The password will be stored encrypted and never returned via the + API. + type: string + Username: + maxLength: 100 + type: string + type: object + Batch: + properties: + BatchId: + type: string + BatchSize: + type: integer + OrderCreateDate: + $ref: '#/components/schemas/OrderCreatedDate' + OrderId: + $ref: '#/components/schemas/OrderId' + OrderStatus: + type: string + SubmittedTnCount: + type: integer + SuccessfulTnCount: + type: integer + type: object + BatchId: + description: >- + A user-chosen id for the batch of phone numbers. This Batch ID can span + multiple number submissions. Up to 10 alphanumeric characters. If the + submission is not intended to be grouped into a batch of submissions + then the Batch ID must be globally unique. It is recommended that the + batch ids be globally unique, and that imports not be grouped together + in batches by use of a common batch id. + type: string + BatchSize: + description: >- + The number of TNs in the batch, aggregated across all of the orders in + the batch. This total spans API Calls, so if 3 calls are necessary to + import 15000 numbers, this value would be 15000. It is recommended to + use a batch size equal to the number of telephone numbers in the API + call, and use a different batch name for each API call - essentially + limiting a batch to a single API call. + type: integer + Batches: + properties: + Batches: + properties: + Batch: + items: + $ref: '#/components/schemas/Batch' + minItems: 1 + type: array + type: object + type: object + Bdr: + properties: + Bdr: + properties: + EndDate: + type: string + StartDate: + type: string + type: object + type: object + BdrCreationErrorResponse: + properties: + BdrCreationResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BdrCreationResponse: + properties: + BdrCreationResponse: + properties: + Info: + type: string + type: object + type: object + BdrRetrievalErrorResponse: + properties: + BdrRetrievalResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BdrRetrievalResponse: + properties: + BdrRetrievalResponse: + properties: + Info: + type: string + type: object + type: object + BillingReport: + properties: + BillingReportId: + type: string + BillingReportKind: + $ref: '#/components/schemas/BillingReportKind' + CreatedDate: + type: string + DateRange: + $ref: '#/components/schemas/DateRange' + Description: + type: string + ReportStatus: + type: string + UserId: + type: string + type: object + BillingReportArchiveRetrievalErrorResponse: + properties: + BillingReportArchiveRetrievalResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BillingReportArchiveRetrievalResponse: + properties: + BillingReportArchiveRetrievalResponse: + properties: + Description: + type: string + ReportStatus: + type: string + type: object + type: object + BillingReportCreationErrorResponse: + properties: + BillingReportCreationResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BillingReportCreationResponse: + properties: + BillingReportCreationResponse: + properties: + Description: + type: string + ReportStatus: + type: string + type: object + BillingReportKind: + enum: + - BDR + - MDR + - INVOICE + - STMTBDR + - DIDSNAP + - DIDSNAP_MSG + - RECORDINGBDR + - RECORDINGSTMTBDR + - TRANSCRIPTIONBDR + - TRANSCRIPTIONSTMTBDR + - CNAMBDR + - CNAMSTMTBDR + - CONFBDR + - CONFSTMTBDR + - TFPEERINGSTMTBDR + - TNLOOKUPBDR + - TNLOOKUPSTMTBDR + - MSG_CAMPAIGN_REGISTRY_BDR + - MSG_CAMPAIGN_CARRIER_ACTIVATION_BDR + - AMDBDR + - AMDSTMTBDR + - SIPURIBDR + - SIPURISTMTBDR + type: string + BillingReportRetrievalErrorResponse: + properties: + BillingReportRetrievalResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BillingReportRetrievalResponse: + properties: + BillingReportRetrievalResponse: + properties: + Description: + type: string + ReportStatus: + type: string + type: object + type: object + BillingReportsRetrievalResponse: + properties: + BillingReportsRetrievalResponse: + properties: + BillingReportList: + items: + $ref: '#/components/schemas/BillingReport' + type: array + type: object + type: object + BillingType: + description: Type of billing rules to be applied. + enum: + - NOCHARGE + - PORTIN + - NEWNUMBER + - PROJECTPORT + type: string + BlockedAccountId: + properties: + BlockedAccountId: + properties: + AccountId: + type: string + type: object + type: object + BlockedAccountIdResponse: + properties: + AdminDataResponse: + $ref: '#/components/schemas/BlockedAccountId' + type: object + Brand: + properties: + AltBusinessId: + description: Alternate business identifier such as DUNS, LEI, GIIN. + type: string + AltBusinessIdType: + enum: + - NONE + - DUNS + - GIIN + - LEI + type: string + BrandRelationship: + description: Enum value describing the relationship with your Account. + enum: + - BASIC_ACCOUNT + - SMALL_ACCOUNT + - MEDIUM_ACCOUNT + - LARGE_ACCOUNT + - KEY_ACCOUNT + type: string + City: + type: string + CompanyName: + description: Legal Company Name. + type: string + Country: + description: ISO2 2 characters country code. + type: string + DisplayName: + type: string + Ein: + description: Government assigned corporate tax ID. + type: string + Email: + description: Valid email address of brand support contact. + type: string + EntityType: + description: >- + Entity type behind the brand. THis is the form of business + establishment. + enum: + - PRIVATE_PROFIT + - PUBLIC_PROFIT + - NON_PROFIT + - GOVERNMENT + - SOLE_PROPRIETOR + type: string + IsMain: + type: boolean + Phone: + description: Valid phone number in e.164 international format. + type: string + PostalCode: + description: Postal codes. Use 5 digit zipcode for United States. + type: string + State: + description: State name. Must be 2 letters code for United States. + type: string + StockExchange: + enum: + - NONE + - NASDAQ + - NYSE + - AMEX + - AMX + - ASX + - B3 + - BME + - BSE + - FRA + - ICEX + - JPX + - JSE + - KRX + - LON + - NSE + - OMX + - SEHK + - SSE + - STO + - SWX + - SZSE + - TSX + - TWSE + - VSE + type: string + StockSymbol: + type: string + Street: + type: string + Vertical: + description: Enum value describing vertical or industry segment of the brand. + enum: + - REAL_ESTATE + - ENERGY + - HEALTHCARE + - ENTERTAINMENT + - RETAIL + - AGRICULTURE + - INSURANCE + - EDUCATION + - HOSPITALITY + - FINANCIAL + - GAMBLING + - CONSTRUCTION + - NGO + - MANUFACTURING + - GOVERNMENT + - TECHNOLOGY + - COMMUNICATION + type: string + Website: + type: string + type: object + BrandErrorResponse: + properties: + BrandResponse: + properties: + Brand: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + BrandRequest: + properties: + Brand: + properties: + AltBusinessId: + description: Alternate business identifier such as DUNS, LEI, GIIN. + type: string + AltBusinessIdType: + enum: + - NONE + - DUNS + - GIIN + - LEI + type: string + BrandRelationship: + description: Enum value describing the relationship with your Account. + enum: + - BASIC_ACCOUNT + - SMALL_ACCOUNT + - MEDIUM_ACCOUNT + - LARGE_ACCOUNT + - KEY_ACCOUNT + type: string + City: + maxLength: 100 + type: string + CompanyName: + description: Legal Company Name. Not required for Sole Proprietor. + maxLength: 100 + type: string + Country: + description: ISO2 2 characters country code. + example: US + type: string + DisplayName: + maxLength: 100 + type: string + Ein: + description: >- + Government assigned corporate tax ID, EIN is 9-digits in U.S. + Not required for Sole_Proprietor. + maxLength: 9 + type: string + Email: + description: Valid email address of brand support contact. + maxLength: 100 + type: string + EntityType: + description: >- + Entity type behind the brand. THis is the form of business + establishment. + enum: + - PRIVATE_PROFIT + - PUBLIC_PROFIT + - NON_PROFIT + - GOVERNMENT + type: string + IsMain: + description: >- + true or false. True if creating 'My Brand', false if creating + 'Customer Brand' + type: boolean + Phone: + description: Valid phone number in e.164 international format. + example: '+18009999999' + type: string + PostalCode: + description: Postal codes. Use 5 digit zipcode for United States. + maxLength: 5 + type: string + State: + description: State name. Must be 2 letters code for United States. + maxLength: 2 + type: string + StockExchange: + enum: + - NONE + - NASDAQ + - NYSE + - AMEX + - AMX + - ASX + - B3 + - BME + - BSE + - FRA + - ICEX + - JPX + - JSE + - KRX + - LON + - NSE + - OMX + - SEHK + - SSE + - STO + - SWX + - SZSE + - TSX + - TWSE + - VSE + type: string + StockSymbol: + type: string + Street: + maxLength: 100 + type: string + Vertical: + description: >- + Enum value describing vertical or industry segment of the brand. + Disabled for Sole_Proprieto + enum: + - REAL_ESTATE + - ENERGY + - HEALTHCARE + - ENTERTAINMENT + - RETAIL + - AGRICULTURE + - INSURANCE + - EDUCATION + - HOSPITALITY + - FINANCIAL + - GAMBLING + - CONSTRUCTION + - NGO + - MANUFACTURING + - GOVERNMENT + - TECHNOLOGY + - COMMUNICATION + type: string + Website: + maxLength: 100 + type: string + required: + - EntityType + - BrandRelationship + - City + - CompanyName + - Country + - DisplayName + - Ein + - Email + - Phone + - PostalCode + - State + - Street + - Vertical + - IsMain + type: object + type: object + BrandResponse: + properties: + BrandResponse: + properties: + Brand: + $ref: '#/components/schemas/Brand' + type: object + type: object + BrandRevetErrorResponse: + properties: + BrandRevetResponse: + properties: + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + BrandVetting: + properties: + VettingClass: + description: Identifies the vetting classification. + enum: + - STANDARD + - ENHANCED + - POLITICAL + type: string + VettingId: + description: >- + Unique ID that identifies a vetting transaction performed by a + vetting provider. This ID is provided by the vetting provider at + time of vetting. + type: string + type: object + BrandVettingImportRequest: + properties: + BrandVetting: + properties: + EvpId: + description: >- + External vetting provider ID for the brand. AEGIS(Aegis Mobile), + CV(Campaign Verify), WMC(WMC Global) + enum: + - AEGIS + - CV + - WMC + type: string + VettingId: + description: >- + Unique ID that identifies a vetting transaction performed by a + vetting provider. This ID is provided by the vetting provider at + time of vetting. + type: string + type: object + type: object + BrandVettingImportResponse: + properties: + BrandVetting: + properties: + BrandId: + description: Unique ID that identifies a brand. + type: string + EvpId: + description: >- + External vetting provider ID for the brand. AEGIS(Aegis Mobile), + CV(Campaign Verify), WMC(WMC Global) + enum: + - AEGIS + - CV + - WMC + type: string + VettingId: + description: >- + Unique ID that identifies a vetting transaction performed by a + vetting provider. This ID is provided by the vetting provider at + time of vetting. + type: string + VettingStatus: + description: >- + Identifies the vetting request status. PENDING, UNSCORE, + ACTIVE, FAILED, EXPIRED ] + enum: + - PENDING + - UNSCORE + - ACTIVE + - FAILED + - EXPIRED + type: string + type: object + type: object + BrandVettingRequest: + properties: + BrandVetting: + properties: + EvpId: + description: >- + External vetting provider ID for the brand. AEGIS(Aegis Mobile), + CV(Campaign Verify), WMC(WMC Global) + enum: + - AEGIS + - CV + - WMC + type: string + VettingClass: + description: Identifies the vetting classification. + enum: + - STANDARD + - ENHANCED + - POLITICAL + type: string + type: object + type: object + BrandVettingsErrorResponse: + properties: + BrandVettingsResponse: + properties: + BrandVetting: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + BrandVettingsResponse: + properties: + BrandVettingsResponse: + properties: + BrandVetting: + $ref: '#/components/schemas/BrandVetting' + type: object + type: object + BrandsErrorResponse: + properties: + BrandsResponse: + properties: + Brand: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + BrandsResponse: + properties: + BrandsResponse: + properties: + Brands: + items: + $ref: '#/components/schemas/Brand' + type: array + type: object + type: object + BreakOutCountries: + items: + $ref: '#/components/schemas/Country' + type: array + BreakOutCountriesResponse: + properties: + AdminDataResponse: + properties: + BreakOutCountries: + $ref: '#/components/schemas/BreakOutCountries' + type: object + type: object + BreakOutCountryResponse: + properties: + AdminDataResponse: + $ref: '#/components/schemas/Country' + type: object + BulkPortInHistoryResponse: + properties: + BulkPortInHistoryResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BulkPortin: + properties: + AccountNumber: + description: >- + The WirelessInfo.AccountNumber is sometimes required to authorize + the port-out from the losing carrier. This is most common for + telephone numbers that were formerly wireless. This element is not + applicable for toll free port-ins. + type: string + AlternateSpid: + description: >- + Unique customer AltSPID to be applied to the port-in requests. Can + be changed only for DRAFT bulk port-in. + type: string + BillingTelephoneNumber: + description: >- + The BillingTelephoneNumber is the primary telephone number + associated with the invoice that the subscriber gets from the losing + carrier. + type: string + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the Order. Only alphanumeric values, + dashes and spaces are allowed. + type: string + LoaAuthorizingPerson: + description: >- + The LoaAuthorizingPerson is mandatory for all port-types. This is + the first and last names of the person that has authorized the port. + The LoaAuthorizingPerson value may be up to 15 characters in length. + type: string + PeerId: + description: >- + The numeric designation for the Location or SIP PEER ID that applied + to the Port-in Order. The SIP Peer ID is used to provide a home + within the location for the TN(s) that were ported in by the Port-in + Order. + type: string + PinNumber: + description: >- + Element of WirelessInfo. Not applicable to toll free port-ins. + Cannot be SUPPed for Automated off-net port-ins. If you want to SUPP + WirelessInfo, you must include both AccountNumber and PinNumber in + the payload, even if you are not changing both. + type: string + RequestedFocDate: + description: >- + This is the FOC (Firm Order Commitment) Date requested by the person + (or machine) creating the Port-in Order. + format: date-time + type: string + RetryValidation: + description: >- + This element is only applicable in the PUT and PATCH payloads for a + bulk port-in that is in the INVALID_DRAFT_TNS state due to a failure + to retrieve carrier or RespOrg ownership for telephone numbers in + the tnList. If these conditions are met, including RetryValidation + with a value of true will cause a fresh attempt to retrieve this + information without requiring a change to the tnList. + type: boolean + SiteId: + description: >- + The numeric designation for the Site ID that applied to the Port-in + Order. The SiteId is used to provide a home within the account for + the TN(s) that were ported in by the Port-in Order. + type: string + Subscriber: + $ref: '#/components/schemas/Subscriber' + TargetRespOrgId: + description: >- + For toll free port-ins, this value specifies the RespOrg ID that + toll free numbers will be ported to. When porting to Bandwidth, the + value is generally JYT01. When specified in a bulk port-in, the + value is applied to all subtending toll free port-in orders, unless + overridden in the subtending order. + type: string + TnAttributes: + description: >- + The TnAttributes field specifies line attributes that will apply to + the ported in telephone numbers. If present, TnAttributes may have a + value of PROTECTED. This element is not applicable for off-net and + toll free port-types. + items: + $ref: '#/components/schemas/TnAttribute' + type: array + type: object + BulkPortinErrorResponse: + properties: + BulkPortinResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + BulkPortinPatch: + properties: + AccountNumber: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: >- + Account number associated with the account on the losing carrier, + often required for wireless ports, or enterprise ports. This will be + unusual for bulk port-in requests that are expected to decompose + into port-in requests from multiple carriers. + AlternateSpid: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: >- + Unique customer AltSPID to be applied to the port-in requests. Can + be changed only for DRAFT bulk port-in. + example: X455 + BillingTelephoneNumber: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: >- + Account or Billing telephone number for order. This will be unusual + for bulk port-in requests that are expected to decompose into + port-in requests from multiple carriers, because the value will be + different for each losing carrier. + CustomerOrderId: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: Internal customer order id for tracking the order. + example: CUST12345 + LoaAuthorizingPerson: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: First and last name of person who authorized LOA. + PeerId: + allOf: + - $ref: '#/components/schemas/IntPatch' + description: >- + This is the SIP Peer / Location ID made visible in the + /accounts/{accountId}/sites/{siteId}/sipPeers API call. + example: '521434' + PinNumber: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: PIN Number, often required for wireless ports. + ProcessingStatus: + allOf: + - $ref: '#/components/schemas/ProcessingStatusPatch' + description: >- + This is the processing status the bulk portin should transition + into. + RequestedFocDate: + allOf: + - $ref: '#/components/schemas/DatePatch' + description: >- + If present this will specify the date and time that the port-in is + requested to happen. The actual time and date is subject to + negotiation with the losing carriers. + RetryValidation: + description: |- + Only allowed for PUT and PATCH requests. + + When telephone numbers are included in a bulk port-in order, Bandwidth accesses a vendor to determine if the numbers are portable, and who currently serves the numbers. In the event that we do not receive a response from our vendor after a number of retries, we give up and place the order in the INVALID_DRAFT_TNS state. This scenario can occur if our vendor is performing maintenance. Including RetryValidation with a value of true will cause the order to return to VALIDATE_DRAFT_TNS and we will repeat our attempts to retrieve the portability data from the vendor. This element is included in the synchronous response to the PUT or PATCH, when included in the request, but is not included in subsequent GET requests for the order. + type: boolean + SiteId: + allOf: + - $ref: '#/components/schemas/IntPatch' + description: >- + This is the Site / Sub-Account ID made visible in the + /accounts/{accountId}/sites API call. + Subscriber: + $ref: '#/components/schemas/SubscriberPatch' + TargetRespOrgId: + description: >- + For toll free port-ins, this value specifies the RespOrg ID that the + toll free numbers should be ported to. When porting to Bandwidth, + the value is generally JYT01. When specified in a bulk port-in, the + value will be applied to all subtending toll free port-in orders, + unless overridden in the subtending order. The value should be 5 + characters in length, consisting of digits a-z, A-Z, and 0-9. + example: JYT01 + format: alphanumeric + maxLength: 5 + minLength: 5 + type: string + TnAttributes: + allOf: + - $ref: '#/components/schemas/TnAttributesPatch' + description: >- + Attributes to be assigned to the telephone number. Optional + parameter. Possible values - `Protected`. + type: object + BulkPortinPatchErrorResponse: + properties: + BulkPortinResponse: + properties: + PortinListErrors: + items: + properties: + PortinErrors: + properties: + Errors: + items: + properties: + Error: + properties: + Description: + type: string + ErrorCode: + type: integer + type: object + type: array + PortinOrderId: + type: string + type: object + type: array + ResponseStatus: + properties: + Description: + description: 'Detailed explanation about error ' + type: string + type: object + type: object + type: object + BulkPortinPatchRequest: + properties: + BulkPortin: + $ref: '#/components/schemas/BulkPortinPatch' + type: object + BulkPortinRequest: + properties: + BulkPortin: + properties: + AccountNumber: + description: >- + Account number associated with the account on the losing + carrier, often required for wireless ports, or enterprise ports. + This will be unusual for bulk port-in requests that are expected + to decompose into port-in requests from multiple carriers. + type: string + AlternateSpid: + description: >- + Unique customer AltSPID to be applied to the port-in requests. + Can be changed only for DRAFT bulk port-in. + type: string + BillingTelephoneNumber: + description: >- + Account or Billing telephone number for order. This will be + unusual for bulk port-in requests that are expected to decompose + into port-in requests from multiple carriers, because the value + will be different for each losing carrier. + type: string + CustomerOrderId: + description: Internal customer order id for tracking the order. + format: alphanumeric + type: string + LoaAuthorizingPerson: + description: First and last name of person who authorized LOA. + type: string + PeerId: + description: >- + This is the SIP Peer / Location ID made visible in the + /accounts/{accountId}/sites/{siteId}/sipPeers API call. + format: int32 + type: integer + PinNumber: + description: PIN Number, often required for wireless ports. + type: string + RequestedFocDate: + description: >- + If present this will specify the date and time that the port-in + is requested to happen. The actual time and date is subject to + negotiation with the losing carriers. + example: '2013-05-10T15:14:22Z' + format: ISO8601 date-time encoding of ZULU/UTC/GMT + type: string + RetryValidation: + description: |- + Only allowed for PUT and PATCH requests. + + When telephone numbers are included in a bulk port-in order, Bandwidth accesses a vendor to determine if the numbers are portable, and who currently serves the numbers. In the event that we do not receive a response from our vendor after a number of retries, we give up and place the order in the INVALID_DRAFT_TNS state. This scenario can occur if our vendor is performing maintenance. Including RetryValidation with a value of true will cause the order to return to VALIDATE_DRAFT_TNS and we will repeat our attempts to retrieve the portability data from the vendor. This element is included in the synchronous response to the PUT or PATCH, when included in the request, but is not included in subsequent GET requests for the order. + type: boolean + SiteId: + description: >- + This is the Site / Sub-Account ID made visible in the + /accounts/{accountId}/sites API call. + format: int32 + type: integer + Subscriber: + properties: + BusinessName: + description: Subscriber business name. + type: string + FirstName: + description: Subscriber first name. + type: string + LastName: + description: Subscriber last name. + type: string + MiddleInitial: + description: Subscriber middle initial. + type: string + ServiceAddress: + properties: + AddressLine2: + description: Put unit, suite, floor, etc. here. + type: string + City: + description: City. + type: string + Country: + description: 3 letter country code. + type: string + HouseNumber: + description: Street address number. + type: string + HousePrefix: + description: Street address number prefix. + type: string + HouseSuffix: + description: Street address number suffix. + type: string + PlusFour: + description: Zip + 4 value. + type: string + PostDirectional: + description: Street address post directional. + type: string + PreDirectional: + description: Street address pre-directional. + type: string + StateCode: + description: Two letter state code. + type: string + StreetName: + description: Street name. + type: string + StreetSuffix: + description: Street suffix. + type: string + Zip: + description: Zip code. + type: string + type: object + SubscriberType: + description: >- + If residential, order will be rejected if a BusinessName is + entered. + enum: + - BUSINESS + - RESIDENTIAL + - GENERIC + type: string + type: object + TargetRespOrgId: + description: >- + For toll free port-ins, this value specifies the RespOrg ID that + the toll free numbers should be ported to. When porting to + Bandwidth, the value is generally JYT01. When specified in a + bulk port-in, the value will be applied to all subtending toll + free port-in orders, unless overridden in the subtending order. + The value should be 5 characters in length, consisting of digits + a-z, A-Z, and 0-9. + format: alphanumeric + maxLength: 5 + minLength: 5 + type: string + TnAttributes: + description: >- + Attributes to be assigned to the telephone number. Optional + parameter. Possible values - `Protected`. + items: + $ref: '#/components/schemas/TnAttribute' + type: array + type: object + type: object + BulkPortinResponse: + properties: + BulkPortinResponse: + properties: + BulkPortin: + $ref: '#/components/schemas/BulkPortin' + type: object + type: object + BulkPortinResponses: + properties: + BulkPortinResponses: + properties: + BulkPortinResponse: + items: + properties: + CompanyName: + description: >- + The name associated with the Bandwidth account that + created this order. + type: string + LastModifiedBy: + description: >- + The username that last modified the order. This may show + as "System" if the order was last modified by Bandwidth + automated software. + type: string + LastModifiedDate: + description: >- + The date and time on which the order was last modified, + including status updates. + type: string + OrderCreateDate: + description: The date and time when the order was created. + type: string + OrderId: + description: >- + The unique identifier string created by Bandwidth to refer + to the order. This value is returned in the synchronous + response to the POST. + type: string + PortinList: + $ref: '#/components/schemas/PortinList' + ProcessingStatus: + enum: + - DRAFT + - IN_PROGRESS + - NEEDS_ATTENTION + - PARTIAL + - COMPLETED + - CANCELLED + - VALIDATE_DRAFT_TNS + - VALID_DRAFT_TNS + - INVALID_DRAFT_TNS + type: string + RequestedFocDate: + description: >- + This is the FOC (Firm Order Commitment) date requested by + the person (or machine) creating the order. + type: string + TargetRespOrgId: + description: >- + For toll free port-ins, this value specifies the RespOrg + ID that toll free numbers will be ported to. When porting + to Bandwidth, the value is generally JYT01. When + specified in a bulk port-in, the value is applied to all + subtending toll free port-in orders, unless overridden in + the subtending order. + type: string + type: array + Links: + $ref: '#/components/schemas/Links' + TotalCount: + type: integer + type: object + type: object + BulkPortout: + properties: + AccountNumber: + type: string + CallbackUrl: + type: string + FocDate: + format: date-time + type: string + Immediately: + type: boolean + InternalPort: + type: boolean + NewNetworkSPID: + description: >- + The Service Provider ID of the carrier that the number is being + ported to. + type: string + OverrideValidation: + type: boolean + PON: + description: >- + This Bandwidth internal identifier associates the port-out order + with either an internal port-in or an LSR order, whichever caused + the port-out order to be created. + type: string + Pin: + description: >- + The personal identifier number the subscriber has associated with + his or her account with the carrier the number is being ported away + from. + type: string + SkipPortPsCheck: + type: boolean + SubscriberName: + type: string + Supplemental: + enum: + - NONE + - CANCEL + - UPDATE + - OTHER + type: string + TelephoneNumberList: + description: The list of telephone numbers to port-out. + items: + type: string + xml: + name: TelephoneNumberToPort + type: array + ZipCode: + type: string + type: object + BulkRateCenterPayload: + description: >- + Payload returned when a new bulk coverage matrix task is created, + containing basic task information and rate center coverage data. + properties: + coverageList: + $ref: '#/components/schemas/RateCenterCoverageList' + status: + description: The current status of the bulk coverage matrix update task. + enum: + - PROCESSING + - PARTIAL + - COMPLETE + - FAILED + type: string + taskId: + description: The bulk coverage matrix update task id. + example: b05de7e6-0cab-4c83-81bb-9379cba8efd0 + type: string + type: object + BulkRateCenterTaskPayload: + description: >- + Full bulk coverage matrix task information with complete task details + and statuses of individual rate center coverages. + properties: + endTime: + description: Timestamp of bulk rate center task completion. + example: '2021-06-08 06:46:13.0' + format: date-time + type: string + errorList: + $ref: '#/components/schemas/RateCenterCoverageErrorList' + failedRateCenterCoverageCount: + description: >- + The number of unsuccessfully created/updated rate center coverages + during the task. + example: 1 + maximum: 5000 + minimum: 0 + type: number + startTime: + description: Timestamp of bulk rate center task creation. + example: '2021-06-08 06:45:13.0' + format: date-time + type: string + status: + description: The current status of the bulk coverage matrix update task. + enum: + - PROCESSING + - PARTIAL + - COMPLETE + - FAILED + type: string + successList: + $ref: '#/components/schemas/RateCenterCoverageList' + successfulRateCenterCoverageCount: + description: >- + The number of successfully created/updated rate center coverages + during the task. + example: 3 + maximum: 5000 + minimum: 0 + type: number + taskId: + description: The bulk coverage matrix update task id. + example: b05de7e6-0cab-4c83-81bb-9379cba8efd0 + type: string + totalRateCenterCoverageCount: + description: The total number of rate center coverages included for the task. + example: 4 + maximum: 5000 + minimum: 1 + type: number + type: object + BwspidSystemValue: + properties: + Alias: + type: string + Id: + type: integer + RouteType: + enum: + - ON_NET + - OFF_NET_US + - EXTERNAL_CUSTOMER_OWNED + - OFF_NET_CA + - EXTERNAL_THIRD_PARTY + - EXTERNAL_CANADIAN + - TOLL_FREE + - EXTERNAL_TOLL_FREE + type: string + Spid: + type: integer + Type: + enum: + - NPAC + - NNID + type: string + required: + - Type + - RouteType + - Spid + - Alias + type: object + BwspidSystemValueResponse: + properties: + AdminDataResponse: + properties: + BwspidSystemValue: + $ref: '#/components/schemas/BwspidSystemValue' + type: object + type: object + BwspidSystemValues: + items: + properties: + BwspidSystemValue: + $ref: '#/components/schemas/BwspidSystemValue' + type: object + type: array + BwspidSystemValuesResponse: + properties: + AdminDataResponse: + properties: + BwspidSystemValues: + $ref: '#/components/schemas/BwspidSystemValues' + type: object + type: object + CallAdmissionControlSettings: + properties: + CPS: + type: integer + ConcurrentCalls: + type: integer + OutboundCallsDequeuedPerSecond: + type: integer + type: object + CallBackSubscriptionByEventTypeRequest: + properties: + CallbackSubscription: + $ref: '#/components/schemas/CallbackSubscription' + EventType: + enum: + - MESSAGING_LOST + type: string + required: + - EventType + title: Callback subscription by event type + type: object + CallBackSubscriptionByOrderTypeRequest: + properties: + CallbackSubscription: + $ref: '#/components/schemas/CallbackSubscription' + OrderId: + $ref: '#/components/schemas/SubscriptionOrderId' + OrderType: + $ref: '#/components/schemas/SubscriptionOrderType' + title: Callback subscription by order type + type: object + Callback: + properties: + Url: + type: string + type: object + CallbackCredentials: + description: >- + Recommended these credentials will be used to when authenticating with + the notification receiving server + properties: + BasicAuthentication: + $ref: '#/components/schemas/BasicAuthenticationCredentials' + PublicKey: + description: >- + A BASE64 encoded public key matching the notification receiving + server. + type: string + type: object + CallbackCreds: + properties: + Password: + type: string + UserId: + type: string + type: object + CallbackPayload: + properties: + Url: + type: string + type: object + CallbackSubscription: + properties: + CallbackCredentials: + $ref: '#/components/schemas/CallbackCredentials' + Expiry: + description: >- + The number of seconds after which to expire this subscription. Can + be omitted from the request payload and defaults to 86400 seconds (1 + day). Typical values for your convenience are: 86400 - 1 day, 604800 + - 1 week, 2592000 - 1 month, 31536000 - 1 year, 315360000 - 10 + years. + format: int64 + type: integer + Status: + type: string + URL: + description: >- + The URL that notifications should get POSTed to, HTTPS is highly + recommended. + format: uri + type: string + type: object + CallerNameE911: + description: >- + CallerName that will be linked to TNs. This field is required in the + case of a new address assignment + maxLength: 50 + title: CallerName + type: string + CampaignErrorResponse: + properties: + CampaignErrorResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + CampaignRequest: + properties: + Campaign: + properties: + AffiliateMarketing: + description: >- + Is affiliate marketing being used (or was used in the creation + of the campaign)? Default false + type: boolean + AgeGated: + description: Age gated content in campaign? Default false + type: boolean + AutoRenewal: + description: Campaign subscription auto-renewal status. Default true + type: boolean + BrandId: + description: >- + Alphanumeric identifier of the brand associated with this + campaign + type: string + Description: + description: Summary description of this campaign. + maximum: 4096 + minimum: 40 + type: string + DirectLending: + description: >- + Will the campaign include content related to direct lending or + other loan arrangements? Default false + type: boolean + EmbeddedLink: + description: >- + Does message generated by the campaign include URL link in SMS? + Default false + type: boolean + EmbeddedPhone: + description: >- + Does message generated by the campaign include phone number in + SMS? Default false + type: boolean + HelpKeywords: + description: >- + Help keywords of the campaign. TCR will default the value to + HELP. Multiple keywords are comma separated without space. + maximum: 320 + type: string + HelpMessage: + description: Help message of the campaign. + maximum: 320 + minimum: 20 + type: string + MessageFlow: + description: Message flow description. + maximum: 2048 + minimum: 40 + type: string + NumberPool: + description: Does campaign utilize pool of phone numbers? Default false + type: boolean + OptinKeywords: + description: >- + Opt-In keywords of the campaign. Multiple keywords are comma + separated without space. + maximum: 320 + type: string + OptinMessage: + description: Opt-In message of the campaign. + maximum: 320 + minimum: 20 + type: string + OptoutKeywords: + description: >- + Opt-Out keywords of the campaign. TCR will default the value to + STOP. Multiple keywords are comma separated without space. + maximum: 320 + type: string + OptoutMessage: + description: Opt-Out message of the campaign. + maximum: 320 + minimum: 20 + type: string + ReferenceId: + description: >- + Caller supplied campaign reference ID. If supplied, the value + must be unique across all submitted campaigns. Can be used to + prevent duplicate campaign registrations. + maximum: 50 + type: string + ResellerId: + description: >- + Alphanumeric identifier of the reseller that you want to + associate with this campaign. + type: string + Sample1: + description: >- + Message sample. Some campaign tiers require 1 or more message + samples. + maximum: 1024 + minimum: 20 + type: string + Sample2: + description: >- + Message sample. Some campaign tiers require 2 or more message + samples. Required for some usecases. + maximum: 1024 + minimum: 20 + type: string + Sample3: + description: >- + Message sample. Some campaign tiers require 3 or more message + samples. Required for some usecases. + maximum: 1024 + minimum: 20 + type: string + Sample4: + description: >- + Message sample. Some campaign tiers require 4 or more message + samples. Required for some usecases. + maximum: 1024 + minimum: 20 + type: string + Sample5: + description: >- + Message sample. Some campaign tiers require 5 or more message + samples. Required for some usecases. + maximum: 1024 + minimum: 20 + type: string + SubUsecases: + description: >- + Campaign usecase. Must be of defined valid types. Required for + some usecases. + enum: + - 2FA + - ACCOUNT_NOTIFICATION + - CARRIER_EXEMPT + - CHARITY + - CONVERSATIONAL + - CUSTOMER_CARE + - DELIVERY_NOTIFICATION + - EMERGENCY + - FRAUD_ALERT + - HIGHER_EDUCATION + - K12_EDUCATION + - LOW_VOLUME + - MARKETING + - MIXED + - POLITICAL + - POLLING_VOTING + - PUBLIC_SERVICE_ANNOUNCEMENT + - SECURITY_ALERT + - SOCIAL + - SWEEPSTAKE + - TRIAL + - AGENTS_FRANCHISES + - PROXY + - UCAAS_HIGH + - UCAAS_LOW + - M2M + type: string + SubscriberHelp: + description: >- + Have you implemented a response to the HELP keyword informing + customers of how they can contact the message sender? Default + false + type: boolean + SubscriberOptIn: + description: >- + Does campaign require subscriber to opt-in before SMS is sent to + subscriber? Default false + type: boolean + SubscriberOptOut: + description: >- + Does campaign support subscriber opt-out keyword(s)? Default + false + type: boolean + Usecase: + description: Campaign usecase. Must be of defined valid types + enum: + - 2FA + - ACCOUNT_NOTIFICATION + - CARRIER_EXEMPT + - CHARITY + - CONVERSATIONAL + - CUSTOMER_CARE + - DELIVERY_NOTIFICATION + - EMERGENCY + - FRAUD_ALERT + - HIGHER_EDUCATION + - K12_EDUCATION + - LOW_VOLUME + - MARKETING + - MIXED + - POLITICAL + - POLLING_VOTING + - PUBLIC_SERVICE_ANNOUNCEMENT + - SECURITY_ALERT + - SOCIAL + - SWEEPSTAKE + - TRIAL + - AGENTS_FRANCHISES + - PROXY + - UCAAS_HIGH + - UCAAS_LOW + - M2M + type: string + Vertical: + description: >- + Optional business/industry segment of this campaign (any value + allowed) as TCR has deprecated this field. + enum: + - REAL_ESTATE + - HEALTHCARE + - ENERGY + - ENTERTAINMENT + - RETAIL + - AGRICULTURE + - INSURANCE + - EDUCATION + - HOSPITALITY + - FINANCIAL + - GAMBLING + - CONSTRUCTION + - NGO + - MANUFACTURING + - GOVERNMENT + - TECHNOLOGY + - COMMUNICATION + type: string + required: + - BrandId + - Usecase + - SubUsecases + - Description + - Sample1 + - MessageFlow + - HelpMessage + - OptoutMessage + - AutoRenewal + type: object + type: object + CampaignSettingsRequest: + properties: + CampaignSettings: + properties: + BusinessIdentity: + description: Business Identity of customer + enum: + - Reseller + - Direct Customer + type: string + Reseller: + description: >- + Reseller Properties. This block is not allowed for Direct + Customer. + properties: + CompanyName: + description: Company name of a reseller + type: string + Email: + description: Email ID of a reseller + type: string + Phone: + description: 11 digits phone number of a reseller. Must put '+' in front + pattern: ^[+][1][0-9]{10}$ + type: string + type: object + required: + - BusinessIdentity + type: object + type: object + CampaignTnsErrorResponse: + properties: + CampaignTnsResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + CampaignTnsResponse: + properties: + CampaignTnsResponse: + properties: + TelephoneNumbers: + items: + properties: + TelephoneNumber: + type: string + type: object + type: array + TotalCount: + type: number + type: object + title: CampaignTnsResponse + type: object + CitySearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + CitySearchAndOrderType: + $ref: '#/components/schemas/CitySearchAndOrderType' + type: object + xml: + name: Order + CitySearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + CitySearchAndOrderType: + $ref: '#/components/schemas/CitySearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + CitySearchAndOrderType: + properties: + City: + type: string + Quantity: + format: int32 + type: integer + State: + type: string + type: object + xml: + name: CitySearchAndOrderType + CitySearchResult: + properties: + AvailableTelephoneNumberCount: + format: int32 + type: integer + Name: + type: string + RcAbbreviation: + type: string + title: City + type: object + CitySearchResults: + properties: + CityResponse: + properties: + Cities: + items: + $ref: '#/components/schemas/CitySearchResult' + type: array + ResultCount: + format: int32 + type: integer + type: object + type: object + CityWithCount: + properties: + City: + type: string + Count: + type: integer + type: object + CombinedSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + CombinedSearchAndOrderType: + $ref: '#/components/schemas/CombinedSearchAndOrderType' + type: object + xml: + name: Order + CombinedSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + CombinedSearchAndOrderType: + $ref: '#/components/schemas/CombinedSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + CombinedSearchAndOrderType: + properties: + AreaCode: + type: string + City: + type: string + EnableLCA: + type: boolean + EndsIn: + type: boolean + LATA: + type: string + LocalVanity: + type: string + NpaNxx: + type: string + NpaNxxX: + type: string + Quantity: + format: int32 + type: integer + RateCenter: + type: string + State: + type: string + Zip: + type: string + type: object + xml: + name: CombinedSearchAndOrderType + Contact: + properties: + Email: + type: string + Fax: + type: string + FirstName: + type: string + LastName: + type: string + Mobile: + type: string + OtherPhone: + type: string + Phone: + type: string + Suffix: + type: string + Title: + type: string + WebsiteAddress: + type: string + type: object + ConventionalAddressDeletionE911Order: + properties: + E911Order: + properties: + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + DeleteTNSpecificE911Address: + $ref: '#/components/schemas/DeleteTNSpecificE911Address' + TelephoneNumbers: + description: >- + A list of telephone numbers you need unlink from the street + address + items: + properties: + TelephoneNumber: + type: string + required: + - TelephoneNumber + title: TelephoneNumber + type: array + required: + - TelephoneNumbers + - DeleteTNSpecificE911Address + type: object + title: CONVENTIONAL E911. TN/Address-deletion order + type: object + ConventionalAddressProvisioningE911Order: + properties: + E911Order: + properties: + Address: + properties: + AddressLine2: + type: string + AddressType: + type: string + City: + type: string + Country: + type: string + County: + type: string + HouseNumber: + type: string + HouseSuffix: + type: string + Latitude: + type: string + Longitude: + type: string + PlusFour: + type: string + PostDirectional: + type: string + PreDirectional: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + CallerName: + $ref: '#/components/schemas/CallerNameE911' + TelephoneNumbers: + description: A list of telephone numbers you need link to the street address + items: + properties: + TelephoneNumber: + type: string + required: + - TelephoneNumber + title: TelephoneNumber + type: array + required: + - Address + - TelephoneNumbers + type: object + title: CONVENTIONAL E911. TN/Address-provisioning order + type: object + Country: + properties: + Country: + properties: + Alpha3Code: + type: string + AuthRequired: + type: boolean + BillingEnabled: + type: boolean + CountryCode: + type: integer + Name: + type: string + PrefixDigits: + items: + properties: + Digits: + type: integer + type: object + type: array + type: object + CoverageMatrixEntry: + properties: + Abbreviation: + description: A rate center's abbreviation. + example: FARMVILLE + type: string + Id: + description: A rate center coverage matrix id. + example: 123 + type: number + Lata: + description: A rate center's LATA. + example: 951 + type: number + Lrn: + description: A rate center's LRN. + example: '+12529690000' + type: string + Region: + description: A rate center's state. + example: NC + type: string + SupportsLnp: + description: Whether a rate center supports LNP. + example: true + type: boolean + SupportsNewTns: + description: Whether a rate center supports new TNs. + example: true + type: boolean + TierId: + description: A rate center's tier ID. + example: 1 + maximum: 6 + minimum: 0 + type: number + VendorId: + description: A rate center's vendor ID. + example: 49 + type: number + type: object + CoveredRateCenter: + properties: + Abbreviation: + type: string + AvailableNumberCount: + format: int32 + type: integer + Cities: + items: + type: string + xml: + name: City + type: array + uniqueItems: true + xml: + wrapped: true + Id: + format: int32 + type: integer + Lata: + format: int32 + type: integer + LocalRateCenterIds: + items: + format: int32 + type: integer + xml: + name: RateCenterId + type: array + uniqueItems: true + xml: + name: LocalRateCenters + wrapped: true + Name: + type: string + NpaNxxXs: + items: + type: string + xml: + name: NpaNxxX + type: array + uniqueItems: true + xml: + wrapped: true + Npas: + items: + type: string + xml: + name: Npa + type: array + uniqueItems: true + xml: + wrapped: true + State: + type: string + Tiers: + items: + format: byte + type: string + xml: + name: Tier + type: array + uniqueItems: true + xml: + wrapped: true + ZipCodes: + items: + type: string + xml: + name: ZipCode + type: array + uniqueItems: true + xml: + wrapped: true + limitedAvailableNumberCount: + format: int32 + type: integer + type: object + xml: + name: CoveredRateCenter + CoveredRateCenterResponse: + properties: + CoveredRateCenter: + $ref: '#/components/schemas/CoveredRateCenter' + type: object + CoveredRateCenterSearchErrorResponse: + properties: + CoveredRateCenters: + $ref: '#/components/schemas/ResponseStatus' + type: object + CoveredRateCenterSearchResponse: + properties: + CoveredRateCenters: + properties: + CoveredRateCenter: + items: + $ref: '#/components/schemas/CoveredRateCenter' + type: array + Links: + $ref: '#/components/schemas/PaginationLinks' + TotalCount: + format: int32 + type: integer + type: object + type: object + CreatedBy: + description: Order created by the user. + type: string + Csr: + properties: + AccountNumber: + description: >- + Identifies the main account number on your bill, assigned by the + current service provider. + format: Alphanumeric + maxLength: 20 + type: string + AccountTelephoneNumber: + description: >- + Identifies the account telephone number assigned by the current + service provider. + format: Alphanumeric + maxLength: 10 + type: string + AddressLine1: + description: Identifies the address line 1 portion of the service address. + format: Alphanumeric + maxLength: 200 + type: string + AuthorizingUserName: + description: Identifies the name of the end user who signed the authorization. + format: Alphanumeric + maxLength: 100 + type: string + City: + description: >- + Identifies the city of the end user where the telephone number is + being serviced. + format: Alphanumeric + maxLength: 100 + type: string + CustomerCode: + description: Identifies the customer code associated with the service provider. + format: Numeric + maxLength: 3 + type: string + CustomerOrderId: + description: Internal customer order id for tracking the order. + format: Alphanumeric values, dashes and spaces + maxLength: 40 + type: string + EndUserName: + description: >- + Identifies the name of the end user associated with the telephone + number being queried. + format: Alphanumeric + maxLength: 100 + type: string + EndUserPIN: + description: Identifies the end user’s personal identification number (PIN). + format: Alphanumeric + maxLength: 50 + type: string + EndUserPassword: + description: Identifies the end user’s password to access the CSR, if applicable. + format: Alphanumeric + maxLength: 100 + type: string + State: + description: >- + Identifies the abbreviation for the state or province of the end + user where the telephone number is being serviced. Must be + alphabetic characters in the format XX which is the state or + province abbreviation. + format: Alphabetic + maxLength: 2 + type: string + Status: + description: Displays the CSR orders with a given order status. + type: string + TypeOfService: + description: The type of service identifying the end user account. + format: Alphabetic + maxLength: 50 + type: string + WorkingOrBillingTelephoneNumber: + description: Working or Billing telephone number in 10-digits format NPANXXXXXX. + maxLength: 10 + type: string + ZIPCode: + description: >- + Identifies the ZIP code, ZIP Code + extension, or postal code or the + end user where the telephone number is being serviced. + format: Alphanumeric (including the dash if using ZIP Code with extension) + maxLength: 10 + type: string + required: + - WorkingOrBillingTelephoneNumber + type: object + CsrErrorResponse: + properties: + CsrOrderResponse: + properties: + Errors: + items: + properties: + Code: + type: integer + Description: + type: string + title: Error + type: array + type: object + title: CsrOrderResponse + type: object + CsrGetResponse: + allOf: + - properties: + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only + alphanumeric values, dashes and spaces are allowed. Max length + is 40 characters. + type: string + LastModifiedBy: + description: >- + This is the user-name of the user that last modified the CSR + Order. + type: string + LastModifiedDate: + description: This is the date when CSR Order was last modified. + type: string + OrderCreateDate: + description: The date and time when the order was created. + type: string + OrderId: + description: The identifier that uniquely identifies a CSR order. + type: string + WorkingOrBillingTelephoneNumber: + description: >- + Working or Billing telephone number in 10-digits format + NPANXXXXXX. + type: string + - $ref: '#/components/schemas/Csr' + type: object + CsrResponse: + properties: + AccountId: + description: >- + This is the account that the searched-for order will be contributing + to. Specifying this parameter will restrict the search to portin + orders within the specified account. + type: integer + AccountNumber: + description: >- + The account number that the telephone number being queried is + associated with on the carrier that currently hosts that number. + type: string + AccountTelephoneNumber: + description: >- + Identifies the account telephone number assigned by the current + service provider. Alphanumeric characters are supported with a max + length of 10 characters. + type: string + AddressLine1: + description: >- + Identifies the address line 1 portion of the service address. + Alphanumeric characters are supported with a max length of 200 + characters. + type: string + AuthorizingUserName: + description: >- + Identifies the name of the end user who signed the authorization. + Alphanumeric characters are supported with a max length of 100 + characters. + type: string + City: + description: >- + Identifies the city of the end user where the telephone number is + being serviced. Alphanumeric characters are supported with a max + length of 100 characters. + type: string + CsrData: + properties: + AccountNumber: + description: >- + Identifies the main account number on your bill, assigned by the + current service provider. Alphanumeric characters are supported + with a max length of 20 characters. + type: string + CustomerName: + description: >- + The subscriber name associated with the telephone number being + queried. + type: string + ServiceAddress: + description: >- + The service address associated with the telephone number being + queried. + properties: + City: + description: >- + Identifies the city of the end user where the telephone + number is being serviced. Alphanumeric characters are + supported with a max length of 100 characters. + type: string + State: + description: >- + Identifies the abbreviation for the state or province of the + end user where the telephone number is being serviced. Must + be alpha characters only in the format XX with a max length + of 2 characters, where XX is the state or province + abbreviation. + type: string + UnparsedAddress: + description: The service address other than the City, State, and ZIP. + type: string + Zip: + description: >- + Identifies the ZIP code, ZIP Code + extension, or postal + code or the end user where the telephone number is being + serviced. Alphanumeric characters are supported with a max + length of 10 characters (including the dash if using ZIP + Code with extension). + type: string + type: object + WorkingTelephoneNumber: + description: The telephone number for which the CSR was retrieved. + type: string + WorkingTelephoneNumbersOnAccount: + description: >- + The list of all telephone numbers on the account, associate with + the billing telephone number. + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + CustomerCode: + description: >- + Identifies the customer code associated with the service provider. + Must be numeric characters only with a max length of 3 characters. + type: string + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only + alphanumeric values, dashes and spaces are allowed. Max length is 40 + characters. + type: string + EndUserName: + description: >- + Identifies the name of the end user associated with the telephone + number being queried. Alphanumeric characters are supported with a + max length of 100 characters. + type: string + EndUserPIN: + description: >- + Identifies the end user’s personal identification number (PIN). + Alphanumeric characters are supported with a max length of 50 + characters. + type: string + LastModifiedBy: + description: This is the user-name of the user that last modified the CSR Order. + type: string + LastModifiedDate: + description: This is the date when Port-in Order was last modified. + type: string + OrderCreateDate: + description: The date and time on which the CSR order was created. + type: string + OrderId: + description: The identifier that uniquely identifies a CSR order. + type: string + State: + description: >- + Identifies the abbreviation for the state or province of the end + user where the telephone number is being serviced. Must be alpha + characters only in the format XX with a max length of 2 characters, + where XX is the state or province abbreviation. + type: string + Status: + description: 'The state of the CSRS order. Possible values are: COMPLETE, FAILED.' + type: string + TypeOfService: + description: >- + The type of service identifying the end user account. Must be + alphabetic characters only with a max length of 50 characters. + type: string + ZIPCode: + description: >- + Identifies the ZIP code, ZIP Code + extension, or postal code or the + end user where the telephone number is being serviced. Alphanumeric + characters are supported with a max length of 10 characters + (including the dash if using ZIP Code with extension). + type: string + type: object + CsrResponses: + properties: + CsrResponses: + properties: + CsrResponse: + items: + $ref: '#/components/schemas/CsrResponse' + type: array + Links: + $ref: '#/components/schemas/Links' + TotalCount: + type: integer + type: object + type: object + CustomerOrderId: + description: >- + An optional customer-defined order identifier that is stored with the + Bandwidth order. This value is opaque to Bandwidth. + maxLength: 255 + type: string + CustomerOrderIdE911: + description: >- + The Customer Order ID is an ID assigned by the account owner to provide + a reference number for the Order. The element is optional. Only + alphanumeric values, dashes and spaces are allowed. Max length is 40 + characters + maxLength: 40 + title: CustomerOrderId + type: string + CustomerSipHeaderPayload: + properties: + CustomerSipHeader: + properties: + SipHeader: + type: string + Vendor: + type: boolean + type: object + type: object + CustomerSipHeaderWithId: + properties: + Id: + type: string + SipHeader: + type: string + Vendor: + type: boolean + type: object + DNSRecord: + properties: + Data: + type: string + Name: + type: string + TTL: + type: integer + Type: + enum: + - A + - SRV + type: string + type: object + DatePatch: + properties: + delete: + type: boolean + type: object + DateRange: + properties: + EndDate: + type: string + StartDate: + type: string + type: object + DeleteTNSpecificE911Address: + description: DeleteTNSpecificE911Address is required and must be set to `true`. + type: string + DeniedTollFreeNumber: + properties: + SomosErrorCode: + type: string + SomosErrorDescription: + type: string + TollFreeNumber: + type: string + type: object + DisconnectTelephoneNumberOrder: + properties: + DisconnectTelephoneNumberOrder: + properties: + CustomerOrderId: + description: >- + The CustomerOrderId is an optional field that may be provided by + the customer and will remain with the order. Only alphanumeric + values, dashes and spaces are allowed.The value is opaque to + Bandwidth. + maxLength: 40 + type: string + DisconnectTelephoneNumberOrderType: + $ref: '#/components/schemas/DisconnectTelephoneNumberOrderType' + Name: + deprecated: true + description: The name of the order. + maxLength: 50 + type: string + type: object + type: object + DisconnectTelephoneNumberOrderErrorResponse: + properties: + DisconnectTelephoneNumberOrderResponse: + properties: + ErrorList: + items: + properties: + Error: + properties: + Code: + type: integer + Description: + type: string + type: object + type: array + orderRequest: + properties: + DisconnectTelephoneNumberOrderType: + $ref: '#/components/schemas/DisconnectTelephoneNumberOrderType' + OrderCreateDate: + example: '2019-11-19T14:06:57.254Z' + format: datetime + type: string + type: object + type: object + type: object + DisconnectTelephoneNumberOrderFetchResponse: + properties: + DisconnectTelephoneNumberOrderResponse: + properties: + DisconnectedTelephoneNumberList: + items: + properties: + TelephoneNumber: + $ref: '#/components/schemas/TelephoneNumber' + type: array + OrderStatus: + type: string + orderRequest: + $ref: '#/components/schemas/orderRequest' + type: object + type: object + DisconnectTelephoneNumberOrderResponse: + properties: + DisconnectTelephoneNumberOrderResponse: + properties: + orderRequest: + $ref: '#/components/schemas/orderRequest' + type: object + type: object + DisconnectTelephoneNumberOrderType: + properties: + DisconnectMode: + default: NORMAL + description: The severity of disconnect order. + enum: + - NORMAL + - PURGE + type: string + Protected: + default: UNCHANGED + description: Change protected status of telephones during disconnection. + enum: + - 'TRUE' + - 'FALSE' + - UNCHANGED + type: string + TelephoneNumberList: + description: A list of telephone numbers to disconnect. + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + required: + - TelephoneNumberList + type: object + DldaListingName: + properties: + Designation: + type: string + FirstName: + description: Required in case RESIDENTIAL SubscriberType is chosen + type: string + FirstName2: + description: '' + type: string + LastName: + type: string + PlaceListingAs: + type: string + TitleOfAddress: + type: string + TitleOfAddress2: + type: string + TitleOfAddress2Name2: + type: string + TitleOfAddressName2: + type: string + TitleOfLineage: + type: string + TitleOfLineageName2: + type: string + required: + - LastName + type: object + DldaOrder: + properties: + DldaOrder: + $ref: '#/components/schemas/DldaOrderPayload' + type: object + DldaOrderErrorNotFoundResponse: + properties: + DldaOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + DldaOrderErrorResponse: + properties: + DldaOrderResponse: + properties: + DldaOrder: + $ref: '#/components/schemas/DldaOrderResponsePayload' + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + DldaOrderPayload: + properties: + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the Order. Only alphanumeric values, + dashes and spaces are allowed. + maxLength: 40 + type: string + DeleteDldaTnGroups: + type: string + DldaTnGroups: + items: + $ref: '#/components/schemas/DldaTnGroup' + type: array + type: object + DldaOrderReportErrorResponse: + properties: + DldaOrderReportResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + DldaOrderResponse: + properties: + DldaOrderResponse: + properties: + DldaOrder: + $ref: '#/components/schemas/DldaOrderResponsePayload' + type: object + type: object + DldaOrderResponsePayload: + properties: + AccountId: + type: integer + CreatedByUser: + type: string + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the Order. Only alphanumeric values, + dashes and spaces are allowed. + maxLength: 40 + type: string + DldaTnGroups: + items: + $ref: '#/components/schemas/DldaTnGroup' + type: array + ErrorList: + items: + properties: + Error: + properties: + Code: + format: int32 + type: integer + Description: + type: string + TelephoneNumber: + type: string + type: object + type: array + LastModifiedDate: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + ProcessingStatus: + type: string + type: object + DldaTnGroup: + description: AddressType has to be DLDA + properties: + Address: + $ref: '#/components/schemas/Address' + ListAddress: + type: boolean + ListingName: + $ref: '#/components/schemas/DldaListingName' + ListingType: + enum: + - LISTED + - NON_LISTED + - NON_PUBLISHED + type: string + SubscriberType: + enum: + - RESIDENTIAL + - BUSINESS + type: string + TelephoneNumbers: + description: >- + A list of telephone numbers you need to bind information from + payload + items: + type: string + xml: + name: TelephoneNumber + type: array + required: + - SubscriberType + - ListingType + - ListAddress + type: object + E911: + properties: + Address: + $ref: '#/components/schemas/Address' + CallerName: + type: string + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroup' + type: object + E911Address: + properties: + AddressLine2: + type: string + AddressType: + type: string + City: + type: string + Country: + type: string + County: + type: string + HouseNumber: + type: string + HousePrefix: + type: string + HouseSuffix: + type: string + Latitude: + type: string + Longitude: + type: string + PlusFour: + type: string + PostDirectional: + type: string + PreDirectional: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + E911AlternateEndUserIdentifier: + properties: + CallbackNumber: + type: string + CallerName: + type: string + Identifier: + type: string + LocationId: + type: string + PIDFLOEnabled: + type: boolean + PreferredLanguage: + enum: + - en + - fr + - Incorrect value + type: string + type: object + E911OrderFetchResponse: + properties: + E911Order: + properties: + AccountId: + type: integer + AdditionalAddress: + $ref: '#/components/schemas/Address' + Address: + $ref: '#/components/schemas/E911Address' + AlternateEndUserIdentifiers: + items: + $ref: '#/components/schemas/AlternateEndUserIdentifier' + type: array + CallerName: + type: string + CreatedByUser: + type: string + CustomerId: + type: string + ErrorList: + items: + $ref: '#/components/schemas/Error' + type: array + LastModifiedDate: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + OrderType: + type: string + ProcessingStatus: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + E911OrderPayload: + properties: + AdditionalAddresses: + items: + $ref: '#/components/schemas/E911Address' + type: array + Address: + $ref: '#/components/schemas/E911Address' + AlternateEndUserIdentifiers: + items: + $ref: '#/components/schemas/E911AlternateEndUserIdentifier' + type: array + CallerName: + type: string + CustomerOrderId: + type: string + LocationId: + type: string + PeerId: + type: integer + SiteId: + type: integer + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + E911OrderResponse: + properties: + E911OrderResponse: + properties: + E911Order: + $ref: '#/components/schemas/E911OrderPayload' + type: object + type: object + E911Orders: + properties: + E911Orders: + properties: + E911OrderSummary: + items: + properties: + CountOfTNs: + type: integer + OrderDate: + type: string + OrderId: + type: string + OrderStatus: + type: string + OrderType: + type: string + accountId: + type: integer + lastModifiedDate: + type: string + userId: + type: string + type: array + TotalCount: + type: integer + type: object + type: object + E911Settings: + properties: + EVSCredentials: + $ref: '#/components/schemas/EVSCredentials' + Hosts: + $ref: '#/components/schemas/Hosts' + type: object + E911SettingsResponse: + properties: + E911Settings: + $ref: '#/components/schemas/E911Settings' + type: object + EVSCredential: + properties: + EVSAccountId: + type: integer + RouteType: + type: string + type: object + EVSCredentials: + properties: + EVSCredentials: + items: + $ref: '#/components/schemas/EVSCredential' + type: array + type: object + EdgeManagementSettings: + properties: + HttpVoice: + $ref: '#/components/schemas/HttpVoice' + ProductSpecificAccessRestrictions: + items: + $ref: '#/components/schemas/AccessRestriction' + type: array + SbcSettings: + $ref: '#/components/schemas/SbcSettings' + SipAuthentication: + $ref: '#/components/schemas/SipAuthentication' + TollFreePeeringPartner: + $ref: '#/components/schemas/TollFreePeeringPartner' + WebRtc: + $ref: '#/components/schemas/WebRtc' + type: object + EdgeManagementSettingsResponse: + properties: + EdgeManagementSettings: + $ref: '#/components/schemas/EdgeManagementSettings' + type: object + EepAeuiIds: + description: >- + A container of emergency endpoints that are of type AEUI. This element + may be omitted if none of the emergency endpoints to be associated or + dissociated are Alternate End User Identities. + properties: + Identifier: + description: >- + A unique identifier for the AEUI representing an emergency endpoint + in the ListOfEepAeuiIds. The list may consist of a single AEUI ID if + desired. + maxLength: 200 + type: string + type: object + EepTns: + description: >- + A container of emergency endpoints that are of type TN. This element may + be omitted if none of the emergency endpoints to be associated or + dissociated are telephone numbers. + properties: + TelephoneNumber: + description: >- + A 10-digit telephone number representing an emergency endpoint in + the ListOfEepTns. The list may consist of a single TN if desired. + maxLength: 10 + type: string + type: object + EepToEngAssociations: + properties: + EepAeuiIds: + properties: + Identifier: + items: + $ref: '#/components/schemas/Identifier' + type: array + type: object + EepTns: + properties: + TelephoneNumber: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + Endpoints: + properties: + Identifier: + items: + $ref: '#/components/schemas/Identifier' + type: array + type: object + type: object + EepToEngAssociationsPayload: + properties: + EepAeuiIds: + items: + $ref: '#/components/schemas/Identifier' + type: array + EepTns: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + Endpoints: + items: + $ref: '#/components/schemas/Identifier' + type: array + type: object + EmailSubscription: + properties: + DigestRequested: + enum: + - NONE + - DAILY + type: string + Email: + type: string + required: + - DigestRequested + type: object + EmailSubscriptionByEventTypeRequest: + properties: + EmailSubscription: + $ref: '#/components/schemas/EmailSubscription' + EventType: + enum: + - MESSAGING_LOST + type: string + required: + - EventType + title: Email subscription by event type + type: object + EmailSubscriptionByOrderTypeRequest: + properties: + EmailSubscription: + $ref: '#/components/schemas/EmailSubscription' + OrderId: + $ref: '#/components/schemas/SubscriptionOrderId' + OrderType: + $ref: '#/components/schemas/SubscriptionOrderType' + required: + - OrderType + title: Email subscription by order type + type: object + EmergencyGroupIdentifier: + description: >- + The mandatory identifier that uniquely identifies the emergency + notification group to which emergency endpoints are being associated. + This value is assigned by the system when the emergency notification + group is created. + maxLength: 255 + type: string + EmergencyNotificationEndpointAssociations: + description: Emergency Notification Endpoint associations + properties: + AddedAssociations: + $ref: '#/components/schemas/AddedAssociations' + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroupWithIdOnly' + type: object + EmergencyNotificationEndpointOrder: + description: Emergency Notification Endpoint order + properties: + CreatedBy: + $ref: '#/components/schemas/CreatedBy' + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderId' + EmergencyNotificationEndpointAssociations: + $ref: '#/components/schemas/EmergencyNotificationEndpointAssociations' + OrderCreatedDate: + $ref: '#/components/schemas/OrderCreatedDate' + OrderId: + $ref: '#/components/schemas/OrderId' + ProcessingStatus: + $ref: '#/components/schemas/ProcessingStatus' + type: object + EmergencyNotificationEndpointOrderForAddAssociation: + properties: + AddedAssociations: + description: >- + Included when emergency endpoint to emergency notification group + associations are to be created. Only AddedAssociations or Deleted + Associations may be included in a given order. + properties: + EepToEngAssociations: + description: >- + Mandatory container for the list of TNs and AEUI identifiers to + be associated or dissociated with the emergency notification + group + properties: + EepAeuiIds: + $ref: '#/components/schemas/EepAeuiIds' + EepTns: + $ref: '#/components/schemas/EepTns' + type: object + type: object + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderId' + EmergencyNotificationGroup: + description: Emergency notification group. + properties: + Identifier: + $ref: '#/components/schemas/EmergencyGroupIdentifier' + type: object + required: + - EmergencyNotificationGroup + - AddedAssociations + title: >- + Creating an order to adding emergency endpoint associations from an + emergency notification group + type: object + EmergencyNotificationEndpointOrderForRemoveAssociation: + properties: + CustomerOrderId: + description: >- + An optional customer-defined order identifier that is stored with + the Bandwidth order. This value is opaque to Bandwidth. + maxLength: 255 + type: string + DeletedAssociations: + description: >- + Included when emergency endpoint to emergency notification group + associations are to be removed. Only AddedAssociations or Deleted + Associations may be included in a given order. + properties: + EepToEngAssociations: + description: >- + Mandatory container for the list of TNs and AEUI identifiers to + be associated or dissociated with the emergency notification + group + properties: + EepAeuiIds: + $ref: '#/components/schemas/EepAeuiIds' + EepTns: + $ref: '#/components/schemas/EepTns' + type: object + type: object + EmergencyNotificationGroup: + description: Emergency notification group. + properties: + Identifier: + $ref: '#/components/schemas/EmergencyGroupIdentifier' + type: object + required: + - EmergencyNotificationGroup + - AddedAssociations + title: >- + Creating an order to removing emergency endpoint associations from an + emergency notification group + type: object + EmergencyNotificationEndpointOrderResponse: + description: Emergency Notification Endpoint Order Response + properties: + EmergencyNotificationEndpointOrder: + $ref: '#/components/schemas/EmergencyNotificationEndpointOrder' + type: object + EmergencyNotificationEndpointOrdersResponse: + properties: + EmergencyNotificationEndpointOrders: + description: Emergency Notification Endpoint Order list + properties: + EmergencyNotificationEndpointOrder: + $ref: '#/components/schemas/EmergencyNotificationEndpointOrder' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Endpoint Order Response + type: object + EmergencyNotificationGroup: + properties: + CreatedDate: + type: string + Description: + type: string + EepToEngAssociations: + $ref: '#/components/schemas/EepToEngAssociations' + EmergencyNotificationRecipients: + $ref: '#/components/schemas/EmergencyNotificationRecipients' + EndpointCount: + format: int32 + type: integer + Identifier: + type: string + ModifiedBy: + type: string + ModifiedDate: + type: string + type: object + EmergencyNotificationGroupOrder: + description: Emergency Notification Group order. + properties: + AddedEmergencyNotificationGroup: + $ref: '#/components/schemas/AddedEmergencyNotificationGroupWithId' + CreatedBy: + $ref: '#/components/schemas/CreatedBy' + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderId' + OrderCreatedDate: + $ref: '#/components/schemas/OrderCreatedDate' + OrderId: + $ref: '#/components/schemas/OrderId' + ProcessingStatus: + $ref: '#/components/schemas/ProcessingStatus' + type: object + EmergencyNotificationGroupOrderForAddGroup: + properties: + AddedEmergencyNotificationGroup: + $ref: '#/components/schemas/AddedEmergencyNotificationGroup' + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderId' + required: + - AddedEmergencyNotificationGroup + - AddedEmergencyNotificationRecipients + - EmergencyNotificationRecipient + - Identifier + title: Creating a new emergency notification group + type: object + EmergencyNotificationGroupOrderForDeleteGroup: + properties: + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderId' + DeletedEmergencyNotificationGroup: + description: >- + Indicates that the order is to delete an emergency notification + group. + properties: + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + type: object + required: + - DeletedEmergencyNotificationGroup + - Identifier + title: Deleting an emergency notification group + type: object + EmergencyNotificationGroupOrderForUpdateGroup: + properties: + ModifiedEmergencyNotificationGroup: + description: >- + Indicates that the order is to modify an emergency notification + group. + properties: + Description: + description: >- + A mandatory 200 character description of the Emergency + Notification Group. The contents of this field are freeform, but + ideally should describe the set of endpoints that are being + grouped together for the purpose of having the same emergency + notification recipients. E.g. Occupants of building 5 main + campus. + maxLength: 200 + type: string + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + type: object + required: + - ModifiedEmergencyNotificationGroup + - Identifier + title: Updating an emergency notification group + type: object + EmergencyNotificationGroupOrderForUpdateGroupByAddingRecipient: + properties: + ModifiedEmergencyNotificationGroup: + description: >- + Indicates that the order is to modify an emergency notification + group. + properties: + AddedEmergencyNotificationRecipients: + description: >- + Indicates that emergency notification recipients are being added + to the emergency notification group. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithId' + type: object + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + type: object + required: + - ModifiedEmergencyNotificationGroup + - AddedEmergencyNotificationRecipients + - EmergencyNotificationRecipient + - Identifier + title: >- + Updating an emergency notification group by adding emergency + notification recipients + type: object + EmergencyNotificationGroupOrderForUpdateGroupByRemovingRecipient: + properties: + ModifiedEmergencyNotificationGroup: + description: >- + Indicates that the order is to modify an emergency notification + group. + properties: + DeletedEmergencyNotificationRecipients: + description: >- + Indicates that emergency notification recipients are being + removed from the emergency notification group. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithId' + type: object + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + type: object + required: + - ModifiedEmergencyNotificationGroup + - DeletedEmergencyNotificationRecipients + - EmergencyNotificationRecipient + - Identifier + title: >- + Updating an emergency notification group by removing emergency + notification recipients + type: object + EmergencyNotificationGroupOrderResponse: + properties: + EmergencyNotificationGroupOrder: + $ref: '#/components/schemas/EmergencyNotificationGroupOrder' + title: Emergency Notification Group Order Response + type: object + EmergencyNotificationGroupOrdersResponse: + properties: + EmergencyNotificationGroupOrders: + description: List of Emergency Notification Group orders. + properties: + EmergencyNotificationGroupOrder: + $ref: '#/components/schemas/EmergencyNotificationGroupOrder' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Group Orders Response + type: object + EmergencyNotificationGroupPayload: + properties: + CreatedDate: + type: string + Description: + type: string + EepToEngAssociations: + $ref: '#/components/schemas/EepToEngAssociationsPayload' + EmergencyNotificationRecipients: + $ref: '#/components/schemas/EmergencyNotificationRecipientsPayload' + EndpointCount: + type: integer + Identifier: + $ref: '#/components/schemas/Identifier' + ModifiedBy: + type: string + ModifiedDate: + type: string + type: object + EmergencyNotificationGroupResponse: + properties: + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroup' + title: Emergency Notification Group Response + type: object + EmergencyNotificationGroupWithIdOnly: + description: Emergency notification group. + properties: + Identifier: + $ref: '#/components/schemas/EmergencyGroupIdentifier' + type: object + EmergencyNotificationGroupsResponse: + properties: + EmergencyNotificationGroups: + description: Emergency notification group. + properties: + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroup' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Groups Response + type: object + EmergencyNotificationRecipient: + properties: + Callback: + $ref: '#/components/schemas/Callback' + CreatedDate: + type: string + Description: + type: string + EmailAddress: + type: string + GroupCount: + type: string + Identifier: + type: string + LastModifiedDate: + type: string + Sms: + properties: + TelephoneNumber: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + Tts: + properties: + TelephoneNumber: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + Type: + type: string + UpdatedBy: + type: string + type: object + EmergencyNotificationRecipientCallback: + properties: + Callback: + $ref: '#/components/schemas/RecipientCallback' + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + Type: + enum: + - CALLBACK + type: string + required: + - Type + - Callback + title: Emergency notification recipient for Callback type + type: object + EmergencyNotificationRecipientEmail: + properties: + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + EmailAddress: + $ref: '#/components/schemas/RecipientEmailAddress' + Type: + enum: + - EMAIL + type: string + required: + - Type + - EmailSubscription + title: Emergency notification recipient for Email type + type: object + EmergencyNotificationRecipientPayload: + properties: + Callback: + $ref: '#/components/schemas/CallbackPayload' + CreatedDate: + type: string + Description: + type: string + EmailAddress: + type: string + GroupCount: + type: string + Identifier: + $ref: '#/components/schemas/Identifier' + LastModifiedDate: + type: string + Sms: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + Tts: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + Type: + type: string + UpdatedBy: + type: string + type: object + EmergencyNotificationRecipientResponseWithCallback: + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithCallback' + title: Emergency Notification Recipient Response with Callback + type: object + EmergencyNotificationRecipientResponseWithEmail: + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithEmail' + title: Emergency Notification Recipient Response With Email + type: object + EmergencyNotificationRecipientResponseWithSms: + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithSms' + title: Emergency Notification Recipient Response with SMS + type: object + EmergencyNotificationRecipientResponseWithTts: + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithTts' + title: Emergency Notification Recipient Response with TTS + type: object + EmergencyNotificationRecipientSms: + properties: + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + SMS: + $ref: '#/components/schemas/RecipientSms' + Type: + enum: + - SMS + type: string + required: + - Type + - SMS + title: Emergency notification recipient for SMS type + type: object + EmergencyNotificationRecipientTts: + properties: + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + TTS: + $ref: '#/components/schemas/RecipientTTS' + Type: + enum: + - TTS + type: string + required: + - Type + - TTS + title: Emergency notification recipient for TTS type + type: object + EmergencyNotificationRecipientWithCallback: + description: Emergency Notification Recipient with callback + properties: + Callback: + $ref: '#/components/schemas/RecipientCallback' + CreatedDate: + $ref: '#/components/schemas/RecipientCreatedDate' + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + LastModifiedDate: + $ref: '#/components/schemas/RecipientLastModifiedDate' + Type: + enum: + - CALLBACK + type: string + type: object + EmergencyNotificationRecipientWithEmail: + description: Emergency Notification Recipient with email + properties: + CreatedDate: + $ref: '#/components/schemas/RecipientCreatedDate' + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + EmailAddress: + $ref: '#/components/schemas/RecipientEmailAddress' + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + LastModifiedDate: + $ref: '#/components/schemas/RecipientLastModifiedDate' + Type: + enum: + - EMAIL + type: string + type: object + EmergencyNotificationRecipientWithId: + description: An emergency notification recipient. + properties: + Identifier: + description: >- + The identifier that uniquely identifies an emergency notification + recipient. This identifier was assigned when the emergency + notification recipient was created. A given emergency notification + recipient may be associated with only one emergency notification + group. + maxLength: 255 + type: string + type: object + EmergencyNotificationRecipientWithSms: + description: Emergency Notification Recipient with sms. + properties: + CreatedDate: + $ref: '#/components/schemas/RecipientCreatedDate' + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + Sms: + $ref: '#/components/schemas/RecipientSms' + lastModifiedDate: + $ref: '#/components/schemas/RecipientLastModifiedDate' + type: + enum: + - SMS + type: string + type: object + EmergencyNotificationRecipientWithTts: + description: Emergency Notification Recipient with tts. + properties: + CreatedDate: + $ref: '#/components/schemas/RecipientCreatedDate' + Description: + $ref: '#/components/schemas/NotificationRecipientDescription' + Identifier: + $ref: '#/components/schemas/RecipientIdentifier' + LastModifiedDate: + $ref: '#/components/schemas/RecipientLastModifiedDate' + TTS: + $ref: '#/components/schemas/RecipientTTS' + Type: + enum: + - TTS + type: string + type: object + EmergencyNotificationRecipients: + properties: + EmergencyNotificationRecipient: + items: + $ref: '#/components/schemas/EmergencyNotificationRecipient' + type: array + type: object + EmergencyNotificationRecipientsPayload: + properties: + EmergencyNotificationRecipient: + items: + $ref: '#/components/schemas/EmergencyNotificationRecipientPayload' + type: array + type: object + EmergencyNotificationRecipientsResponseWithCallback: + properties: + EmergencyNotificationRecipients: + description: List of Emergency Notification Recipients. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithCallback' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Recipients Response with Callback + type: object + EmergencyNotificationRecipientsResponseWithEmail: + properties: + EmergencyNotificationRecipients: + description: List of Emergency Notification Recipients. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithEmail' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Recipients Response With Email + type: object + EmergencyNotificationRecipientsResponseWithSms: + properties: + EmergencyNotificationRecipients: + description: List of Emergency Notification Recipients. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithSms' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Recipients Response with SMS + type: object + EmergencyNotificationRecipientsResponseWithTts: + properties: + EmergencyNotificationRecipients: + description: List of Emergency Notification Recipients. + properties: + EmergencyNotificationRecipient: + $ref: '#/components/schemas/EmergencyNotificationRecipientWithTts' + type: object + Links: + $ref: '#/components/schemas/Links' + title: Emergency Notification Recipients Response with TTS + type: object + Error: + properties: + Code: + type: integer + Description: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + ErrorResponse: + properties: + ErrorResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + ExistingTelephoneNumberOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + ExistingTelephoneNumberOrderType: + $ref: '#/components/schemas/ExistingTelephoneNumberOrderType' + type: object + xml: + name: Order + ExistingTelephoneNumberOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + ExistingTelephoneNumberOrderType: + $ref: '#/components/schemas/ExistingTelephoneNumberOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + ExistingTelephoneNumberOrderType: + properties: + ReservationIdList: + items: + type: string + xml: + name: ReservationId + type: array + TelephoneNumberList: + items: + type: string + xml: + name: TelephoneNumber + type: array + type: object + xml: + name: ExistingTelephoneNumberOrderType + ExternalTnsOrder: + properties: + AccountId: + type: string + Action: + enum: + - IMPORT + - REMOVE + type: string + CreatedByUser: + type: string + CustomerOrderId: + type: string + Errors: + items: + $ref: '#/components/schemas/Error' + type: array + LastModifiedDate: + type: string + LoaType: + enum: + - CARRIER + - SUBSCRIBER + type: string + OrderCreateDate: + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + SipPeerId: + type: string + SiteId: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + ExternalTnsOrderErrorResponse: + properties: + ExternalTnsOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + ExternalTnsOrderRequest: + properties: + ExternalTnsOrder: + properties: + Action: + description: Indentify the action on external TNs + enum: + - IMPORT + - REMOVE + type: string + CustomerOrderId: + description: An order ID created by the customer for their tracking purposes + format: Only alphanumeric values, dashes and spaces are allowed + maxLength: 40 + type: string + LoaType: + default: CARRIER + description: Identify the LoaType on external TNs + enum: + - CARRIER + - SUBSCRIBER + type: string + SipPeerId: + description: >- + The ID of the SIP Peer that the Telephone Numbers are to be + provisioned to + format: int32 + type: integer + SiteId: + description: >- + The ID of the Site that the Telephone Numbers are to be + provisioned to + format: int32 + type: integer + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + required: + - SiteId + - Action + type: object + type: object + ExternalTnsOrderResponse: + properties: + ExternalTnsOrderResponse: + properties: + ExternalTnsOrder: + $ref: '#/components/schemas/ExternalTnsOrder' + type: object + type: object + ExternalTnsOrders: + properties: + ExternalTnsOrders: + properties: + ExternalTnsOrder: + items: + $ref: '#/components/schemas/ExternalTnsOrder' + type: array + TotalCount: + type: integer + type: object + type: object + ExternalTnsOrdersError: + properties: + ExternalTnsOrders: + $ref: '#/components/schemas/ResponseStatus' + type: object + Feature: + properties: + Status: + type: string + type: object + FileData: + properties: + FileMetaData: + $ref: '#/components/schemas/FileMetaData' + FileName: + type: string + type: object + FileListResponse: + properties: + FileListResponse: + properties: + fileCount: + type: integer + fileData: + $ref: '#/components/schemas/FileData' + resultCode: + type: integer + resultMessage: + type: string + type: object + type: object + FileMetaData: + properties: + DocumentName: + description: Name of particular document. + type: string + DocumentType: + description: Enum of possible file type. + enum: + - LOA + - INVOICE + - CSR + - OTHER + type: string + type: object + FileMetaDataRequest: + properties: + FileMetaData: + properties: + DocumentName: + type: string + DocumentType: + enum: + - LOA + - INVOICE + - CSR + - OTHER + type: string + type: object + type: object + FileUploadResponse: + properties: + FileUploadResponse: + properties: + fileName: + description: >- + The (optional) name that was associated with the file when it + was uploaded. + type: integer + resultCode: + description: Result code of fetching the list of files from AWS. + type: integer + resultMessage: + description: Results of the attempt to fetch the list of files. + type: string + type: object + type: object + GeocodeRequestAddress: + properties: + RequestAddress: + properties: + AddressLine1: + type: string + AddressLine2: + type: string + AddressType: + type: string + City: + type: string + Country: + type: string + County: + type: string + HouseNumber: + type: string + HousePrefix: + type: string + HouseSuffix: + type: string + PlusFour: + type: string + PostDirectional: + type: string + PreDirectional: + type: string + ResetAddressFields: + type: boolean + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + required: + - AddressLine1 + - City + - StateCode + type: object + type: object + GeocodeRequestConflictResponse: + properties: + GeocodeRequestResponse: + properties: + ErrorMessage: + type: string + GeocodeAddress: + $ref: '#/components/schemas/Address' + RequestAddress: + $ref: '#/components/schemas/Address' + type: object + type: object + GeocodeRequestErrorResponse: + properties: + GeocodeRequestResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + GeocodeRequestResponse: + properties: + GeocodeRequestResponse: + properties: + GeocodeAddress: + $ref: '#/components/schemas/Address' + RequestAddress: + $ref: '#/components/schemas/Address' + type: object + type: object + Host: + properties: + HostName: + type: string + Port: + type: string + type: object + HostedTelephoneNumberDetailHistory: + properties: + AccountId: + format: int32 + type: integer + Features: + items: + $ref: '#/components/schemas/Feature' + type: array + LastModified: + type: string + MessagingSettings: + $ref: '#/components/schemas/TnDetailsMessagingSettings' + ServiceTypes: + items: + type: string + xml: + name: TnAttribute + type: array + SipPeer: + $ref: '#/components/schemas/SipPeer' + Site: + $ref: '#/components/schemas/Site' + TnAttributes: + items: + type: string + xml: + name: TnAttribute + type: array + TnOptions: + $ref: '#/components/schemas/TnOptions' + type: object + Hosts: + properties: + Hosts: + items: + $ref: '#/components/schemas/Host' + type: array + type: object + HttpVoice: + properties: + CallAdmissionControlSettings: + $ref: '#/components/schemas/CallAdmissionControlSettings' + Enabled: + type: boolean + type: object + Identifier: + type: string + ImportTnCheckerErrorResponse: + properties: + ImportTnCheckerResponse: + properties: + Errors: + items: + properties: + Code: + type: integer + Description: + type: string + title: Error + type: array + type: object + type: object + ImportTnCheckerPayload: + properties: + ImportTnCheckerPayload: + properties: + SipPeerId: + format: int32 + type: integer + SiteId: + format: int32 + type: integer + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + ImportTnCheckerResponse: + properties: + ImportTnCheckerResponse: + properties: + ImportTnCheckerPayload: + properties: + ImportTnErrors: + items: + $ref: '#/components/schemas/ImportTnError' + type: array + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + type: object + ImportTnError: + properties: + Code: + type: integer + Description: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + ImportTnOrder: + properties: + AccountId: + type: string + CreatedByUser: + type: string + CustomerOrderId: + type: string + Errors: + items: + $ref: '#/components/schemas/Error' + type: array + LastModifiedDate: + type: string + LoaAuthorizingPerson: + type: string + LoaType: + enum: + - CARRIER + - SUBSCRIBER + type: string + OrderCreateDate: + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + SipPeerId: + type: string + SiteId: + type: string + Subscriber: + $ref: '#/components/schemas/ImportTnSubscriber' + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + ImportTnOrderError: + properties: + ImportTnOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + ImportTnOrderRequest: + properties: + ImportTnOrder: + properties: + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only + alphanumeric values, dashes and spaces are allowed. Max length + is 40 characters + type: string + LoaAuthorizingPerson: + description: First and last name of person who authorized LOA. + type: string + LoaType: + default: SUBSCRIBER + description: Identify the LoaType on TNs. + enum: + - SUBSCRIBER + - CARRIER + type: string + SipPeerId: + description: >- + A sippeer id of provided site to which telephone number will be + moved + type: integer + SiteId: + description: A site id to which telephone number will be moved + type: integer + Subscriber: + description: Subscriber information. + properties: + Name: + description: Subscriber business / customer name. + maxLength: 45 + type: string + ServiceAddress: + description: address + properties: + City: + description: City. + type: string + HouseNumber: + description: Street address number. + type: integer + StateCode: + description: Two letter state code. + type: string + StreetName: + description: Street name. + type: string + Zip: + description: Zip code. + type: string + TelephoneNumbers: + description: List of telephone numbers to be moved + items: + properties: + TelephoneNumber: + description: Ten digit phone number with no dots or dashes + type: integer + type: object + minItems: 1 + type: array + required: + - TelephoneNumbers + - SiteId + - Subscriber + - LoaAuthorizingPerson + type: object + title: ImportTnOrder + ImportTnOrderResponse: + properties: + ImportTnOrderResponse: + properties: + ImportTnOrder: + $ref: '#/components/schemas/ImportTnOrder' + type: object + type: object + ImportTnOrderSummary: + properties: + AccountId: + type: string + CountsOfTNs: + type: integer + CustomerOrderId: + type: string + LastModifiedDate: + type: string + OrderDate: + type: string + OrderType: + enum: + - import_tn_orders + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + UserId: + type: string + type: object + ImportTnOrdersResponseList: + properties: + ImportTnOrders: + properties: + ImportTnOrderSummary: + $ref: '#/components/schemas/ImportTnOrderSummary' + TotalCount: + type: integer + type: object + type: object + ImportTnSubscriber: + properties: + Name: + type: string + ServiceAddress: + $ref: '#/components/schemas/Address' + type: object + ImportToAccountNumberOrderErrorResponse: + properties: + OrderRequest: + properties: + ErrorList: + items: + $ref: '#/components/schemas/Error' + type: array + type: object + title: ImportToAccountNumberOrderErrorResponse + ImportToAccountNumberOrderResponse: + properties: + OrderRequest: + properties: + ErrorList: + items: + $ref: '#/components/schemas/Error' + type: array + ImportToAccountNumberOrderType: + $ref: '#/components/schemas/ImportToAccountNumberOrderType' + OrderCreatedDate: + $ref: '#/components/schemas/OrderCreatedDate' + PeerId: + description: >- + A sippeer id of provided site to which telephone number will be + imported + type: integer + SiteId: + description: A site id to which telephone number will be imported + type: integer + id: + description: Assigned order id. + type: integer + type: object + title: ImportToAccountNumberOrderResponse + ImportToAccountNumberOrderResponseForGet: + properties: + OrderRequest: + properties: + ErrorList: + items: + $ref: '#/components/schemas/Error' + type: array + ImportedTelephoneNumberDetailList: + $ref: '#/components/schemas/ImportedTelephoneNumberDetailList' + ImportedTelephoneNumberList: + $ref: '#/components/schemas/ImportedTelephoneNumberList' + OrderStatus: + type: string + orderRequest: + $ref: '#/components/schemas/ImportToAccountOrderResponseOrderRequest' + type: object + title: ImportToAccountNumberOrderResponse + ImportToAccountNumberOrderType: + properties: + BatchId: + $ref: '#/components/schemas/BatchId' + BatchSize: + $ref: '#/components/schemas/BatchSize' + BillingType: + $ref: '#/components/schemas/BillingType' + InitialStatus: + $ref: '#/components/schemas/InitialStatus' + TelephoneNumberList: + $ref: '#/components/schemas/TelephoneNumberList' + TnAttributes: + $ref: '#/components/schemas/TnAttributes' + VendorName: + $ref: '#/components/schemas/VendorName' + required: + - TelephoneNumberList + - BillingType + - VendorName + type: object + ImportToAccountOrderRequest: + properties: + ImportToAccountNumberOrder: + properties: + ImportToAccountNumberOrderType: + $ref: '#/components/schemas/ImportToAccountNumberOrderType' + PeerId: + description: >- + A sippeer id of provided site to which telephone number will be + imported + type: integer + SiteId: + description: A site id to which telephone number will be imported + type: integer + required: + - ImportToAccountNumberOrderType + - SiteId + type: object + title: ImportTnAccountOrder + ImportToAccountOrderResponseOrderRequest: + properties: + ImportToAccountNumberOrderType: + $ref: '#/components/schemas/ImportToAccountNumberOrderType' + OrderCreatedDate: + $ref: '#/components/schemas/OrderCreatedDate' + PeerId: + description: >- + A sippeer id of provided site to which telephone number will be + imported + type: integer + SiteId: + description: A site id to which telephone number will be imported + type: integer + title: orderRequest + ImportVoiceTnOrder: + properties: + AccountId: + type: string + CreatedByUser: + type: string + CustomerOrderId: + type: string + Errors: + items: + $ref: '#/components/schemas/Error' + type: array + LastModifiedDate: + type: string + OrderCreateDate: + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + SipPeerId: + type: string + SiteId: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + ImportVoiceTnOrderError: + properties: + ImportVoiceTnOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + ImportVoiceTnOrderRequest: + properties: + ImportVoiceTnOrder: + properties: + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only + alphanumeric values, dashes and spaces are allowed. Max length + is 40 characters + type: string + SipPeerId: + description: >- + A sippeer id of provided site to which telephone number will be + moved + type: integer + SiteId: + description: A site id to which telephone number will be moved + type: integer + TelephoneNumbers: + description: List of telephone numbers to be moved + items: + properties: + TelephoneNumber: + description: Ten digit phone number with no dots or dashes + type: integer + type: object + minItems: 1 + type: array + required: + - TelephoneNumbers + - SiteId + type: object + title: ImportVoiceTnOrder + ImportVoiceTnOrderResponse: + properties: + ImportVoiceTnOrderResponse: + properties: + ImportVoiceTnOrder: + $ref: '#/components/schemas/ImportVoiceTnOrder' + type: object + type: object + ImportVoiceTnOrderSummary: + properties: + AccountId: + type: string + CountsOfTNs: + type: integer + CustomerOrderId: + type: string + LastModifiedDate: + type: string + OrderDate: + type: string + OrderType: + enum: + - import_voice_tn_orders + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + UserId: + type: string + type: object + ImportVoiceTnOrdersResponseList: + properties: + ImportVoiceTnOrders: + properties: + ImportVoiceTnOrderSummary: + $ref: '#/components/schemas/ImportVoiceTnOrderSummary' + TotalCount: + type: integer + type: object + type: object + ImportedCampaign: + properties: + ImportedCampaign: + properties: + CampaignId: + type: string + CreateDate: + type: string + Description: + type: string + MnoStatusList: + items: + $ref: '#/components/schemas/MnoStatus' + type: array + Status: + type: string + type: object + type: object + ImportedCampaignRequest: + properties: + ImportedCampaign: + properties: + CampaignId: + description: Campaign ID generated by TCR + maximum: 12 + type: string + required: + - CampaignId + type: object + type: object + ImportedTelephoneNumberDetailList: + description: List of telephone numbers details that were imported + items: + properties: + TelephoneNumberDetail: + properties: + FullNumber: + description: Ten digit phone number with no dots or dashes + type: integer + type: object + type: object + minItems: 1 + type: array + ImportedTelephoneNumberList: + description: List of telephone numbers that were imported + items: + properties: + TelephoneNumber: + description: Ten digit phone number with no dots or dashes + type: integer + type: object + minItems: 1 + type: array + InitialStatus: + description: >- + TN status that be assigned to imported telephone numbers. Required + existence of "Protected" TnAttribute. + enum: + - Available + type: string + IntPatch: + properties: + delete: + type: boolean + type: object + InternalLnpOrderRequest: + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + - $ref: '#/components/schemas/LnpOrderAdditionalFields' + - properties: + NewBillingTelephoneNumber: + description: >- + This field is used to specify a new billing telephone number + on the losing carrier account.

    Cannot be the same + as `BillingTelephoneNumber` or be present in the list of + ported numbers. + type: string + PartialPort: + description: >- + The `PartialPort` must be set to `true` if the intent is to + **NOT** port all of the telephone numbers associated with + the `BillingTelephoneNumber`.

    If PartialPort is + omitted or false, and the `ListOfPhoneNumbers` does not + include all of the telephone numbers associated with the + `BillingTelephoneNumber`, the port-in will be + rejected.

    PartialPort is applicable only to on-net + port-types. + type: string + TnAttributes: + description: >- + The `TnAttributes` field specifies line attributes that will + apply to the ported in telephone numbers. If present, + `TnAttributes` may have a value of `PROTECTED`. + items: + $ref: '#/components/schemas/TnAttribute' + type: array + type: object + title: Internal + type: object + IrisStatus: + properties: + Code: + format: int32 + type: integer + Description: + type: string + type: object + LATASearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + LATASearchAndOrderType: + $ref: '#/components/schemas/LATASearchAndOrderType' + type: object + xml: + name: Order + LATASearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + LATASearchAndOrderType: + $ref: '#/components/schemas/LATASearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + LATASearchAndOrderType: + properties: + LATA: + type: string + Quantity: + format: int32 + type: integer + type: object + xml: + name: LATASearchAndOrderType + LNPResponseWrapper: + properties: + LNPResponseWrapper: + properties: + Links: + $ref: '#/components/schemas/Links' + TotalCount: + type: integer + lnpPortInfoForGivenStatus: + $ref: '#/components/schemas/lnpPortInfoForGivenStatus' + type: object + type: object + LegacyTerminationSettings: + properties: + BillingType: + enum: + - DNIS + - LRN + type: string + ConcurrentBidirectionalCalls: + type: integer + ConcurrentOutboundCalls: + type: integer + CpsQueue: + type: integer + CustomerTrafficAllowed: + enum: + - ALL + - LITE + - DOMESTIC + - NONE + type: string + DiscountPercentage: + type: integer + GuaranteedTermination: + type: boolean + RateType: + enum: + - FLAT + - FULL_CR + - NPANXX + - BILL_NUM_LCR + type: string + type: object + LidbDetailTnGroup: + properties: + SubscriberInformation: + description: >- + This is the field that is displayed to the user receiving the phone + call from the Telephone numbers in the TelephoneNumberList + type: string + TelephoneNumbers: + description: >- + A list of telephone numbers that will all assume the + SubscriberInformation that is listed in the payload. In an + enterprise context it is not uncommon for all of the served + telephone numbers to use the same string for the Subscriber + Information. + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + UseType: + enum: + - BUSINESS + - RESIDENTIAL + type: string + Visibility: + description: ' If it is tagged as PRIVATE then the data will be provided, but the display will not be provided on a standard phone call.' + enum: + - PUBLIC + - PRIVATE + type: string + required: + - UseType + - Visibility + title: LidbTnGroup + type: object + LidbOrder: + properties: + LidbOrder: + $ref: '#/components/schemas/LidbOrderPayload' + type: object + LidbOrderError: + properties: + Code: + format: int32 + type: integer + Description: + type: string + TelephoneNumber: + type: string + title: Error + type: object + LidbOrderErrorResponse: + properties: + LidbOrderResponse: + properties: + ErrorList: + items: + $ref: '#/components/schemas/LidbOrderError' + type: array + LidbOrder: + $ref: '#/components/schemas/LidbOrderPayload' + Status: + properties: + Code: + description: Numeric designation of corresponding error + type: integer + Description: + description: 'Detailed explanation about error ' + type: string + type: object + type: object + type: object + LidbOrderHistoryResponse: + properties: + ResponseSelectWrapper: + properties: + ListOrderIdUserIdDate: + properties: + OrderIdUserIdDate: + items: + $ref: '#/components/schemas/OrderSummary' + type: array + TotalCount: + type: integer + type: object + type: object + type: object + LidbOrderPayload: + properties: + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the Order. The element is optional. + Only alphanumeric values, dashes and spaces are allowed. + maxLength: 40 + type: string + LidbTnGroups: + items: + $ref: '#/components/schemas/LidbDetailTnGroup' + type: array + Name: + type: string + PeerId: + format: int32 + type: integer + SiteId: + format: int32 + type: integer + type: object + LidbOrderReportErrorResponse: + properties: + LidbOrderReportResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + LidbOrderResponse: + properties: + LidbOrderResponse: + $ref: '#/components/schemas/LidbOrderResponsePayload' + type: object + LidbOrderResponsePayload: + properties: + LidbOrder: + properties: + CreatedByUser: + type: string + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the Order. The element is + optional. Only alphanumeric values, dashes and spaces are + allowed. + maxLength: 40 + type: string + ErrorList: + items: + $ref: '#/components/schemas/LidbOrderError' + type: array + LastModifiedDate: + type: string + LidbTnGroups: + items: + $ref: '#/components/schemas/LidbDetailTnGroup' + type: array + OrderCompleteDate: + type: string + OrderCreateDate: + type: string + PeerId: + format: int32 + type: integer + ProcessingStatus: + type: string + SiteId: + format: int32 + type: integer + orderId: + type: string + type: object + type: object + Links: + properties: + first: + description: The first (or only) page of results matching the query. + type: string + last: + description: >- + If more results exist than specified by 'size', this link return the + last page of result. + type: string + next: + description: >- + If more results exist than specified by 'size', this link returns + the next page of 'size' results. + type: string + previous: + description: >- + If the results are more than one page, this link returns the + previous page of 'size' results. + type: string + type: object + LnpCheckerTnList: + properties: + TN: + items: + type: string + xml: + name: TN + type: array + type: object + LnpError: + properties: + Code: + format: int32 + type: integer + Description: + type: string + TelephoneNumbers: + items: + type: string + xml: + name: Tn + type: array + title: Error + type: object + LnpOrderAdditionalFields: + properties: + AlternateSpid: + description: >- + Even though the telephone numbers are being ported into Bandwidth’s + SPID, some of Bandwidth’s wholesale customers have an alternate SPID + that is used to identify the telephone number with that customer. + type: string + BillingTelephoneNumber: + description: >- + The `BillingTelephoneNumber` is the primary telephone number + associated with the invoice that the subscriber gets from the losing + carrier. For wireline port-in, the BillingTelephoneNumber is + typically the telephone number being ported in. + type: string + Subscriber: + oneOf: + - $ref: '#/components/schemas/SubscriberBusiness' + - $ref: '#/components/schemas/SubscriberResidential' + Triggered: + description: >- + The `Triggered` field must be set to `true` if you want an + activation time other than the 11:30 AM ET default. The desired + activation time can then be specified in the time portion of the + `RequestedFocDate`. This field will be ignored if set for port-ins + with the `MANUAL_TOLLFREE`, `MANUAL_ON_NET`, or `MANUALOFFNET` port + types, as all manual port-ins are activated at 11:30 AM ET. + type: boolean + WirelessInfo: + description: Most common for telephone numbers that were formerly wireless. + properties: + AccountNumber: + description: >- + The `AccountNumber` is sometimes required to authorize the + port-out from the losing carrier. This is most common for + telephone numbers that were formerly wireless. + type: string + PinNumber: + description: >- + The `PinNumber` is sometimes required to authorize the port-out + from the losing carrier. This is most common for telephone + numbers that were formerly wireless. + type: string + title: WirelessInfo + type: object + required: + - BillingTelephoneNumber + - Subscriber + type: object + LnpOrderAdditionalModifiableFields: + properties: + AlternateSpid: + description: >- + Can only be modified in DRAFT state. Can only be modified if it is + not configured at the system level. + type: string + BillingTelephoneNumber: + type: string + Subscriber: + $ref: '#/components/schemas/PortinSubscriberSupp' + TnAttributes: + description: Can be SUPPed prior to completion of the port-in request. + items: + $ref: '#/components/schemas/TnAttribute' + type: array + Triggered: + description: May be included in the PUT payload as is, but cannot be changed. + type: boolean + type: object + LnpOrderAutomatedTollFreeFields: + properties: + TargetRespOrgId: + description: >- + This is the RespOrg ID that you want the toll free numbers ported + to. Normally it will specify a Bandwidth RespOrg ID like JYT01, but + it could be something else for RespOrg Exception customers. This + field is mandatory for non-draft toll free port-in orders. + maxLength: 5 + minLength: 5 + type: string + required: + - TargetRespOrgId + type: object + LnpOrderBasic: + properties: + CustomerOrderId: + description: >- + The `CustomerOrderId` is an optional field that may be provided by + the customer and will remain with the order. The value is opaque to + Bandwidth. + format: Only alphanumeric values, dashes and spaces + maxLength: 40 + type: string + ListOfPhoneNumbers: + description: >- + `ListOfPhoneNumbers` is an array of `PhoneNumber`. At least one + `PhoneNumber` must be provided. + items: + properties: + PhoneNumber: + description: >- + One or more phone numbers is required.
    Use a + `` tag for each phone number in the + `` list. + format: Ten digit phone number with no dots or dashes + type: string + type: object + type: array + LoaAuthorizingPerson: + description: >- + This is the first and last names of the person that has authorized + the port. + maxLength: 15 + type: string + PeerId: + description: >- + `PeerId` specifies the numeric identifier of the SIP-peer (Location) + that the telephone numbers will be ported into.

    You can + find the identifier for a SIP-peer (location) by using `GET + /accounts/id/sites/id/sippeers`, or by clicking on 'Accounts' on the + upper right of the [Bandwidth + Dashboard](Https://dashboard.bandwidth.com), then clicking + 'Locations' on the navigation bar. The SIP-peer (location) + identifiers are listed next to each location name. If `PeerId` is + omitted, the SIP-peer (location) designated as the 'default + location' for that site (sub-account) will be used. + type: string + ProcessingStatus: + description: >- + Including `ProcessingStatus` with a value of DRAFT allows you to + create a port-in request, but not process the request. This is + useful if you wish to add items to the order over a period of time + and submit once you have the order setup the way you want. Note, + however, that draft orders that have not been updated in a couple of + days are automatically deleted. Removal of stagnant draft orders is + performed so that telephone numbers are not tied up in these orders, + preventing them from being included in other orders.

    Very + little validation is performed while an order is in draft state. + Omitting `ProcessingStatus` causes the port-in to be validated and, + if correct, processed right away. The full validation is performed + on the order when you change the ProcessingStatus to 'SUBMITTED' by + performing a PUT request on the order.

    All toll free + telephone numbers provided will be validated (even in draft state) + to ensure + + that they are portable, and to allow you to separate telephone + numbers into separate port-ins + + based on the RespOrg that they are being ported from.

    + enum: + - DRAFT + type: string + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as “2013-05-10T15:14:22Z”, or + "2019-10-31T17:15:00+04:00".

    For all ports, if + `RequestedFocDate` is specified, the date portion must be:
    - in + the future
    - after the losing carrier's minimum number of days + to port-out
    - not on a weekend or U.S. holiday

    If + `RequestedFocDate` is not specified, the next available FOC date + meeting the criteria above will be used. If the Time portion of the + `RequestedFocDate` is omitted the port-in order will be activated at + the default activation time of 11:30 AM ET. If an activation time + other than 11:30 AM ET is desired, that activation time should be + included in the `RequestedFocDate`. + type: string + SiteId: + description: >- + `SiteId` specifies the identifier of the site (sub-account) that the + telephone numbers will be ported into.

    You can find the + identifier for a site (sub-account) by using `GET + /accounts/id/sites`, or by clicking on 'Manage sub-account' for the + desired sub-account on the main page of the Bandwidth Dashboard. + format: int32 + type: integer + required: + - SiteId + - ListOfPhoneNumbers + - LoaAuthorizingPerson + type: object + LnpOrderBasicModifiableFields: + properties: + CustomerOrderId: + description: >- + This field is removed from the order if not provided in the PUT + payload. + type: string + PeerId: + type: string + ProcessingStatus: + description: >- + May only be SUPPed for port-in orders in DRAFT state. The only valid + value is “SUBMITTED” (not case sensitive). + type: string + RequestedFocDate: + description: >- + Is a subject to blackout windows if the current date is too close to + an assigned FOC date. + type: string + SiteId: + format: int32 + type: integer + type: object + LnpOrderPortoutResponse: + properties: + LnpOrderResponse: + properties: + AccountId: + description: >- + This is the account that the searched-for order will be + contributing to. Specifying this parameter will restrict the + search to Port-out orders within the specified account. + type: string + ActualFocDate: + description: >- + This is the FOC (Final Order Commit) Date assigned to the + Port-out order by the losing carrier or their agent. + type: string + LastModifiedDate: + description: >- + The date and time on which the order was last modified, + including status updates. + type: string + OrderCreateDate: + description: The date and time on which the CSR order was created. + type: string + PON: + description: >- + This Bandwidth internal identifier associates the port-out order + with either an internal port-in or an LSR order, whichever + caused the port-out order to be created. + type: string + PortOutStatus: + enum: + - NEW + - SUPP + - MODIFY + - COMPLETE + - CANCELLED + - VALIDATION_FAILED_NEW + - VALIDATION_FAILED_SUPP + - VALIDATION_FAILED_MODIFY + - EXCEPTION + - SOA_PENDING + - SOA_CONFLICT + type: string + RequestedFocDate: + description: >- + This is the FOC (Final Order Commit) Date requested by the + person (or machine) creating the Port-out order. + type: string + SPID: + description: >- + The Service Provider ID of the carrier that the number is being + ported to. + type: string + userId: + description: >- + The UserId is authenticated for access to the network via a + username string. + type: string + type: object + type: object + LnpOrderPutResponse: + properties: + LnpOrderResponse: + properties: + BillingTelephoneNumber: + description: >- + The BillingTelephoneNumber is the primary telephone number + associated with the invoice that the subscriber gets from the + losing carrier. + type: string + NewBillingTelephoneNumber: + description: >- + This field is used to specify a new billing telephone number on + the losing carrier account. + type: string + OrderId: + type: string + ProcessingStatus: + description: >- + The processing status of this order. Values may be: PROCESSING, + COMPLETED, FAILED. PROCESSING means that the system is still + processing the order. COMPLETED means that the order has been + successfully completed. FAILED means that errors occurred while + processing the order, and that the order did not make any + changes to the system. + enum: + - REQUESTED_SUPP + type: string + RequestedFocDate: + description: >- + This is the FOC (Firm Order Commitment) Date requested by the + person (or machine) creating the Port-in Order. + type: string + Status: + properties: + Code: + type: integer + Description: + type: string + type: object + TargetRespOrgId: + description: >- + This is the RespOrg ID that you want the toll free numbers + ported to. Normally it will specify a Bandwidth RespOrg ID like + JYT01, but it could be something else for RespOrg Exception + customers. + type: string + Triggered: + description: >- + The Triggered field must be set to true if you want an + activation time other than the 11:30 AM ET default. The desired + activation time can then be specified in the time portion of the + RequestedFocDate. Triggered activation is not yet supported for + toll free port-in orders. + type: string + type: object + type: object + LnpOrderResponse: + properties: + LnpOrderResponse: + properties: + BillingTelephoneNumber: + description: >- + The BillingTelephoneNumber is the primary telephone number + associated with the invoice that the subscriber gets from the + losing carrier. + type: string + Errors: + properties: + Code: + description: Numeric designation of corresponding error. + type: integer + Description: + description: Detailed explanation about error. + type: string + type: object + ListOfPhoneNumbers: + description: >- + ListOfPhoneNumbers is an array of PhoneNumber. At least one + PhoneNumber must be provided for all port-types. + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + LoaAuthorizingPerson: + description: >- + The LoaAuthorizingPerson is mandatory for all port-types. This + is the first and last names of the person that has authorized + the port. The LoaAuthorizingPerson value may be up to 15 + characters in length. + type: string + NewBillingTelephoneNumber: + description: >- + This field is used to specify a new billing telephone number on + the losing carrier account. + type: string + OrderId: + description: Unique orderId that is used to manage the order. + type: string + PeerId: + description: >- + The numeric designation for the Location or SIP PEER ID that + applied to the Port-in Order. The SIP Peer ID is used to provide + a home within the location for the TN(s) that were ported in by + the Port-in Order + type: string + ProcessingStatus: + description: >- + The processing status of this order. Values may be: PROCESSING, + COMPLETED, FAILED. PROCESSING means that the system is still + processing the order. COMPLETED means that the order has been + successfully completed. FAILED means that errors occurred while + processing the order, and that the order did not make any + changes to the system. + enum: + - PENDING_DOCUMENTS + type: string + SiteId: + description: >- + The numeric designation for the Site ID that applied to the + Port-in Order. The SiteId is used to provide a home within the + account for the TN(s) that were ported in by the Port-in Order + type: string + Status: + properties: + Code: + type: integer + Description: + type: string + type: object + Subscriber: + $ref: '#/components/schemas/Subscriber' + TnAttributes: + items: + $ref: '#/components/schemas/TnAttribute' + type: array + Triggered: + description: >- + The Triggered field must be set to true if you want an + activation time other than the 11:30 AM ET default. The desired + activation time can then be specified in the time portion of the + RequestedFocDate. Triggered activation is not yet supported for + toll free port-in orders. + type: string + WirelessInfo: + $ref: '#/components/schemas/WirelessInfo' + type: object + title: LNP Order Response + type: object + LnpOrderResponseAutomatedTollFree: + properties: + LnpOrderResponse: + properties: + Errors: + properties: + Code: + description: Numeric designation of corresponding error. + type: integer + Description: + description: Detailed explanation about error. + type: string + type: object + Internal: + description: >- + This is set to true if the port-in is porting a toll free number + that is already in service on a Bandwidth account. This value is + only applicable to automated toll free port-ins. + type: boolean + ListOfPhoneNumbers: + description: >- + ListOfPhoneNumbers is an array of PhoneNumber. At least one + PhoneNumber must be provided for all port-types. + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + LoaAuthorizingPerson: + description: >- + The LoaAuthorizingPerson is mandatory for all port-types. This + is the first and last names of the person that has authorized + the port. The LoaAuthorizingPerson value may be up to 15 + characters in length. + type: string + OrderId: + description: Unique orderId that is used to manage the order. + type: string + PeerId: + description: >- + The numeric designation for the Location or SIP PEER ID that + applied to the Port-in Order. The SIP Peer ID is used to provide + a home within the location for the TN(s) that were ported in by + the Port-in Order + type: string + ProcessingStatus: + description: >- + The processing status of this order. Values may be: PROCESSING, + COMPLETED, FAILED. PROCESSING means that the system is still + processing the order. COMPLETED means that the order has been + successfully completed. FAILED means that errors occurred while + processing the order, and that the order did not make any + changes to the system. + enum: + - PENDING_DOCUMENTS + type: string + RespOrgException: + description: >- + This is set to true if the port-in is requesting the toll free + numbers to be ported to a RespOrg ID that does not belong to + Bandwidth. This value is only applicable to automated toll free + port-ins. + type: boolean + RocRequired: + description: >- + This is set to true if the port-in is getting ported from one + RespOrg to another, and can be used to tell when a LOA document + will be required for the port-in. This value is only applicable + to automated toll free port-ins. + type: boolean + SiteId: + description: >- + The numeric designation for the Site ID that applied to the + Port-in Order. The SiteId is used to provide a home within the + account for the TN(s) that were ported in by the Port-in Order + type: string + Status: + properties: + Code: + type: integer + Description: + type: string + type: object + TargetRespOrgId: + description: >- + The RespOrg ID that you are porting numbers to. This value is + only applicable to automated toll free port-ins. + type: string + type: object + title: Automated Toll-Free LNP Order Response + type: object + LnpOrderSuppAutomatedOffNet: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + - $ref: '#/components/schemas/LnpOrderAdditionalModifiableFields' + properties: + Subscriber: + allOf: + - $ref: '#/components/schemas/PortinSubscriberSupp' + description: Cannot be SUPPed after FOC received. + title: LnpOrderSupp + type: object + title: LnpOrderSupp + type: object + LnpOrderSuppAutomatedOnNet: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + - $ref: '#/components/schemas/LnpOrderAdditionalModifiableFields' + properties: + ListOfPhoneNumbers: + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + LoaAuthorizingPerson: + type: string + NewBillingTelephoneNumber: + type: string + PartialPort: + type: string + WirelessInfo: + $ref: '#/components/schemas/WirelessInfoSupp' + title: LnpOrderSupp + type: object + LnpOrderSuppAutomatedOnNetWireless: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + - $ref: '#/components/schemas/LnpOrderAdditionalModifiableFields' + properties: + ListOfPhoneNumbers: + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + WirelessInfo: + $ref: '#/components/schemas/WirelessInfoSupp' + title: LnpOrderSupp + type: object + LnpOrderSuppAutomatedTollFree: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + properties: + ListOfPhoneNumbers: + description: >- + May be SUPPed only in draft states (i.e. DRAFT, VALIDATE_DRAFT_TFNS, + VALID_DRAFT_TFNS, or INVALID_DRAFT_TFNS) + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + LoaAuthorizingPerson: + type: string + RetryValidation: + description: >- + If 'TOLL_FREE_PORT_INS_PHASE_1' feature is enabled for account, + Bandwidth accesses a vendor to determine if the numbers are + portable, and if so, from which RespOrg. In the event that we do not + receive a response from our vendor after a number of retries, we + give up and place the order in the INVALID_TFNS or + INVALID_DRAFT_TFNS state. This scenario can occur if our toll free + porting vendor is performing maintenance, for example. Including + RetryValidation with a value of true will cause the order to return + to VALIDATE_TFNS or VALIDATE_DRAFT_TFNS and we will repeat our + attempts to retrieve the portability data from the vendor. This + element is included in the synchronous response to the PUT, when + included in the request, but is not included in subsequent GET + requests for the order. + type: boolean + TargetRespOrgId: + description: >- + This is the RespOrg ID that you want the toll free numbers ported + to. Normally it will specify a Bandwidth RespOrg ID like JYT01, but + it could be something else for RespOrg Exception customers. Because + the TargetRespOrgId is mandatory for the toll free port-in order + (but not mandatory for the PUT operation), omitting it in the PUT + leaves the TargetRespOrgId unchanged. This field must be populated + when a draft toll free port-in is submitted. + maxLength: 5 + minLength: 5 + type: string + title: LnpOrderSupp + type: object + LnpOrderSuppInternal: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + - $ref: '#/components/schemas/LnpOrderAdditionalModifiableFields' + properties: + LoaAuthorizingPerson: + type: string + NewBillingTelephoneNumber: + type: string + PartialPort: + type: string + WirelessInfo: + $ref: '#/components/schemas/WirelessInfoSupp' + title: LnpOrderSupp + type: object + LnpOrderSuppManualOnNetOffNet: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + - $ref: '#/components/schemas/LnpOrderAdditionalModifiableFields' + properties: + LoaAuthorizingPerson: + type: string + NewBillingTelephoneNumber: + type: string + PartialPort: + type: string + WirelessInfo: + $ref: '#/components/schemas/WirelessInfoSupp' + title: LnpOrderSupp + type: object + LnpOrderSuppManualTollFree: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + properties: + ListOfPhoneNumbers: + description: May be SUPPed only in DRAFT state + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + LoaAuthorizingPerson: + type: string + Subscriber: + properties: + BusinessName: + maxLength: 25 + type: string + ServiceAddress: + $ref: '#/components/schemas/PortinSubscriberBasicServiceAddress' + SubscriberType: + enum: + - BUSINESS + type: string + title: Subscriber + type: object + title: LnpOrderSupp + type: object + LongCodeImportCampaignErrorResponse: + properties: + LongCodeImportCampaignResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + LongCodeImportCampaignResponse: + properties: + LongCodeImportCampaignResponse: + $ref: '#/components/schemas/ImportedCampaign' + type: object + LongCodeImportCampaignsErrorResponse: + properties: + LongCodeImportCampaignsResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + LongCodeImportCampaignsResponse: + properties: + LongCodeImportCampaignsResponse: + properties: + ImportedCampaigns: + items: + $ref: '#/components/schemas/ImportedCampaign' + type: array + TotalCount: + type: integer + type: object + type: object + LosingCarrierTnList: + properties: + LosingCarrierAccountNumberRequired: + title: Losing Carrier Account Number Required + type: boolean + LosingCarrierIsWireless: + title: Losing Carrier IsWireless + type: boolean + LosingCarrierMinimumPortingInterval: + title: Losing Carrier Minimum Porting Interval + type: integer + LosingCarrierName: + title: Losing Carrier Name + type: string + LosingCarrierSPID: + title: Losing Carrier SPID + type: integer + TnList: + $ref: '#/components/schemas/LnpCheckerTnList' + title: Losing Carrier TnList + type: object + LsrOrder: + properties: + LsrOrder: + $ref: '#/components/schemas/LsrOrderPayload' + type: object + LsrOrderError: + properties: + Code: + description: Numeric designation of corresponding error. + format: int32 + type: integer + Description: + description: Detailed explanation about error. + type: string + type: object + LsrOrderErrorResponse: + properties: + LsrOrderResponse: + properties: + LsrOrder: + $ref: '#/components/schemas/LsrOrderPayload' + LsrOrderErrors: + items: + $ref: '#/components/schemas/LsrOrderError' + type: array + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + LsrOrderHistoryResponse: + properties: + LsrOrders: + properties: + LsrOrderSummary: + items: + properties: + ActualFocDate: + description: >- + This is the FOC (Firm Order Commitment) date assigned to + the Port-in Order by the losing carrier or their agent. + type: string + BillingTelephoneNumber: + description: >- + The BillingTelephoneNumber is the primary telephone number + associated with the invoice that the subscriber gets from + the losing carrier. + type: string + CountOfTNs: + description: Total count of telephone numbers in order. + type: integer + CreatedByUser: + description: The username of the person that created the order. + type: string + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account + owner to provide a reference number for the LSR order. + type: string + OrderDate: + description: >- + A specific date on which you wish to see modifications to + a LSR order. + type: string + OrderId: + description: The identifier that uniquely identifies a LSR order. + type: string + OrderStatus: + description: The state of the LSR order. + type: string + OrderType: + type: string + Pon: + description: The PON that is referenced in the LSR order. + type: string + PonVersion: + type: string + RequestedFocDate: + description: >- + This is the FOC (Firm Order Commitment) date requested by + the person (or machine) creating the LSR order. + type: string + accountId: + description: >- + This is the account that the searched-for order will be + contributing to. Specifying this parameter will restrict + the search to portin orders within the specified account. + type: integer + lastModifiedDate: + description: This is the date when LSR order was last modified. + type: string + userId: + description: >- + The UserId is authenticated for access to the network via + a username string. + type: string + type: object + type: array + TotalCount: + type: integer + type: object + type: object + LsrOrderNotFoundResponse: + properties: + LsrOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + LsrOrderPayload: + properties: + AuthorizingPerson: + description: Authorizing person + format: Alphanumeric + maxLength: 100 + type: string + BillingTelephoneNumber: + description: >- + The billing telephone number associated with the phone numbers that + are being ported. Non-toll-free. + format: Numeric + maxLength: 10 + type: string + CountOfTNs: + description: Total count of telephone numbers in order. + type: string + CustomerOrderId: + description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the port. + format: Alphanumeric, spaces and dashes + maxLength: 40 + type: string + ListOfTelephoneNumbers: + description: Toll-free number not allowed + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + LsrOrderErrors: + items: + $ref: '#/components/schemas/LsrOrderError' + type: array + PartialPort: + description: >- + The PartialPort must be set to true if the intent is to NOT port all + of the telephone numbers associated with the BillingTelephoneNumber. + If PartialPort is omitted or false, and the ListOfPhoneNumbers does + not include all of the telephone numbers associated with the + BillingTelephoneNumber, the port-in will be rejected. PartialPort + is applicable only to on-net port-types. This element is not + applicable to toll free or off-net port-in orders. + type: boolean + PeerId: + description: >- + The numeric designation for the Location or SIP Peer ID that applied + to the LSR order. The SIP Peer ID is used to provide a home within + the location for the TN(s) that were ported in by the LSR Order. + format: int32 + type: integer + Pon: + description: The Pon is customer specified order identifier field.(required) + format: Alphanumeric and "#","-","_". + maxLength: 25 + type: string + PonVersion: + format: int32 + type: integer + RequestedFocDate: + description: >- + This is the FOC (Firm Order Commitment) date requested when creating + the LSR order (not past, default next day). + type: string + SPID: + description: >- + The NPAC SPID corresponding to the carrier that the phone numbers + are porting to (required if account value 'mult'). + maxLength: 4 + type: string + SiteId: + description: >- + The numeric designation for the Site ID that applied to the LSR + order. The SiteId is used to provide a home within the account for + the TN(s) that were ported in by the LSR order. + format: int32 + type: integer + Subscriber: + properties: + AccountNumber: + description: Account number + format: Alphanumeric + maxLength: 32 + type: string + BusinessName: + description: >- + Subscriber business name for BUSINESS SubscriberType. (required + BusinessName or LastName) + maxLength: 25 + type: string + FirstName: + description: Subscriber first name for RESIDENTIAL SubscriberType. + maxLength: 25 + type: string + LastName: + description: >- + Subscriber last name for RESIDENTIAL SubscriberType. (required + BusinessName or LastName) + maxLength: 25 + type: string + MiddleInitial: + description: Subscriber middle initial for RESIDENTIAL SubscriberType. + maxLength: 1 + type: string + Name: + description: >- + If the subscriber type is business, the subscriber name is the + name of the business responsible for the numbers being ported. + If the subscriber type is residential, the subscriber name is + the name of the person responsible for the numbers being ported. + type: string + PinNumber: + description: Pin number + format: Alphanumeric + maxLength: 10 + type: string + ServiceAddress: + properties: + AddressLine2: + description: >- + AddressLine2 is used to specify Unit, Suite, Floor, etc. in + the Service Address. AddressLine2 is optional when not + needed to fully specify the ServiceAddress. + maxLength: 200 + type: string + AddressType: + $ref: '#/components/schemas/AddressType' + City: + description: >- + City is mandatory in cases where the ServiceAddress is + mandatory. + maxLength: 100 + type: string + Country: + description: >- + Country is the country of the ServiceAddress. This value + will be derived from the StateCode, so it should generally + be omitted. + type: string + County: + description: The county where the subscriber or business is located. + maxLength: 45 + type: string + HouseNumber: + description: >- + The HouseNumber is the street address number of the + ServiceAddress. HouseNumber is mandatory for port-in orders + in which the ServiceAddress is mandatory. + maxLength: 45 + type: string + HousePrefix: + description: >- + The HousePrefix is the non-numeric address number prefix of + the ServiceAddress. This element is optional when not needed + to fully specify the ServiceAddress. + maxLength: 6 + type: string + HouseSuffix: + description: >- + The HouseSuffix is the non-numeric address number suffix of + the ServiceAddress. This element is optional when not needed + to fully specify the ServiceAddress. + maxLength: 45 + type: string + PlusFour: + description: >- + PlusFour is the 4 digits that are sometimes suffixed to the + Zip Code. + type: string + PostDirectional: + description: >- + The PostDirectional is the street name post directional of + the ServiceAddress. This element is optional when not needed + to fully specify the ServiceAddress. + maxLength: 2 + type: string + PreDirectional: + description: >- + The PreDirectional is the non-numeric street name prefix of + the ServiceAddress. This element is optional when not needed + to fully specify the ServiceAddress. + maxLength: 2 + type: string + RegionId: + deprecated: true + format: int32 + type: integer + StateCode: + description: >- + StateCode is the 2-letter abbreviation of the state of the + ServiceAddress. StateCode is mandatory in cases where the + ServiceAddress is mandatory. + maxLength: 2 + type: string + StreetName: + description: >- + The StreetName is mandatory in cases where the + ServiceAddress is mandatory. + maxLength: 200 + type: string + StreetSuffix: + description: >- + The StreetSuffix is the street suffix of the ServiceAddress. + This element is optional when not needed to fully specify + the ServiceAddress. + maxLength: 45 + type: string + Zip: + description: >- + Zip is the Zip Code of the ServiceAddress. Zip is mandatory + in cases where the ServiceAddress is mandatory. + format: 'Allowed formats: 5 numbers, 5+4 or Canadian' + type: string + required: + - HouseNumber + - StreetName + - City + - StateCode + - Zip + type: object + SubscriberType: + description: Subscriber type. (Defaults to RESIDENTIAL if not specified) + enum: + - BUSINESS + - RESIDENTIAL + type: string + required: + - BusinessName + - LastName + - ServiceAddress + type: object + required: + - Pon + - SPID + - Subscriber + - ListOfTelephoneNumbers + - AuthorizingPerson + type: object + LsrOrderResponse: + properties: + LsrOrderResponse: + properties: + LsrOrder: + $ref: '#/components/schemas/LsrOrderPayload' + type: object + type: object + MM4Settings: + properties: + AllowMultiRecepient: + type: boolean + AsyncMessageFlowSupported: + type: boolean + ConnMessageRatio: + type: integer + ConnSentTimeout: + type: integer + ConnValidWindow: + type: integer + Domain: + type: string + ForceAck: + type: boolean + KeepAliveNoop: + type: boolean + LoopAllowed: + type: boolean + MaxConn: + type: integer + MaxMessagesInQueue: + type: integer + PersistentConn: + type: boolean + SkipAck: + type: boolean + type: object + ManualPortOutRequest: + properties: + BulkPortOut: + $ref: '#/components/schemas/BulkPortout' + FocDate: + type: string + NewNetworkSPID: + description: >- + The Service Provider ID of the carrier that the number is being + ported to. + type: string + Pin: + description: >- + The personal identifier number the subscriber has associated with + his or her account with the carrier the number is being ported away + from. + type: string + PortOutAction: + enum: + - NEW + - SUPP + - MODIFY + - CANCEL + type: string + TelephoneNumberToPort: + type: string + type: object + ManualTollFreeLnpOrderRequest: + description: >- + Manual indicates that the port-in will be processed manually by + Bandwidth’s Local Number Portability team. Currently all toll free + port-ins are handled manually by Bandwidth’s Local Number Portability + team. But Bandwidth is in the process of automating portions of toll + free porting, with a goal of eventually automating the entire process. + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + properties: + Subscriber: + allOf: + - $ref: '#/components/schemas/SubscriberBusiness' + type: object + type: object + title: Manual Toll-Free + type: object + ManuallyPortableTollFreeNumberList: + properties: + DisconnectedTollFreeNumberList: + items: + $ref: '#/components/schemas/TollFreeNumber' + type: array + TransitionalTollFreeNumberList: + items: + $ref: '#/components/schemas/TollFreeNumber' + type: array + type: object + MessagingA2pCampaign: + properties: + AccountId: + type: integer + CampaignId: + type: string + CreatedDate: + type: string + Description: + type: string + Imported: + type: boolean + MessageClass: + type: string + Status: + type: string + type: object + MessagingA2pCampaignsResponse: + properties: + MessagingA2pCampaigns: + items: + $ref: '#/components/schemas/MessagingA2pCampaign' + type: array + type: object + MessagingRoute: + properties: + Default: + type: boolean + Details: + $ref: '#/components/schemas/MessagingRouteDetails' + NNID: + type: string + TNType: + enum: + - OnNetTns + - OffNetUsaRoutedTns + - OffNetCanadianRoutedTns + - ExternalCustomerOwnedTns + - ExternalThirdPartyTnsTns + - ExternalCanadianTns + - TollFreeTns + - ExternalTollFreeTns + - A2pOnNetTns + - A2pOffNetTns + type: string + type: object + MessagingRouteDetails: + properties: + NNRoute: + $ref: '#/components/schemas/NNRoute' + type: object + MessagingSettings: + properties: + BreakOutCountries: + items: + properties: + Country: + type: string + type: object + type: array + EnableOffNetMessageRoutes: + type: boolean + EnableOnNetMessageRoutes: + type: boolean + Enabled: + type: boolean + EnabledOnNewTN: + type: boolean + PreventUpdatingNetNumber: + type: boolean + ProxyPeersOwner: + type: integer + SupportedOnImportedTns: + type: boolean + type: object + MessagingSettingsResponse: + properties: + MessagingSettings: + $ref: '#/components/schemas/MessagingSettings' + type: object + MmsFeature: + properties: + MM4Settings: + $ref: '#/components/schemas/MM4Settings' + MmsSettings: + $ref: '#/components/schemas/AccountMmsSettings' + type: object + MmsFeatureMm4AdminSettingsResponse: + properties: + mm4Settings: + $ref: '#/components/schemas/MM4Settings' + type: object + MmsFeatureMmsSettingsResponse: + properties: + MmsSettings: + $ref: '#/components/schemas/MmsSettings' + type: object + MmsFeatureResponse: + properties: + MmsFeature: + $ref: '#/components/schemas/SipPeerMmsFeature' + type: object + MmsHttpProtocol: + properties: + HttpSettings: + $ref: '#/components/schemas/MmsHttpSettings' + title: HTTP + type: object + MmsHttpSettings: + properties: + ProxyPeerId: + type: integer + title: HttpSettings + type: object + MmsMM4OrigHost: + properties: + HostId: + type: integer + HostName: + type: string + Port: + type: string + Priority: + type: integer + title: OrigHosts + type: object + MmsMM4OrigHosts: + properties: + OrigHosts: + items: + $ref: '#/components/schemas/MmsMM4OrigHost' + type: array + type: object + MmsMM4Protocol: + properties: + MmsMM4OrigHosts: + $ref: '#/components/schemas/MmsMM4OrigHosts' + MmsMM4TermHosts: + $ref: '#/components/schemas/MmsMM4TermHosts' + Tls: + type: string + title: Mm4Hosts + type: object + MmsMM4TermHost: + properties: + HostId: + type: integer + HostName: + type: string + Port: + type: string + title: TermHost + type: object + MmsMM4TermHosts: + properties: + TermHosts: + items: + $ref: '#/components/schemas/MmsMM4TermHost' + type: array + type: object + MmsProtocols: + properties: + HTTP: + $ref: '#/components/schemas/MmsHttpProtocol' + MM4: + $ref: '#/components/schemas/MmsMM4Protocol' + title: Protocols + type: object + MmsSettings: + properties: + Protocol: + enum: + - MM4 + - HTTP + type: string + type: object + MnoStatus: + properties: + MnoId: + type: string + MnoName: + type: string + Status: + enum: + - REVIEW + - REJECTED + - APPROVED + - SUSPENDED + type: string + type: object + MoveTnsOrder: + properties: + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only alphanumeric + values, dashes and spaces are allowed. Max length is 40 characters + type: string + E911ServiceAction: + default: move + description: >- + Only valid when moving to a different account using SourceAccountId. + When set to move (default) the E911 service information (if applied + to the number) will be moved with the number to the new account. + When set to delete the E911 service will be removed from the number + enum: + - move + - delete + type: string + SipPeerId: + description: >- + A sippeer id of provided site to which telephone number will be + moved + type: integer + SiteId: + description: A site id to which telephone number will be moved + type: integer + SourceAccountId: + description: Id of source account, in the case of moving numbers across accounts + type: integer + TelephoneNumbers: + description: >- + List of telephone numbers to be moved. Maximum of 5,000 allowed per + POST + items: + properties: + TelephoneNumber: + description: Ten digit phone number with no dots or dashes + type: integer + type: object + maxItems: 5000 + minItems: 1 + type: array + required: + - TelephoneNumbers + - SiteId + title: MoveTnsOrder + type: object + MoveTnsOrderPayload: + properties: + AccountId: + type: integer + CreatedByUser: + type: string + CustomerOrderId: + type: string + Errors: + items: + $ref: '#/components/schemas/TelephoneNumberGroupError' + type: array + xml: + wrapped: true + LastModifiedDate: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - PARTIAL + - COMPLETE + - FAILED + type: string + SipPeerId: + type: integer + SiteId: + type: integer + SourceAccountId: + type: integer + TelephoneNumbers: + items: + type: string + xml: + name: TelephoneNumber + type: array + xml: + wrapped: true + title: MoveTnsOrder + type: object + MoveTnsOrderRequest: + properties: + MoveTnsOrder: + $ref: '#/components/schemas/MoveTnsOrder' + type: object + MoveTnsOrderResponse: + properties: + MoveTnsOrder: + $ref: '#/components/schemas/MoveTnsOrderPayload' + type: object + MoveTnsOrders: + properties: + Links: + $ref: '#/components/schemas/PaginationLinks' + MoveTnsOrderSummary: + items: + $ref: '#/components/schemas/OrderSummary' + type: array + TotalCount: + type: integer + type: object + NNRoute: + properties: + DeliveryNetwork: + type: string + Espid: + type: string + Name: + type: string + Nnid: + type: integer + ProvisionerIds: + items: + properties: + ProvisionerId: + type: string + type: object + type: array + trafficType: + type: string + type: object + NPANXXSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + NPANXXSearchAndOrderType: + $ref: '#/components/schemas/NPANXXSearchAndOrderType' + type: object + xml: + name: Order + NPANXXSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + NPANXXSearchAndOrderType: + $ref: '#/components/schemas/NPANXXSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + NPANXXSearchAndOrderType: + properties: + EnableLCA: + type: boolean + NpaNxx: + type: string + Quantity: + format: int32 + type: integer + type: object + xml: + name: NPANXXSearchAndOrderType + NonPortableTollFreeNumberList: + properties: + DeniedTollFreeNumberList: + items: + $ref: '#/components/schemas/DeniedTollFreeNumber' + type: array + RespOrgList: + items: + $ref: '#/components/schemas/TollFreeNumberRespOrg' + type: array + SpareTollFreeNumberList: + items: + $ref: '#/components/schemas/TollFreeNumber' + type: array + UnavailableTollFreeNumberList: + items: + $ref: '#/components/schemas/TollFreeNumber' + type: array + type: object + NotDetailedReport: + properties: + Description: + type: string + DisplayPriority: + type: string + Id: + type: integer + Name: + type: string + title: Report + type: object + Note: + properties: + Note: + properties: + Description: + description: This is the Order Note description. + type: string + Id: + description: >- + This is the Order Note identifier that is automatically + generated by system. + type: string + LastDateModifier: + description: This is the date when Order Note was last modified. + type: string + UserId: + description: >- + The UserId is authenticated for access to the network via a + username string. + type: string + type: object + type: object + NoteErrorResponse: + properties: + NoteResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + Notes: + properties: + Notes: + items: + $ref: '#/components/schemas/Note' + type: array + type: object + NotesResponse: + properties: + Notes: + items: + $ref: '#/components/schemas/Note' + type: array + type: object + NotificationCallbackRequest: + properties: + Notification: + properties: + CompletedTelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + CustomerOrderId: + type: string + EventType: + type: string + ImpactedTelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + Message: + type: string + Note: + type: string + OrderId: + type: string + OrderType: + enum: + - portins + - portouts + - orders + - disconnects + - dldas + - lsrorders + - e911s + - tnoptions + type: string + Status: + type: string + SubscriptionId: + type: string + type: object + type: object + NotificationRecipientDescription: + description: >- + A mandatory 200 character description of the Emergency Notification + Recipient. The contents of this field are freeform, but ideally should + describe the set of endpoints that are being grouped together for the + purpose of having the same emergency notification recipients. E.g. + Occupants of building 5 main campus. + maxLength: 200 + type: string + NpaBackorderRestriction: + properties: + NpaBackorderRestriction: + properties: + Limit: + type: integer + NPA: + type: integer + type: object + NpaNxxRcLcaSearchResult: + properties: + SearchResult: + properties: + ListofNPANXX: + items: + properties: + NPANXX: + type: string + type: object + type: array + Location: + properties: + RateCenters: + $ref: '#/components/schemas/TnRateCenters' + type: object + type: object + type: object + NumberPortabilityRequest: + properties: + NumberPortabilityRequest: + properties: + TnList: + items: + $ref: '#/components/schemas/Tn' + type: array + type: object + type: object + NumberPortabilityResponse: + properties: + NumberPortabilityResponse: + properties: + PartnerSupportedRateCenters: + description: >- + Partner Supported Rate Center information for the indicated set + of ratecenters, containing City, State, LATA and the list of TNs + for which that Rate Center applies. + + The Tier information is provided for offnet rate centers. + properties: + RateCenterGroup: + $ref: '#/components/schemas/RateCenterGroup' + type: object + PortType: + description: Port type + type: string + SupportedLosingCarriers: + description: >- + Details on Supported Losing Carriers (unavailable for Enterprise + Telephony users) including name, SPID, whether or not the + carrier is a wireless carrier, whether or not account number is + required as part of the CSR check, and the anticipated minimum + number of days before a FoC date will be granted. + properties: + LosingCarrierTnList: + $ref: '#/components/schemas/LosingCarrierTnList' + type: object + SupportedRateCenters: + description: >- + Supported Rate Center information for the indicated set of + ratecenters, containing City, State, LATA and the list of TNs + for which that Rate Center applies. + + The Tier information is provided for offnet rate centers. + properties: + RateCenterGroup: + $ref: '#/components/schemas/RateCenterGroup' + type: object + UnsupportedLosingCarriers: + description: >- + Unsupported Losing Carriers (unavailable for Enterprise + Telephony users) including name, SPID, whether or not the + carrier is a wireless carrier, whether or not account number is + required as part of the CSR check, and the anticipated minimum + number of days before a FoC date will be granted. + properties: + LosingCarrierTnList: + $ref: '#/components/schemas/LosingCarrierTnList' + type: object + UnsupportedRateCenters: + description: >- + Unsupported Rate Center information for the indicated set of + ratecenters, containing City, State, LATA and the list of TNs + for which that Rate Center applies. + + The Tier information is provided for offnet rate centers. + properties: + RateCenterGroup: + $ref: '#/components/schemas/RateCenterGroup' + type: object + title: Number Portability Response + type: object + title: Number Portability Response + type: object + OffNetLnpOrderRequest: + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + - $ref: '#/components/schemas/LnpOrderAdditionalFields' + title: Off-net + type: object + OnNetLnpOrderRequest: + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + - $ref: '#/components/schemas/LnpOrderAdditionalFields' + - properties: + AutoActivation: + description: '' + type: string + NewBillingTelephoneNumber: + description: >- + This field is used to specify a new billing telephone number + on the losing carrier account.

    Cannot be the same + as `BillingTelephoneNumber` or be present in the list of + ported numbers. + type: string + PartialPort: + description: >- + The `PartialPort` must be set to `true` if the intent is to + **NOT** port all of the telephone numbers associated with + the `BillingTelephoneNumber`.

    If PartialPort is + omitted or false, and the `ListOfPhoneNumbers` does not + include all of the telephone numbers associated with the + `BillingTelephoneNumber`, the port-in will be + rejected.

    PartialPort is applicable only to on-net + port-types. + type: string + TnAttributes: + description: >- + The `TnAttributes` field specifies line attributes that will + apply to the ported in telephone numbers. If present, + `TnAttributes` may have a value of `PROTECTED`. + items: + $ref: '#/components/schemas/TnAttribute' + type: array + type: object + title: On-net + type: object + OrderCreatedDate: + description: Creation date of the order. + type: string + OrderHistory: + properties: + Author: + description: >- + This is the user that initiated the event that caused the order + history to be updated. + type: string + Difference: + description: SUPP changes difference. + type: string + Note: + description: This is the order note that accompanied the order history entry. + type: string + OrderDate: + description: This is the date/time when the order history entry was created. + type: string + Status: + description: >- + This is the state that the order was in when the order history event + occurred. + type: string + type: object + OrderHistoryWrapper: + properties: + OrderHistoryWrapper: + properties: + OrderHistory: + $ref: '#/components/schemas/OrderHistory' + type: object + type: object + OrderId: + description: >- + The identifier that uniquely identifies an emergency notification group + order. + maxLength: 255 + type: string + OrderIdUserIdDate: + properties: + CountOfTNs: + type: integer + OrderDate: + type: string + OrderStatus: + type: string + OrderType: + type: string + TelephoneNumberDetails: + $ref: '#/components/schemas/TelephoneNumberDetails' + lastModifiedDate: + type: string + orderId: + type: string + userId: + type: string + type: object + OrderNotesResponse: + properties: + Notes: + items: + properties: + Description: + type: string + Id: + type: integer + LastDateModifier: + format: datetime + type: string + UserId: + type: string + title: Note + type: object + type: array + type: object + OrderSummary: + properties: + CountOfTNs: + type: integer + CustomerOrderId: + type: string + LastModifiedNote: + $ref: '#/components/schemas/Note' + OrderDate: + type: string + OrderId: + type: string + OrderStatus: + type: string + OrderType: + type: string + SuppCount: + type: integer + TelephoneNumberDetails: + $ref: '#/components/schemas/TelephoneNumberDetails' + accountId: + type: integer + lastModifiedDate: + type: string + userId: + type: string + type: object + OrderTelephoneNumbersResponse: + properties: + TelephoneNumbers: + properties: + Count: + type: integer + TelephoneNumber: + type: string + type: object + type: object + OrderUpdate: + properties: + Order: + properties: + CloseOrder: + type: boolean + CustomerOrderId: + type: string + Name: + type: string + type: object + type: object + OriginationRoutePayload: + properties: + Endpoint: + format: |- + a NANP 10 digit telephone number, or + a SIP URI, or + a IPv4 address, or + a Fully Qualified Domain name(FQDN) + type: string + EndpointType: + enum: + - TN + - IPv4 + - SIP + - FQDN + type: string + Name: + description: >- + A friendly name for a route. This is not used for any back-end call + routing. + type: string + Priority: + format: int32 + type: integer + Weight: + format: int32 + type: integer + type: object + OriginationRoutePlan: + description: >- + The OriginationRoutePlan element consists of an action and a list of + prioritized and weighted routes that tell Bandwidth where to send phone + calls to phone numbers associated with the route plan. + properties: + Action: + enum: + - unchanged + - 'off' + - asSpecified + type: string + Id: + format: uuid + type: string + Route: + items: + $ref: '#/components/schemas/OriginationRoutePayload' + type: array + type: object + PaginationLinks: + properties: + first: + type: string + last: + type: string + next: + type: string + previous: + type: string + title: Links + type: object + PhoneNumber: + properties: + PhoneNumber: + description: Simple Telephone Number. + type: string + type: object + PidfloAddressDeleting911Order: + properties: + E911Order: + properties: + AdditionalAddresses: + items: + properties: + Address: + properties: + LocationId: + type: string + required: + - LocationId + type: object + required: + - Address + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + DeleteTNSpecificE911Address: + $ref: '#/components/schemas/DeleteTNSpecificE911Address' + required: + - AdditionalAddresses + - DeleteTNSpecificE911Address + type: object + title: PIDF-LO. PIDF-LO address-deletion order + type: object + PidfloAddressEditing911Order: + properties: + E911Order: + properties: + AdditionalAddresses: + description: >- + A list of Address sections. This address information for all + potential endpoints which will be provisioned to the Bandwidth + 911 system. At call time, the customer will submit this address + information within the SIP header and, if a match is determined, + the call will be routed to the PSAP nearest to that address. + Otherwise, the call will be routed to an ECC. These Address + sections will be the same in format to the Address section in + the top-level of the E911Order payload. It replaces the + TelephoneNumbers and AlternateEndUserIdentifiers payload element + items: + properties: + Address: + properties: + AddressType: + type: string + City: + type: string + HouseNumber: + type: string + Latitude: + type: string + LocationId: + type: string + Longitude: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + required: + - LocationId + type: object + required: + - Address + type: array + required: + - AdditionalAddresses + type: object + title: PIDF-LO. address-editing order + type: object + PidfloAddressProvisioning911Order: + properties: + E911Order: + properties: + AdditionalAddresses: + description: >- + A list of Address sections. This address information for all + potential endpoints which will be provisioned to the Bandwidth + 911 system. At call time, the customer will submit this address + information within the SIP header and, if a match is determined, + the call will be routed to the PSAP nearest to that address. + Otherwise, the call will be routed to an ECC. These Address + sections will be the same in format to the Address section in + the top-level of the E911Order payload. It replaces the + TelephoneNumbers and AlternateEndUserIdentifiers payload element + items: + properties: + Address: + properties: + AddressType: + type: string + City: + type: string + Country: + type: string + HouseNumber: + type: string + Latitude: + type: string + LocationId: + type: string + Longitude: + type: string + PlusFour: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + required: + - Address + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + required: + - AdditionalAddresses + type: object + title: PIDF-LO. address-provisioning order + type: object + PidfloAeuiWithAdditionalAddressWithLocationIdE911Order: + properties: + E911Order: + properties: + Address: + properties: + AddressType: + type: string + City: + type: string + Country: + type: string + HouseNumber: + type: string + Latitude: + type: string + LocationId: + type: string + Longitude: + type: string + PlusFour: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + AlternateEndUserIdentifiers: + items: + properties: + AlternateEndUserIdentifier: + properties: + CallbackNumber: + type: string + CallerName: + $ref: '#/components/schemas/CallerNameE911' + Identifier: + maxLength: 30 + minItems: 1 + type: string + PIDFLOEnabled: + description: PIDFLOEnabled is required and must be 'true'. + type: string + PreferredLanguage: + default: en + type: string + required: + - Identifier + - PIDFLOEnabled + type: object + required: + - AlternateEndUserIdentifier + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + required: + - AlternateEndUserIdentifiers + - Address + type: object + title: >- + PIDF-LO. AEUI endpoint-provisioning order with additional address + provisioning and with pre-defined location id + type: object + PidfloAeuiWithAdditionalAddressWithoutLocationIdE911Order: + properties: + E911Order: + properties: + Address: + properties: + AddressType: + type: string + City: + type: string + Country: + type: string + HouseNumber: + type: string + Latitude: + type: string + Longitude: + type: string + PlusFour: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + AlternateEndUserIdentifiers: + items: + properties: + AlternateEndUserIdentifier: + properties: + CallbackNumber: + type: string + CallerName: + $ref: '#/components/schemas/CallerNameE911' + Identifier: + maxLength: 30 + minItems: 1 + type: string + PIDFLOEnabled: + description: PIDFLOEnabled is required and must be 'true'. + type: string + PreferredLanguage: + default: en + type: string + required: + - Identifier + - PIDFLOEnabled + type: object + required: + - AlternateEndUserIdentifier + title: AlternateEndUserIdentifier + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + required: + - AlternateEndUserIdentifiers + - Address + type: object + title: >- + PIDF-LO AEUI. Endpoint-provisioning order with additional address + provisioning and without pre-defined location id + type: object + PidfloAeuiWithLocationIdE911Order: + properties: + E911Order: + properties: + AlternateEndUserIdentifiers: + items: + properties: + AlternateEndUserIdentifier: + properties: + CallbackNumber: + type: string + CallerName: + $ref: '#/components/schemas/CallerNameE911' + Identifier: + maxLength: 30 + minItems: 1 + type: string + LocationId: + type: string + PIDFLOEnabled: + description: PIDFLOEnabled is required and must be 'true'. + type: string + PreferredLanguage: + default: en + type: string + required: + - LocationId + - Identifier + - PIDFLOEnabled + type: object + required: + - AlternateEndUserIdentifier + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + required: + - AlternateEndUserIdentifiers + type: object + title: PIDF-LO. AEUI endpoint-provisioning order with provisioned location id + type: object + PidfloAndSimpleAeuiMixedPidfloAeuiAndNonPidloAeuiDeleting911Order: + properties: + E911Order: + properties: + AlternateEndUserIdentifiers: + items: + properties: + AlternateEndUserIdentifier: + properties: + CallbackNumber: + description: 'Non-PIDF-LO: CallbackNumber is required' + type: string + Identifier: + maxLength: 30 + minItems: 1 + type: string + required: + - Identifier + type: object + required: + - AlternateEndUserIdentifier + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + DeleteTNSpecificE911Address: + $ref: '#/components/schemas/DeleteTNSpecificE911Address' + required: + - AlternateEndUserIdentifiers + - DeleteTNSpecificE911Address + type: object + title: PIDF-LO and SIMPLE AEUI. PIDF-LO and Non-PIDF-LO endpoint-deletion order + type: object + PidfloAndSimpleAeuiMixedPidfloAeuiAndNonPidloAeuiProvisioning911Order: + properties: + E911Order: + properties: + Address: + properties: + AddressType: + type: string + City: + type: string + Country: + type: string + HouseNumber: + type: string + Latitude: + type: string + LocationId: + type: string + Longitude: + type: string + PlusFour: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + AlternateEndUserIdentifiers: + items: + properties: + AlternateEndUserIdentifier: + properties: + CallbackNumber: + description: 'Non-PIDF-LO: CallbackNumber is required' + type: string + CallerName: + $ref: '#/components/schemas/CallerNameE911' + Identifier: + maxLength: 30 + minItems: 1 + type: string + LocationId: + type: string + PIDFLOEnabled: + description: PIDFLOEnabled is required and must be 'true'. + type: string + PreferredLanguage: + default: en + type: string + required: + - LocationId + - Identifier + - PIDFLOEnabled + type: object + required: + - AlternateEndUserIdentifier + type: array + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + required: + - AlternateEndUserIdentifiers + - Address + type: object + title: >- + PIDF-LO and SIMPLE AEUI. Mixed PIDF-LO AEUI and Non-PIDF-LO AEUI + endpoint-provisioning order + type: object + PortOutRequest: + properties: + PortOutRequest: + $ref: '#/components/schemas/ManualPortOutRequest' + type: object + PortOutResponse: + properties: + Errors: + items: + $ref: '#/components/schemas/LnpError' + type: array + OrderId: + description: >- + The unique identifier string created by Bandwidth to refer to the + order. This value is returned in the synchronous response to the + POST. + type: string + PortOutRequest: + $ref: '#/components/schemas/ManualPortOutRequest' + ProcessingStatus: + enum: + - NEW + - SUPP + - MODIFY + - COMPLETE + - CANCELLED + - VALIDATION_FAILED_NEW + - VALIDATION_FAILED_SUPP + - VALIDATION_FAILED_MODIFY + - EXCEPTION + - SOA_PENDING + - SOA_CONFLICT + type: string + Status: + $ref: '#/components/schemas/IrisStatus' + type: object + PortOutValidationRequest: + properties: + PortOutValidationRequest: + properties: + AccountNumber: + type: string + PON: + type: string + Pin: + type: string + SubscriberName: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + ZipCode: + type: string + type: object + type: object + PortOutValidationResponse: + properties: + PortOutValidationResponse: + properties: + AcceptableValues: + properties: + AccountNumber: + type: string + Pin: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + ZipCode: + type: string + type: object + Errors: + items: + properties: + Code: + type: string + Description: + type: string + title: Error + type: object + type: array + PON: + type: string + Portable: + type: boolean + type: object + type: object + PortableTollFreeNumberList: + properties: + RespOrgList: + items: + $ref: '#/components/schemas/TollFreeNumberRespOrg' + type: array + type: object + PortinCreateSubscriberServiceAddress: + allOf: + - $ref: '#/components/schemas/PortinSubscriberBasicServiceAddress' + required: + - HouseNumber + - StreetName + - City + - StateCode + - Zip + title: ServiceAddress + PortinList: + description: >- + The list of child, or subtending, orders associated with a bulk + port-in. The bulk port-in will have an empty PortinList until telephone + numbers are added using the /tnList endpoint. + properties: + PortinList: + items: + $ref: '#/components/schemas/PortinOrderId' + type: array + type: object + PortinListResponse: + properties: + PortinListResponse: + properties: + Errors: + items: + properties: + Error: + properties: + Description: + description: Detailed explanation about error. + type: string + ErrorCode: + description: Numeric designation of corresponding error. + type: integer + PortinOrderId: + type: string + type: object + type: array + PortinList: + items: + $ref: '#/components/schemas/PortinOrderId' + type: array + type: object + type: object + PortinOrderId: + properties: + PortinOrderId: + description: >- + The OrderId associated with a child, or subtending, order associated + with the bulk port-in. + type: string + type: object + PortinPutSubscriberServiceAddress: + allOf: + - $ref: '#/components/schemas/PortinSubscriberBasicServiceAddress' + description: >- + Includes all address fields. ServiceAddress elements cannot be SUPPed + for Automated on-net wireless to wireless port-ins. See also, + ResetAddressFields. + properties: + ResetAddressFields: + description: >- + The `ResetAddressFields` may be specified in a `PUT` request for a + non-toll free port-in order if you would like to remove + `ServiceAddress` elements that are not specified in the PUT payload. + Default value is `false`. + type: boolean + title: ServiceAddress + type: object + PortinSubscriberBasicServiceAddress: + properties: + AddressLine2: + description: >- + `AddressLine2` is used to specify Unit, Suite, Floor, etc. in the + Service Address. `AddressLine2` is optional when not needed to fully + specify the `ServiceAddress`. + type: string + City: + description: >- + `City` is mandatory in cases where the `ServiceAddress` is + mandatory. + type: string + Country: + description: >- + `Country` is the country of the `ServiceAddress`. This value will be + derived from the `StateCode`, so it should generally be omitted. + type: string + HouseNumber: + description: >- + The `HouseNumber` is the street address number of the + `ServiceAddress`. `HouseNumber` is mandatory for port-in orders in + which the `ServiceAddress` is mandatory. + type: string + HousePrefix: + description: >- + The `HouseSuffix` is the non-numeric address number suffix of the + `ServiceAddress`. This element is optional when not needed to fully + specify the `ServiceAddress`. + type: string + HouseSuffix: + description: >- + The `HouseSuffix` is the non-numeric address number suffix of the + `ServiceAddress`. This element is optional when not needed to fully + specify the `ServiceAddress`. + type: string + PlusFour: + description: >- + `PlusFour` is the 4 digits that are sometimes suffixed to the Zip + Code. + maxLength: 4 + type: string + PostDirectional: + description: >- + The `PostDirectional` is the street name post directional of the + `ServiceAddress`. This element is optional when not needed to fully + specify the `ServiceAddress`. + type: string + PreDirectional: + description: >- + The `PreDirectional` is the non-numeric street name prefix of the + `ServiceAddress`. This element is optional when not needed to fully + specify the `ServiceAddress`. + type: string + StateCode: + description: >- + `StateCode` is the 2-letter abbreviation of the state of the + `ServiceAddress`. `StateCode` is mandatory in cases where the + `ServiceAddress` is mandatory. ex: `NC`, `NY`, or `AK` + maxLength: 2 + type: string + StreetName: + description: >- + The `StreetName` is mandatory in cases where the `ServiceAddress` is + mandatory. + type: string + StreetSuffix: + description: >- + The `StreetSuffix` is the street suffix of the `ServiceAddress`. + This element is optional when not needed to fully specify the + `ServiceAddress`. + type: string + Zip: + description: >- + `Zip` is the Zip Code of the `ServiceAddress`. `Zip` is mandatory in + cases where the `ServiceAddress` is mandatory. + type: string + title: ServiceAddress + type: object + PortinSubscriberSupp: + properties: + BusinessName: + type: string + FirstName: + type: string + LastName: + type: string + MiddleInitial: + type: string + ServiceAddress: + $ref: '#/components/schemas/PortinPutSubscriberServiceAddress' + SubscriberType: + description: >- + If SubscriberType is set to BUSINESS, a BusinessName must be + provided. If SubscriberType is set to RESIDENTIAL, a FirstName and + LastName must be provided. + enum: + - business + - residential + - generic + type: string + title: Subscriber + type: object + PortinsTotal: + properties: + Quantity: + properties: + Count: + description: Total count of port-ins. + type: integer + type: object + type: object + ProcessingStatus: + description: Order status. + enum: + - FAILED + - COMPLETED + type: string + ProcessingStatusPatch: + properties: + delete: + type: boolean + type: object + Product: + properties: + Name: + type: string + type: object + ProductHttpSettings: + description: Only allowed if VoiceProtocol is HTTP + properties: + HttpVoiceV2AppId: + type: string + type: object + ProductVoiceProtocol: + enum: + - HTTP + - SIP + type: string + ProxyPeer: + properties: + ProxyPeer: + properties: + Name: + type: string + ProxyPeerId: + type: integer + Service: + type: string + type: object + type: object + ProxyPeerResponse: + properties: + AdminDataResponse: + $ref: '#/components/schemas/ProxyPeer' + type: object + ProxyPeers: + items: + $ref: '#/components/schemas/ProxyPeer' + type: array + ProxyPeersResponse: + properties: + AdminDataResponse: + properties: + ProxyPeers: + $ref: '#/components/schemas/ProxyPeers' + type: object + type: object + Quantity: + properties: + Quantity: + properties: + Count: + description: >- + Total count of telephone numbers associated with the specified + port-in number. + type: integer + type: object + type: object + RateCenterCoverageErrorList: + description: >- + A list of coverage matrix entries along with the errors when updating + them. + items: + description: Each data item, which includes a rate center coverage with an error. + maxItems: 5000 + minItems: 0 + properties: + coverage: + $ref: '#/components/schemas/RateCenterCoverageUnsuccessfulResponse' + error: + $ref: '#/components/schemas/CoverageMatrixEntry' + type: object + type: array + RateCenterCoverageList: + description: A list of coverage matrix entries. + properties: + data: + items: + $ref: '#/components/schemas/CoverageMatrixEntry' + maxItems: 5000 + minItems: 1 + type: array + required: + - data + type: object + RateCenterCoverageUnsuccessfulResponse: + description: A generic error object for coverage matrix / rate center responses. + properties: + description: + example: Error Message + type: string + errorCode: + example: 3900 + type: number + type: object + RateCenterGroup: + properties: + City: + title: City + type: string + LATA: + title: LATA + type: integer + RateCenter: + title: Rate Center + type: string + State: + title: State + type: string + TnList: + $ref: '#/components/schemas/LnpCheckerTnList' + title: Rate Center information + type: object + RateCenterSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + RateCenterSearchAndOrderType: + $ref: '#/components/schemas/RateCenterSearchAndOrderType' + type: object + xml: + name: Order + RateCenterSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + RateCenterSearchAndOrderType: + $ref: '#/components/schemas/RateCenterSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + RateCenterSearchAndOrderType: + properties: + EnableLCA: + type: boolean + Quantity: + format: int32 + type: integer + RateCenter: + type: string + State: + type: string + type: object + xml: + name: RateCenterSearchAndOrderType + RateCenterSearchResult: + properties: + Abbreviation: + type: string + AvailableTelephoneNumberCount: + format: int32 + type: integer + Name: + type: string + title: RateCenter + type: object + RateCenterSearchResults: + properties: + RateCenterResponse: + properties: + RateCenters: + items: + $ref: '#/components/schemas/RateCenterSearchResult' + type: array + ResultCount: + format: int32 + type: integer + type: object + type: object + RateCenterWithCount: + properties: + Count: + type: integer + RateCenter: + type: string + type: object + Realm: + properties: + Default: + description: Default Realm flag + type: boolean + Description: + description: Realm Description + type: string + Id: + description: The ID number associated with the Realm + type: integer + Realm: + description: Realm name + type: string + SipCredentialCount: + description: The ID number associated with the Realm + type: integer + Status: + description: >- + Indicates the status of the Realm. Only 'active' Realms can be used + to associate with Sip Credentials + enum: + - ACTIVE + - CREATE_PENDING + - CREATE_FAILED + - DELETE_PENDING + - DELETE_FAILED + type: string + type: object + RealmCreateRequest: + properties: + Default: + description: Default Realm flag + type: boolean + Description: + description: Realm Description + maxLength: 255 + type: string + Realm: + description: Realm name + maxLength: 64 + type: string + required: + - Realm + - Default + title: Realm + type: object + RealmDns: + properties: + DNSRecords: + items: + $ref: '#/components/schemas/DNSRecord' + type: array + DefaultGroupName: + type: string + Realm: + type: string + type: object + RealmResponse: + properties: + Realm: + $ref: '#/components/schemas/Realm' + type: object + RealmUpdateRequest: + properties: + Default: + description: >- + Default Realm flag. A Realm can only be updated to become the new + default, ie: Default cannot be set to 'false' + type: boolean + Description: + description: Realm Description + maxLength: 255 + type: string + type: object + Realms: + items: + $ref: '#/components/schemas/Realm' + type: array + RealmsResponse: + properties: + Realms: + $ref: '#/components/schemas/Realms' + type: object + RecipientCallback: + description: Callback url and credentials + properties: + Password: + description: >- + A password to be used in Basic Authentication of the callback. + Passwords are not included in GET responses. + maxLength: 256 + type: string + Url: + description: >- + An https URL that must be provided when Type is set to CALLBACK. The + URL may optionally include one or more query parameters + format: url + maxLength: 256 + type: string + Username: + description: A username to be used in Basic Authentication of the callback + maxLength: 32 + type: string + type: object + RecipientCreatedDate: + description: Creation date of the recipient. + type: string + RecipientEmailAddress: + format: email + type: string + RecipientIdentifier: + description: >- + The identifier that uniquely identifies an emergency notification + recipient. + maxLength: 255 + type: string + RecipientLastModifiedDate: + description: Last modified date of the recipient. + type: string + RecipientSms: + description: >- + A telephone number capable of receiving text messages that must be + specified when Type is set to SMS. + properties: + TelephoneNumber: + $ref: '#/components/schemas/TelephoneNumber' + type: object + RecipientTTS: + description: >- + A telephone number capable of receiving voice calls that must be + specified when Type is set to TTS. + properties: + TelephoneNumber: + $ref: '#/components/schemas/TelephoneNumber' + type: object + RemoveImportedTnOrderRequest: + properties: + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only alphanumeric + values, dashes and spaces are allowed + maxLength: 40 + type: string + TelephoneNumbers: + description: >- + Ten digit phone number with no dots or dashes. One or more is + required. Use a PhoneNumber tag for each phone number in the list + items: + $ref: '#/components/schemas/TelephoneNumber' + minItems: 1 + type: array + required: + - TelephoneNumbers + title: RemoveImportedTnOrder + RemoveImportedTnOrders: + properties: + Links: + $ref: '#/components/schemas/PaginationLinks' + RemoveImportedTnOrderSummary: + items: + $ref: '#/components/schemas/OrderSummary' + type: array + TotalCount: + type: integer + type: object + RemoveImportedTnOrdersHistoryResponse: + properties: + RemoveImportedTnOrdersReportResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + RemoveImportedTnOrdersResponse: + properties: + RemoveImportedTnOrder: + properties: + AccountId: + type: integer + CreatedByUser: + type: string + CustomerOrderId: + type: string + Errors: + items: + $ref: '#/components/schemas/TelephoneNumberGroupError' + type: array + LastModifiedDate: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + RemoveImportedVoiceTnOrderRequest: + properties: + CustomerOrderId: + description: >- + Internal customer order id for tracking the order. Only alphanumeric + values, dashes and spaces are allowed + maxLength: 40 + type: string + TelephoneNumbers: + description: >- + Ten digit phone number with no dots or dashes. One or more is + required. Use a PhoneNumber tag for each phone number in the list + items: + $ref: '#/components/schemas/TelephoneNumber' + minItems: 1 + type: array + required: + - TelephoneNumbers + title: RemoveImportedVoiceTnOrder + RemoveImportedVoiceTnOrderResponse: + properties: + RemoveImportedVoiceTnOrder: + properties: + AccountId: + type: integer + CreatedByUser: + type: string + CustomerOrderId: + type: string + Errors: + items: + $ref: '#/components/schemas/TelephoneNumberGroupError' + type: array + LastModifiedDate: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + RemoveImportedVoiceTnOrders: + properties: + Links: + $ref: '#/components/schemas/PaginationLinks' + RemoveImportedVoiceTnOrderSummary: + items: + $ref: '#/components/schemas/OrderSummary' + type: array + TotalCount: + type: integer + type: object + Report: + properties: + Description: + description: A description of the report in general terms + type: string + Id: + description: ID of the report + type: string + Name: + description: Name of the report + type: string + Parameters: + description: >- + A set of parameters that are used to provide boundaries on the + information that is provided + items: + $ref: '#/components/schemas/ReportParameter' + type: array + type: object + ReportEnumParameterValue: + properties: + DisplayName: + description: DisplayName tag value can be used for UI purposes + type: string + InternalName: + description: InternalName tag value uses in report instance creation + type: string + title: Value + type: object + ReportInstance: + properties: + Instance: + $ref: '#/components/schemas/ReportInstancePayload' + type: object + ReportInstancePayload: + properties: + Description: + type: string + ExpiresAt: + type: string + OutputFormat: + type: string + Parameters: + items: + $ref: '#/components/schemas/ReportParameterValue' + type: array + type: object + ReportInstanceResponse: + properties: + ReportInstanceResponse: + properties: + Instance: + $ref: '#/components/schemas/ReportInstanceResponsePayload' + type: object + type: object + ReportInstanceResponsePayload: + properties: + Description: + type: string + ExpiresAt: + type: string + Id: + type: integer + OutputFormat: + type: string + Parameters: + items: + $ref: '#/components/schemas/ReportParameterValue' + type: array + ReportId: + type: integer + ReportName: + type: string + RequestedAt: + format: date-time + type: string + RequestedByUserName: + type: string + Status: + type: string + type: object + ReportInstances: + items: + properties: + Instance: + $ref: '#/components/schemas/ReportInstanceResponsePayload' + type: array + ReportInstancesResponse: + properties: + Instances: + $ref: '#/components/schemas/ReportInstances' + type: object + ReportParameter: + properties: + Description: + description: Description of the parameter + type: string + HelpInformation: + description: Some help info for describing parameter + type: string + MultiSelectAllowed: + description: Is multiple vales allowed or not + type: boolean + Name: + description: Name of the parameter + type: string + Required: + description: Declaration of whether it is required or not + type: boolean + Type: + description: Type of the parameter + enum: + - Account ID + - Site ID + - SipPeer ID + - String + - Integer + - Boolean + - Enum + type: string + ValueFilter: + description: Contains a semicolon separated list of InternalNames + type: string + Values: + description: A list of values of Enum type + items: + $ref: '#/components/schemas/ReportEnumParameterValue' + type: array + type: object + ReportParameterValue: + properties: + Name: + type: string + Value: + items: + type: string + type: array + type: object + ReportResponse: + properties: + Reports: + $ref: '#/components/schemas/Report' + type: object + ReportsResponse: + properties: + Reports: + items: + $ref: '#/components/schemas/NotDetailedReport' + type: array + type: object + RequestedCallbackTypes: + enum: + - MESSAGE_FAILED + - MESSAGE_DELIVERED + - MESSAGE_SENDING + type: string + Reservation: + properties: + AccountId: + format: int32 + type: integer + ReservationExpires: + format: int64 + type: integer + ReservationId: + type: string + ReservedTn: + type: string + type: object + ReservationErrorResponse: + properties: + ReservationResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + ReservationRequest: + properties: + Reservation: + $ref: '#/components/schemas/ReservationRequestPayload' + type: object + ReservationRequestPayload: + properties: + ReservedTn: + $ref: '#/components/schemas/TelephoneNumber' + title: Reservation + type: object + ReservationResponse: + properties: + Reservation: + $ref: '#/components/schemas/ReservationResponsePayload' + type: object + ReservationResponsePayload: + properties: + AccountId: + format: int32 + type: integer + ReservationExpires: + format: int64 + type: integer + ReservationId: + type: string + ReservedTn: + $ref: '#/components/schemas/TelephoneNumber' + type: object + ResponseSelectWrapper: + properties: + ResponseSelectWrapper: + properties: + ListOrderIdUserIdDate: + properties: + Links: + $ref: '#/components/schemas/Links' + OrderIdUserIdDate: + items: + $ref: '#/components/schemas/OrderIdUserIdDate' + type: array + TotalCount: + type: integer + type: object + type: object + type: object + ResponseStatus: + properties: + ResponseStatus: + properties: + Description: + description: 'Detailed explanation about error ' + type: string + ErrorCode: + description: Numeric designation of corresponding error + type: integer + type: object + type: object + RogerTerminationSettings: + properties: + SubnetAddressingAllowed: + type: boolean + TerminationId: + type: integer + type: object + SbcNodeGroupPayloadWithId: + properties: + SbcNodeGroup: + properties: + Name: + type: string + Nodes: + items: + properties: + Node: + description: Node name + type: string + type: object + type: array + type: object + type: object + SbcNodeGroupResponse: + properties: + AdminDataResponse: + properties: + SbcNodeGroups: + $ref: '#/components/schemas/SbcNodeGroupPayloadWithId' + type: object + type: object + SbcNodeGroups: + items: + properties: + SbcNodeGroup: + $ref: '#/components/schemas/SbcNodeGroup' + type: object + type: array + SbcNodeGroupsResponse: + properties: + AdminDataResponse: + properties: + SbcNodeGroups: + $ref: '#/components/schemas/SbcNodeGroups' + type: object + type: object + SbcSettings: + properties: + NodeGroupName: + type: string + TrunkGroupId: + type: string + type: object + SearchResult: + oneOf: + - properties: + ResultCount: + format: int32 + type: integer + TelephoneNumberList: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + - properties: + resultCount: + format: int32 + type: integer + telephoneNumberDetailList: + items: + $ref: '#/components/schemas/telephoneNumberDetail' + type: array + xml: + name: TelephoneNumberDetailList + xml: + name: ResultCount + type: object + xml: + name: SearchResult + SearchResultError: + properties: + Error: + properties: + Code: + type: integer + Description: + type: string + type: object + title: SearchResult + type: object + SearchResultErrorWrapper: + properties: + SearchResult: + $ref: '#/components/schemas/SearchResultError' + type: object + SearchResultForAvailableNpaNxx: + properties: + AvailableNpaNxxList: + items: + $ref: '#/components/schemas/AvailableNpaNxx' + type: array + type: object + SearchResultForAvailableNpaNxxError: + properties: + Error: + properties: + Code: + type: integer + Description: + type: string + type: object + title: SearchResultForAvailableNpaNxx + type: object + SearchResultForAvailableNpaNxxErrorWrapper: + properties: + SearchResultForAvailableNpaNxx: + $ref: '#/components/schemas/SearchResultForAvailableNpaNxxError' + type: object + SearchResultForAvailableNpaNxxWrapper: + properties: + SearchResultForAvailableNpaNxx: + $ref: '#/components/schemas/SearchResultForAvailableNpaNxx' + type: object + SimpleAeuiNonPidfloProvisioning911Order: + properties: + E911Order: + properties: + Address: + properties: + AddressType: + type: string + City: + type: string + Country: + type: string + HouseNumber: + type: string + Latitude: + type: string + LocationId: + type: string + Longitude: + type: string + PlusFour: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + type: object + AlternateEndUserIdentifiers: + items: + properties: + AlternateEndUserIdentifier: + properties: + CallbackNumber: + type: string + Identifier: + maxLength: 30 + minItems: 1 + type: string + PIDFLOEnabled: + default: 'true' + type: string + required: + - CallbackNumber + - Identifier + type: object + required: + - AlternateEndUserIdentifier + type: array + CallerName: + $ref: '#/components/schemas/CallerNameE911' + CustomerOrderId: + $ref: '#/components/schemas/CustomerOrderIdE911' + required: + - AlternateEndUserIdentifiers + - Address + type: object + title: SIMPLE AEUI. Non-PIDF-LO endpoint-provisioning order + type: object + SipAuthError: + properties: + Code: + type: integer + Description: + type: string + type: object + SipAuthSbc: + properties: + Zone: + $ref: '#/components/schemas/Zone' + type: object + SipAuthSettings: + properties: + RealmDnsList: + items: + $ref: '#/components/schemas/RealmDns' + type: array + SBC: + $ref: '#/components/schemas/SipAuthSbc' + type: object + SipAuthentication: + properties: + Enabled: + type: boolean + Errors: + items: + $ref: '#/components/schemas/SipAuthError' + type: array + Status: + enum: + - PROCESSING + - COMPLETE + - FAILED + type: string + Type: + enum: + - BRIDGE + - REGISTRAR + type: string + type: object + SipAuthenticationResponse: + properties: + SipAuthentication: + $ref: '#/components/schemas/SipAuthSettings' + type: object + SipCredential: + properties: + Domain: + description: Subscriber domain. Will be appended to the UserName with an '@' + type: string + Hash1: + description: 'Hash value #1 in MD5 representation' + type: string + Hash1b: + description: 'Hash value #2 in MD5 representation' + type: string + HttpVoiceV2AppId: + description: Application id associated with subscriber + type: string + Id: + description: The ID number associated with the Credential + type: integer + Realm: + description: A string representing the associated Realm + type: string + RealmId: + description: The ID number corresponding to the associated Realm + type: integer + UserName: + description: 'Subscriber name or aggregated name and domain value(ex: Mike@bw.com)' + type: string + type: object + SipCredentialCreateRequest: + properties: + Domain: + description: Subscriber domain. Will be appended to the UserName with an '@' + maxLength: 32 + type: string + Hash1: + description: 'Hash value #1 in MD5 representation' + maxLength: 64 + type: string + Hash1b: + description: 'Hash value #2 in MD5 representation' + maxLength: 64 + type: string + HttpVoiceV2AppId: + description: Application id associated with subscriber + maxLength: 64 + type: string + Realm: + description: Subscriber realm + maxLength: 64 + type: string + UserName: + description: 'Subscriber name or aggregated name and domain value(ex: Mike@bw.com)' + maxLength: 32 + type: string + required: + - UserName + - Hash1 + title: SipCredential + type: object + SipCredentialError: + properties: + Description: + type: string + ErrorCode: + type: integer + SipCredential: + $ref: '#/components/schemas/SipCredential' + title: Error + type: object + SipCredentialResponse: + properties: + Error: + $ref: '#/components/schemas/SipCredentialError' + SipCredential: + $ref: '#/components/schemas/SipCredential' + type: object + SipCredentialUpdateRequest: + properties: + Hash1: + description: 'Hash value #1 in MD5 representation' + maxLength: 64 + type: string + Hash1b: + description: 'Hash value #2 in MD5 representation' + maxLength: 64 + type: string + HttpVoiceV2AppId: + description: Application id associated with subscriber + maxLength: 64 + type: string + Realm: + description: Subscriber realm + maxLength: 64 + type: string + RealmId: + description: Subscriber realm ID + type: string + required: + - Hash1 + title: SipCredential + type: object + SipCredentialsResponse: + properties: + Errors: + items: + $ref: '#/components/schemas/SipCredentialError' + type: array + ValidSipCredentials: + items: + $ref: '#/components/schemas/SipCredential' + type: array + type: object + SipPeer: + properties: + Address: + $ref: '#/components/schemas/Address' + CallVerificationEnabled: + type: boolean + CallingName: + $ref: '#/components/schemas/SipPeerLineOptionDto' + Description: + type: string + FinalDestinationUri: + type: string + IsDefaultPeer: + type: boolean + OriginationRoutePlan: + $ref: '#/components/schemas/OriginationRoutePlan' + PeerId: + format: int32 + type: integer + PeerName: + type: string + PindropEnabled: + type: boolean + PremiseTrunks: + type: string + Products: + items: + enum: + - Origination + - Termination + - MESSAGING + - E911 + - TollFree + - UcTrunking + - EdgeManagement + - CORE + - Iris + - NumberManagement + - Analytics + - CampaignManagement + type: string + xml: + name: Product + type: array + SsSendToCustomer: + enum: + - NONE + - VERSTAT + - ENH_VERSTAT + - VERSTAT_AND_IDENTITY + - ENH_VERSTAT_AND_IDENTITY + - IDENTITY + type: string + SuggestedAddresses: + items: + $ref: '#/components/schemas/Address' + type: array + TerminationHosts: + $ref: '#/components/schemas/SipPeerTerminationHosts' + TnCount: + format: int32 + type: integer + VoiceHostGroups: + items: + $ref: '#/components/schemas/Hosts' + type: array + VoiceHosts: + $ref: '#/components/schemas/Hosts' + type: object + SipPeerGatewayAttribute: + properties: + GatewayAttribute: + $ref: '#/components/schemas/TerminationAttribute' + GatewayId: + format: int64 + type: integer + type: object + SipPeerGatewayAttributeResponse: + properties: + SipPeerGatewayAttributeResponse: + properties: + SipPeerGatewayAttribute: + $ref: '#/components/schemas/SipPeerGatewayAttribute' + type: object + type: object + SipPeerGatewayAttributes: + properties: + GatewayAttributes: + items: + $ref: '#/components/schemas/TerminationAttribute' + type: array + GatewayId: + format: int64 + type: integer + type: object + SipPeerGatewayAttributesResponse: + properties: + SipPeerGatewayAttributesResponse: + properties: + SipPeerGatewayAttributes: + $ref: '#/components/schemas/SipPeerGatewayAttributes' + type: object + type: object + SipPeerGatewayIp: + properties: + HostName: + type: string + Port: + type: string + id: + format: int64 + type: integer + title: TerminationHost + type: object + SipPeerGatewayIpResponse: + properties: + SipPeerGatewayIpResponse: + properties: + SipPeerGatewayIp: + allOf: + - $ref: '#/components/schemas/SipPeerGatewayIp' + title: SipPeerGatewayIp + type: object + type: object + title: SipPeerGatewayIpResponse + type: object + SipPeerGatewayIpsResponse: + properties: + TerminationHosts: + items: + $ref: '#/components/schemas/SipPeerGatewayIp' + type: array + title: TerminationHosts + type: object + SipPeerHost: + properties: + SipPeerId: + type: integer + SmsHosts: + $ref: '#/components/schemas/Hosts' + TerminationHosts: + $ref: '#/components/schemas/Hosts' + VoiceHosts: + $ref: '#/components/schemas/Hosts' + type: object + SipPeerHosts: + properties: + SipPeerHosts: + items: + $ref: '#/components/schemas/SipPeerHost' + type: array + type: object + xml: + name: SipPeerHosts + SipPeerHttpSettings: + properties: + HttpVoiceV2AppId: + type: string + title: HttpSettings + type: object + SipPeerLineOptionDto: + properties: + Display: + type: boolean + Enforced: + type: boolean + type: object + SipPeerMessagingSettings: + properties: + BreakOutCountries: + items: + properties: + Country: + type: string + type: array + type: object + SipPeerMessagingSettingsResponse: + properties: + SipPeerMessagingSettings: + $ref: '#/components/schemas/SipPeerMessagingSettings' + type: object + SipPeerMmsFeature: + properties: + MmsSettings: + $ref: '#/components/schemas/MmsSettings' + Protocols: + $ref: '#/components/schemas/MmsProtocols' + title: MmsFeature + type: object + SipPeerOriginationSettingsRequest: + properties: + HttpSettings: + $ref: '#/components/schemas/ProductHttpSettings' + VoiceProtocol: + $ref: '#/components/schemas/ProductVoiceProtocol' + required: + - VoiceProtocol + title: SipPeerHttpSettings + type: object + SipPeerOriginationSettingsResponse: + properties: + SipPeerOriginationSettings: + $ref: '#/components/schemas/SipPeerProductSettings' + type: object + SipPeerPayload: + properties: + Address: + $ref: '#/components/schemas/Address' + CallVerificationEnabled: + type: boolean + CallingName: + $ref: '#/components/schemas/SipPeerLineOptionDto' + Description: + type: string + FinalDestinationUri: + type: string + IsDefaultPeer: + type: boolean + OriginationRoutePlan: + $ref: '#/components/schemas/OriginationRoutePlan' + PeerName: + type: string + PindropEnabled: + type: boolean + PremiseTrunks: + type: string + Products: + items: + enum: + - Origination + - Termination + - MESSAGING + - E911 + - TollFree + - UcTrunking + - EdgeManagement + - CORE + - Iris + - NumberManagement + - Analytics + - CampaignManagement + type: string + xml: + name: Product + type: array + SsSendToCustomer: + enum: + - NONE + - VERSTAT + - ENH_VERSTAT + - VERSTAT_AND_IDENTITY + - ENH_VERSTAT_AND_IDENTITY + - IDENTITY + type: string + SuggestedAddresses: + items: + $ref: '#/components/schemas/Address' + type: array + TnCount: + format: int32 + type: integer + VoiceHostGroups: + items: + $ref: '#/components/schemas/Hosts' + type: array + VoiceHosts: + $ref: '#/components/schemas/Hosts' + type: object + SipPeerProductSettings: + properties: + HttpSettings: + $ref: '#/components/schemas/SipPeerHttpSettings' + VoiceProtocol: + type: string + type: object + SipPeerProductsResponse: + properties: + Products: + items: + $ref: '#/components/schemas/Product' + type: array + type: object + SipPeerResponse: + properties: + SipPeer: + $ref: '#/components/schemas/SipPeer' + type: object + SipPeerResponseBadRequest: + properties: + SipPeerResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + SipPeerResponseConflict: + properties: + AddressErrorDescription: + $ref: '#/components/schemas/AddressErrorDescription' + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + SipPeerSmsFeature: + properties: + HttpSettings: + $ref: '#/components/schemas/SmsHttpSettings' + SipPeerSmsFeatureSettings: + $ref: '#/components/schemas/SipPeerSmsFeatureSettings' + SmppHosts: + items: + $ref: '#/components/schemas/SmsHost' + type: array + type: object + SipPeerSmsFeatureResponse: + properties: + SipPeerSmsFeature: + $ref: '#/components/schemas/SipPeerSmsFeature' + type: object + SipPeerSmsFeatureSettings: + properties: + A2pLongCode: + enum: + - DEFAULT_ON + - DEFAULT_OFF + - INCORRECT_VALUE + type: string + A2pMessageClass: + type: string + Protocol: + enum: + - SIP + - SMPP + - HTTP + type: string + ShortCode: + type: boolean + TollFree: + type: boolean + Zone1: + type: boolean + Zone2: + type: boolean + Zone3: + type: boolean + Zone4: + type: boolean + Zone5: + type: boolean + title: SmsSettings + type: object + SipPeerTelephoneNumber: + properties: + CallForward: + description: Does this telephone number have call forwarding or not + type: string + CallingNameDisplay: + description: >- + Calling Name of the caller is available to the user or not on + incoming calls + type: string + FullNumber: + description: A 10 Digit Telephone Number + type: string + MessagingSettings: + description: Does this telephone number have any messaging system configured + type: string + NumberFormat: + enum: + - 10digit + - 11digit + - e164 + - 'false' + type: string + RPIDFormat: + description: Telephone number RPID format + enum: + - 10digit + - 11digit + - e164 + - 'false' + type: string + RewriteUser: + maxLength: 25 + type: string + TnAttributes: + description: Is this telephone number protected or not + items: + properties: + TnAttribute: + type: string + type: array + type: object + SipPeerTelephoneNumberBulk: + properties: + SipPeerTelephoneNumbers: + items: + type: string + xml: + name: FullNumber + maxItems: 5000 + type: array + type: object + SipPeerTelephoneNumberBulkErrorResponse: + properties: + SipPeerTelephoneNumberMoveResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + SipPeerTelephoneNumberBulkResponse: + properties: + SipPeerTelephoneNumberMoveResponse: + $ref: '#/components/schemas/SipPeerTelephoneNumberBulk' + type: object + SipPeerTelephoneNumberResponse: + properties: + SipPeerTelephoneNumber: + $ref: '#/components/schemas/SipPeerTelephoneNumber' + type: object + SipPeerTelephoneNumberResponseBadRequest: + properties: + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + SipPeerTelephoneNumbersCountResponse: + properties: + SipPeerTelephoneNumbersCount: + properties: + CnamCount: + description: Telephone numbers count with activated CNAM on provided sipPeer + type: integer + LidbCount: + description: Telephone numbers count with activated Lidb on provided sipPeer + type: integer + SipPeerTelephoneNumbersCount: + description: Telephone numbers count on provided sipPeer + type: integer + type: object + type: object + SipPeerTelephoneNumbersResponse: + properties: + SipPeerTelephoneNumbers: + properties: + SipPeerTelephoneNumber: + items: + $ref: '#/components/schemas/SipPeerTelephoneNumber' + type: array + type: object + type: object + SipPeerTerminationHost: + properties: + CustomerTrafficAllowed: + type: string + HostName: + type: string + Port: + type: string + type: object + SipPeerTerminationHosts: + properties: + TerminationHost: + items: + $ref: '#/components/schemas/SipPeerTerminationHost' + type: array + type: object + SipPeerTerminationProducts: + properties: + TerminationHosts: + items: + $ref: '#/components/schemas/SipPeerGatewayIp' + type: array + xml: + wrapped: true + TerminationSettings: + $ref: '#/components/schemas/SipPeerTerminationSettings' + title: TerminationProduct + type: object + SipPeerTerminationProductsResponse: + properties: + TerminationResponse: + properties: + TerminationProduct: + $ref: '#/components/schemas/SipPeerTerminationProducts' + type: object + type: object + SipPeerTerminationSettings: + properties: + HttpSettings: + $ref: '#/components/schemas/SipPeerHttpSettings' + VoiceProtocol: + type: string + title: TerminationSettings + type: object + SipPeerTerminationSettingsRequest: + properties: + HttpSettings: + $ref: '#/components/schemas/ProductHttpSettings' + VoiceProtocol: + $ref: '#/components/schemas/ProductVoiceProtocol' + required: + - VoiceProtocol + title: SipPeerTerminationSettings + type: object + SipPeerTerminationSettingsResponse: + properties: + SipPeerTerminationSettings: + $ref: '#/components/schemas/SipPeerProductSettings' + type: object + SipPeers: + properties: + SipPeer: + items: + $ref: '#/components/schemas/SipPeer' + type: array + type: object + SipSigPort: + properties: + Index: + type: integer + PortNumber: + type: integer + type: object + Site: + properties: + Address: + $ref: '#/components/schemas/Address' + CustomerName: + type: string + CustomerProvidedId: + type: string + Description: + type: string + Id: + format: int32 + type: integer + Name: + type: string + SipPeerCount: + format: int32 + type: integer + SipPeers: + $ref: '#/components/schemas/SipPeers' + TotalTnCount: + format: int32 + type: integer + UcTrunkingConfiguration: + $ref: '#/components/schemas/SiteUcTrunkingConfigurationPayload' + type: object + SiteHost: + properties: + SipPeerHosts: + $ref: '#/components/schemas/SipPeerHosts' + SiteId: + type: integer + type: object + SiteHosts: + properties: + SiteHosts: + items: + $ref: '#/components/schemas/SiteHost' + type: array + type: object + SiteHostsResponse: + properties: + SiteHostsResponse: + $ref: '#/components/schemas/SiteHosts' + type: object + SiteInfo: + properties: + Description: + type: string + Id: + format: int32 + type: integer + Name: + type: string + type: object + SiteOrdersResponse: + properties: + ResponseSelectWrapper: + properties: + ListOrderIdUserIdDate: + properties: + OrderIdUserIdDate: + items: + $ref: '#/components/schemas/OrderSummary' + type: array + TotalCount: + type: integer + type: object + type: object + type: object + SitePayload: + properties: + Address: + $ref: '#/components/schemas/Address' + Description: + type: string + Id: + format: int32 + type: integer + Name: + type: string + UcTrunkingConfiguration: + $ref: '#/components/schemas/SiteUcTrunkingConfigurationPayload' + type: object + SiteResponse: + properties: + Site: + $ref: '#/components/schemas/SitePayload' + type: object + SiteResponseBadRequest: + properties: + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + SiteResponseConflict: + properties: + AddressErrorDescription: + $ref: '#/components/schemas/AddressErrorDescription' + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + SiteTNsResponse: + properties: + SiteTNs: + properties: + TotalCount: + type: integer + type: object + type: object + SiteUcTrunkingConfigurationPayload: + properties: + Type: + type: string + UsageCategory: + type: string + type: object + SitesResponse: + properties: + Sites: + properties: + Site: + items: + $ref: '#/components/schemas/SiteInfo' + type: array + type: object + type: object + SmppSettings: + properties: + AllowThirdPartyTN: + type: boolean + ConnectionTypeDefault: + enum: + - TRANSCEIVER + - SENDER_ONLY + - RECEIVER_ONLY + type: string + Dlr: + enum: + - INTERMEDIATE + - FINAL + type: string + DlrCarrier: + type: boolean + DstNpi: + enum: + - DEFAULT + - UNKNOWN + - E164 + - X121 + - TELEX + - NATIONAL + - PRIVATE + - ERMES + - EXTENSION + type: string + DstTon: + enum: + - DEFAULT + - UNKNOWN + - INTERNATIONAL + - NATIONAL + - NETWORKSPECIFIC + - SUBSCRIBER + - ALPHANUMERIC + - ABBREVIATED + - EXTENSION + type: string + ForceTon: + type: boolean + MaxConnections: + type: integer + MaxPendingSubmits: + type: integer + Password: + type: string + ResetPassword: + type: boolean + SmppUsername: + type: string + SrcNpi: + enum: + - DEFAULT + - UNKNOWN + - E164 + - X121 + - TELEX + - NATIONAL + - PRIVATE + - ERMES + - EXTENSION + type: string + SrcTon: + enum: + - DEFAULT + - UNKNOWN + - INTERNATIONAL + - NATIONAL + - NETWORKSPECIFIC + - SUBSCRIBER + - ALPHANUMERIC + - ABBREVIATED + - EXTENSION + type: string + type: object + SmsHost: + properties: + ConnectionType: + enum: + - TRANSCEIVER + - SENDER_ONLY + - RECEIVER_ONLY + type: string + HostId: + type: integer + HostName: + type: string + Port: + type: string + Priority: + type: integer + type: object + SmsHttpSettings: + properties: + ProxyPeerId: + type: integer + title: HttpSettings + type: object + StateSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + StateSearchAndOrderType: + $ref: '#/components/schemas/StateSearchAndOrderType' + type: object + xml: + name: Order + StateSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + StateSearchAndOrderType: + $ref: '#/components/schemas/StateSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + StateSearchAndOrderType: + properties: + Quantity: + format: int32 + type: integer + State: + type: string + type: object + xml: + name: StateSearchAndOrderType + StateWithCount: + properties: + Count: + type: integer + State: + type: string + type: object + StringPatch: + properties: + delete: + type: boolean + xml: + attribute: true + type: object + Subscriber: + properties: + AccountNumber: + description: >- + The WirelessInfo.AccountNumber is sometimes required to authorize + the port-out from the losing carrier. This is most common for + telephone numbers that were formerly wireless. This element is not + applicable for toll free port-ins. + type: string + BusinessName: + description: >- + The BusinessName is mandatory for non-toll free port-ins for which + the SubscriberType is set to BUSINESS. The BusinessName may be up to + 25 characters in length. This element is not applicable for toll + free port-ins. + type: string + FirstName: + description: >- + The FirstName value is applicable to non-toll free port-in orders in + which the SubscriberType is set to RESIDENTIAL. The FirstName is + always optional. The FirstName may be up to 25 characters in length. + type: string + LastName: + description: >- + The LastName value is mandatory for non-toll free port-in orders in + which the SubscriberType is set to RESIDENTIAL. The LastName may be + up to 25 characters in length. + type: string + MiddleInitial: + description: >- + The MiddleInitial value is applicable to non-toll free port-in + orders in which the SubscriberType is set to RESIDENTIAL. The + MiddleInitial is always optional. The MiddleInitial is 1 character + in length. + type: string + Name: + description: >- + If the subscriber type is business, the subscriber name is the name + of the business responsible for the numbers being ported. If the + subscriber type is residential, the subscriber name is the name of + the person responsible for the numbers being ported. + type: string + PinNumber: + description: >- + Element of WirelessInfo. Not applicable to toll free port-ins. + Cannot be SUPPed for Automated off-net port-ins. If you want to SUPP + WirelessInfo, you must include both AccountNumber and PinNumber in + the payload, even if you are not changing both. + type: string + ServiceAddress: + $ref: '#/components/schemas/Address' + SubscriberType: + description: >- + The SubscriberType is mandatory for all non-toll free port-in + orders. The SubscriberType field may have values: BUSINESS or + RESIDENTIAL. + enum: + - business + - residential + - generic + type: string + type: object + SubscriberBusiness: + properties: + BusinessName: + maxLength: 25 + type: string + ServiceAddress: + $ref: '#/components/schemas/PortinCreateSubscriberServiceAddress' + SubscriberType: + enum: + - BUSINESS + type: string + required: + - SubscriberType + - ServiceAddress + - BusinessName + title: BUSINESS + type: object + SubscriberPatch: + properties: + BusinessName: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: Subscriber business name. + FirstName: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: Subscriber first name. + LastName: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: Subscriber last name. + MiddleInitial: + allOf: + - $ref: '#/components/schemas/StringPatch' + description: Subscriber middle initial. + ServiceAddress: + $ref: '#/components/schemas/AddressPatch' + SubscriberType: + allOf: + - $ref: '#/components/schemas/SubscriberTypePatch' + description: If residential, order will be rejected if a BusinessName is entered. + enum: + - BUSINESS + - RESIDENTIAL + - GENERIC + delete: + type: boolean + type: object + SubscriberResidential: + properties: + FirstName: + maxLength: 25 + type: string + LastName: + maxLength: 25 + type: string + MiddleInitial: + maxLength: 1 + type: string + ServiceAddress: + $ref: '#/components/schemas/PortinCreateSubscriberServiceAddress' + SubscriberType: + enum: + - RESIDENTIAL + type: string + required: + - SubscriberType + - ServiceAddress + - FirstName + - LastName + title: RESIDENTIAL + type: object + SubscriberTypePatch: + properties: + delete: + type: boolean + type: object + SubscriptionOrderId: + description: >- + If provided order id notifications will only be sent for events + regarding this specific order, if omitted notifications regarding events + for all orders of the specified type will be sent. + format: uuid + type: string + SubscriptionOrderType: + enum: + - portins + - orders + - portouts + - disconnects + - dldas + - lsrorders + - e911s + - tnoptions + - externalTns + - lidb + - bulkPortins + - importtnorders + - removeImportedTnOrders + - csrs + - emergencyNotificationGroup + - emergencyEndpointGroup + - tollfreePortingValidations + type: string + SubscriptionResponse: + properties: + SubscriptionResponse: + properties: + Subscription: + $ref: '#/components/schemas/SubscriptionResponsePayload' + type: object + type: object + SubscriptionResponsePayload: + properties: + CallbackSubscription: + $ref: '#/components/schemas/CallbackSubscription' + EmailSubscription: + $ref: '#/components/schemas/EmailSubscription' + EventType: + type: string + OrderId: + type: string + OrderType: + type: string + SubscriptionId: + type: string + type: object + SubscriptionsErrorResponse: + properties: + SubscriptionsResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + SubscriptionsResponse: + properties: + SubscriptionsResponse: + properties: + Subscriptions: + items: + $ref: '#/components/schemas/SubscriptionResponsePayload' + type: array + type: object + type: object + TNSipPeersResponse: + properties: + SipPeers: + $ref: '#/components/schemas/SipPeers' + type: object + TNs: + properties: + TNs: + properties: + TelephoneNumbers: + properties: + Count: + type: integer + TelephoneNumber: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + TotalCount: + type: integer + type: object + type: object + TelephoneDetailsAreaCodes: + properties: + TelephoneDetailsReports: + properties: + TelephoneDetailsReport: + properties: + AreaCode: + type: string + Count: + type: integer + type: object + type: object + type: object + TelephoneDetailsNpaNxx: + properties: + TelephoneDetailsReports: + properties: + TelephoneDetailsReport: + properties: + Count: + type: integer + NPA-NXX: + type: string + type: object + type: object + type: object + TelephoneDetailsReports: + properties: + TelephoneDetailsReports: + properties: + TelephoneDetailsReport: + properties: + AreaCode: + description: >- + The first 3 digits of a 10-digit North American Numbering + Plan telephone number. + type: integer + Count: + description: >- + Total number of area codes associated with the specified + port-in number. + type: integer + type: object + type: object + type: object + TelephoneDetailsReportsNPAXX: + properties: + TelephoneDetailsReports: + properties: + Count: + description: >- + Total number of NPA-NXX codes associated with the specified + port-in number + type: integer + NPA-NXX: + description: >- + The first 6 digits of a 10-digit North American Numbering Plan + telephone number. + type: integer + type: object + type: object + TelephoneDetailsTotals: + properties: + TelephoneDetailsReports: + properties: + TelephoneDetailsReport: + properties: + Count: + type: integer + type: object + type: object + type: object + TelephoneNumber: + properties: + TelephoneNumber: + description: Simple Telephone Number. + type: string + type: object + TelephoneNumberAvailableNnRoutes: + properties: + NNRoute: + items: + $ref: '#/components/schemas/TnDetailsNnRoute' + type: array + title: AvailableNnRoutes + type: object + TelephoneNumberAvailableNnRoutesErrorResponse: + properties: + AvailableNnRoutes: + $ref: '#/components/schemas/ResponseStatus' + title: AvailableNnRoutes + type: object + TelephoneNumberAvailableNnRoutesResponse: + properties: + AvailableNnRoutes: + $ref: '#/components/schemas/TelephoneNumberAvailableNnRoutes' + type: object + TelephoneNumberDetailHistoryPayload: + properties: + AccountId: + format: int32 + type: integer + City: + type: string + Country: + type: string + FullNumber: + type: string + HostedTelephoneNumberDetails: + items: + $ref: '#/components/schemas/HostedTelephoneNumberDetailHistory' + type: array + InServiceDate: + type: string + LastModified: + type: string + Lata: + format: int32 + type: integer + MessagingSettings: + $ref: '#/components/schemas/TnDetailsMessagingSettings' + OriginationRoutePlan: + $ref: '#/components/schemas/OriginationRoutePlan' + RateCenter: + type: string + ServiceTypes: + items: + type: string + xml: + name: ServiceType + type: array + SipPeer: + $ref: '#/components/schemas/SipPeer' + Site: + $ref: '#/components/schemas/Site' + State: + type: string + Status: + type: string + Tier: + format: int32 + type: integer + TnAttributes: + items: + type: string + xml: + name: TnAttribute + type: array + TnOptions: + $ref: '#/components/schemas/TnOptions' + TnType: + type: string + VendorId: + format: int32 + type: integer + VendorName: + type: string + title: TelephoneNumber + type: object + TelephoneNumberDetailHistoryResponse: + properties: + TelephoneNumberResponse: + properties: + TelephoneNumberDetails: + $ref: '#/components/schemas/TelephoneNumberDetailHistoryPayload' + type: object + type: object + TelephoneNumberDetails: + properties: + Cities: + items: + $ref: '#/components/schemas/CityWithCount' + type: array + xml: + wrapped: true + RateCenters: + items: + $ref: '#/components/schemas/RateCenterWithCount' + type: array + xml: + wrapped: true + States: + items: + $ref: '#/components/schemas/StateWithCount' + type: array + xml: + wrapped: true + Tiers: + items: + $ref: '#/components/schemas/Tiers' + type: array + xml: + wrapped: true + Vendors: + items: + $ref: '#/components/schemas/Vendors' + type: array + xml: + wrapped: true + type: object + TelephoneNumberGroupError: + properties: + Code: + type: integer + Description: + type: string + TelephoneNumbers: + items: + type: string + xml: + name: TelephoneNumber + type: array + xml: + wrapped: true + title: Error + type: object + TelephoneNumberLataResponse: + properties: + TelephoneNumberResponse: + properties: + TelephoneNumberDetails: + properties: + Lata: + format: int32 + type: integer + type: object + type: object + type: object + TelephoneNumberList: + description: List of telephone numbers to be imported + items: + properties: + TelephoneNumber: + description: Ten digit phone number with no dots or dashes + type: integer + type: object + minItems: 1 + type: array + TelephoneNumberRateCenterResponse: + properties: + TelephoneNumberResponse: + properties: + TelephoneNumberDetails: + properties: + RateCenter: + type: string + State: + type: string + type: object + type: object + type: object + TelephoneNumberStatusShortWrapper: + properties: + TelephoneNumberResponse: + properties: + AccountId: + format: int32 + type: integer + InServiceDate: + type: string + LastModifiedDate: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + OrderType: + type: string + PeerGroup: + type: string + SiteId: + format: int32 + type: integer + Status: + type: string + TelephoneNumber: + type: string + type: object + type: object + TelephoneNumberTotalsHistory: + properties: + Quantity: + properties: + Count: + format: int32 + type: integer + type: object + title: Quantity + type: object + TelephoneNumbers: + properties: + TelephoneNumbers: + properties: + Count: + description: >- + Total count of telephone numbers associated with the specified + port-in number. + type: integer + TelephoneNumber: + description: >- + ListOfPhoneNumbers is an array of PhoneNumber. At least one + PhoneNumber must be provided for all port-types. + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + type: object + type: object + TelephoneNumbersAssignmentError: + properties: + Code: + type: integer + Description: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + title: Error + type: object + TelephoneNumbersAssignmentOrder: + properties: + TelephoneNumbersAssignmentOrder: + $ref: '#/components/schemas/TelephoneNumbersAssignmentOrderPayload' + type: object + TelephoneNumbersAssignmentOrderErrorResponse: + properties: + TelephoneNumbersAssignmentOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + TelephoneNumbersAssignmentOrderHistoryResponse: + properties: + TelephoneNumbersAssignmentOrders: + properties: + TelephoneNumbersAssignmentOrderSummary: + items: + $ref: '#/components/schemas/TelephoneNumbersAssignmentOrderSummary' + type: array + TotalCount: + type: integer + type: object + type: object + TelephoneNumbersAssignmentOrderPayload: + properties: + Action: + enum: + - ASSIGN + - UNASSIGN + type: string + CustomerOrderId: + type: string + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumber' + type: array + title: TelephoneNumbersAssignmentOrder + type: object + TelephoneNumbersAssignmentOrderResponse: + properties: + AccountId: + format: int32 + type: integer + CreatedByUser: + type: string + Errors: + items: + $ref: '#/components/schemas/TelephoneNumbersAssignmentError' + type: array + FailedQuantity: + format: int32 + type: integer + OrderCreateDate: + type: string + OrderId: + type: string + OrderStatus: + type: string + TelephoneNumbersAssignmentOrder: + $ref: '#/components/schemas/TelephoneNumbersAssignmentOrderPayload' + TotalQuantity: + format: int32 + type: integer + type: object + TelephoneNumbersAssignmentOrderSummary: + properties: + TelephoneNumbersAssignmentOrderSummary: + properties: + Action: + type: string + FailedQuantity: + format: int32 + type: integer + OrderDate: + type: string + OrderId: + type: string + OrderStatus: + type: string + OrderType: + type: string + TotalQuantity: + format: int32 + type: integer + accountId: + format: int32 + type: integer + userId: + type: string + type: object + type: object + TelephoneNumbersErrorResponse: + properties: + TelephoneNumbersResponse: + $ref: '#/components/schemas/ResponseStatus' + title: TelephoneNumbersResponse + type: object + TelephoneNumbersHistoryResponse: + properties: + TelephoneNumbersResponse: + properties: + ErrorList: + items: + $ref: '#/components/schemas/TelephoneNumberGroupError' + type: array + Links: + $ref: '#/components/schemas/PaginationLinks' + TelephoneNumberCount: + format: int32 + type: integer + TelephoneNumbers: + items: + $ref: '#/components/schemas/TelephoneNumberDetailHistoryPayload' + type: array + type: object + type: object + TerminationAttribute: + properties: + effectiveDate: + format: date-time + type: string + externalId: + format: int64 + type: integer + id: + format: int64 + type: integer + inEffectiveDate: + format: date-time + type: string + isTemplate: + type: boolean + productAttributeId: + format: int64 + type: integer + productId: + format: int64 + type: integer + profileId: + format: int64 + type: integer + type: + type: string + value: + type: string + title: GatewayAttribute + type: object + TerminationSettings: + properties: + HttpVoiceProxyTermHost: + description: can be used only with RogerTerminationSettings + type: string + LegacyTerminationSettings: + $ref: '#/components/schemas/LegacyTerminationSettings' + RogerTerminationSettings: + $ref: '#/components/schemas/RogerTerminationSettings' + RogerUsedForTerminationSettings: + type: boolean + type: object + TerminationSettingsResponse: + properties: + TerminationSettings: + $ref: '#/components/schemas/TerminationSettings' + type: object + TfvResolvedNotVerifiedWebhook: + properties: + declineReasonDescription: + example: >- + Invalid Information - Can't Validate URL - Website is not accessible + / not available - Eligible for Resubmission + nullable: false + type: string + phoneNumber: + items: + $ref: '#/components/schemas/tfPhoneNumber' + maxItems: 10 + minItems: 1 + type: array + resubmitAllowed: + example: true + nullable: false + type: boolean + status: + example: Resolved - Not Verified + nullable: false + type: string + statusCode: + example: 123 + nullable: false + type: integer + ticketNumber: + example: GWF-1234567 + nullable: false + type: string + verificationRequestId: + example: abc-d8569gh + nullable: false + type: string + required: + - ticketNumber + - phoneNumber + - verificationRequestId + - status + - statusCode + - declineReasonDescription + - resubmitAllowed + type: object + TfvResolvedVerifiedWebhook: + properties: + phoneNumber: + items: + $ref: '#/components/schemas/tfPhoneNumber' + maxItems: 10 + minItems: 1 + type: array + status: + example: Resolved - Verified + nullable: false + type: string + ticketNumber: + example: GWF-1234567 + nullable: false + type: string + verificationRequestId: + example: abc-d8569gh + nullable: false + type: string + required: + - ticketNumber + - phoneNumber + - verificationRequestId + - status + type: object + TfvWaitingForSupportWebhook: + properties: + phoneNumber: + items: + $ref: '#/components/schemas/tfPhoneNumber' + maxItems: 10 + minItems: 1 + type: array + status: + example: Waiting for Support + nullable: false + type: string + ticketNumber: + example: GWF-1234567 + nullable: false + type: string + verificationRequestId: + example: abc-d8569gh + nullable: false + type: string + required: + - ticketNumber + - phoneNumber + - verificationRequestId + - status + type: object + Tier: + format: int32 + type: integer + Tiers: + properties: + Count: + type: integer + Tier: + type: string + type: object + Tn: + properties: + Tn: + type: string + type: object + TnAttribute: + description: >- + The TnAttributes field specifies line attributes that will apply to the + ported in telephone numbers. If present, TnAttributes may have a value + of PROTECTED. This element is not applicable for off-net and toll free + port-types. + properties: + TnAttribute: + type: string + type: object + TnAttributes: + description: List of phone number attributes to be assigned. + properties: + TnAttribute: + enum: + - Protected + type: string + type: object + TnAttributesPatch: + properties: + delete: + type: boolean + type: object + TnDetailsMessagingSettings: + properties: + A2pState: + enum: + - 'OFF' + - SYSTEM_DEFAULT + - OVERRIDDEN + type: string + AssignedNnRoute: + $ref: '#/components/schemas/TnDetailsNnRoute' + CampaignId: + type: string + MessageClass: + type: string + SmsEnabled: + type: string + type: object + TnDetailsNnRoute: + properties: + Name: + type: string + Nnid: + format: int32 + type: integer + title: NNRoute + type: object + TnE911Address: + properties: + AddressLine2: + type: string + City: + type: string + Country: + type: string + HouseNumber: + type: string + HouseSuffix: + type: string + Latitude: + type: string + Longitude: + type: string + Name: + type: string + PlusFour: + type: string + PostDirectional: + type: string + PreDirectional: + type: string + StateCode: + type: string + StreetName: + type: string + Zip: + type: string + type: object + TnE911AddressPayload: + properties: + AccountId: + type: integer + Address: + $ref: '#/components/schemas/TnE911Address' + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroupPayload' + type: object + TnE911AddressResponse: + properties: + Address: + $ref: '#/components/schemas/TnE911Address' + EmergencyNotificationGroup: + $ref: '#/components/schemas/EmergencyNotificationGroupPayload' + TnE911Address: + items: + $ref: '#/components/schemas/TnE911AddressPayload' + type: array + type: object + TnList: + properties: + TnList: + properties: + TN: + items: + type: string + xml: + name: TN + type: array + type: object + type: object + TnListPutErrorResponse: + properties: + TnListResponse: + properties: + OrderId: + type: string + ProcessingStatus: + enum: + - INVALID_DRAFT_TNS + type: string + ResponseStatus: + $ref: '#/components/schemas/ResponseStatus' + type: object + type: object + TnListPutResponse: + properties: + TnListResponse: + properties: + OrderId: + description: This is Bandwidth order ID. + type: string + ProcessingStatus: + description: >- + The processing status of this order. Values may be: PROCESSING, + COMPLETED, FAILED. PROCESSING means that the system is still + processing the order. COMPLETED means that the order has been + successfully completed. FAILED means that errors occurred while + processing the order, and that the order did not make any + changes to the system. + enum: + - DRAFT + - PARTIAL + - COMPLETED + - CANCELED + - VALIDATE_DRAFT_TNS + - VALID_DRAFT_TNS + - INVALID_DRAFT_TNS + type: string + type: object + type: object + TnListRequest: + properties: + TnList: + items: + $ref: '#/components/schemas/Tn' + type: array + type: object + TnListResponse: + properties: + TnListResponse: + properties: + ChildPortinOrder: + description: >- + The OrderId and TnList of a child order associated with a bulk + port-in. A child order is created for each set of telephone + numbers that can be ported together. This element shows which + telephone numbers are associated with each child order. + properties: + OrderId: + type: string + TnList: + items: + properties: + Tn: + type: string + type: array + type: object + ChildPortinOrderList: + description: >- + This is a list of any telephone numbers from the tnList that + have not yet been validated. + properties: + ChildPortinOrder: + description: >- + The list of child, or subtending, orders associated with a + bulk port-in. The bulk port-in will have an empty + ChildPortinOrderList if none of the telephone numbers + included in the /tnList are portable. + properties: + OrderId: + description: >- + The unique identifier string created by Bandwidth to + refer to the order. This value is returned in the + synchronous response to the POST. + type: string + TnList: + items: + properties: + Tn: + type: string + type: array + type: object + type: object + ErrorList: + description: >- + The list of errors (if any) associated with the telephone + numbers in the tnList. + items: + properties: + Error: + properties: + Code: + description: Numeric designation of corresponding error. + type: integer + Description: + description: Detailed explanation about error. + type: string + TnList: + items: + properties: + Tn: + type: string + type: array + type: object + type: array + NotValidatedTnList: + description: >- + This is a list of any telephone numbers from the tnList that + have not yet been validated. + items: + properties: + TN: + type: string + type: array + OrderId: + description: >- + The unique identifier string created by Bandwidth to refer to + the order. This value is returned in the synchronous response + to the POST. + type: string + PortableTnList: + description: >- + This is a list of all of the telephone numbers from the tnList + that were validated and are known to be portable. + items: + properties: + TN: + type: string + type: array + ProcessingStatus: + enum: + - DRAFT + - PARTIAL + - COMPLETED + - CANCELED + - VALIDATE_DRAFT_TNS + - VALID_DRAFT_TNS + - INVALID_DRAFT_TNS + type: string + type: object + type: object + TnOptionGroup: + properties: + A2pSettings: + $ref: '#/components/schemas/A2pSettings' + CallForward: + enum: + - 10digit + - unchanged + - systemDefault + type: string + CallVerificationEnabled: + enum: + - '{custom value}' + - 'true' + - 'false' + type: string + CallingNameDisplay: + enum: + - 'on' + - 'off' + - unchanged + - systemDefault + type: string + ESPID: + enum: + - '{custom value}' + - unchanged + - systemDefault + type: string + FinalDestinationURI: + enum: + - '{custom value}' + - unchanged + - systemDefault + format: >- + a 10 digit telephone number or a SIP URI ( without the sip: prefix ) + in the form address-string@host IP:port, where the host IP is an + IPv4 address in the standard numerical n.n.n.n. form, and the port + is numeric, and optional + + containing [a-z,A-Z,0-9], with ':', '.' and '@' to delimit the + components of the overall string, and less than 60 characters long + maxLength: 60 + minLength: 10 + type: string + NNID: + enum: + - '{custom value}' + - unchanged + - systemDefault + format: integer + type: string + NumberFormat: + enum: + - 10digit + - 11digit + - e164 + - unchanged + - systemDefault + type: string + OriginationRoutePlan: + $ref: '#/components/schemas/OriginationRoutePlan' + PindropEnabled: + enum: + - '{custom value}' + - 'true' + - 'false' + type: string + PortOutPasscode: + enum: + - '{custom value}' + - unchanged + - systemDefault + format: alphanumeric + maxLength: 10 + minLength: 4 + type: string + Protected: + enum: + - 'true' + - 'false' + - unchanged + - systemDefault + type: string + RPIDFormat: + enum: + - 10digit + - 11digit + - e164 + - unchanged + - systemDefault + type: string + RewriteUser: + enum: + - '{custom value}' + - unchanged + - systemDefault + type: string + Sms: + enum: + - 'on' + - 'off' + - unchanged + type: string + TelephoneNumbers: + items: + description: 10 digit tn + type: string + xml: + name: TelephoneNumber + type: array + type: object + TnOptionOrderError: + properties: + Code: + format: int32 + type: integer + Description: + type: string + TelephoneNumber: + type: string + TelephoneNumbers: + items: + type: string + type: array + title: Error + type: object + TnOptionOrderErrorResponse: + properties: + TnOptionOrderResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + TnOptionOrderPayload: + properties: + CustomerOrderId: + description: Optional value for Id set by customer + format: Only alphanumeric values, dashes and spaces are allowed + maxLength: 40 + type: string + Name: + type: string + TnOptionGroups: + description: >- + Each group contains list of telephone numbers and set of TN options + you want to assign to all TNs in the list + items: + $ref: '#/components/schemas/TnOptionGroup' + type: array + title: TnOptionOrder + type: object + TnOptionOrderReportDetailedResponse: + properties: + TnOptionOrderReportResponse: + properties: + TnOptionOrders: + items: + $ref: '#/components/schemas/TnOptionOrderResponsePayload' + type: array + type: object + title: TnOptionOrderReportResponse + type: object + TnOptionOrderReportErrorResponse: + properties: + TnOptionOrderReportResponse: + $ref: '#/components/schemas/ResponseStatus' + title: TnOptionOrderReportResponse + type: object + TnOptionOrderReportSummaryResponse: + properties: + TnOptionOrderReportResponse: + properties: + Links: + $ref: '#/components/schemas/PaginationLinks' + TnOptionOrderSummary: + items: + $ref: '#/components/schemas/OrderSummary' + title: TnOptionOrderSummary + type: array + TotalCount: + type: integer + type: object + title: TnOptionOrderReportResponse + type: object + TnOptionOrderReportValidationErrorResponse: + properties: + TollFreePortingValidationResponse: + $ref: '#/components/schemas/ResponseStatus' + title: TollFreePortingValidationResponse + type: object + TnOptionOrderRequest: + properties: + TnOptionOrder: + $ref: '#/components/schemas/TnOptionOrderPayload' + title: TnOptionOrder + type: object + TnOptionOrderResponse: + properties: + TnOptionOrderResponse: + properties: + TnOptionOrder: + $ref: '#/components/schemas/TnOptionOrderResponsePayload' + type: object + type: object + TnOptionOrderResponsePayload: + properties: + AccountId: + format: int32 + type: integer + CreatedByUser: + type: string + CustomerOrderId: + type: string + ErrorList: + items: + $ref: '#/components/schemas/TnOptionOrderError' + type: array + LastModifiedBy: + type: string + LastModifiedDate: + type: string + Name: + type: string + OrderCreateDate: + type: string + OrderId: + type: string + PeerId: + format: int32 + type: integer + ProcessingStatus: + enum: + - RECEIVED + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + SiteId: + format: int32 + type: integer + TnOptionGroups: + items: + $ref: '#/components/schemas/TnOptionGroup' + type: array + Warnings: + items: + $ref: '#/components/schemas/TnOptionOrderWarningPayload' + type: array + title: TnOptionOrder + type: object + TnOptionOrderWarningPayload: + properties: + Description: + type: string + TelephoneNumber: + type: string + title: Warning + type: object + TnOptions: + properties: + CallForward: + $ref: '#/components/schemas/TelephoneNumber' + CallVerificationEnabled: + type: string + CallingNameDisplay: + type: string + FinalDestinationURI: + type: string + NumberFormat: + type: string + PindropEnabled: + type: string + PortOutPasscode: + type: string + RPIDFormat: + type: string + RewriteUser: + type: string + type: object + TnOrderBadResponse: + properties: + ErrorList: + items: + properties: + Error: + properties: + Code: + type: integer + Description: + type: string + type: object + type: array + OrderResponse: + oneOf: + - $ref: '#/components/schemas/ExistingTelephoneNumberOrder' + - $ref: '#/components/schemas/RateCenterSearchAndOrder' + - $ref: '#/components/schemas/AreaCodeSearchAndOrder' + - $ref: '#/components/schemas/NPANXXSearchAndOrder' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder' + - $ref: '#/components/schemas/LATASearchAndOrder' + - $ref: '#/components/schemas/ZIPSearchAndOrder' + - $ref: '#/components/schemas/CitySearchAndOrder' + - $ref: '#/components/schemas/StateSearchAndOrder' + - $ref: '#/components/schemas/CombinedSearchAndOrder' + xml: + name: OrderResponse + type: object + TnOrderCreatedResponse: + properties: + OrderResponse: + oneOf: + - $ref: '#/components/schemas/ExistingTelephoneNumberOrderResponse' + - $ref: '#/components/schemas/RateCenterSearchAndOrderResponse' + - $ref: '#/components/schemas/AreaCodeSearchAndOrderResponse' + - $ref: '#/components/schemas/NPANXXSearchAndOrderResponse' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrderResponse' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrderResponse' + - $ref: '#/components/schemas/LATASearchAndOrderResponse' + - $ref: '#/components/schemas/ZIPSearchAndOrderResponse' + - $ref: '#/components/schemas/CitySearchAndOrderResponse' + - $ref: '#/components/schemas/StateSearchAndOrderResponse' + - $ref: '#/components/schemas/CombinedSearchAndOrderResponse' + xml: + name: OrderResponse + type: object + TnOrderHistoryResponse: + properties: + ResponseSelectWrapper: + properties: + ListOrderIdUserIdDate: + properties: + Links: + $ref: '#/components/schemas/Links' + OrderIdUserIdDate: + items: + $ref: '#/components/schemas/OrderSummary' + type: array + TotalCount: + type: integer + type: object + type: object + type: object + TnOrderUpdatedResponse: + properties: + OrderResponse: + properties: + CompletedNumbers: + items: + properties: + TelephoneNumber: + properties: + FullNumber: + type: string + type: object + type: object + type: array + CompletedQuantity: + type: integer + CreatedByUser: + type: string + FailedQuantity: + type: integer + LastModifiedDate: + type: string + Order: + oneOf: + - $ref: '#/components/schemas/ExistingTelephoneNumberOrder' + - $ref: '#/components/schemas/RateCenterSearchAndOrder' + - $ref: '#/components/schemas/AreaCodeSearchAndOrder' + - $ref: '#/components/schemas/NPANXXSearchAndOrder' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder' + - $ref: '#/components/schemas/LATASearchAndOrder' + - $ref: '#/components/schemas/ZIPSearchAndOrder' + - $ref: '#/components/schemas/CitySearchAndOrder' + - $ref: '#/components/schemas/StateSearchAndOrder' + - $ref: '#/components/schemas/CombinedSearchAndOrder' + OrderCompleteDate: + type: string + OrderStatus: + type: string + type: object + type: object + TnPortOutPasscodePayload: + properties: + FullNumber: + type: string + Passcode: + type: string + title: TelephoneNumber + type: object + TnPortOutPasscodesErrorResponse: + properties: + TelephoneNumbersResponse: + $ref: '#/components/schemas/ResponseStatus' + title: TelephoneNumbersResponse + type: object + TnPortOutPasscodesPayload: + properties: + TelephoneNumber: + items: + $ref: '#/components/schemas/TnPortOutPasscodePayload' + type: array + title: TelephoneNumbers + type: object + TnPortOutPasscodesResponse: + properties: + TelephoneNumbersResponse: + properties: + ErrorList: + items: + $ref: '#/components/schemas/TelephoneNumberGroupError' + type: array + Links: + $ref: '#/components/schemas/PaginationLinks' + TelephoneNumberCount: + type: integer + TelephoneNumbers: + $ref: '#/components/schemas/TnPortOutPasscodesPayload' + type: object + type: object + TnRateCenters: + properties: + RCs: + items: + properties: + RC: + type: string + type: object + type: array + State: + format: int32 + type: integer + title: RateCenters + type: object + TnReservationResponse: + properties: + TNReservation: + $ref: '#/components/schemas/Reservation' + type: object + TnSipPeer: + properties: + SipPeer: + properties: + Id: + format: int32 + type: integer + Name: + type: string + type: object + type: object + TnSite: + properties: + Site: + properties: + Id: + format: int32 + type: integer + Name: + type: string + type: object + type: object + TnTypePayload: + properties: + TnType: + properties: + IsAllowed: + type: boolean + Source: + type: string + Type: + type: string + type: object + TnTypeWithId: + properties: + IsAllowed: + type: boolean + Source: + type: string + TnTypeId: + type: integer + Type: + type: string + type: object + TollFreeNumber: + properties: + TollFreeNumber: + type: string + type: object + TollFreeNumberRespOrg: + properties: + Id: + type: string + RespOrgException: + type: boolean + TollFreeNumberList: + items: + $ref: '#/components/schemas/TollFreeNumber' + type: array + type: object + TollFreePeeringPartner: + properties: + Enabled: + type: boolean + type: object + TollFreePortingValidationOrderBreakdown: + properties: + ManuallyPortableTollFreeNumberList: + $ref: '#/components/schemas/ManuallyPortableTollFreeNumberList' + NonPortableTollFreeNumberList: + $ref: '#/components/schemas/NonPortableTollFreeNumberList' + PortableTollFreeNumberList: + $ref: '#/components/schemas/PortableTollFreeNumberList' + type: object + TollFreePortingValidationOrdersResponse: + properties: + TollFreePortingValidationResponses: + items: + $ref: '#/components/schemas/TollFreePortingValidationResponse' + type: array + type: object + TollFreePortingValidationRequest: + properties: + TollFreePortingValidation: + $ref: '#/components/schemas/TollFreePortingValidationRequestPayload' + type: object + TollFreePortingValidationRequestPayload: + properties: + CustomerOrderId: + description: >- + An optional string that may be associated with the order. It will be + included in all responses and notifications related to the order, + and may be used to correlate with an order in a customer system + type: string + TollFreeNumberList: + description: >- + Is a list of toll free telephone numbers for which you want + information about the status and RespOrg from SOMOS. The list may + consist of up to 5,000 toll free telephone numbers in one order. + The more numbers in the order, the longer it will take the order to + complete. + items: + $ref: '#/components/schemas/TollFreeNumber' + maxItems: 5000 + type: array + title: TollFreePortingValidation + type: object + TollFreePortingValidationResponse: + properties: + TollFreePortingValidationResponse: + properties: + TollFreePortingValidation: + $ref: '#/components/schemas/TollFreePortingValidationResponsePayload' + type: object + type: object + TollFreePortingValidationResponsePayload: + properties: + AccountId: + format: int32 + type: integer + Breakdown: + $ref: '#/components/schemas/TollFreePortingValidationOrderBreakdown' + CreatedByUser: + type: string + CustomerOrderId: + type: string + ErrorList: + items: + $ref: '#/components/schemas/LnpError' + type: array + OrderCreateDate: + type: string + OrderId: + type: string + ProcessingStatus: + enum: + - SUBMITTED + - PROCESSING + - FAILED + - COMPLETE + - CANCELLED + type: string + TollFreeNumberList: + items: + $ref: '#/components/schemas/TollFreeNumber' + type: array + title: TollFreePortingValidation + type: object + TollFreeSettings: + properties: + RespOrgException: + type: boolean + RespOrgIdList: + items: + properties: + RespOrgId: + type: string + type: object + type: array + TargetBandwidthRespOrgId: + type: string + type: object + TollFreeSettingsResponse: + properties: + TerminationSettings: + $ref: '#/components/schemas/TollFreeSettings' + type: object + TollFreeVanitySearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + TollFreeVanitySearchAndOrderType: + $ref: '#/components/schemas/TollFreeVanitySearchAndOrderType' + type: object + xml: + name: Order + TollFreeVanitySearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + TollFreeVanitySearchAndOrderType: + $ref: '#/components/schemas/TollFreeVanitySearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + TollFreeVanitySearchAndOrderType: + properties: + Quantity: + format: int32 + type: integer + TollFreeVanity: + type: string + type: object + xml: + name: TollFreeVanitySearchAndOrderType + TollFreeWildCharSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + TollFreeWildCharSearchAndOrderType: + $ref: '#/components/schemas/TollFreeWildCharSearchAndOrderType' + type: object + xml: + name: Order + TollFreeWildCharSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + TollFreeWildCharSearchAndOrderType: + $ref: '#/components/schemas/TollFreeWildCharSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + TollFreeWildCharSearchAndOrderType: + properties: + Quantity: + format: int32 + type: integer + TollFreeWildCardPattern: + type: string + type: object + xml: + name: TollFreeWildCharSearchAndOrderType + Tpas: + items: + $ref: '#/components/schemas/Tpa' + type: array + TrunkAllocationRule: + properties: + LowerBound: + type: integer + Ratio: + type: integer + type: object + UcTrunkingCloudSettings: + properties: + BiDirectionalTrunks: + type: string + type: object + UcTrunkingCloudSettingsPayload: + properties: + UcTrunkingCloudSettings: + $ref: '#/components/schemas/UcTrunkingCloudSettings' + type: object + UcTrunkingCloudSettingsResponse: + properties: + UcTrunkingCloudSettings: + $ref: '#/components/schemas/UcTrunkingCloudSettings' + type: object + UcTrunkingPremiseSettings: + properties: + BiDirectionalTrunks: + format: int32 + type: integer + type: object + UcTrunkingPremiseTrunksResponse: + properties: + UcTrunkingPremiseTrunksResponse: + properties: + UcTrunkingPremiseSettings: + $ref: '#/components/schemas/UcTrunkingPremiseSettings' + type: object + type: object + UcTrunkingSeats: + properties: + UcTrunkingSeats: + properties: + TotalCount: + type: integer + type: object + type: object + UcTrunkingSettings: + properties: + BillingType: + enum: + - DNIS + - LRN + type: string + CustomerTrafficAllowed: + enum: + - ALL + - LITE + - DOMESTIC + - NONE + type: string + MaxUcTrunks: + type: integer + PartnerType: + enum: + - RESELLER + - AGENT + type: string + TrunkAllocationRules: + items: + $ref: '#/components/schemas/TrunkAllocationRule' + type: array + UsageCategory: + enum: + - UC250 + - UC500 + - UC1000 + type: string + type: object + UcTrunkingSettingsResponse: + properties: + UcTrunkingSettings: + $ref: '#/components/schemas/UcTrunkingSettings' + type: object + VendorList: + items: + properties: + Vendor: + $ref: '#/components/schemas/VendorWithId' + type: object + type: array + VendorListResponse: + properties: + AdminDataResponse: + properties: + VendorList: + $ref: '#/components/schemas/VendorList' + type: object + type: object + VendorName: + description: >- + The vendor that owns the number that is being ported in. If the number + is manually ported to a partner’s network then this would reflect that + partner. + type: string + VendorResponse: + properties: + AdminDataResponse: + properties: + Vendor: + $ref: '#/components/schemas/VendorWithId' + type: object + type: object + VendorWithId: + properties: + LegacyId: + type: string + OnNet: + type: boolean + TollfreeManualPortEnabled: + type: boolean + VendorId: + type: integer + VendorName: + type: string + required: + - VendorName + type: object + Vendors: + properties: + Count: + type: integer + VendorId: + type: integer + VendorName: + type: string + type: object + WebRtc: + properties: + Enabled: + type: boolean + type: object + WhitelistIpWithId: + properties: + Application: + type: string + Id: + type: integer + Ipv4Address: + type: string + Netmask: + type: integer + required: + - Application + - Ipv4Address + - Netmask + type: object + WhitelistIps: + items: + properties: + WhitelistIp: + $ref: '#/components/schemas/WhitelistIpWithId' + type: object + type: array + WirelessInfo: + properties: + AccountNumber: + description: >- + The WirelessInfo.AccountNumber is sometimes required to authorize + the port-out from the losing carrier. This is most common for + telephone numbers that were formerly wireless. This element is not + applicable for toll free port-ins. + type: string + PinNumber: + description: >- + The WirelessInfo.PinNumber is sometimes required to authorize the + port-out from the losing carrier. This is most common for telephone + numbers that were formerly wireless. This element is not applicable + for toll free port-ins. + type: string + type: object + WirelessInfoSupp: + description: >- + If you want to SUPP WirelessInfo, you must include both AccountNumber + and PinNumber in the payload, even if you are not changing both. + properties: + AccountNumber: + type: string + PinNumber: + type: string + title: WirelessInfo + type: object + ZIPSearchAndOrder: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + ZIPSearchAndOrderType: + $ref: '#/components/schemas/ZIPSearchAndOrderType' + type: object + xml: + name: Order + ZIPSearchAndOrderResponse: + properties: + order: + properties: + allOf: + - $ref: '#/components/schemas/orderResponseMetadata' + - properties: + ZIPSearchAndOrderType: + $ref: '#/components/schemas/ZIPSearchAndOrderType' + type: object + type: object + xml: + name: Order + orderStatus: + example: RECEIVED + type: string + xml: + name: OrderStatus + type: object + xml: + name: OrderResponse + ZIPSearchAndOrderType: + properties: + Quantity: + format: int32 + type: integer + Zip: + type: string + type: object + xml: + name: ZIPSearchAndOrderType + Zone: + properties: + Id: + type: integer + Name: + type: string + SipSigPort: + $ref: '#/components/schemas/SipSigPort' + type: object + accountId: + description: User's account ID + example: '1234567' + type: string + address: + nullable: false + properties: + addr1: + maxLength: 500 + minLength: 0 + nullable: false + type: string + addr2: + maxLength: 500 + minLength: 0 + nullable: true + type: string + city: + maxLength: 500 + minLength: 0 + nullable: false + type: string + name: + maxLength: 500 + minLength: 0 + nullable: false + type: string + state: + example: NC + maxLength: 500 + minLength: 0 + nullable: false + type: string + url: + example: https://www.example.com/path/to/resource + maxLength: 500 + minLength: 0 + nullable: false + pattern: >- + ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) + type: string + zip: + example: '27606' + nullable: false + pattern: '[- A-Za-z0-9]{0,500}+' + type: string + required: + - name + - addr1 + - city + - state + - zip + - url + type: object + contact: + nullable: false + properties: + email: + $ref: '#/components/schemas/email' + firstName: + maxLength: 500 + minLength: 0 + nullable: false + type: string + lastName: + maxLength: 500 + minLength: 0 + nullable: false + type: string + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + required: + - firstName + - lastName + - email + - phoneNumber + type: object + denialReasonDescription: + description: Denial reason explanation + example: Disallowed Content - Gambling + type: string + denialStatusCode: + description: Reason code for denial + example: 511 + type: integer + email: + example: foo@bar.com + maxLength: 500 + minLength: 0 + nullable: false + pattern: >- + ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ + type: string + failureWebhookRequest: + properties: + accountId: + $ref: '#/components/schemas/accountId' + isBadRequest: + $ref: '#/components/schemas/tfvCallbackIsBadRequest' + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + type: object + fileListResponse: + properties: + fileListResponse: + properties: + fileCount: + description: Total count of files in response. + type: integer + fileData: + description: Optional metadata associated with the file that was uploaded. + properties: + FileMetaData: + properties: + DocumentType: + description: Enum of possible file type. + enum: + - LOA + - INVOICE + - CSR + - OTHER + type: string + type: object + FileName: + description: >- + The name that was associated with the file when it was + uploaded. + type: string + type: object + resultCode: + description: Result code of fetching the list of files from AWS. + type: integer + resultMessage: + description: Results of the attempt to fetch the list of files. + type: string + type: object + type: object + jsonPatch: + items: + $ref: '#/components/schemas/jsonPatchItem' + type: array + jsonPatchItem: + properties: + from: + description: Used when the operation is copy or move. + type: string + op: + enum: + - add + - remove + - replace + - copy + - move + - test + example: replace + type: string + path: + example: /state + type: string + value: + description: Used when the operation is add, replace, or test. + example: MAINTENANCE + type: object + required: + - op + - path + type: object + lnpPortInfoForGivenStatus: + properties: + ActualFOCDate: + description: >- + This is the FOC (Firm Order Commitment) Date assigned to the Port-in + Order by the losing carrier or their agent. + type: string + BillingTelephoneNumber: + description: >- + The BillingTelephoneNumber is the primary telephone number + associated with the invoice that the subscriber gets from the losing + carrier. + type: string + CompanyName: + description: Name associated with the Bandwidth Dashboard account. + type: string + CountOfTNs: + description: Total count of telephone numbers in order. + type: integer + LNPLosingCarrierId: + description: Internal use only + type: string + LNPLosingCarrierName: + description: The carrier that the telephone numbers are being ported away from. + type: string + OrderDate: + type: string + OrderId: + description: This is Bandwidth Oder ID. + type: string + OrderType: + type: string + PON: + description: >- + A PON (Port Order Number) is a system generated order number + assigned to port orders to easily identify individual requests. + type: string + ProcessingStatus: + description: >- + The processing status of this order. Values may be: PROCESSING, + COMPLETED, FAILED. PROCESSING means that the system is still + processing the order. COMPLETED means that the order has been + successfully completed. FAILED means that errors occurred while + processing the order, and that the order did not make any changes to + the system. + type: string + RequestedFOCDate: + description: >- + This is the FOC (Firm Order Commitment) Date requested by the person + (or machine) creating the Port-in Order. + type: string + VendorId: + description: Internal use only. + type: string + VendorName: + type: string + accountId: + description: >- + This is the account that the searched-for order will be contributing + to. Specifying this parameter will restrict the search to portin + orders within the specified account. + type: integer + lastModifiedDate: + description: This is the date when Port-in Order was last modified. + type: string + userId: + description: Bandwidth user ID. + type: string + type: object + optInWorkflow: + nullable: false + properties: + description: + maxLength: 500 + minLength: 0 + nullable: false + type: string + imageUrls: + items: + example: https://www.example.com/path/to/resource + maxLength: 500 + minLength: 1 + nullable: false + pattern: >- + ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) + type: string + type: array + required: + - description + - imageUrls + type: object + orderMetadata: + properties: + BackOrderRequested: + type: boolean + CloseOrder: + type: boolean + CustomerOrderId: + type: string + Name: + type: string + OrderCreateDate: + type: string + PartialAllowed: + type: boolean + PeerId: + format: int32 + type: integer + SiteId: + format: int32 + type: integer + TnAttributes: + items: + $ref: '#/components/schemas/TnAttribute' + type: array + type: object + xml: + name: Order + orderRequest: + properties: + CustomerOrderId: + type: string + DisconnectTelephoneNumberOrderType: + $ref: '#/components/schemas/DisconnectTelephoneNumberOrderType' + OrderCreateDate: + type: string + id: + type: string + type: object + orderResponseMetadata: + properties: + allOf: + - ref: '#/components/schemas/orderMetadata' + - properties: + id: + example: c1b34921-ed73-4732-8a08-168e815514ec + type: string + orderCreateDate: + example: '2022-11-14T18:39:04.505Z' + type: string + xml: + name: OrderCreateDate + type: object + type: object + shortCode: + description: Short code registration. + properties: + accountId: + description: Account ID. + example: '123123' + type: string + carrierStatuses: + description: >- + List of objects each providing the registration status for an + individual carrier. + example: + - activatedDate: '2021-10-15' + carrierId: att + status: ACTIVE + - carrierId: tmobile + status: PENDING + - carrierId: verizon + status: INACTIVE + items: + $ref: '#/components/schemas/shortCodeCarrierInfo' + type: array + country: + description: The country the short code is registered in. + enum: + - USA + - CAN + example: USA + type: string + createdDateTime: + example: '2022-11-14T18:39:04.505Z' + format: date-time + type: string + customerManagedLease: + description: >- + Flag indicating whether the customer is managing the short code + lease. + example: true + type: boolean + lease: + $ref: '#/components/schemas/shortCodeLeaseInfo' + modifiedDateTime: + example: '2022-11-15T18:39:04.505Z' + format: date-time + type: string + notes: + $ref: '#/components/schemas/shortCodeNotes' + shortCode: + description: The short code. + example: '12345' + type: string + sipPeerId: + description: SIP Peer ID. + example: '123321' + type: string + siteId: + description: Sub-account ID. + example: '321321' + type: string + status: + description: >- + If at least one carrier status is ACTIVE or PENDING, the status will + be ACTIVE. If all carrier statues are INACTIVE, the status will be + INACTIVE. + enum: + - ACTIVE + - EXPIRED + - SUSPENDED + - INACTIVE + example: ACTIVE + type: string + type: + description: The lease type. + enum: + - RANDOM + - VANITY + example: RANDOM + type: string + version: + description: >- + A internal field that represents the current version of the short + code data. + example: 100 + type: integer + shortCodeApiPage: + description: >- + Pagination object that represents the current page of short code + numbers. + properties: + data: + items: + $ref: '#/components/schemas/shortCode' + type: array + errors: + example: + description: Client is providing incorrect or invalid credentials. + type: unauthorized + items: + $ref: '#/components/schemas/shortCodeError' + type: array + page: + $ref: '#/components/schemas/shortCodePage' + type: object + shortCodeCarrierInfo: + description: The registration status for each carrier. + properties: + activatedDate: + description: >- + The date the short code was activated for this carrier, this date + only will be defined when the status of the carrier becomes ACTIVE. + example: '2023-01-28' + format: date + type: string + carrierId: + description: Carrier identifier (possible values att, tmobile, and verizon). + example: tmobile + type: string + status: + enum: + - ACTIVE + - INACTIVE + - PENDING + example: ACTIVE + type: string + type: object + shortCodeData: + description: Short code details representation. + properties: + carrierStatuses: + description: >- + List of objects each providing the registration status for an + individual carrier. + example: + - activatedDate: '2021-10-15' + carrierId: att + status: ACTIVE + - carrierId: tmobile + status: PENDING + - carrierId: verizon + status: INACTIVE + items: + $ref: '#/components/schemas/shortCodeCarrierInfo' + type: array + country: + description: The country the short code is registered in. + enum: + - USA + - CAN + example: USA + type: string + createdDateTime: + example: '2022-11-14T18:39:04.505Z' + format: date-time + type: string + customerManagedLease: + description: >- + Flag indicating whether the customer is managing the short code + lease. + example: true + type: boolean + lease: + $ref: '#/components/schemas/shortCodeLeaseData' + modifiedDateTime: + example: '2022-11-15T18:39:04.505Z' + format: date-time + type: string + notes: + $ref: '#/components/schemas/shortCodeNotes' + shortCode: + description: The short code. + example: '12345' + type: string + sipPeerId: + description: SIP Peer ID from Iris. + example: '123321' + type: string + siteId: + description: Sub-account ID. + example: '321321' + type: string + status: + description: >- + If at least one carrier status is ACTIVE or PENDING, the status will + be ACTIVE. If all carrier statues are INACTIVE, the status will be + INACTIVE. + enum: + - ACTIVE + - EXPIRED + - SUSPENDED + - INACTIVE + example: ACTIVE + type: string + type: + description: The lease type. + enum: + - RANDOM + - VANITY + example: RANDOM + type: string + version: + description: >- + A field that represents the version of the short code data, when + updating a short code is necessary to supply the last version value + added by 1. + example: 100 + type: integer + type: object + shortCodeError: + description: A generic error object. + properties: + description: + example: cannot find requested resource + type: string + type: + example: not found + type: string + type: object + shortCodeError400: + description: A specific error object for HTTP Status 400. + example: + description: Cannot process request. + errors: + accountId: + - is required + - can not be empty + shortCode: + - is required + - can not be empty + type: cannot process request + properties: + description: + example: Cannot process request. + type: string + errors: + $ref: '#/components/schemas/stringObjectMap' + type: + example: cannot process request + type: string + type: object + shortCodeHistory: + description: >- + Short code history details representation, each history element + represents an operation or an event that changed the state of the short + code. + properties: + accountId: + description: Account ID. + example: '123123' + type: string + carrierStatuses: + description: >- + List of objects each providing the registration status for each + carrier at the time the event occurred. + example: + - activatedDate: '2021-10-15' + carrierId: att + status: ACTIVE + - carrierId: tmobile + status: PENDING + - carrierId: verizon + status: INACTIVE + items: + $ref: '#/components/schemas/shortCodeCarrierInfo' + type: array + country: + description: The country the short code was registered in. + enum: + - USA + - CAN + example: USA + type: string + createdDateTime: + example: '2022-11-14T18:39:04.505Z' + format: date-time + type: string + customerManagedLease: + description: >- + Flag indicating whether the customer is managing the short code + lease. + example: true + type: boolean + lease: + $ref: '#/components/schemas/shortCodeLeaseInfo' + modifiedDateTime: + example: '2022-11-15T18:39:04.505Z' + format: date-time + type: string + notes: + $ref: '#/components/schemas/shortCodeNotes' + operation: + description: Operation executed over the short code. + enum: + - CREATED + - UPDATED + - DELETED + example: UPDATED + type: string + shortCode: + description: The short code. + example: '12345' + type: string + sipPeerId: + description: SIP Peer ID. + example: '123321' + type: string + siteId: + description: Sub-account ID. + example: '321321' + type: string + status: + description: >- + If at least one carrier status is ACTIVE or PENDING, the status will + be ACTIVE. If all carrier statues are INACTIVE, the status will be + INACTIVE. + enum: + - ACTIVE + - EXPIRED + - SUSPENDED + - INACTIVE + example: ACTIVE + type: string + type: + description: The lease type. + enum: + - RANDOM + - VANITY + example: RANDOM + type: string + user: + description: The customer user ID that initiated the operation. + example: systemUser + type: string + version: + description: A internal field that represents the version of the short code data. + example: 100 + type: integer + shortCodeHistoryApiPage: + description: >- + Pagination object that represents the current page of short code number + history. + properties: + data: + items: + $ref: '#/components/schemas/shortCodeHistory' + type: array + errors: + example: + description: Client is providing incorrect or invalid credentials. + type: unauthorized + items: + $ref: '#/components/schemas/shortCodeError' + type: array + page: + $ref: '#/components/schemas/shortCodePage' + type: object + shortCodeLeaseData: + description: >- + The lease information for the short code number. This information only + applies to Bandwidth managed short code leases (customerManagedLease set + to false). + properties: + autoRenew: + description: Flag indicating whether the lease should auto-renew. + example: true + type: boolean + autoRenewMonths: + description: >- + The number of months for which to renew the release when it auto + renews. Valid values are 3, 6, and 12. The default value, if not + supplied on creation, will be 3. + enum: + - 3 + - 6 + - 12 + example: 6 + type: integer + contactEmail: + description: Email address used for all lease renewal notifications. + example: test@bandwidth.com + type: string + endDate: + description: >- + Lease end date. This date is inclusive, e.g. 2022-02-15 means that + the short code is valid through 2/15. + example: '2023-01-28' + format: date + type: string + startDate: + description: >- + Lease start date. This date is inclusive, e.g. 2022-02-07 means that + the short code is valid on 2/7. + example: '2023-01-28' + format: date + type: string + type: object + shortCodeLeaseInfo: + description: >- + The lease information for the short code number. This information only + applies to Bandwidth managed short code leases (customerManagedLease set + to false). + properties: + autoRenew: + description: Flag indicating whether the lease should auto-renew. + example: true + type: boolean + autoRenewMonths: + description: >- + The number of months for which to renew the release when it auto + renews. Valid values are 3, 6, and 12. The default value, if not + supplied on creation, will be 3. + enum: + - 3 + - 6 + - 12 + example: 6 + type: integer + contactEmail: + description: Email address used for all lease renewal notifications. + example: test@bandwidth.com + type: string + endDate: + description: >- + Lease end date. This date is inclusive, e.g. 2022-02-15 means that + the short code is valid through 2/15. + example: '2023-01-28' + format: date + type: string + startDate: + description: >- + Lease start date. This date is inclusive, e.g. 2022-02-07 means that + the short code is valid on 2/7. + example: '2023-01-28' + format: date + type: string + type: object + shortCodeNotes: + description: Internal notes. + example: Notes example + type: string + shortCodePage: + description: Pagination object that represents the current page. + properties: + pageNumber: + description: The current page used in the request. + example: 1 + type: integer + pageSize: + description: The current page size used in the request. + example: 50 + type: integer + totalElements: + description: The total of objects that could be paginated. + example: 100 + type: integer + totalPages: + description: The total of pages that could be paginated. + example: 100 + type: integer + type: object + shortCodeUpdateData: + description: Short code update details representation. + properties: + carrierStatuses: + description: >- + List of objects each providing the registration status for an + individual carrier. + example: + - activatedDate: '2021-10-15' + carrierId: att + status: ACTIVE + - carrierId: tmobile + status: PENDING + - carrierId: verizon + status: INACTIVE + items: + $ref: '#/components/schemas/shortCodeCarrierInfo' + type: array + createdDateTime: + example: '2022-11-14T18:39:04.505Z' + format: date-time + type: string + customerManagedLease: + description: >- + Flag indicating whether the customer is managing the short code + lease. + example: true + type: boolean + lease: + $ref: '#/components/schemas/shortCodeLeaseData' + modifiedDateTime: + example: '2022-11-15T18:39:04.505Z' + format: date-time + type: string + notes: + $ref: '#/components/schemas/shortCodeNotes' + sipPeerId: + description: SIP Peer ID from Iris. + example: '123321' + type: string + siteId: + description: Sub-account ID. + example: '321321' + type: string + status: + description: >- + If at least one carrier status is ACTIVE or PENDING, the status will + be ACTIVE. If all carrier statues are INACTIVE, the status will be + INACTIVE. + enum: + - ACTIVE + - EXPIRED + - SUSPENDED + - INACTIVE + example: ACTIVE + type: string + type: + description: The lease type. + enum: + - RANDOM + - VANITY + example: RANDOM + type: string + version: + description: >- + A field that represents the version of the short code data, when + updating a short code is necessary to supply the last version value + added by 1. + example: 100 + type: integer + type: object + stringObjectMap: + additionalProperties: + example: + - is required + - can not be empty + items: + example: is required + type: string + type: array + example: + accountId: + - is required + - can not be empty + shortCode: + - is required + - can not be empty + type: object + telephoneNumberDetail: + description: Returned when `enableTnDetail=True` + properties: + city: + example: MICCO + type: string + xml: + name: City + fullNumber: + example: 17722029845 + type: string + xml: + name: FullNumber + lata: + example: 46018 + type: number + xml: + name: LATA + rateCenter: + example: SEBASTIAN + type: string + xml: + name: RateCenter + state: + example: FL + type: string + xml: + name: State + tier: + example: 0 + type: number + xml: + name: Tier + vendorId: + example: 49 + type: number + xml: + name: VendorId + vendorName: + example: Bandwidth CLEC + type: string + xml: + name: VendorName + type: object + xml: + name: TelephoneNumberDetail + tfPhoneNumber: + description: Toll-free telephone number in E.164 format + example: '+18005555555' + maxLength: 12 + minLength: 12 + nullable: false + pattern: ^\+1(800|833|844|855|866|877|888)[2-9]\d{6}$ + type: string + tfvCallbackIsBadRequest: + description: TRUE or FALSE + example: true + type: boolean + tfvCallbackStatus: + enum: + - VERIFIED + - UNVERIFIED + - PENDING + example: VERIFIED + type: string + tfvError: + description: A generic error object. + properties: + description: + example: Error Message + type: string + type: + example: Error Type + type: string + type: object + tfvPostBadRequestError: + description: A generic error object. + properties: + description: + example: Error Message + type: string + errors: + description: >- + Each key of this errors object refers to a field of the submitted + object (using dot notation for nested objects), with the field being + a key to an array of one or more errors for that field. + example: + field: error message + type: object + type: + example: Error Type + type: string + type: object + tfvStatus: + enum: + - VERIFIED + - UNVERIFIED + - PENDING + - PARTIALLY_VERIFIED + - INVALID_STATUS + - Verification - Requested + - Verification Requested + - Waiting For Customer + - Waiting for Support + - In Progress + - Resolved - Verified + - Resolved - Not Verified + example: VERIFIED + type: string + tfvUnverifiedStatus: + default: UNVERIFIED + type: string + tfvWorkflowStatus: + properties: + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + status: + $ref: '#/components/schemas/tfvStatus' + type: object + tfvWorkflowStatusFromCache: + properties: + declineReasonDescription: + example: Some decline reason here + type: string + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + resubmitAllowed: + example: true + type: boolean + status: + $ref: '#/components/schemas/tfvStatus' + ticketNumber: + example: GWF-1234567 + type: string + verificationRequestId: + example: abc-d8569gh + type: string + type: object + useCase: + example: 2FA + maxLength: 500 + minLength: 0 + type: string + useCases: + example: + - 2FA + - App Notifications + - Appointments + - Auctions + - Auto Repair Services + - Bank Transfers + - Billing + - Booking Confirmations + - Business Updates + - COVID-19 Alerts + items: + type: string + type: array + verificationRequest: + properties: + additionalInformation: + maxLength: 500 + minLength: 0 + nullable: true + type: string + businessAddress: + $ref: '#/components/schemas/address' + businessContact: + $ref: '#/components/schemas/contact' + isvReseller: + maxLength: 500 + minLength: 0 + nullable: true + type: string + messageVolume: + example: 10000 + maximum: 10000000 + minimum: 10 + type: integer + optInWorkflow: + $ref: '#/components/schemas/optInWorkflow' + phoneNumbers: + items: + $ref: '#/components/schemas/tfPhoneNumber' + maxItems: 10 + minItems: 1 + type: array + productionMessageContent: + maxLength: 500 + minLength: 0 + nullable: false + type: string + useCase: + $ref: '#/components/schemas/useCase' + useCaseSummary: + maxLength: 500 + minLength: 0 + nullable: false + type: string + required: + - businessAddress + - businessContact + - messageVolume + - phoneNumbers + - useCase + - useCaseSummary + - productionMessageContent + - optInWorkflow + type: object + verificationUnverifiedWebhookRequest: + properties: + accountId: + $ref: '#/components/schemas/accountId' + denialReasonDescription: + $ref: '#/components/schemas/denialReasonDescription' + denialStatusCode: + $ref: '#/components/schemas/denialStatusCode' + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + status: + $ref: '#/components/schemas/tfvUnverifiedStatus' + type: object + verificationWebhookRequest: + properties: + accountId: + $ref: '#/components/schemas/accountId' + phoneNumber: + $ref: '#/components/schemas/tfPhoneNumber' + status: + $ref: '#/components/schemas/tfvCallbackStatus' + type: object + webhookSubscription: + description: >- + Information about a webhook that Bandwidth should send upon the + completion of TFV verification. + properties: + accountId: + example: '1234567' + type: string + basicAuthentication: + description: >- + Basic authentication credentials are not required, but if present, + both username and password must be provided. + properties: + password: + maxLength: 200 + type: string + username: + maxLength: 100 + type: string + required: + - username + - password + type: object + callbackUrl: + $ref: '#/components/schemas/webhookUrl' + createdDate: + example: '2023-05-15T13:56:39.965Z' + format: date-time + type: string + id: + example: 7hICGStfAfeGxEq3N0lQwO + type: string + modifiedDate: + example: '2023-05-15T13:56:39.965Z' + format: date-time + type: string + type: + description: >- + Currently only one type of webhook is supported for toll-free + verification, and that is the webhook for the status of a toll-free + verification request. + enum: + - TOLLFREE_VERIFICATION_STATUS + type: string + required: + - callbackUrl + type: object + webhookSubscriptionsListBody: + description: >- + A list of all webhook subscriptions registered for this account ID for + this particular feature (unpaginated). + properties: + data: + items: + $ref: '#/components/schemas/webhookSubscription' + type: array + required: + - data + type: object + webhookUrl: + description: >- + Callback URL to receive status updates from Bandwidth. When a webhook + subscription is registered with Bandwidth under a given account ID, it + will be used to send status updates for all requests submitted under + that account ID. + example: https://www.example.com/path/to/resource + maxLength: 2000 + minLength: 0 + nullable: true + pattern: >- + ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) + type: string + securitySchemes: + httpBasic: + type: http + scheme: basic +info: + description: >- + Bandwidth's Account and Number Management API + + + For the previous documentation visit + [v2.dev.bandwidth.com](https://v2.dev.bandwidth.com/numbers/apiReference.html). + + + ### Disclaimer + + + This OpenAPI Specification is a work in progress as we work to finalize our + conversion from RAML to OpenAPI. It is not yet intended for use with open + source tools such as Swagger or OpenAPI Generator, and is meant for + documentation purposes only at this stage. + + + If you find any errors within the specification file itself - please [open + an issue on GitHub](https://github.com/Bandwidth/api-docs/issues) or reach + out via [support ticket](https://support.bandwidth.com). + + + ## Base Path + + https://dashboard.bandwidth.com/api/v2/ + title: Numbers + version: 1.0.0 +openapi: 3.0.1 +paths: + /accounts/{accountId}: + get: + description: >- +

    The account is the root resource for many of the operations in the + Bandwidth Dashboard API.

    The account is represented by an account + id, which is the resource that represents a Bandwidth customer, + providing a root resource for all of the customer's attributes and + services.

    The API calls that are used to manage the details of a + customer account, and to manage the resources that a Bandwidth customer + has access to or control over, are accessed through the /accounts + resource.

    This API call retrieves information about the account + indicated by the Account ID.

    + operationId: GetAccount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 14 + u-ertyhgfd12dcvdhnboklk + globalAccount + CWI Hosting + Business + + Trial + + 0 + +
    + 904 + E + + Anson + St + + + Marshalltown + IA + 50158 + + + United States + Billing +
    + + Sanjay + Rao + +19195441234 + srao@bandwidth.com + + X455 + 9999 + WIRELINE +
    +
    + schema: + $ref: '#/components/schemas/AccountResponseWrapper' + description: Retrieve Account information. + summary: Retrieve account + tags: + - Account + /accounts/{accountId}/addresses: + get: + description: GET is used to retrieve all addresses. + operationId: GetAllAddresses + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Search criterion for address by its locationid. Cannot be combined + with type. Always returns E911 addresses. + example: 47950147-9c58-407c-bcc4-e88743b20db5 + in: query + name: e911locationid + required: false + schema: + type: string + - description: Search criterion for addresses by their type. + example: e911 + in: query + name: type + required: true + schema: + type: string + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the page number, of the initial entry in the page + being requested.
    It can be an id of address. The initial page is + tagged with the ID `1`. + example: '3' + in: query + name: page + required: false + schema: + default: '1' + type: string + - description: The number of items to include in a page. + example: 5000 + in: query + name: size + required: false + schema: + default: 500 + type: integer + - description: The text to search simultaneously through e911locationIds. + example: name + in: query + name: suggestions + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 1 + + Link=<http://admin.localhost:8080/api/accounts/8000259/addresses?type=e911&page=1&size=500>;rel="first"; + Link=<http://localhost:8080/api/accounts/8000259/addresses?type=E911&page=501&size=500>;rel="next"; + + +
    + 207 + + + Elmastar + AlternateStar + + + Carpinteriaaly + NY + 93019 + + + United States + E911 + 2 + VALID +
    +
    +
    + schema: + $ref: '#/components/schemas/AddressesResponseWrapper' + description: >- + OK - the addresses retrieval request will return a list of all + addresses having specified type. + '404': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/AddressesResponseNotFound' + description: >- + Not Found - if the account specified does not exist or is locked or + there are no addresses for specified search criteria it will result + in a not found. + summary: Retrieve all addresses + tags: + - Addresses + /accounts/{accountId}/aeuis: + get: + description: GET is used to retrieve all Alternate end user identifiers. + operationId: GetAllAeuis + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the count, of the initial entry in the page being + requested.
    It can be an acid of alternate end user identifier. + The initial page is tagged with the ID '1'. + example: 3, customIdentifier + in: query + name: page + required: false + schema: + default: '1' + type: string + - description: The number of items to include in a page. + example: 5000 + in: query + name: size + required: false + schema: + default: 500 + type: integer + - description: >- + The Alternate end user identifier associated with callback using + E911 order. + example: someAcid + in: query + name: aeui + required: false + schema: + type: string + - description: Callback telephone number associated with AEUI using E911 oder. + example: '+18042105760' + in: query + name: callback + required: false + schema: + type: string + - description: This parameter allows to retrieve PIDF-LO enabled only AEUIs. + in: query + name: pidfloenabledonly + required: false + schema: + default: false + type: boolean + - description: >- + The text to search simultaneously through callbacks, called names + and AEUIs. + example: name + in: query + name: suggestions + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + + DavidAcid + +18042105760 + + 63865500-0904-46b1-9b4f-7bd237a26363 + Building 5, 5th Floor. + + + + JohnAcid + +18042105618 + + + + schema: + $ref: >- + #/components/schemas/AlternateEndUserIdentifiersResponseWrapper + description: OK - the AEUIs retrieval request will return a list of all AEUIs. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12087 + Alternate End User Identifiers were not found. + + + schema: + $ref: >- + #/components/schemas/AlternateEndUserIdentifiersResponseNotFound + description: >- + Not Found - if the account specified does not exist or is locked or + there are no AEUIs for specified search criteria it will result in a + "NOT FOUND" response. + summary: Retrieve all AEUIS + tags: + - E911 + /accounts/{accountId}/aeuis/{acid}: + get: + description: >- + GET is used to retrieve a detailed information of Alternate end user + identifier by acid. + operationId: RetrieveAeui + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Alternate caller identity ID + in: path + name: acid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + DavidAcid + +18042105760 + + David +
    + 900 + + + MAIN CAMPUS + DR + + RALEIGH + NC + 27606 + 5214 + United States + Billing +
    + + 63865500-0904-46b1-9b4f-7bd237a26363 + Building 5, 5th Floor. + +
    +
    +
    + schema: + $ref: '#/components/schemas/AlternateEndUserIdentifierWrapper' + description: OK - will return full information about AEUI for the specified acid. + '404': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + schema: + $ref: >- + #/components/schemas/AlternateEndUserIdentifierResponseNotFound + description: >- + Not Found - if the account specified does not exist or is locked or + there are no AEUI that corresponds to specified acid it will result + in a "NOT FOUND" response. + summary: Retrieve AEUI + tags: + - E911 + /accounts/{accountId}/applications: + get: + description: >- +

    List applications.

    Please visit Applications management

    + operationId: ListApplications + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 2cfcb382-161c-46d4-8c67-87ca09a72c85 + Messaging-V2 + app1 + + http://a.com + http://a.com + + + 0cb0112b-5998-4c81-999a-0d3fb5e3f8e2 + Voice-V2 + app2 + http://b.com + + 15jPWZmXdm + + https://fallback.com + POST + + login2 + + 20 + + + + schema: + $ref: '#/components/schemas/ApplicationProvisioningResponseWrapper' + description: Retrieve list applications + summary: List applications + tags: + - Applications + post: + description: >- +

    Create an Application.

    CallbackUrl and MsgCallbackUrl fields + are deprecated instead of use InboundCallbackUrl or + OutboundCallbackUrl.

    For more details please visit Applications management

    + operationId: CreateApplication + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + messaging: + summary: Messaging application + value: |- + + + Messaging + EBVICs + https://example.com + https://example2.com + + 15jPWZmXdm + xxv3jPsPR2 + + + 15jPWZmXdm + xxv3jPsPR2 + + + message-delivered + message-failed + message-sending + + + voice: + summary: Voice application + value: |- + + + Voice + v1 + https://a.com + GET + https://b.com + GET + + login123 + password123 + + https://fallback.com + POST + + login2 + Password3 + + 20 + + schema: + $ref: '#/components/schemas/ApplicationPayload' + responses: + '201': + content: + application/xml: + examples: + messaging: + summary: Messaging application + value: |- + + + + d4d1b41d-4c05-47d0-838a-34e4f14e4e3e + Messaging-V2 + EBVICs + + https://example.com + https://example.com + https://example2.com + + + + 15jPWZmXdm + + + + 15jPWZmXdm + + + 15jPWZmXdm + + + message-delivered + message-failed + message-sending + + + + voice: + summary: Voice application + value: |- + + + + d3e418e9-1833-49c1-b6c7-ca1700f79586 + Voice-V2 + v1 + https://a.com + GET + https://b.com + GET + + login123 + + https://fallback.com + POST + + login2 + + 20 + + + schema: + $ref: >- + #/components/schemas/ApplicationProvisioningSingleResponseWrapper + description: '' + summary: Create application + tags: + - Applications + /accounts/{accountId}/applications/{applicationId}: + delete: + description: >- +

    Delete an Application.

    An Application cannot be removed from an + account if that Application is referenced by any Location associated + with the account.

    Please visit Applications management

    + operationId: DeleteApplication + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Application ID + example: fcb022e2-ea3a-448d-a6af-31dd13aeaa62 + in: path + name: applicationId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: {} + description: '' + summary: Delete application + tags: + - Applications + get: + description: >- +

    Retrieve an Application

    Please visit Applications management

    + operationId: GetApplication + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Application ID + in: path + name: applicationId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + messaging: + summary: Messaging application + value: |- + + + + e5a9e103-097e-4ec4-87a0-50109fb7b4b1 + Messaging + qMmmTT + + https://example.com + https://example.com + https://example2.com + + + + 15jPWZmXdm + + + + 15jPWZmXdm + + + 15jPWZmXdm + + + message-delivered + message-failed + message-sending + + + + voice: + summary: Voice application + value: |- + + + + e5a9e103-097e-4ec4-87a0-50109fb7b4b1 + Voice + qMmmTT + http://example.com + + 15jPWZmXdm + + https://fallback.com + POST + + login2 + + 20 + + + schema: + $ref: >- + #/components/schemas/ApplicationProvisioningSingleResponseWrapper + description: '' + summary: Retrieve application + tags: + - Applications + patch: + description: >- +

    Patch update an Application

    • CallStatusCallbackUrl can be + removed by settings its value to 'remove'

    Please visit Applications management

    + operationId: PatchApplication + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Application ID + example: fcb022e2-ea3a-448d-a6af-31dd13aeaa62 + in: path + name: applicationId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + XgRIdP + + schema: + $ref: '#/components/schemas/ApplicationPayload' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + e5a9e103-097e-4ec4-87a0-50109fb7b4b1 + Voice + EBVICs + https://example2.com + [GET|POST] + https://example3.com + [GET|POST] + + + schema: + $ref: >- + #/components/schemas/ApplicationProvisioningSingleResponseWrapper + description: '' + summary: Patch application + tags: + - Applications + put: + description: >- +

    Update an Application.

    Please visit Applications management

    + operationId: UpdateApplication + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Application ID + in: path + name: applicationId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + messaging: + summary: Messaging application + value: |- + + + Messaging + EBVICs + http://example.com + http://example2.com + + message-delivered + message-failed + message-sending + + + voice: + summary: Voice application + value: |- + + + Voice + v1 + https://a.com + GET + https://b.com + GET + + login123 + password123 + + https://fallback.com + POST + + login2 + password123 + + 20 + + schema: + $ref: '#/components/schemas/ApplicationPayload' + responses: + '200': + content: + application/xml: + examples: + messaging: + summary: Messaging application + value: |- + + + + e5a9e103-097e-4ec4-87a0-50109fb7b4b1 + Messaging + EBVICs + + http://example.com + http://example.com + http://example2.com + + message-delivered + message-failed + message-sending + + + + voice: + summary: Voice application + value: |- + + + + e5a9e103-097e-4ec4-87a0-50109fb7b4b1 + Voice + EBVICs + https://example2.com + [GET|POST] + https://example3.com + [GET|POST] + + + schema: + $ref: >- + #/components/schemas/ApplicationProvisioningSingleResponseWrapper + description: '' + summary: Update application + tags: + - Applications + /accounts/{accountId}/applications/{applicationId}/associatedsippeers: + get: + description: Retrieve a list of sippeers, associated with application + operationId: ListAssociatedSippeers + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Application ID + example: fcb022e2-ea3a-448d-a6af-31dd13aeaa62 + in: path + name: applicationId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 482 + site_e867f + 500018 + sippeer-e867f + + + 483 + site_e867d + 500019 + sippeer-e867d + + + + schema: + $ref: '#/components/schemas/AssociatedSipPeersResponseWrapper' + description: '' + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12103 + Current 1 Account have no Catapult association + + + schema: + $ref: '#/components/schemas/AssociatedSipPeersErrorResponse' + description: '' + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 13629 + Application with id 'non_existing' not found + + + schema: + $ref: '#/components/schemas/AssociatedSipPeersErrorResponse' + description: '' + summary: List associated sippeers + tags: + - Applications + /accounts/{accountId}/availableNpaNxx: + get: + description: Retrieves a list of available Npa-Nxx telephone numbers. + operationId: GetAvailableNpaNxx + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The allowed number ranges are [2-9] for the first digit and [0-9] + for both the second and third digits. + example: 919 + in: query + name: areaCode + required: false + schema: + type: integer + - description: Returns only the NPA NXX information within the specified state. + example: NC + in: query + name: state + required: false + schema: + type: string + - description: >- + Filters out any Npa-Nxx grouped phone numbers whose quantity falls + short of the given quantity. + example: 150 + in: query + name: quantity + required: false + schema: + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + NASHVILLE + 252 + 220 + 1 + NC + + + FARMVILLE + 252 + 228 + 1 + NC + + + + schema: + $ref: '#/components/schemas/SearchResultForAvailableNpaNxxWrapper' + description: The quantity of available phone numbers, grouped by NPA-NXX. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 4000 + The area code specified 433 is not present as a valid entry in our system + + + schema: + $ref: >- + #/components/schemas/SearchResultForAvailableNpaNxxErrorWrapper + description: There are no phone numbers within the specified scope. + summary: Retrieves available Npa-Nxx tns + tags: + - Available Tns + /accounts/{accountId}/availableNumbers: + get: + description: |- + Retrieves the phone numbers according to the input parameters. +

    In this table are presented combinations of path parameters for different type of search:

    Search TypeRequired ParametersCombinational ParametersOptional Parameters
    Area CodeareaCoderateCenter (state required), city (state required), state, lata, zipquantity, enableTNDetail, protected
    NPA-NXXnpaNxxrateCenter (state required), city (state required), state, lata, zip, orderByquantity, enableTNDetail, protected
    NPA-NXX with Local Calling AreanpaNxxquantity, LCA, enableTNDetail, protected
    NPA-NXX-XnpaNxxxrateCenter (state required), city (state required), state, lata, zip, orderByquantity, enableTNDetail, protected
    NPA-NXX-X with Local Calling AreanpaNxxxrateCenter (state required), city (state required), state, lata, zipquantity, LCA, enableTNDetail, protected
    RateCenterrateCenter, statecity, areaCode/npaNxx/npaNxxx, lata, zip, orderByquantity, enableTNDetail, protected
    RateCenter with Local Calling ArearateCenter, statequantity, LCA, enableTNDetail, protected
    StatestaterateCenter, city, areaCode/npaNxx/npaNxxx, lata, zipquantity, enableTNDetail, protected
    Citystate, cityrateCenter, state, areaCode/npaNxx/npaNxxx, lata, zip, orderByquantity, enableTNDetail, protected
    Zip CodeziprateCenter (state required), city (state required), state, areaCode/npaNxx/npaNxxx, lata, orderByquantity, enableTNDetail, protected
    LATAlatarateCenter (state required), city (state required), state, areaCode/npaNxx/npaNxxx, zipquantity, enableTNDetail, protected
    Local VanitylocalVanitystate, areaCodeendsIn, quantity, protected, enableTNdetails
    TollFree VanitytollFreeVanityorderByquantity
    TollFree WildCardtollFreeWildCardPatternorderByquantity
    + operationId: GetAvailableTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The desired quantity of requested numbers. + example: 30 + in: query + name: quantity + required: false + schema: + default: 5000 + maximum: 5000 + minimum: 1 + type: integer + - description: >- + If set to true, a list of details associated with the telephone + number (rate center, abbreviation, city, state, and LATA) will be + displayed along with the TN. + in: query + name: enableTNDetail + required: false + schema: + default: false + type: boolean + - description:

    Values are true or false.

    + in: query + name: LCA + required: false + schema: + default: true + type: boolean + - description: >- +

    Intended to use with localVanity only. If set to true, the + search will look for only numbers which end in specified + localVanity, otherwise localVanity sequence can be met + anywhere in last 7 number digits. The default is false.

    + in: query + name: endsIn + required: false + schema: + default: false + type: boolean + - description: >- +

    The 3-digit area code associated with the TN.

    • Allowed + number ranges are [2-9] for the first digit and [0-9] for both the + second and third digits.
    + example: 435 + in: query + name: areaCode + required: false + schema: + type: integer + - description: >- +

    The 6-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXX are [2-9] for the first digit and [0-9] for both the second and + third digits.
    + in: query + name: npaNxx + required: false + schema: + type: integer + - description: >- +

    The 7-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXXX are [2-9] for the first digit and [0-9] the rest of the (X) + digits.
    + in: query + name: npaNxxx + required: false + schema: + type: integer + - description:

    A maximum five digit (XXXXX) numeric format

    + example: 244 + in: query + name: lata + required: false + schema: + type: integer + - description:

    The abbreviation for the rateCenter

    + example: Cary + in: query + name: rateCenter + required: false + schema: + type: string + - description: >- +

    The name of the city. NOTE: `State` becomes a required + parameter when searching by `city`.

    + example: RALEIGH + in: query + name: city + required: false + schema: + type: string + - description:

    The two-letter abbreviation of the state the RateCenter is in

    + example: NC + in: query + name: state + required: false + schema: + type: string + - description: >- +

    The Toll Free requested vanity number. Valid range is 7+ digits + alphanumeric.

    + example: NEWCARS + in: query + name: tollFreeVanity + required: false + schema: + type: string + - description: >- +

    The Toll Free requested wild card pattern. valid range is 3 + digits.

    + example: 8**, 80*, 87* + in: query + name: tollFreeWildCardPattern + required: false + schema: + type: string + - description: >- +

    Requested vanity number. Valid range is from 4 to 7 alphanumeric + characters.

    + example: NEWCARS + in: query + name: localVanity + required: false + schema: + type: string + - description:

    A five-digit (XXXXX) or nine-digit (XXXXX-XXXX) format value.

    + example: 27607 + in: query + name: zip + required: false + schema: + type: integer + - description:

    The field by which the results should be sorted

    + in: query + name: orderBy + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 384 + + +14354776112 + + +14357095160 + + + schema: + $ref: '#/components/schemas/SearchResult' + description: >- +

    A list of available numbers is provided. Additional information + is available if the queryParameter enableTNDetail is true. If no + numbers are available an empty SearchResult element is returned.

    + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 4010 + One of more required search parameters are null or empty, please refer to the api documentation + + + schema: + $ref: '#/components/schemas/SearchResultErrorWrapper' + description:

    Invalid/missing input parameter

    + summary: Retrieve available tns + tags: + - Available Tns + /accounts/{accountId}/bdrs: + post: + deprecated: true + description: >- +

    Note - this API is being replaced with the /billingreports API - + we strongly recommend that you use that endpoint.

    This API + allows the retrieval of a ZIP file containing BDR records for a + specified date range. These BDR records are delivered as a ZIP + compressed comma separated values (CSV) file. The general flow of the + API calls required to retrieve these records is:

    1. POST a + request to the /bdrs resource, describing the date range for which the + BDR records are wished. This will initiate the construction of the zip + file.
    2. Examine the response from the POST. If the payload is + understandable and valid then a 202 accepted HTTP result code will be + returned indicating that the response file is being created.
    3. +
    4. Retrieve the Location Header from the Response to the POST. This + location header will contain the resource ID for the collection of BDRs + that will be returned once complete. Note that the fact that the ID has + been issued does not mean that the ZIP file is complete.
    5. +
    6. Interrogate the resource ID to check the status of the request. If a + 303 See Other response is received then the Location Header will contain + the resource path to the file. A typical browser response will be to + download the file. If a 200 OK is returned then the request is + considered valid, but the file is not ready for distribution.
    7. +
    8. Fetching the file can be done by issuing a GET to the resources path + in the Location Header mentioned above
    + operationId: CreateBDR + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + 2015-04-01 + 2015-04-30 + + schema: + $ref: '#/components/schemas/Bdr' + responses: + '202': + content: + application/xml: + examples: + example: + value: |- + + + Your BDR archive is currently being constructed + + schema: + $ref: '#/components/schemas/BdrCreationResponse' + description: > + A 202 Accepted means that the request has been received and will be + processed. Processing the request takes time, so this does not + indicate that the information is available, it simply indicates that + the request has started processing. + + The response also includes header information in the Location Header + that can be used for retrieving the state of the request. + + An informative payload is also included in success and failure + cases. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 15501 + Invalid date range. Start date 2015-06-01 must be before end date 2015-04-30 + + + schema: + $ref: '#/components/schemas/BdrCreationErrorResponse' + description: > + A 400 response indicates that there was an error in processing the + payload, perhaps something like incorrectly formatted or chosen + dates. + summary: Create BDR in range + tags: + - Reports + /accounts/{accountId}/bdrs/{bdrid}: + get: + deprecated: true + description: >- +

    The bdr id resource will query the status of the bdr file that is + being generated. There are essentially two responses...

    • not + yet ready
    • ready, in which case the request is redirected to the + URL to actually download the file.

    A GET on the BDR ID will + return a still processing indication if the file creation has not + completed, or will redirect to the file to be downloaded.

    + operationId: GetBDRStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: bdrid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + The requested BDR archive is still being constructed, please check back later + + schema: + $ref: '#/components/schemas/BdrRetrievalResponse' + description: > + A 200 OK means that the request is valid, but that the file is not + yet ready. The payload indicates the status. + '303': + description: > + A 303 response indicates that the file is ready. The 303 should + redirect the request to the URL in the Location header, which will, + in most cases, initiate the file download. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 1008 + '44a90e00-a7b6asdfsdafasdfdasf-6659-9112-e7f5dfa48231' is not a valid UUID + + + schema: + $ref: '#/components/schemas/BdrRetrievalErrorResponse' + description: | + A 400 indicates that the BDR id is malformed.

    + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 15001 + BDR archive was not found + + + schema: + $ref: '#/components/schemas/BdrRetrievalErrorResponse' + description: | + A 404 indicates that the BDR id cannot be found. + summary: Retrieve BDR status or redirect to download + tags: + - Reports + /accounts/{accountId}/bdrs/{bdrid}/file: + get: + deprecated: true + description: >- + A GET on the /file resource subtending a BDR ID will cause the download + of the file. Executing this resource path within a browser will cause + the download of the file. + operationId: DownloadBDR + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: bdrid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: {} + description: >- + A 200 OK indicates that the request for the file download was + accepted and will be processed. + summary: Download BDR + tags: + - Reports + /accounts/{accountId}/billingreports: + get: + description: >- + Retrieve billing report instances within the account scope and billing + type. The valid Billing Types are:
    Report + TypeDescription
    BDRBilling + Detail Records for Voice Services - per call information, available on + day to day basis - may not reflect final + invoice
    MDRMessage Detail Records - per + message information - may not reflect final + invoice
    INVOICEA copy of the invoice file or + files for the specified date range
    STMTBDRBDR + records that are aligned with the invoice for Voice + Services
    DIDSNAPA list of telephone numbers, + aligned with invoice
    DIDSNAP_MSGA list of + telephone numbers that are enabled for messaging, aligned with + invoice
    RECORDINGBDRBilling Detail Records for + Recording Services - per recording information, available on day to day + basis
    RECORDINGSTMTBDRBDR records that are + aligned with the invoice for Recording + Services
    TRANSCRIPTIONBDRBilling Detail + Records for Transcription Services - per call transcription information, + available on day to day + basis
    TRANSCRIPTIONSTMTBDRBDR records that are + aligned with the invoice for Recording + Services
    CNAMBDRRecord of CNAM Subscribe and + Notify queries/dips, available on day to day + basis
    CNAMSTMTBDRRecord of CNAM Subscribe and + Notify queries/dips, aligns with + invoices
    CONFBDRBilling Detail Records for + Transcription Services - per conference information, available on day to + day basis
    CONFSTMTBDRBDR records that are + aligned with the invoice for Conferencing + Services
    UNPROVISIONED_CALLS_BDRBDR for + unprovisioned 911 calls that were routed to the + ECC
    + operationId: GetBillingReportByType + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + One of billing report types DIDSNAP, DIDSNAP_MSG. Empty parameter + will return all reports of types DIDSNAP, DIDSNAP_MSG. + example: DIDSNAP + in: query + name: kind + required: false + schema: + default: kind=DIDSNAP,DIDSNAP_MSG + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 5f8734f0-d7c3-445c-b1e2-cdbb620e4ff7 + DIDSNAP + jbm + PROCESSING + The requested report archive is still being constructed, please check back later. + 2017-11-01 14:12:16 + + 2017-01-01 + 2017-09-30 + + + + 7680a54a-b1f1-4d43-8af6-bf3a701ad202 + DIDSNAP + jbm + COMPLETE + The requested report archive is failed + 2017-11-06 14:22:21 + + 2017-05-01 + 2017-10-31 + + + + + schema: + $ref: '#/components/schemas/BillingReportsRetrievalResponse' + description: > + The list of all billing report instances. (Not supported for BDR, + MDR, INVOICE, STMTBDR, RECORDINGBDR, RECORDINGSTMTBDR, + TRANSCRIPTIONBDR, TRANSCRIPTIONSTMTBDR, CNAMBDR, CNAMSTMTBDR, + CONFBDR, CONFSTMTBDR, TFPEERINGSTMTBDR, AMDBDR, AMDSTMTBDR, + SIPURIBDR, SIPURISTMTBDR, TTSBDR, TTSSTMTBDR as status history not + implemented yet for these billing types) + '204': + description: >- + Billing report data for requested time frame hasn't been provided + yet. + '400': + description: A 400 response indicates that report type is incorrect. + summary: Retrieve billing report by billing type + tags: + - Reports + post: + description: > + The payload for the POST declares the date range and type for the + desired reports. The valid types are:
    • BDR - Billing Detail + Records - per call information
    • MDR - Message Detail Records - + per messagin information
    • INVOICE - A copy of the invoice file + or files for the specified date range
    • STMTBDR - BDR records + that are aligned with the invoice
    • DIDSNAP - a list of telephone + numbers aligned as closely as we can with the billing window
    • +
    • DIDSNAP_MSG - a list of telephone numbers with active messaging
    • +
    + operationId: CreateBillingReport + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + BDR + + 2013-05-21 + 2013-05-29 + + + schema: + $ref: '#/components/schemas/BillingReport' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + RECEIVED + The report archive is currently being constructed. + + schema: + $ref: '#/components/schemas/BillingReportCreationResponse' + description: >- + A 201 response means that the response file is currently being + constructed. Constructing the file takes time, so this does not + indicate that the information is available.
    + + The response also includes header information in the Location Header + that can be used for retrieving the state of the report.
    + + An informative payload is also included in success and failure + cases. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 15501 + Invalid date range. Start date 2014-05-21 must be before end date 2013-05-29 + + + schema: + $ref: '#/components/schemas/BillingReportCreationErrorResponse' + description: >- + A 400 response indicates that there was an error in processing the + payload, perhaps something like incorrectly formatted or chosen + dates. + summary: Create billing report in range + tags: + - Reports + /accounts/{accountId}/billingreports/{reportId}: + get: + description: > +

    The resource will query the status of the report that is being + generated.

    + operationId: GetBillingReportStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Unique Report ID + in: path + name: reportId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + COMPLETED + The report archive is constructed. + + schema: + $ref: '#/components/schemas/BillingReportRetrievalResponse' + description: >- +

    A 200 indicates that the request is valid. The payload indicates + the report status:

    + + +
      +
    • PROCESSING - The requested report archive is still being constructed, please check back later.
    • +
    • COMPLETED - The report archive is constructed.
    • +
    + + +

    For COMPLETED report, fetching the file can be done by + issuing a GET request to the resource path in the Location + Header.

    + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1008 + '9b428b4c-159b-465f-9667-' is not a valid UUID + + + schema: + $ref: '#/components/schemas/BillingReportRetrievalErrorResponse' + description: A 400 indicates that the report ID is malformed. + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 15603 + The requested report was not found. + + + schema: + $ref: '#/components/schemas/BillingReportRetrievalErrorResponse' + description: A 404 indicates that the requested report cannot be found. + summary: Retrieve billing report status or redirect to download + tags: + - Reports + /accounts/{accountId}/billingreports/{reportId}/file: + get: + description: > +

    A GET on the /file resource subtending a report ID will cause the + download of the file. Executing this resource path within a browser + will cause the download of the file.

    + operationId: DownloadBillingReport + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Unique Report ID + in: path + name: reportId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + COMPLETED + The report archive is constructed + + schema: + $ref: '#/components/schemas/BillingReportArchiveRetrievalResponse' + description: >- + A 200 OK indicates that the request for the file download was + accepted and will be processed. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1008 + '9b428b4c-159b-465f-9667-' is not a valid UUID + + + schema: + $ref: >- + #/components/schemas/BillingReportArchiveRetrievalErrorResponse + description: A 400 indicates that the report ID is malformed. + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 15603 + The requested report was not found. + + + schema: + $ref: >- + #/components/schemas/BillingReportArchiveRetrievalErrorResponse + description: A 404 indicates that the requested report cannot be found. + summary: Download billing report + tags: + - Reports + /accounts/{accountId}/bulkPortins: + get: + description: >- + Retrieves bulk port-in orders for the specified accountId. + + A maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter is provided, the order results will be + limited to the last two years. Please visit Guides and + Tutorials + operationId: ListBulkPortins + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The full bulk port-in orderId of the first order of the page. + Special value `1` is used + + to indicate the first port-in for the accountId matching any other + query parameters. + + If the number of results exceeds the `size` parameter value, the + result includes a header + + called `next` that allows you to fetch the next page of the results. + example: '`ca43d178-8f67-4a08-9a4b-af0ce06b5914`, `1`' + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: >- + The maximum number of results to include in the response payload. + The + + value should be between 1 and 1000. Larger values may be specified, + but results are + + limited to a maximum of 1000 entries, regardless. + example: 30 + in: query + name: size + required: true + schema: + default: 300 + type: integer + - description: >- + Include in the response payload only entries in which the bulk + port-in order had the specified ProcessingStatus value. Note: + specifying `draft` will include any of the draft values, including + `DRAFT`, `VALIDATE_DRAFT_TNS`, `VALID_DRAFT_TNS`, and + `INVALID_DRAFT_TNS`. + example: draft + in: query + name: status + required: false + schema: + enum: + - draft + - in_progress + - needs_attention + - partial + - completed + - cancelled + type: string + - description: >- + A specific date on which you wish to see modifications to a bulk + port-in order. + + For each bulk port-in order, belonging to the account, that was + modified on the specified date/time, only the latest update for that + order is included in the results. Date format can be one of: + `yyyy-mm-ddThh:mm:ss.sZ`, `yyyy-mm-ddZ`, `yyyy-mm-ddThh:mm:ssTZD`. + example: '2021-06-21' + in: query + name: orderDate + required: false + schema: + format: date + type: string + - description: >- + The earliest date from which you want to see modifications to a bulk + port-in order. + + This query parameter must be used together with `modifiedDateTo`. + + This parameter and modifiedDateTo define a time interval. For each + bulk port-in order, + + belonging to the account, that was modified in that time interval, + only the latest + + update for that order is included in the results. Date format can be + one of: `yyyy-mm-ddThh:mm:ss.sZ`, `yyyy-mm-ddZ`, + `yyyy-mm-ddThh:mm:ssTZD`. + example: '2021-06-21' + in: query + name: modifiedDateFrom + required: false + schema: + format: date + type: string + - description: >- + The latest date from which you want to see modifications to a bulk + port-in order. + + This query parameter must be used together with `modifiedDateFrom`. + + This parameter and modifiedDateFrom define a time interval. For + each bulk + + port-in order, belonging to the account, that was modified in that + time interval, + + only the latest update for that order is included in the results. + + The modifiedDateTo value may be in the future. Date format can be + one of: `yyyy-mm-ddThh:mm:ss.sZ`, `yyyy-mm-ddZ`, + `yyyy-mm-ddThh:mm:ssTZD`. + example: '2021-06-21' + in: query + name: modifiedDateTo + required: false + schema: + format: date + type: string + - description: >- + If set to true, bulk port-in order details will be displayed instead + of summary information. + in: query + name: orderDetails + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/xml: + examples: + Exclude query params: + description: >- + If the orderDetails query parameter was not included, or was + set to false, the response will look like the following + value: "\n\n\t3\n\t\n\t\tLink=<https://dashboard.bandwidth.com:443/v1.0/accounts/9900012/bulkPortins?page=1&size=100&orderDate=2020-06-16>;rel=\\\"first\\\";\n\t\n\t\n\t\t7811bc44-9f34-4c5c-97d5-51e666eb982e\n\t\tWandEDemo\n\t\tmarketing\n\t\t2020-06-16T20:02:19.156Z\n\t\t2020-06-16T19:25:04.482Z\n\t\t\n\t\t\t24686d19-6c8d-4b8e-9e07-59bdb5dd2782\n\t\t\t5795dff2-b9cf-4989-974a-a74e7fa6a756\n\t\t\tb8fc06b5-36d3-4d86-b015-13d9f994960d\n\t\t\t03442cad-61f5-4777-9299-6527bef523ca\n\t\t\n\t\tIN_PROGRESS\n\t\t2020-06-18T16:30:00.000Z\n\t\tJYT01\n\t\n\t\n\t\td8a449c5-d3ea-426e-aa6d-a9cf5393df7e\n\t\tWandEDemo\n\t\tmarketing\n\t\t2020-06-16T18:58:54.638Z\n\t\t2020-06-16T17:26:52.542Z\n\t\t\n\t\t\tdfda81d4-6a06-4cfc-9b6e-aecf373a16cd\n\t\t\t28ce2db3-8ff6-4151-8dc4-487faf19795b\n\t\t\t3cba78e5-93aa-407a-bcf5-6ebd46b60f77\n\t\t\taa1bd5ae-d3f9-429a-91e4-34ddfe6dba1c\n\t\t\n\t\tCANCELLED\n\t\t2020-06-19T19:00:00.000Z\n\t\n\t\n\t\t555e320c-a093-4e9d-97e2-03d822b78aa4\n\t\tWandEDemo\n\t\tmarketing\n\t\t2020-06-16T16:10:11.406Z\n\t\t2020-06-16T15:52:16.607Z\n\t\t\n\t\t\t9c01d8d6-24bc-41b3-9afb-4f0b571e0a36\n\t\t\tcb691fcc-fcaf-42bf-ac5d-ed073dc95219\n\t\t\t87abdd51-9aaf-4b0a-8cb6-8f5aaa0a1bb0\n\t\t\t4eeb7bbd-412e-4a53-988e-7190ad5c210f\n\t\t\n\t\tCANCELLED\n\t\t2020-06-18T02:00:00.000Z\n\t\n" + Include query params: + description: >- + If the orderDetails query parameter was included with a + value of true, the results will look like the following + value: "\n\n\t3\n\t\n\t\tLink=<https://dashboard.bandwidth.com:443/v1.0/accounts/9900012/bulkPortins?page=1&size=100&orderDate=2020-06-16&orderDetails=true>;rel=\\\"first\\\";\n\t\n\t\n\t\t9900012\n\t\t7811bc44-9f34-4c5c-97d5-51e666eb982e\n\t\tbulk_port_in\n\t\t0\n\t\tWandEDemo\n\t\tmarketing\n\t\tmarketing\n\t\t2020-06-16T20:02:19.156Z\n\t\t2020-06-16T19:25:04.482Z\n\t\t583048\n\t\t\n\t\t\t24686d19-6c8d-4b8e-9e07-59bdb5dd2782\n\t\t\t5795dff2-b9cf-4989-974a-a74e7fa6a756\n\t\t\tb8fc06b5-36d3-4d86-b015-13d9f994960d\n\t\t\t03442cad-61f5-4777-9299-6527bef523ca\n\t\t\n\t\tIN_PROGRESS\n\t\t2020-06-18T16:30:00.000Z\n\t\t202\n\t\tJYT01\n\t\n\t\n\t\t9900012\n\t\td8a449c5-d3ea-426e-aa6d-a9cf5393df7e\n\t\tbulk_port_in\n\t\t0\n\t\tWandEDemo\n\t\tmarketing\n\t\tmarketing\n\t\t2020-06-16T18:58:54.638Z\n\t\t2020-06-16T17:26:52.542Z\n\t\t566974\n\t\t\n\t\t\tdfda81d4-6a06-4cfc-9b6e-aecf373a16cd\n\t\t\t28ce2db3-8ff6-4151-8dc4-487faf19795b\n\t\t\t3cba78e5-93aa-407a-bcf5-6ebd46b60f77\n\t\t\taa1bd5ae-d3f9-429a-91e4-34ddfe6dba1c\n\t\t\n\t\tCANCELLED\n\t\t2020-06-19T19:00:00.000Z\n\t\t202\n\t\n\t\n\t\t9900012\n\t\t555e320c-a093-4e9d-97e2-03d822b78aa4\n\t\tbulk_port_in\n\t\t0\n\t\tWandEDemo\n\t\tmarketing\n\t\tmarketing\n\t\t2020-06-16T16:10:11.406Z\n\t\t2020-06-16T15:52:16.607Z\n\t\t583048\n\t\t\n\t\t\t9c01d8d6-24bc-41b3-9afb-4f0b571e0a36\n\t\t\tcb691fcc-fcaf-42bf-ac5d-ed073dc95219\n\t\t\t87abdd51-9aaf-4b0a-8cb6-8f5aaa0a1bb0\n\t\t\t4eeb7bbd-412e-4a53-988e-7190ad5c210f\n\t\t\n\t\tCANCELLED\n\t\t2020-06-18T02:00:00.000Z\n\t\t202\n\t\n" + schema: + $ref: '#/components/schemas/BulkPortinResponses' + description: The list of bulk port-ins have been successfully retrieved. + '204': + content: + application/xml: {} + description: No results matching the specified query parameters were found. + summary: List bulk port-in orders + tags: + - Bulk Port-In + post: + description: >- +

    Creates a bulk port-in order to be used as a template for a + collection of child port-in orders. The template values will be + cascaded to child port-ins that result from decomposing a collection of + Telephone Numbers that span carriers, RespOrgs, or have attributes that + drive the decomposition into a number of individual port-in + orders.

    Upon a successfully-submitted payload, the order will + have a status of "DRAFT", denoting that further modification to the + template is expected. For example, the next step is to use the /tnList + endpoint to add a collection of telephone numbers to the bulk port-in + order. The only valid value for the ProcessingStatus element in a POST + is 'DRAFT', which is the default value. All parameters except for the + URL parameter "accountId" are optional in the bulk port-in, although the + rules for individual child port-ins described in the POST /portins API still + apply to the child port-ins that make up the bulk port-in. Enforcement + of required fields in the child port-ins occurs when the bulk port-in is + submitted (i.e. changed from a DRAFT status to IN_PROGRESS). Enforcement + of required fields in the child port-ins occurs when the bulk port-in is + submitted (i.e. changed from a DRAFT status to IN_PROGRESS). +

    Please visit Guides and + Tutorials

    + operationId: CreateBulkPortin + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n \n\tOrder Id for all child orders \n\t2021-06-30Z\n\t14020 \n\t521434 \n\tJYT01\n" + schema: + $ref: '#/components/schemas/BulkPortinRequest' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + Order Id for all child orders + 2021-06-30T00:00:00.000Z + 14020 + 521434 + DRAFT + 9900572 + testuser + testuser + JYT01 + 2021-06-21T19:42:34.760Z + 2021-06-21T19:42:34.760Z + 3233e096-1ce5-4a58-ba77-02a5ee1c0ef4 + + + schema: + $ref: '#/components/schemas/BulkPortinResponse' + description: >- + The order has been created with the order ID specified in the + response payload + + and in the Location header. Note that it is possible to create an + order that + + has errors in it. Very little screening is done, because all fields + are + + optional and very little validation is done other than simple syntax + checking. + + The expectation is that the child orders will be updated using the + /portins + + API prior to submission to fill in port-specific information (e.g. + the LOA + + authorizing person, or subscriber data). + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7333 + Porting is not enabled on the account. + + + schema: + $ref: '#/components/schemas/BulkPortinErrorResponse' + description: > +

    Order could not be processed and no order ID was created.
    + + Some bad request error examples:
    + +

      + +
    • 7527 - Target RespOrg IDs must be 5 characters in length.
    • + +
    • 7528 - Target RespOrg IDs must consist of letters (a-z, A-Z) and + digits (0-9).
    • + +
    • 7533 - A toll free port-in cannot be submitted without a + TargetRespOrgId.
    • + +

      + '409': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7531 + The specified Target RespOrg ID is not a valid Bandwidth RespOrg ID. + + + schema: + $ref: '#/components/schemas/BulkPortinErrorResponse' + description: > +

      Conflict
      + + Some conflict error examples:
      + +

        + +
      • 7529 - The specified Target RespOrg ID is not a Bandwidth + RespOrg ID, and your account is not configured for RespOrg + Exception.
      • + +
      • 7530 - The specified Target RespOrg ID is neither a Bandwidth + RespOrg ID, nor one of the RespOrg Exception RespOrg IDs configured + for your account.
      • + +
      • 7531 - The specified Target RespOrg ID is not a valid Bandwidth + RespOrg ID.
      • + +
      • 7535 - The TargetRespOrgId may only be included for a bulk + port-in that is still in a draft state.
      • + +

      + summary: Create bulk port-in order + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}: + delete: + description: >- + Delete a bulk port-in order with child port-ins. Deleting a bulk + port-in is allowed for 'DRAFT' state only. Deleting a bulk port-in will + delete all DRAFT child port-ins associated with the bulk port-in. When + the bulk port-in is deleted, any child port-in orders that are not in a + draft status are dissociated from the bulk port-in, but not deleted. + Please visit Guides + and Tutorials + operationId: DeleteBulkOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + description: Bulk Port-in order has been successfully deleted. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 7709 + Bulk port-in with id d88763f4-8914-4301-bdca-6f409e4cd811 cannot be deleted since it is not in + draft status. + + + + + schema: + $ref: '#/components/schemas/BulkPortinErrorResponse' + description: Bad request. Bulk Port-in order not in DRAFT state. + '404': + description: The indicated Bulk Port-in order could not be found. + summary: Delete bulk port-in order + tags: + - Bulk Port-In + get: + description: >- + Retrieves information associated with the bulk port-in order specified + by the orderId URI parameter. Please visit Guides and + Tutorials + operationId: RetrieveBulkOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n \n\t \n\t\tOrder Id for all child orders\n\t\t2021-06-30T00:00:00.000Z\n\t\t14020 \n\t\t521434 \n\t\tDRAFT \n\t\t9900572 \n\t\tJYT01 \n\t\ttestuser \n\t\ttestuser \n\t\t2021-06-21T19:42:34.760Z\n\t\t2021-06-21T19:42:34.760Z \n\t \n" + schema: + $ref: '#/components/schemas/BulkPortinResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + '404': + description: The indicated Bulk Port-in order could not be found. + summary: Retrieve bulk port-in order + tags: + - Bulk Port-In + patch: + description: >- +

      It is possible to change ("SUPP" in LNP terms) an existing Bulk + Port-in order. This is done via a PUT or PATCH on the existing + order-id. Since the Bulk Port-in + order acts as a template for port-in orders in DRAFT status, any record can be changed at any time. The PATCH replaces elements of the referenced Bulk Portin order, but it replaces only the records included in the request payload. Other elements will remain untouched.

      Changing the fields in a Bulk Port-in order causes the system to reapply all changed values to the child port-ins contained in the list of subtending port-in orders. Note that if the port-in orders contained within the Bulk Port are in DRAFT state, any field can be modified. If any child port-in order in the Bulk Port-in is in any other state, normal SUPP rules apply, and the list of appropriate fields is smaller.

      Changing the ProcessingStatus to 'IN_PROGRESS' causes all child port-ins to begin processing. This is only valid if child port-ins exist for the bulk port-in.

      Please visit Guides and Tutorials

      + operationId: PatchBulkOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + In progress: + value: "\n\n\tIN_PROGRESS\n" + Simple Request: + value: "\n\n\tOrder Id for all child orders\n\t2021-06-30Z\n\tJYT99\n\t14020\n\t\n" + Updated requested FOC date: + value: "\n\n\t2021-06-22T11:30:00-04:00\n" + schema: + $ref: '#/components/schemas/BulkPortinPatchRequest' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tOrder Id for all child orders\n\t\t2021-06-30T00:00:00.000Z\n\t\t\n\t\t\tBUSINESS\n\t\t\tGoina B Rich\n\t\t\t\n\t\t\t\t123\n\t\t\t\tMaple Ave\n\t\t\t\tHometown\n\t\t\t\tMO\n\t\t\t\t54923\n\t\t\t\tUnited States\n\t\t\t\tService\n\t\t\t\n\t\t\n\t\t14020\n\t\tJYT01\n\t\t521434\n\t\tDRAFT\n\t\t9900572\n\t\ttestuser\n\t\ttestuser\n\t\t2021-06-22T14:25:24.487Z\n\t\t2021-06-21T19:42:34.760Z\n\t\n" + schema: + $ref: '#/components/schemas/BulkPortinResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + Please check your input parameters. + + + + c358cb90-f1e6-4d72-92be-435411d50609 + + + The order cannot be modified because the order is awaiting a response from the losing carrier + 7300 + + + + + cb57e5a0-c70d-4f24-a450-bab62e908cc6 + + + Unable to modify processing status for AUTOMATED port type + 7367 + + + + + + schema: + $ref: '#/components/schemas/BulkPortinPatchErrorResponse' + description: Bad request. Invalid input. + '404': + description: The indicated Bulk Port-in order could not be found. + summary: Patch bulk port-in order + tags: + - Bulk Port-In + put: + description: >- + The PUT operation is available only for bulk port-in orders that are not + yet associated with subtending orders. Since this only occurs for bulk + port-in orders that are in one of the draft states, there are few + restrictions on what may be included. As with the POST, any data + associated with the bulk port-in will cascade to subtending orders when + they are created. (Subtending orders are created after telephone numbers + are added to the bulk port-in using the /tnList endpoint.) The PUT + completely replaces the existing Bulk Portin order with the payload of + the PUT. Please visit Guides and + Tutorials. + operationId: PutBulkOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + Order Id for all child orders + 2021-06-30Z + + BUSINESS + Goina B Rich + + 123 + Maple Ave + Hometown + MO + 54923 + + + JYT01 + 14020 + 521434 + + schema: + $ref: '#/components/schemas/BulkPortinRequest' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n \n\t \n\t\tOrder Id for all child orders \n\t\t2021-06-30T00:00:00.000Z \n\t\t \n\t\t\tBUSINESS \n\t\t\tGoina B Rich \n\t\t\t \n\t\t\t\t123 \n\t\t\t\tMaple Ave \n\t\t\t\tHometown \n\t\t\t\tMO \n\t\t\t\t54923 \n\t\t\t\tUnited States \n\t\t\t\tService \n\t\t\t \n\t\t \n\t\t14020 \n\t\t521434 \n\t\tDRAFT \n\t\t9900572 \n\t\tJYT01 \n\t\ttestuser \n\t\ttestuser \n\t\t2021-06-21T20:24:36.616Z\n\t\t2021-06-21T19:42:34.760Z \n\t \n" + schema: + $ref: '#/components/schemas/BulkPortinResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + Please check your input parameters. + + + + c358cb90-f1e6-4d72-92be-435411d50609 + + + The order cannot be modified because the order is awaiting a response from the losing carrier + 7300 + + + + + cb57e5a0-c70d-4f24-a450-bab62e908cc6 + + + Unable to modify processing status for AUTOMATED port type + 7367 + + + + + + schema: + $ref: '#/components/schemas/BulkPortinPatchErrorResponse' + description: Bad request. Invalid input. + '404': + description: The indicated Bulk Port-in order could not be found. + summary: Update bulk port-in order + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}/history: + get: + description: >- + Retrieves the history of the specified bulk port-in order. Obtaining + history for a draft bulk port-in is not supported.

      Please visit Guides and + Tutorials

      + operationId: GetBulkHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + Bulk port-in in DRAFT state: + description: >- + The following response will be returned when the bulk + port-in is in DRAFT state + value: |- + + + + 7710 + History is not supported for bulk port-ins or individual port-ins in draft status. + + + Simple response: + value: |- + + + + 2018-06-12T13:44:47.604Z + Draft order has been created/updated + systemUser + DRAFT + + + 2018-06-12T13:49:02.328Z + Draft order has been created/updated + systemUser + DRAFT + SiteId : 0 --> 743 + + + 2018-06-12T13:49:46.350Z + Order has been submitted/updated + systemUser + IN_PROGRESS + + + 2018-06-12T13:51:13.855Z + Order has been submitted/updated + systemUser + IN_PROGRESS + SubscriberType : "" --> residential + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. History is not supported for bulk port-ins in draft status. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/BulkPortInHistoryResponse' + description: NOT FOUND - the order id does not exist in the system + summary: Retrieve bulk port-in order history + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}/loas: + get: + description: >- + Retrieves the list of the loa (and other) files associated with the + order. + operationId: ListBulkLoas + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: >- + if true it will return meta-data associated with the file used to + describe the file. + example: true + in: query + name: metadata + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + + eeceff88-c11e-4bd8-86f3-8e3482888500-1624044440058.pdf + + LOA + + + 0 + LOA file list successfully returned + + schema: + $ref: '#/components/schemas/fileListResponse' + description: >- + The list of all files is being returned. This response includes the + case where the list is empty. + summary: List bulk port-in order loa files + tags: + - Bulk Port-In + post: + description: >- +

      POSTing to the /loas resource will enable the upload of the file. + The key attribute to the POST is ensuring that the headers are correctly + set to support the file upload.
      + + Query parameter or header documentType can be used to specify type of + document on upload. Possible values are: LOA, INVOICE, CSR, OTHER. +
      + Header settings typical of a valid upload are...
      +
      + + + Host: dashboard.bandwidth.com
      + + Authorization: Basic xxxxxxxxxxxxxxxxxxxx==
      + + Content-Type: application/pdf
      + + documentType: [LOA | INVOICE | CSR | OTHER]
      + + Accept: /
      + + Accept-Encoding: gzip, deflate
      + + Accept-Language: en-US,en;q=0.8
      + + Cache-Control: no-cache
      +
      + ----WebKitFormBoundaryE19zNvXGzXaLvS5C
      + + Content-Disposition: form-data; name="george"; filename="Bandwidth + Dashboard.pdf"
      + + Content-Type: application/pdf
      +
      +
      + ----WebKitFormBoundaryE19zNvXGzXaLvS5C
      + +

      + +

      When uploading documents using the /loas resource, you must specify + the MIME type of the document being upload using the Content-Type HTTP + header.

      + +

      Information for non-toll free port-in customers:

      + +

      The LOA document must be uploaded using one of the following MIME + types:

      + +
        + +
      • application/pdf
      • + +
      • text/plain
      • + +
      • image/jpeg
      • + +
      • image/png
      • + +
      • image/tiff
      • + +
      • text/csv
      • + +
      • application/vnd.ms-excel
      • + +
      • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
      • + +
      • application/msword
      • + +
      • application/vnd.openxmlformats-officedocument.wordprocessingml.document
      • + +
      + +

      Information for toll free port-in customers:

      + +

      If you are porting toll free numbers and either of the following are + true, the port-in order requires a LOA document.

      + +
        + +
      • The controlling and target RespOrg IDs have different entity values + (i.e. the first two characters are different).
      • + +
      • The toll free port-in will cause toll free telephone numbers to move + from one Bandwidth account to another Bandwidth account.
      • + +
      + +

      If a LOA is required, the LOA document must adhere to these + rules:

      + +
        + +
      • The LOA document must be uploaded using MIME type "application/pdf", + or "image/tiff", as these are the only formats supported by our toll + free porting vendor.
      • + +
      • The LOA document must be annotated as a LOA document using the + documentType query parameter or header value.
      • + +
      + +

      If a LOA is required but a compliant LOA document has not been + uploaded, the toll free port-in order will remain in the Pending + Documents state until a valid LOA is provided.

      + operationId: UploadBulkLoa + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: >- + This query parameter allows you to include the document type + metadata at the same + + time you upload the file. The value may be one of: LOA, + INVOICE, CSR, or OTHER. + example: documentType=LOA + in: query + name: documentType + required: false + schema: + type: string + requestBody: + content: + '*/*': + schema: + format: binary + type: string + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 63097af1-37ae-432f-8a0d-9b0e6517a35b-1429550165581.pdf + 0 + LOA file uploaded successfully for order 63097af1-37ae-432f-8a0d-9b0e6517a35b + + description: >- + The 201 response indicates the successful creation of a file + resource containing the uploaded content. + + The response header will include a link to the created file as a GET + on the identified resource. + '400': + description: 'Supported values for documentType are: LOA, INVOICE, CSR, or OTHER.' + '409': + description: >- + Conflicting values specified for documentType query parameter and + documentType header. + summary: Upload bulk port-in order loa file + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}/notes: + get: + description: >- + Retrieve all notes associated with the order. Please visit Guides and + Tutorials + operationId: ListBulkNotes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87037 + jbm + This is a test note + 2014-11-16T04:01:10.000Z + + + 87039 + smckinnon + This is a second test note + 2014-11-16T04:08:46.000Z + + + schema: + $ref: '#/components/schemas/Notes' + description: >- + OK - there are Notes associated with the order, and they have been + returned in the response. + '204': + description: >- + No Content - there are no Notes associated with the order. Since + the notes resource is an aggregate rather than addressed resource + the generic no content response is used, rather than a 404 as would + be used if the resource was addressed with an identifier + summary: List bulk port-in order notes + tags: + - Bulk Port-In + post: + description: >- + Updates the Notes resource by adding a note. Adding a note to a port-in + order causes a notification to be sent to Bandwidth Operations, so that + they may assist as necessary. A note may be up to 500 characters in + length. Please visit Guides and + Tutorials + operationId: CreateBulkNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n \n\tuserId \n\t \n\tnote text \n" + schema: + $ref: '#/components/schemas/Note' + responses: + '201': + description: >- + CREATED - the note has been created and added to the collection of + notes associated with the order. A link to the note is included in + the Location header of the response. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been created because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Create bulk port-in order note + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}/notes/{noteId}: + put: + description: >- + Update a specified note. Notes may only be updated, not deleted. Please + visit Guides and + Tutorials + operationId: UpdateBulkNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: Note ID + example: '123' + in: path + name: noteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n \n\tuserId \n\tnote text \n" + schema: + $ref: '#/components/schemas/Note' + responses: + '200': + description: OK - note has been updated. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been updated because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Update bulk port-in order note + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}/portinList: + get: + description: >- + Retrieves a list of Port-in Orders that are all associated with the + identified Bulk Port-in. This response is not paginated due to its + inherently limited size. Please visit Guides and + Tutorials + operationId: ListBulkChildOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + [portin order id] + [portin order id] + + [portin order id] + [portin order id] + + + + nnnnn + [portin order id] + string + + + nnnnn + [portin order id] + string + + + + schema: + $ref: '#/components/schemas/PortinListResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. It is possible to receive an empty PortinList if there are + no child port-in orders associated with the bulk port-in. + summary: List bulk port-in child orders + tags: + - Bulk Port-In + put: + description: >- +

      A PUT on a PortinList resource will cause replacement of the list of + port-in orders associated with the specified bulk port-in.

      This + PUT will completely replace the existing list of port-in orders + associated with the bulk port-in. If all port-in orders in the list are + not valid, the PUT request will fail, due to the potential for losing + the port-in to bulk port-in relationships.

      Only port-in orders in + a draft status may be associated with a bulk port-in order. And port-in + orders may only be added to a bulk port-in order while that bulk port-in + order is still in a draft state.

      Child port-in orders may be + dissociated from the bulk port-in at any time.

      Please visit Guides and + Tutorials

      + operationId: UpdateBulkChildList + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + [portin order id] + [portin order id] + + [portin order id] + [portin order id] + + schema: + $ref: '#/components/schemas/PortinList' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 33d387f8-d60b-4e20-9c31-5b68a4ef4b0a + 0021cde5-99d7-4be3-afcd-a8803374921a + 7b0e5e38-ce93-4d29-8882-d3b5c4a37e56 + c6512b78-d44f-419f-9836-eaae408e3149 + + + schema: + $ref: '#/components/schemas/PortinListResponse' + description: The list was replaced successfully and no errors were detected. + '400': + description: >- + There was an error - one or more of the port-in orders was invalid. + The response payload will indicate the errors that were detected, + and no changes will be made to the list of portin orders associated + with the bulk order. + summary: Update list of bulk port-in child orders + tags: + - Bulk Port-In + /accounts/{accountId}/bulkPortins/{orderId}/tnList: + get: + description: >- +

      The information returned in the GET /tnList response payload depends + on the ProcessingStatus of the bulk port-in order. See the Responses tab + for examples of each response payload.

      + + + + + + + + + + + + + + + + + + + + + + +
      +

      + ProcessingStatus +

      +
      +

      + Information Returned +

      +
      +

      + DRAFT +

      +
      +

      + In this state, no tnList has been provided, so the response + includes empty portable and non-portable telephone number lists. +

      +
      +

      + VALIDATE_DRAFT_TNS +

      +
      +

      + In this state, validation of the tnList is still in progress, + so the response includes all of the tnList telephone numbers + in a 'not validated' list. This is a temporary state until + the validation completes. Validation takes longer when toll + free numbers are included in the tnList. +

      +
      +

      + VALID_DRAFT_TNS +

      +
      +

      + In this state, all of the telephone numbers in the tnList have + been determined to be portable. The response payload includes + a list of the child port-in orders and shows which telephone + numbers are assigned to each child port-in order. +

      +
      +

      + INVALID_DRAFT_TNS +

      +
      +

      + In this state, at least one of the telephone numbers in the tnList + has been determined to be non-portable. The response payload includes + a list of portable numbers (if any) and a list of errors showing which + telephone numbers are non-portable as well as the reasons why they + cannot be ported. Or, if communication errors prevented us from + determining telephone number portability, those errors will be included. +

      +
      +

      Please visit Guides and Tutorials

      + operationId: ListBulkTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + DRAFT state: + value: "\n\n\tDRAFT\n\t33b58246-f27c-4b1d-896d-0acc03b3ad8a\n\t\n" + Non-portable INVALID_DRAFT_TNS state: + value: "\n\n\tINVALID_DRAFT_TNS\n\t33b58246-f27c-4b1d-896d-0acc03b3ad8a\n\t\n\t\n\t\t+18772397726\n\t\n\t\n\t\t10f48fec-9db0-4f68-8bcb-c8a6a230a2d9\n\t\t\n\t\t\t+18772397726\n\t\t\n\t\n\t\n\t\t\n\t\t\t7642\n\t\t\tTN list contains at least one toll free number that cannot be ported due to spare status.\n\t\t\t\n\t\t\t\t+18005587721\n\t\t\t\n\t\t\n\t\t\n\t\t\t7643\n\t\t\tTN list contains at least one toll free number that cannot be ported due to unavailable status.\n\t\t\t\n\t\t\t\t+17225098835\n\t\t\t\n\t\t\n\t\n" + VALIDATE_DRAFT_TNS state: + value: "\n\n\tVALIDATE_DRAFT_TNS\n\t33b58246-f27c-4b1d-896d-0acc03b3ad8a\n\t\n\t\t+18772397726\n\t\t+18006148733\n\t\t+14047221089\n\t\t+17013498774\n\t\n" + VALID_DRAFT_TNS state: + value: "\n\n\tVALID_DRAFT_TNS\n\t33b58246-f27c-4b1d-896d-0acc03b3ad8a\n\t\n\t\t\n\t\t\t10f48fec-9db0-4f68-8bcb-c8a6a230a2d9\n\t\t\t\n\t\t\t\t+18772397726\n\t\t\t\n\t\t\n\t\t\n\t\t\t059cf2d9-a004-4a88-866c-082c97fb7d5f\n\t\t\t\n\t\t\t\t+18006148733\n\t\t\t\n\t\t\n\t\t\n\t\t\t092815dc-9ced-4d67-a070-a80eb243b914\n\t\t\t\n\t\t\t\t+14047221089\n\t\t\t\t+17013498774\n\t\t\t\n\t\t\n\t\n" + Vendor error INVALID_DRAFT_TNS state: + value: "\n\n\tINVALID_DRAFT_TNS\n\t33b58246-f27c-4b1d-896d-0acc03b3ad8a\n\t\n\t\n\t\t\n\t\t\t7628\n\t\t\tAn unexpected Batch Number Query response was received from our porting vendor. Please contact Bandwidth for assistance with this error.\n\t\t\t\n\t\t\t\t+18772397726\n\t\t\t\t+18006148733\n\t\t\t\t+14047221089\n\t\t\t\t+17013498774\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/TnListResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + summary: List bulk port-in order tns + tags: + - Bulk Port-In + put: + description: >- +

      This operation is used to add telephone numbers to a draft bulk + port-in order. + The telephone numbers may be a mix of toll free and non-toll free. Once the + telephone numbers are added, they will be checked for portability, and if + portable, decomposed into individual child port-in orders. Both the bulk + port-in order and the child port-in orders remain in draft status until you + explicitly submit them.

      + +

      After submitting a tnList with the PUT operation, you will need to + poll for + completion of the validation and decomposition using the GET /tnList operation + or the GET /bulkPortins/orderId operation (both include the order ProcessingStatus). + The basic ProcessingStatus flow is as follows:

      + +
      • On submission of the tnList, the bulk port-in order transitions + from DRAFT + status to VALIDATE_DRAFT_TNS. The order will remain in this state until validation + is complete. For a tnList that does not contain any toll free telephone numbers, the + validation step is very fast. When the tnList does contain toll free telephone + numbers, the time it takes to validate the toll free numbers is roughly proportional + to the number of toll free telephone numbers. If you PUT a new tnList while validation + is in progress for a previous tnList, the validation of the previous tnList will be + abandoned and replaced by validation of the new tnList.
      • +
      • If all of the telephone numbers in the tnList are portable, the bulk port-in + transitions to the VALID_DRAFT_TNS state. At this point, child port-in orders have + been created in DRAFT status to meet requirements about which telephone numbers can + be ported together in the same port-in order. The bulk port-in will remain in this + state until you use the PATCH operation on the bulk port-in order to change the + ProcessingStatus to IN_PROGRESS. If you PUT an updated tnList, all draft child + port-in orders are removed, and the validation process begins again with the new + tnList.
      • +
      • If at least one of the telephone numbers in the tnList is not portable, the bulk + port-in transitions to the INVALID_DRAFT_TNS state. When this happens, no child + port-in orders are created. You can use the GET operation on /tnList to see reasons + why telephone numbers are non-portable. You’ll need to update the tnList to remove + non-portable telephone numbers and PUT the tnList again to restart the validation + step. The goal is to get to the VALID_DRAFT_TNS state, from which you can submit + the bulk port-in order.
      +

      Please visit Guides and Tutorials

      + operationId: UpdateBulkTnList + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + [telephone number] + [telephone number] + + [telephone number] + [telephone number] + + schema: + $ref: '#/components/schemas/TnList' + responses: + '202': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\tac2c8ab2-7a63-44da-a307-edcabe0b6c81\n\tVALIDATE_DRAFT_TNS\n" + schema: + $ref: '#/components/schemas/TnListPutResponse' + description: >- + The request to validate telephone numbers and create child port-in + orders has been accepted. Use the GET /tnList to check for status + updates on the validation. + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t7339\n\t\tTelephone numbers '[+15032241124, +18632167633, +19133648872, +18882889734]' are not valid\n\t\n\tac2c8ab2-7a63-44da-a307-edcabe0b6c81\n\tINVALID_DRAFT_TNS\n" + schema: + $ref: '#/components/schemas/TnListPutErrorResponse' + description: >- + The TN List payload was malformed, and the list could not be + processed. The response payload includes information about why the + request failed. If the request is entirely malformed (e.g. + unrecognized elements), the 400 response may have no + payload.

      In the example below, the TN values include the + country code prefix.The TN values should be 10-digit North American + telephone numbers. + summary: Update bulk port-in order tn list + tags: + - Bulk Port-In + /accounts/{accountId}/campaignManagement/10dlc: + get: + description: >- + This GET resource can be used to fetch 10dlc campaign settings + configuration on an account. + operationId: fetchCampaignSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/ResellerSetupResponse' + description: example + description: OK + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignSetting404Error' + description: example + description: Not Found + summary: Fetch Campaign Settings + tags: + - 10DLC + post: + description: >- + This POST resource can be used to create a 10dlc campaign settings + configuration on an account. + operationId: createCampaignSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + DirectCustomer: + $ref: '#/components/examples/DirectCustomerSetupRequest' + summary: Setting up as Direct Customer + Reseller: + $ref: '#/components/examples/ResellerSetupRequest' + summary: Setting up as Reseller + schema: + $ref: '#/components/schemas/CampaignSettingsRequest' + responses: + '201': + content: + application/xml: + examples: + DirectCustomer: + $ref: '#/components/examples/DirectCustomerSetupResponse' + description: Direct Customer Campaign Settings success response + resellerExample: + $ref: '#/components/examples/ResellerSetupResponse' + description: Create Reseller Campaign Settings success response + description: Created + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignSetting400Error' + description: example + description: Bad Request + '409': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignSetting409Error' + description: example + description: Conflict + summary: Create Campaign Settings + tags: + - 10DLC + put: + description: >- + This PUT resource can be used to update a 10dlc campaign settings + configuration on an account. + operationId: updateCampaignSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + DirectCustomer: + $ref: '#/components/examples/DirectCustomerSetupRequest' + summary: Updating campaign setting as Direct Customer + Reseller: + $ref: '#/components/examples/ResellerSetupRequest' + summary: Updating campaign setting as Reseller + schema: + $ref: '#/components/schemas/CampaignSettingsRequest' + responses: + '200': + content: + application/xml: + examples: + DirectCustomer: + $ref: '#/components/examples/DirectCustomerSetupResponse' + description: Direct Customer Campaign Settings update success response + resellerExample: + $ref: '#/components/examples/ResellerSetupResponse' + description: Reseller Campaign Settings update success response + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignSetting400Error' + description: example + description: Bad Request + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignSetting404Error' + description: example + description: Not Found + summary: Update Campaign Settings + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/brands: + get: + description: Retrieve a list of campaign registry brands for the account + operationId: listBrands + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - in: query + name: page + schema: + type: integer + - in: query + name: size + schema: + type: integer + - in: query + name: type + schema: + enum: + - NONE + - MAIN + - CUSTOMER + type: string + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandResponse' + schema: + $ref: '#/components/schemas/BrandsResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Brand400Error' + schema: + $ref: '#/components/schemas/BrandsErrorResponse' + description: Bad Request + summary: List Brands + tags: + - 10DLC + post: + description: > + Create campaign registry brand on the Account. + + My Brand Note Regardless of if you are a DirectCustomer or Reseller, you + will need to create a My Brand. + + You can only create one of these. On the Request Body you can indicate a + My Brand by setting the IsMain flag to true. + + Please visit [Brand and Reseller + Management](/docs/messaging/campaign-management/csp/reseller-brand-api) + operationId: createBrand + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + Customer Brand: + $ref: '#/components/examples/CustomerBrandRequest' + summary: Customer Brand + My Brand: + $ref: '#/components/examples/MyBrandRequest' + summary: My Brand + schema: + $ref: '#/components/schemas/BrandRequest' + responses: + '201': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandResponse' + schema: + $ref: '#/components/schemas/BrandResponse' + description: CREATED + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandMissingFieldError' + schema: + $ref: '#/components/schemas/BrandErrorResponse' + description: Bad Request + summary: Create brand + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/brands/{brandId}: + delete: + description: Delete campaign registry brand + operationId: deleteBrand + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + responses: + '204': + content: + description: No Content + summary: Delete Brand + tags: + - 10DLC + get: + description: Retrieve a campaign registry brand for the Account + operationId: retrieveBrand + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandResponse' + schema: + $ref: '#/components/schemas/BrandResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Brand400Error' + schema: + $ref: '#/components/schemas/BrandErrorResponse' + description: Bad Request + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Brand404Error' + schema: + $ref: '#/components/schemas/BrandErrorResponse' + description: Not Found + summary: Retrieve Brand + tags: + - 10DLC + put: + description: Update campaign registry brand on the Account + operationId: updateBrand + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + Customer Brand: + $ref: '#/components/examples/CustomerBrandRequest' + summary: Customer Brand + My Brand: + $ref: '#/components/examples/MyBrandRequest' + summary: My Brand + schema: + $ref: '#/components/schemas/BrandRequest' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandResponse' + schema: + $ref: '#/components/schemas/BrandResponse' + description: OK + '400': + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Brand404Error' + schema: + $ref: '#/components/schemas/BrandErrorResponse' + description: Not Found + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Brand400Error' + schema: + $ref: '#/components/schemas/BrandErrorResponse' + description: Bad Request + summary: Update Brand + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/brands/{brandId}/campaigns: + get: + description: The GET method is used to retrieve Campaign resource on the account. + operationId: getCampaignsByBrandId + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: null + in: path + name: brandId + required: true + schema: + default: null + type: string + - description: Number of page + example: 1 + in: query + name: page + required: false + schema: + default: null + type: integer + - description: Number of records per page + example: 8 + in: query + name: size + required: false + schema: + default: null + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignsListResponse' + description: example + description: OK + summary: Fetch Campaigns by BrandId + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/brands/{brandId}/revet: + put: + description: Request Brand Re-Vet + operationId: requestBrandRevet + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandRevetResponse' + schema: + $ref: '#/components/schemas/Brand' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandRevet400Error' + schema: + $ref: '#/components/schemas/BrandRevetErrorResponse' + description: Bad Request + summary: Request Brand Re-Vet + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/brands/{brandId}/vetting: + get: + description: Retrieve brand external vetting records + operationId: retrieveBrandVettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + - description: Vetting provider ID. + example: AEGIS + in: query + name: evpId + schema: + type: string + - description: Vetting class. + example: STANDARD + in: query + name: vettingClass + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingResponse' + schema: + $ref: '#/components/schemas/BrandVettingsResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVetting400Error' + schema: + $ref: '#/components/schemas/BrandVettingsErrorResponse' + description: Bad Request + summary: Retrieve Brand Vettings + tags: + - 10DLC + post: + description: Create brand an external vetting + operationId: createBrandVetting + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingRequest' + schema: + $ref: '#/components/schemas/BrandVettingRequest' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingPostResponse' + schema: + $ref: '#/components/schemas/BrandVettingsResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingPost400Error' + schema: + $ref: '#/components/schemas/BrandVettingsErrorResponse' + description: Bad Request + summary: Create Brand Vetting + tags: + - 10DLC + put: + description: Import brand external vetting records + operationId: importBrandVetting + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Brand id. + example: B5DG4HH + in: path + name: brandId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingImportRequest' + schema: + $ref: '#/components/schemas/BrandVettingImportRequest' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingImportResponse' + schema: + $ref: '#/components/schemas/BrandVettingImportResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/BrandVettingPost400Error' + schema: + $ref: '#/components/schemas/BrandVettingsErrorResponse' + description: Bad Request + summary: Import Brand Vetting + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/campaigns: + get: + description: >- + This endpoint fetches a paginated list of all campaigns for your + account. + operationId: fetchCampaignList + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The page number of the results to return. + in: query + name: page + required: false + schema: + default: 0 + type: number + - description: The maximum number of results to return. + in: query + name: size + required: false + schema: + default: 25 + type: number + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignsListResponse' + description: example + description: OK + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignNotFound404Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Not Found + summary: Fetch Campaign List + tags: + - 10DLC + post: + description: The POST method is used to add a new Campaign resource to the account. + operationId: createCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + My Campaign: + $ref: '#/components/examples/CreateCampaignRequest' + summary: My Campaign + schema: + $ref: '#/components/schemas/CampaignRequest' + responses: + '201': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignResponse' + description: example + description: Created + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CreateCampaign400Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Bad Request + summary: Create Campaign + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/campaigns/imports: + get: + description: >- + The GET method returns a list of Campaign Ids that have been imported + into the account. The maximum number of Campaigns returned by this query + is controlled by the size parameter. The page parameter can be used to + fetch additional pages after the first. + operationId: GetImportedCampaigns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The page number of the results to return. + in: query + name: page + required: false + schema: + default: 0 + type: number + - description: The maximum number of results to return. + in: query + name: size + required: false + schema: + default: 25 + type: number + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignImportResponse' + schema: + $ref: '#/components/schemas/LongCodeImportCampaignsResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignImport400Error' + schema: + $ref: '#/components/schemas/LongCodeImportCampaignsErrorResponse' + description: Bad Request + summary: Retrieve Imported Campaigns + tags: + - 10DLC + post: + description: >- + The POST method is used to import a previously shared Campaign into the + account. + operationId: ImportCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignImportRequest' + schema: + $ref: '#/components/schemas/ImportedCampaignRequest' + responses: + '201': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CreateCampaignImportResponse' + schema: + $ref: '#/components/schemas/LongCodeImportCampaignResponse' + description: Created + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignImport400CampaignTooLongError' + schema: + $ref: '#/components/schemas/LongCodeImportCampaignErrorResponse' + description: Bad Request + '404': + description: Not Found + summary: Import Campaign + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/campaigns/imports/{campaignId}: + get: + description: >- + The GET method returns a сampaign that have been imported into the + account. + operationId: GetImportedCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/CampaignIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignImportResponse' + schema: + $ref: '#/components/schemas/LongCodeImportCampaignResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignImport400Error' + schema: + $ref: '#/components/schemas/LongCodeImportCampaignErrorResponse' + description: Bad request + summary: Retrieve Imported Campaign + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/campaigns/{campaignId}: + delete: + description: >- + The DELETE method is used to deactivate a Campaign with the specified + ID. + operationId: deleteCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/CampaignIdPathParam' + responses: + '204': + description: No Content + '403': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Campaign403Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Forbidden + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignNotFound404Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Not Found + summary: Delete Campaign + tags: + - 10DLC + get: + description: The GET method is used to fetch a Campaign with the specified ID. + operationId: fetchCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/CampaignIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignResponse' + description: example + description: OK + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignNotFound404Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Not Found + summary: Fetch Campaign + tags: + - 10DLC + put: + description: The PUT method is used to modify an existing Campaign resource. + operationId: updateCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + My Campaign: + $ref: '#/components/examples/CampaignUpdateRequest' + summary: My Campaign + schema: + $ref: '#/components/schemas/CampaignRequest' + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignResponse' + description: example + description: Created + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CreateCampaign400Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Bad Request + summary: Update Campaign + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/campaigns/{campaignId}/revet: + put: + description: >- + The PUT method is used to send a request to TCR for reverification of + DCA2 declined campaign + operationId: revetCampaign + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/CampaignIdPathParam' + responses: + '204': + description: No Content + '403': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/Campaign403Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Forbidden + '404': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignNotFound404Error' + description: example + schema: + $ref: '#/components/schemas/CampaignErrorResponse' + description: Not Found + summary: Revet Campaign + tags: + - 10DLC + /accounts/{accountId}/campaignManagement/10dlc/campaigns/{campaignId}/tn: + get: + description: >- + This method returns a list of TNs that have been registered to a + campaign. The maximum number of TNs returned by this query is controlled + by the size parameter. The page parameter can be used to fetch + additional pages after the first. + operationId: getCampaignTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/CampaignIdPathParam' + - description: The page number of the results to return. + in: query + name: page + required: false + schema: + default: 0 + type: number + - description: The maximum number of results to return. + in: query + name: size + required: false + schema: + default: 25 + type: number + responses: + '200': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignTnsResponse' + schema: + $ref: '#/components/schemas/CampaignTnsResponse' + description: OK + '400': + content: + application/xml: + examples: + example: + $ref: '#/components/examples/CampaignTnsResponse400Error' + schema: + $ref: '#/components/schemas/CampaignTnsErrorResponse' + description: Bad Request + summary: Fetch Campaign TNs + tags: + - 10DLC + /accounts/{accountId}/csrs: + get: + description: >- + Retrieves the csr orders for the given account ID. + + Please visit Guides and + Tutorials + operationId: ReadCsrOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The earliest date that the order was last modified. + example: 2014-08-05T00:00:00.000Z + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + The latest date that the order was last modified. If no + modifiedDateTo is specified when a modifiedDateFrom is specified + then 'now' will be presumed to be the modifiedDateTo. + example: 2014-08-05T00:00:00.000Z + in: query + name: modifiedDateTo + required: false + schema: + type: string + - description: >- + The CSR order id corresponding to the page that you want to start + from. "1" is used as a convention for the first CSR order for the + account. Defaults to 1, if not provided. + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: query + name: page + required: false + schema: + type: string + - description: The maximum number of results to retrieve + example: 30 + in: query + name: size + required: false + schema: + default: 300 + type: integer + - description: Displays the CSR orders with a given order status. + example: complete + in: query + name: status + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 3 + + Link=<https://dashboard.bandwidth.com/api/accounts/1/csrs?page=1&size=3&shortPayload=true>;rel="first"; + + + someValue + systemUser + 2019-10-25T09:51:17Z + 1 + a2f55ebe-782a-4242-983b-6ae6cfa97833 + 2019-10-25T12:51:22.139Z + COMPLETE + 987654321 + +19196194444 + bandwidthGuy + importantAuthGuy + 123 + 12345 + 900 Main Campus Dr + Raleigh + NC + 27612 + residential + + 123456789 + JOHN SMITH + + 900 MAIN CAMPUS DR + RALEIGH + NC + 27616 + + +19196191211 + + +19196191211 + + + + + + + + + + + + schema: + $ref: '#/components/schemas/CsrResponses' + description: The response will include all CSR related data. + summary: List CSR orders + tags: + - Porting + post: + description: Creates the csr order + operationId: CreateCsrOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t+19196191211\n\t987654321\n\t+19196194444\n\tbandwidthGuy\n\tauthorizingUserName\n\t123\n\t12345\n\tpassword\n\t900 Main Campus Dr\n\tRaleigh\n\tNC\n\t27612\n\tresidential\n\tresidential\n" + schema: + $ref: '#/components/schemas/Csr' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t93118edd-9874-41b6-89a3-d8c783fe83cf\n\tRECEIVED\n" + schema: + properties: + OrderId: + type: string + Status: + type: string + title: CsrResponse + type: object + description: The order has been created. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 54321 + Some error description + + + + schema: + $ref: '#/components/schemas/CsrErrorResponse' + description: >- + Bad Response - there were errors in evaluating the body of the + request + summary: Create CSR order + tags: + - Porting + /accounts/{accountId}/csrs/{orderId}: + get: + description: Retrieves the csr order for the given account ID by order id + operationId: ReadCsrOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + someValue + systemUser + 2019-10-25T09:51:17Z + 1 + a2f55ebe-782a-4242-983b-6ae6cfa97833 + 2019-10-25T12:51:22.139Z + COMPLETE + 987654321 + +19196194444 + bandwidthGuy + importantAuthGuy + 123 + 12345 + 900 Main Campus Dr + Raleigh + NC + 27612 + residential + + 123456789 + JOHN SMITH + + 900 MAIN CAMPUS DR + RALEIGH + NC + 27616 + + +19196191211 + + +19196191211 + + + + schema: + $ref: '#/components/schemas/CsrGetResponse' + description: The response will include all CSR related data. + summary: Get CSR order + tags: + - Porting + put: + description: Update csr order + operationId: UpdateCsrOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t+19196191211\n\t+19196191211\n\t+19196191211\n\tname\n\tname\n\t987654321\n\t\n\t\t+19196191211\n\t\n\t\n\t\t123\n\t\tMaple Ave\n\t\tHometown\n\t\tMO\n\t\t54923\n\t\tUnited States\n\t\tService\n\t\n\t+19196194444\n\tbandwidthGuy\n\tauthorizingUserName\n\t123\n\t12345\n\tpassword\n\t900 Main Campus Dr\n\tRaleigh\n\tNC\n\t27612\n\tresidential\n\tresidential\n" + schema: + $ref: '#/components/schemas/Csr' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + someValue + systemUser + 2019-10-25T09:51:17Z + 1 + a2f55ebe-782a-4242-983b-6ae6cfa97833 + 2019-10-25T12:51:22.139Z + COMPLETE + 987654321 + +19196194444 + bandwidthGuy + importantAuthGuy + 123 + 12345 + 900 Main Campus Dr + Raleigh + NC + 27612 + residential + + 123456789 + JOHN SMITH + + 900 MAIN CAMPUS DR + RALEIGH + NC + 27616 + + +19196191211 + + +19196191211 + + + + schema: + $ref: '#/components/schemas/CsrGetResponse' + description: The order has been updated. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 54321 + Some error description + + + + schema: + $ref: '#/components/schemas/CsrErrorResponse' + description: >- + Bad Response - there were errors in evaluating the body of the + request + summary: Update CSR order + tags: + - Porting + /accounts/{accountId}/csrs/{orderId}/notes: + get: + description: 'Retrieve all notes associated with the CSRs order. ' + operationId: ReadCsrsOrderNotes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87037 + jbm + This is a test note + 2014-11-16T04:01:10.000Z + + + 87039 + smckinnon + This is a second test note + 2014-11-16T04:08:46.000Z + + + description: >- + OK - there are Notes associated with the order, and they have been + returned in the response. + '204': + description: >- + No Content - there are no Notes associated with the order. Since + the notes resource is an aggregate rather than addressed resource + the generic no content response is used, rather than a 404 as would + be used if the resource was addressed with an identifier + summary: List CSRs order notes + tags: + - Porting + post: + description: |- + Updates the Notes resource by adding a note. Adding a note to a CSRs + order causes a notification to be sent to Bandwidth Operations, so that they may assist as necessary. A note may be up to 500 characters in length + operationId: CreateCsrsOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '201': + description: >- + CREATED - the note has been created and added to the collection of + notes associated with the order. A link to the note is included in + the Location header of the response. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been created because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Add CSRs order note + tags: + - Porting + /accounts/{accountId}/csrs/{orderId}/notes/{noteId}: + put: + description: Update a specified note. Notes may only be updated, not deleted + operationId: UpdateCsrsOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: CSR Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + - description: Note ID + example: '123' + in: path + name: noteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '200': + description: OK - note has been updated. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been updated because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Update CSRs order note + tags: + - Porting + /accounts/{accountId}/discnumbers: + get: + description: >- + Retrieves a list of disconnected numbers associated with the account. + There are optional search parameters to limit the discNumbers payload + operationId: GetDisconnectedTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The first disconnected number on the desired page. `1` is used as a + convention for the first disconnected number in the collection. + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of records that should be returned by the query + example: 30 + in: query + name: size + required: true + schema: + default: 300 + maximum: 5000 + minimum: 1 + type: integer + - description: >- + The starting date of a search in yy-mm-dd format. startdate and + enddate must be used as a pair. + example: 22-10-31 + in: query + name: startdate + required: false + schema: + type: string + - description: >- + The ending date of a search in yy-mm-dd format. startdate and + enddate must be used as a pair. + example: 22-11-31 + in: query + name: enddate + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 4 + + 2 + +14158714245 + +14352154439 + + + schema: + $ref: '#/components/schemas/TNs' + description: The disconnected numbers have been retrieved successfully. + summary: Retrieve disconnected tns + tags: + - Disconnected Numbers + /accounts/{accountId}/discnumbers/totals: + get: + description: Retrieves a total number of disconnects. + operationId: GetTotalNumberDisconnects + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The starting date of a search in yy-mm-dd format. startdate and + enddate must be used as a pair. + example: 22-10-31 + in: query + name: startdate + required: false + schema: + type: string + - description: >- + The end date of a search in yy-mm-dd format. startdate and enddate + must be used as a pair. + example: 22-11-31 + in: query + name: enddate + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 4 + + schema: + $ref: '#/components/schemas/Quantity' + description: OK + summary: Retrieve total number of disconnects + tags: + - Disconnected Numbers + /accounts/{accountId}/disconnects: + get: + description: >- + Retrieve a list of disconnect orders that is associated with an account. + + Please visit Guides and + Tutorials + operationId: ReadDisconnectOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The disconnect order-id of the first record on the page. "1" is + used as a convention for the first disconnect order in the + collection + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: query + name: page + required: false + schema: + default: '1' + type: string + - description: The number of records that should be returned by the query + example: 30 + in: query + name: size + required: false + schema: + default: 300 + maximum: 5000 + minimum: 1 + type: integer + - description: The user ID associated with disconnected phone numbers + example: jbm + in: query + name: userid + required: false + schema: + type: string + - description: The status of the order + example: complete + in: query + name: status + required: false + schema: + type: string + - description: >- + Retrieves all phone numbers disconnected after this date. The start + date also requires the end date to be specified. + example: 22-10-31 + in: query + name: startdate + required: false + schema: + type: string + - description: >- + Retrieves all phone numbers disconnected before this date. The end + date also requires the start date to be specified. + example: 22-11-31 + in: query + name: enddate + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7 + + + + + 1 + smckinnon + 2014-01-10T17-34-15Z + 6d7da966-e071-4741-b31c-1d8932f4b8da + disconnect + 2014-01-10T17-34-15.797Z + COMPLETE + + + + + + 1 + jbm + 2013-12-04T21-59-32Z + 4ffe9262-1965-4479-a1d5-b8584440667d + disconnect + 2013-12-04T21-59-32.243Z + COMPLETE + + + + + + + schema: + $ref: '#/components/schemas/ResponseSelectWrapper' + description: A list of Disconnect orders + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + Link description + + description: No disconnect orders are present on the indicated account + summary: Read disconnect orders + tags: + - Disconnecting Numbers + post: + description: >- + Use this method to disconnect telephone numbers from the account. Please + visit Guides and + Tutorials + operationId: CreateDisconnectOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + My OrderId + + + +14158714245 + +14352154439 + +14352154466 + + UNCHANGED + + + schema: + $ref: '#/components/schemas/DisconnectTelephoneNumberOrder' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + My OrderId + ba05e04b-192a-47cb-b182-b1bf6cfef0d7 + 2022-05-25T14-12-57.840Z + + normal + UNCHANGED + + +14158714245 + +14352154439 + +14352154466 + + + + RECEIVED + + schema: + $ref: '#/components/schemas/DisconnectTelephoneNumberOrderResponse' + description: >- + The order has been created as described in the payload
      + + The Location header contains the url of the disconnect order that + has been created. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 54321 + Some error description + + + + 2019-11-19T14:06:57.254Z + + + +14158714245 + + + + + schema: + $ref: >- + #/components/schemas/DisconnectTelephoneNumberOrderErrorResponse + description: >- + Bad Response - there were errors in evaluating the body of the + request. + + Potential errors include:

        +
      • Protected attribute is invalid. Valid values: TRUE, FALSE, UNCHANGED.
      • +
      + summary: Disconnect numbers from account + tags: + - Disconnecting Numbers + /accounts/{accountId}/disconnects/{disconnectId}: + get: + description: >- + Retrieves the information associated with the disconnect order + specified. + + Please visit Guides + and Tutorials + operationId: ReadDisconnectOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Disconnect Order ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: disconnectId + required: true + schema: + type: string + - description: >- + If set to true, displays the disconnect order's telephone order + information in greater detail + example: true + in: query + name: tndetail + required: false + schema: + default: 'False' + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + +19194392566 + + + 4ffe9262-1965-4479-a1d5-b8584440667d + 2013-12-04T21:59:32.243Z + + normal + UNCHANGED + + +19194392566 + + + + COMPLETE + + schema: + $ref: >- + #/components/schemas/DisconnectTelephoneNumberOrderFetchResponse + description: The disconnect order's information has been successfully retrieved. + summary: Fetching Disconnect Order Status + tags: + - Disconnecting Numbers + /accounts/{accountId}/disconnects/{disconnectId}/notes: + get: + description: >- + Retrieve all notes associated with the disconnect order. Please visit Guides and Tutorials + operationId: ReadDisconnectOrderNotes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Disconnect Order ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: disconnectId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87037 + jbm + This is a test note + 2014-11-16T04:01:10.000Z + + + 87039 + smckinnon + This is a second test note + 2014-11-16T04:08:46.000Z + + + schema: + $ref: '#/components/schemas/Notes' + description: >- + OK - there are Notes associated with the order, and they have been + returned in the response. + '204': + description: >- + No Content - there are no Notes associated with the order. Since + the notes resource is an aggregate rather than addressed resource + the generic no content response is used, rather than a 404 as would + be used if the resource was addressed with an identifier + summary: List disconnect order notes + tags: + - Disconnecting Numbers + post: + description: >- + Updates the Notes resource by adding a note. Adding a note to a + disconnect + order causes a notification to be sent to Bandwidth Operations, so that they may assist as necessary. A note may be up to 500 characters in length. Please visit Guides and Tutorials + operationId: CreateDisconnectOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Disconnect Order ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: disconnectId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '201': + description: >- + CREATED - the note has been created and added to the collection of + notes associated with the order. A link to the note is included in + the Location header of the response. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been created because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Add disconnect order note + tags: + - Disconnecting Numbers + /accounts/{accountId}/disconnects/{disconnectId}/notes/{noteId}: + put: + description: > + Update a specified note. Notes may only be updated, not deleted. Please + visit Guides and + Tutorials + operationId: UpdateDisconnectOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Disconnect Order ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: disconnectId + required: true + schema: + type: string + - description: Note ID + example: '123' + in: path + name: noteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '200': + description: OK - note has been updated. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been updated because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Update disconnect order note + tags: + - Disconnecting Numbers + /accounts/{accountId}/dldas: + get: + description: >- + Retrieve a list of the DLDA orders that are associated with the account. + A maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + operationId: ReadDldaOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: >- + Checks the order's last modified date against this value. Orders + that have a modification date after this date will be included. + Format is yyyy-MM-dd + example: '2013-10-25' + in: query + name: lastModifiedAfter + required: false + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find DLDA Orders that were modified + within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find DLDA Orders that were modified within the + date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 3 + + 14 + 2 + team_ua + 2014-07-07T10:06:43.427Z + dlda + 2014-07-07T10:06:43.427Z + 37a6447c-1a0b-4be9-ba89-3f5cb0aea142 + FAILED + + + 14 + 2 + team_ua + 2014-07-07T10:05:56.595Z + dlda + 2014-07-07T10:05:56.595Z + 743b0e64-3350-42e4-baa6-406dac7f4a85 + RECEIVED + + + 14 + 2 + team_ua + 2014-07-07T09:32:17.234Z + dlda + 2014-07-07T09:32:17.234Z + f71eb4d2-bfef-4384-957f-45cd6321185e + RECEIVED + + + + schema: + $ref: '#/components/schemas/ResponseSelectWrapper' + description: >- + OK - indicates that there are DLDA orders associated with the + account. + + The 200 OK response payload provides a list of all DLDA orders that + have been issued against that account. + '404': + description: >- + Not Found - if any errors are found in the processing of the query + string a 404 will be returned. Note that parameters that are not + recognized are not considered errors, and are just ignored. + summary: List DLDA orders + tags: + - DLDA + post: + description: >- + Create DLDA order to associate the street address with the telephone + number.
      Business Listings
      Business Listings sort + differently than Residential Listings, and must be submitted + accordingly. Since Business Listings sort starting at the beginning of + the name, where Residential Listings sort on Last Name, the parts of the + business name that will govern the sorting need to be entered in the + LastName field. For example, Joe's Pizza sorts starting with Joe, so + the entire business name would be entered in the LastName field, and the + Firstname could be left blank. If there was a portion of the name that + was not important from a sorting perspective (perhaps "the best pizza in + town"), that portion could be placed in the FirstName field. + operationId: CreateDldaOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + [String] + + + + +15202217754 + + RESIDENTIAL + LISTED + + John + + Smith + + + + + + + + + + true +
      + + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + DLDA +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/DldaOrder' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + [String] + 2014-07-16T07:59:08.065Z + 14 + team_ua + f2ac3343-5bff-424a-b8ca-975f5e7b159e + 2014-07-16T07:59:08.065Z + + RECEIVED + + + + +15202217754 + + RESIDENCE + LISTED + + John + + Smith + + + + + + + + + + true +
      + + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + United States + Dlda +
      +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/DldaOrderResponse' + description: >- + Created - indicates that an order has been created. + + The location header points to + /accounts//dldas/ and can be used to retrive + the status of the DLDA order.
      + + Errors in processing the request will be articulated in the + ErrorList component of the response. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 16104 + No numbers for processing + + + REST Site + 2014-07-17T10:06:55.204Z + 14 + team_ua + 2014-07-17T10:06:55.204Z + + + 5070 + Telephone number is invalid. + + + + FAILED + + + + + + RESIDENCE + LISTED + + John + + Smith + + + + + + + + + + true +
      + + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + United States + DLDA +
      +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/DldaOrderErrorResponse' + description: >- + Bad Request - indicates that the order could not be created. + + Error text and an error code will be provided in the ErrorList + element. + summary: >- + Create DLDA order - associate the street address with the telephone + number. + tags: + - DLDA + /accounts/{accountId}/dldas/{orderId}: + get: + description: Retrieve information about a DLDA Order with specified ID. + operationId: ReadDldaOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: DLDA order id + example: ea9e90c2-77a4-4f82-ac47-e1c5bb1311f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 5a88d16d-f8a9-45c5-a5db-137d700c6a22 + 2014-07-10T12:38:11.833Z + 14 + jbm + ea9e90c2-77a4-4f82-ac47-e1c5bb1311f4 + 2014-07-10T12:38:11.833Z + + + 16103 + DL/DA information cannot be changed because the number is already being processed + +12053778335 + + + RECEIVED + + + + +12053778335 + +12053865784 + + BUSINESS + LISTED + + Joe + Smith + + true +
      + 12 + ELM + New York + NY + 10007 + United States + Dlda +
      +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/DldaOrderResponse' + description: > + The descriptive payload for the Lidb Orders query provides a broad + range of information about the DLDA Order identified in the URL. + Included amongst the information is: + +
        + +
      • ErrorList - the errors discovered with codes and + explanations
      • + +
      • various dates
      • + +
      • ProcessingStatus(RECEIVED, PROCESSING, COMPLETE, PARTIAL, + FAILED, CANCELLED) - the overall status of the order
      • + +
      • DldaTnGroups - list of DldaTnGroup elements that contains list + of TNs with Directory Listing and Directory Assistance information, + AccountType(RESIDENCE or BUSINESS), ListingType(LISTED, NON_LISTED + or NON_PUBLISHED)
      • + +
      + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/DldaOrderErrorNotFoundResponse' + description: NOT FOUND - the order id does not exist in the system + summary: Fetching DLDA order status + tags: + - DLDA + put: + description: >- + Update DLDA order to associate the street address with the telephone + number. + operationId: UpdateDldaOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: DLDA order id + example: f179237b-c1cb-449d-9590-aaa9d0bf3ca4 + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + [String] + + + + +15202217754 + + RESIDENCE + LISTED + + John + + Smith + + + + + + + + + + true +
      + + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + DLDA +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/DldaOrder' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + [String] + 2014-07-10T12:38:11.833Z + 14 + team_ua + f179237b-c1cb-449d-9590-aaa9d0bf3ca4 + 2014-07-17T12:21:02.644Z + + RECEIVED + + + + +12199347436 + + RESIDENCE + NON_LISTED + + John + + Smith + + + + + + + + + + true +
      + + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + United States + Dlda +
      +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/DldaOrderResponse' + description: OK - a 200 response indicates that an order has been updated. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 16105 + Order cannot be changed or cancelled because it is already being processed + + + schema: + $ref: '#/components/schemas/DldaOrderErrorResponse' + description: >- + Bad Request - a 400 response Indicates that the order could not be + modified. The payload is echoed with the Errors identified. + summary: >- + Update DLDA order - associate the street address with the telephone + number + tags: + - DLDA + /accounts/{accountId}/dldas/{orderId}/history: + get: + description: >- + Retrieve the history information associated with a named DLDA order. + This indicates the various states that the order has passed through, as + well as the current state of the order as the last entry. + operationId: ReadDldaOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: DLDA order id + example: f179237b-c1cb-449d-9590-aaa9d0bf3ca4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2014-09-04T16:28:11.320Z + The DL/DA request has been received + jbm + RECEIVED + + + 2014-09-04T16:28:18.742Z + The DL/DA request is being processed by our 3rd party supplier + jbm + PROCESSING + + + 2014-09-05T19:00:17.968Z + The DL/DA request is complete for all TNs + jbm + COMPLETE + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history payload is a set of history records, each of which + contains: + + + + + + + + + + + + + + + + + + + +
      OrderDateThe date that the order history event happened
      StatusThe new state of the DLDA order - RECEIVED, PROCESSING, COMPLETE, PARTIAL, FAILED
      NoteA Note or additional information included with the state change
      AuthorThe user id that implemented the state change
      + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/DldaOrderReportErrorResponse' + description: NOT FOUND - the order id does not exist in the system + summary: Fetch DLDA order history + tags: + - DLDA + /accounts/{accountId}/e911s: + get: + description: >- + Retrieve a list of the E911 orders that are associated with the account. + A maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + + Please visit Guides and + Tutorials + operationId: ListE911Orders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the E911 order being searched for. + example: PROCESSING + in: query + name: status + required: false + schema: + items: + type: string + type: array + - description: A Telephone Number (TN) that is referenced in the order. + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: A callback Telephone Number (TN) used for 911 purposes. + example: '+19199918388' + in: query + name: callBack + required: true + schema: + type: string + - description: >- + Alternate End-user Identifier used to identify the calling party for + 911 purposes. + example: Alter12345 + in: query + name: aeui + required: true + schema: + type: string + - description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the E911 order. + example: ABCCorp12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find E911 Orders that were modified + within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find E911 Orders that were modified within the + date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2013-10-22' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2013-10-25' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + Checks the order's last modified date against this value. Orders + that have a modification date after this date will be included. + Format is yyyy-MM-dd + example: '2013-10-25' + in: query + name: lastModifiedAfter + required: false + schema: + type: string + - description: This is the user-name of the user that last modified the E911 Order. + example: smckinnon + in: query + name: lastModifiedBy + required: false + schema: + type: string + - description: >- + This search parameter represents the internal Bandwidth Dashboard + API ID that has been assigned to the E911 Order. This parameter is + the first few characters of the internal ID - the entire ID does not + need to be specified. + example: ed1c0bed-e2 + in: query + name: orderIdFragment + required: true + schema: + type: string + - description: >- + If set to true, a list of order details will be displayed instead + the summary information. + example: true + in: query + name: orderDetails + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/xml: + examples: + orderDetails = false: + description: example + value: |- + + + 2 + + 1 + 1 + admin + 2015-08-03T14:41:01.769Z + 2015-08-03T14:41:00.815Z + e911 + COMPLETE + 6dae2a67-b8f5-4bf2-9bf7-5216277b9be3 + + + 1 + 1 + admin + 2015-08-03T14:40:19.008Z + 2015-08-03T14:40:17.864Z + e911 + ADJUSTED_COMPLETE + 6a97b54f-459e-4683-a79c-0de52acf7c6b + + + orderDetails = true: + description: example + value: |- + + + 2 + + 2015-08-03T14:41:00.815Z + 1 + admin + 6dae2a67-b8f5-4bf2-9bf7-5216277b9be3 + 2015-08-03T14:41:01.769Z +
      + 800 + + + PENNSYLVANIA AVE + NW + + WASHINGTON + DC + 20004 + + United States + 35.848359 + -75.000000 +
      + 0931180f-4 + + COMPLETE + + +19142971000 + +
      + + 2015-08-03T14:40:17.864Z + 1 + admin + 6a97b54f-459e-4683-a79c-0de52acf7c6b + 2015-08-03T14:40:19.008Z +
      + 1600 + + + PENNSYLVANIA AVE + NW + + WASHINGTON + DC + 20500 + 0003 + United States + 35.848359 + -75.000000 +
      + 0931180f-4 + + ADJUSTED_COMPLETE + + +19142971000 + +
      +
      + schema: + $ref: '#/components/schemas/E911Orders' + description: >- + The descriptive payload for the E911 Orders query provides a broad + range of information about the E911 Orders found by the query, + including the data associated with the order, the state of the + order, and details about the order if it was successful. + '404': + description: >- + Not Found. If any errors are found in the processing of the query + string a 404 will be returned. Note that parameters that are not + recognized are not considered errors, and are just ignored. + summary: List E911 orders + tags: + - E911 + post: + description: "

      The E911Orders endpoint resource represents the requests made to the Bandwidth Dashboard API to add or otherwise manage a request to associate a postal address with an endpoint (a telephone number, ACID (alternate caller identifier), or some other unique identifier. This API allows the creation and observation of a \"E911\" work order that causes an update of a address information in a network database.

      The E911 order processing model is consistent with the overall model of creating an order or request with the initial POST, and then checking on the status of that order using callbacks and / or GET while that order progresses through the various steps in the process.

      The E911 order supports several 911 use cases:

      1. CONVENTIONAL E911: Telephone number/address combination. For UC Trunking and most applicable wholesale customers, this method associates a telephone number in the customer’s Bandwidth Dashboard API TN inventory to a postal address. Caller name can also be specified in the request. At 911 call time, the address that is associated with the telephone number in the SIP 'from' header will be seen by the Public Safety Answering Point (PSAP).

      2. PIDF-LO (Presence Information Data Format-Location Object or Dynamic Location Routing) Endpoints and Addresses: For customers utilizing Bandwidth’s Dynamic Routing capability, addresses are first added to an \"address pool\", then endpoints are provisioned using one of the addresses as a default for taxation purposes. Each endpoint is represented by an Alternate End User Identifier consisting of a unique identifier (could be TN, ACID, or other identifier), callback number and caller name (if not being passed in at 911 call time), and preferred language (French or English, with English as the default). At 911 call time, the customer can pass any address in the SIP header of the call and the sip 'from' header will contain the identifier of the endpoint. If the address in the call matches an address in the address pool, then the call is routed to the PSAP. Otherwise, the call is routed to an Emergency Call Center.

      3. SIMPLE AEUI: This is similar to telephone number/address combination in that there is a 1 to 1 mapping between endpoint and address. Each endpoint is represented by an Alternate End User Identifier(AEUI) consisting of a unique identifier and callback number. At 911 call time, the endpoint identifier is passed in the SIP from header and the address that is associated with that endpoint will be seen by the PSAP.

        The states that the order may reside in are RECEIVED, PROCESSING, COMPLETE, PARTIAL, FAILED, ADJUSTED_COMPLETE, and ADJUSTED_PARTIAL. \"ADJUSTED\" indicates that the provisioning was successful, but that the street address was subtly changed to reflect a geocodable address. As with other order types, PARTIAL indicates that there were some errors detected, but that all elements of the order that could be processed were processed. In this case, the order record will need to be examined to determine the items that failed.

      The key data elements in the submission are as follows.

      ParameterDescription
      TelephoneNumbersA list of telephone numbers you need link to the street address
      CallerName\tCallerName that will be linked to TNs. This field is required in the case of a new address assignment
      AddressThis field is required in the case of a new address assignment. Inner fields: HousePrefix, HouseNumber, HouseSuffix, PreDirectional, StreetName, StreetSuffix, PostDirectional, AddressLine2, City, StateCode, Zip, PlusFour. Streetname, City, and State are required. House Number is currently required, although this enforcement may be relaxed in the future. Depending on the type of E911 service, the Location ID may be updated by the Bandwidth Dashboard API
      DeleteTNSpecificE911AddressCan be true or false. If value is true then Address and CallerName should not be specified
      AlternateEndUserIdentifiersA list of AEUIs acts as a replacement for the list of telephone numbers. It replaces the TelephoneNumbers and AdditionalAddress payload element. If ACID exists in external system it will be updated with given values
      AdditionalAddressesA list of Address sections. This address information for all potential endpoints which will be provisioned to the Bandwidth 911 system. At call time, the customer will submit this address information within the SIP header and, if a match is determined, the call will be routed to the PSAP nearest to that address. Otherwise, the call will be routed to an ECC. These Address sections will be the same in format to the Address section in the top-level of the E911Order payload. It replaces the TelephoneNumbers and AlternateEndUserIdentifiers payload element
      CustomerOrderIdThe Customer Order ID is an ID assigned by the account owner to provide a reference number for the Order. The element is optional. Only alphanumeric values, dashes and spaces are allowed. Max length is 40 characters
      " + operationId: CreateE911Order + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + ConventionalAddressDeletionE911Order: + summary: CONVENTIONAL E911. TN/address-deletion order + value: |- + + + CustomOrderId1 + + +19706542332 + +19706542333 + + true + + ConventionalAddressProvisioningE911Order: + summary: CONVENTIONAL E911. TN/Address-provisioning order + value: |- + + + + +19706542332 + +19706542333 + + OptionalCallerName +
      + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + United States + 35.848359 + -75.000000 +
      +
      + PidfloAddressDeleting911Order: + summary: PIDF-LO. address-deletion order + value: |- + + + CustomOrderId1 + +
      + Some32CharacterOrLessString1 +
      +
      + Some32CharacterOrLessString1 +
      +
      + true +
      + PidfloAddressEditing911Order: + summary: PIDF-LO. address-editing order + value: |- + + + +
      + 645 + E + 1/2 + S + Manchester + AVE + test address line 2 + Los Angeles + CA + 90001 + 35.848359 + -75.000000 + Some32CharacterOrLessString +
      +
      +
      + PidfloAddressProvisioning911Order: + summary: PIDF-LO. address-provisioning order + value: |- + + + CustomOrderId1 + +
      + Some32CharacterOrLessString + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States + 35.848359 + -75.000000 + E911 +
      +
      + Some32CharacterOrLessString + 645 + E + MANCHESTER + AVE + LOS ANGELES + United States + 90001 + United States +
      +
      +
      + PidfloAeuiWithAdditionalAddressWithLocationIdE911Order: + summary: >- + PIDF-LO. AEUI endpoint-provisioning order with additional + address provisioning and with pre-defined location id + value: |- + + + CustomOrderId1 +
      + Some32CharacterOrLessString + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States + 35.848359 + -75.000000 + E911 +
      + + + OptionalCallerName + +19706542333 + blep123 + true + en + + +
      + PidfloAeuiWithAdditionalAddressWithoutLocationIdE911Order: + summary: >- + PIDF-LO. AEUI endpoint-provisioning order with additional + address provisioning and without pre-defined location id + value: |- + + + CustomOrderId1 +
      + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States + 35.848359 + -75.000000 + E911 +
      + + + OptionalCallerName + +19706542333 + blep123 + true + en + + +
      + PidfloAeuiWithLocationIdE911Order: + summary: >- + PIDF-LO. AEUI endpoint-provisioning order with provisioned + location id + value: |- + + + CustomOrderId1 + + + OptionalCallerName + Some32CharacterOrLessString + +19706542333 + blep123 + true + en + + + + PidfloAndSimpleAeuiMixedPidfloAeuiAndNonPidloAeuiDeleting911Order: + summary: >- + PIDF-LO and SIMPLE AEUI. PIDF-LO and Non-PIDF-LO + endpoint-deletion order + value: |- + + + CustomOrderId1 + +
      + Some32CharacterOrLessString + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States + 35.848359 + -75.000000 + E911 +
      +
      + Some32CharacterOrLessString + 645 + E + MANCHESTER + AVE + LOS ANGELES + United States + 90001 + United States +
      +
      +
      + PidfloAndSimpleAeuiMixedPidfloAeuiAndNonPidloAeuiProvisioning911Order: + summary: >- + PIDF-LO and SIMPLE AEUI. Mixed PIDF-LO AEUI and Non-PIDF-LO + AEUI endpoint-provisioning order + value: |- + + + CustomOrderId1 + OptionalCallerName +
      + Some32CharacterOrLessString + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States + 35.848359 + -75.000000 + E911 +
      + + + OptionalCallerName + Some32CharacterOrLessString + +19706542333 + blep123 + true + en + + + +19706542334 + blepblop + false + + +
      + SimpleAeuiNonPidfloProvisioning911Order: + summary: SIMPLE AEUI. Non-PIDF-LO endpoint-provisioning order + value: |- + + + CustomOrderId1 + OptionalCallerName +
      + Some32CharacterOrLessString + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States + 35.848359 + -75.000000 + E911 +
      + + + +19706542333 + abc123 + false + + +
      + schema: + oneOf: + - $ref: >- + #/components/schemas/ConventionalAddressProvisioningE911Order + - $ref: '#/components/schemas/ConventionalAddressDeletionE911Order' + - $ref: >- + #/components/schemas/PidfloAeuiWithAdditionalAddressWithoutLocationIdE911Order + - $ref: >- + #/components/schemas/PidfloAeuiWithAdditionalAddressWithLocationIdE911Order + - $ref: '#/components/schemas/PidfloAeuiWithLocationIdE911Order' + - $ref: >- + #/components/schemas/PidfloAndSimpleAeuiMixedPidfloAeuiAndNonPidloAeuiProvisioning911Order + - $ref: >- + #/components/schemas/PidfloAndSimpleAeuiMixedPidfloAeuiAndNonPidloAeuiDeleting911Order + - $ref: '#/components/schemas/PidfloAddressProvisioning911Order' + - $ref: '#/components/schemas/PidfloAddressEditing911Order' + - $ref: '#/components/schemas/PidfloAddressDeleting911Order' + - $ref: '#/components/schemas/SimpleAeuiNonPidfloProvisioning911Order' + description: >- +
      1. CONVENTIONAL E911. TN/Address-provisioning + order:

      TN/Address-provisioning order.

      2. CONVENTIONAL + E911. TN/address-deletion order:

      TelephoneNumbers and + TelephoneNumber are required. DeleteTNSpecificE911Address is required + and must be set to 'true'.

      3. PIDF-LO. AEUI + endpoint-provisioning order with additional address provisioning and + without pre-defined location id:

      AlternateEndUserIdentifiers, + AlternateEndUserIdentifier, Address, and Identifier are required. + Identifier can only contain alphanumeric characters and must be + between 1 and 30 characters. PIDFLOEnabled is required and must be + 'true'. Default value of PreferredLanguage is 'en'.

      4. PIDF-LO. + AEUI endpoint-provisioning order with additional address provisioning + and with pre-defined location id

      AlternateEndUserIdentifiers, + AlternateEndUserIdentifier, Address, and Identifier are required. + Identifier can only contain alphanumeric characters and must be + between 1 and 30 characters. PIDFLOEnabled is required and must be + 'true'. Default value of PreferredLanguage is 'en'.

      5. PIDF-LO. + AEUI endpoint-provisioning order with provisioned location + id

      AlternateEndUserIdentifiers, AlternateEndUserIdentifier, + LocationId, and Identifier are required. Identifier can only contain + alphanumeric characters and must be between 1 and 30 characters. + PIDFLOEnabled is required and must be 'true'. Default value of + PreferredLanguage is 'en'.

      6. PIDF-LO and SIMPLE AEUI. Mixed + PIDF-LO AEUI and Non-PIDF-LO AEUI endpoint-provisioning + order

      AlternateEndUserIdentifiers, AlternateEndUserIdentifier, + Address, and Identifier are required. Default value of + PreferredLanguage is 'en'. Non-PIDF-LO: CallbackNumber is required. + Identifier can only contain alphanumeric characters and must be + between 4 and 30 characters. PIDF-LO: PIDFLOEnabled is required and + must be 'true'. Identifier can only contain alphanumeric characters + and must be between 1 and 30 characters.

      7. PIDF-LO and SIMPLE + AEUI. PIDF-LO and Non-PIDF-LO endpoint-deletion + order

      AlternateEndUserIdentifiers, AlternateEndUserIdentifier, + and Identifier are required. DeleteTNSpecificE911Address is required + and must be 'true'. Non-PIDF-LO: CallbackNumber is required. + Identifier can only contain alphanumeric characters 4 and 30 + characters. PIDF-LO: PIDFLOEnabled is required and must be 'true'. + Identifier can only contain alphanumeric characters and must be + between 1 and 30 characters.

      8. PIDF-LO. address-provisioning + order

      AdditionalAddresses and Address are required. If a + LocationId specified matches an existing record, the current address + will be overwritten with the new values.

      9. PIDF-LO. + address-editing order

      Address and LocationId are required. + Allows a user to update all address fields except PlusFour and + Country.

      10. PIDF-LO. address-deletion + order

      AdditionalAddresses, Address, and LocationId are + required. DeleteTNSpecificE911Address is required and must be + 'true'.

      11. SIMPLE AEUI. Non-PIDF-LO endpoint-provisioning + order

      AlternateEndUserIdentifiers, AlternateEndUserIdentifier, + Address, CallbackNumber, and Identifier are required Identifier can + only contain alphanumeric characters, must contain at least one + letter, and must be between 4 and 30 characters.

      + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + CustomOrderId1 + 1d863522-c9bf-430c-8e79-cc63cad04a1d + RECEIVED + + +19706542332 + +19706542333 + + CustomCallerName +
      + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + + 35.848359 + -75.000000 +
      +
      +
      + schema: + $ref: '#/components/schemas/E911OrderResponse' + description: Created - a 201 response indicates that an order has been created. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 5070 + Telephone number is invalid. + + + description: >- + Bad Request - a 400 response indicates that the order could not be + created.
      + + Error text and an error code will be provided in the ErrorList + element. + summary: Create E911 order - associate the address with the telephone number + tags: + - E911 + /accounts/{accountId}/e911s/{orderId}: + get: + description: >- + Retrieve information about a E911 Order with specified ID. + + Please visit Guides and + Tutorials + operationId: ReadE911Order + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: E911 order id + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2015-06-16T14:03:10.199Z + 111 + admin + 8578086b-f73d-4a0f-bba6-d20399c7de31 + 2015-06-16T14:03:10.789Z +
      + 901 + Main Campus Drive + Raleigh + NC + 27606 + United States + 35.848359 + -75.000000 +
      + testName111111 + test + PARTIAL + + +13172000218 + +13172000000 + + + + 8003 + Telephone numbers does not belong to this account. + + +13172000000 + + + + 8009 + Telephone numbers not in 'Inservice' + + +13172000000 + + + + + + + true + alphanumeric characters only, 1 character minimum, 30 characters maximum + +19706542332 + Eli + en + Some32CharacterOrLessString +
      + Some32CharacterOrLessString + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + United States + 35.848359 + -75.000000 +
      +
      + + true + alphanumeric characters only, 1 character minimum, 30 characters maximum + +19706542333 + Ethan + en + +
      + + +
      + Some32CharacterOrLessString + 915 + + + Elm + Ave + + + Carpinteria + CA + 93013 + + + United States + 35.848359 + -75.000000 +
      +
      + e911 +
      + schema: + $ref: '#/components/schemas/E911OrderFetchResponse' + description: > + The descriptive payload for the E911 Orders query provides a broad + range of information about the E911 Order identified in the URL. + Included amongst the information is: + +
        + +
      • ErrorList - the errors discovered with codes and + explanations
      • + +
      • ProcessingStatus(RECEIVED, PROCESSING, COMPLETE, PARTIAL, + FAILED) - the overall status of the order
      • + +
      + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + description: NOT FOUND - the order id does not exist in the system + summary: Fetch E911 order status + tags: + - E911 + /accounts/{accountId}/e911s/{orderId}/history: + get: + description: >- + Retrieve the history information associated with an order. + + Please visit Guides and + Tutorials + operationId: ReadE911OrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: E911 order id + example: 8578086b-f73d-4a0f-bba6-d20399c7de31 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + application/xml: + description: application/xml + value: |- + + + + 2014-09-04T16:28:11.320Z + ... + jbm + RECEIVED + + + 2014-09-04T16:28:18.742Z + ... + jbm + PROCESSING + + + 2014-09-05T19:00:17.968Z + ... + jbm + COMPLETE + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history payload is a set of history records, each of which + contains: + + + + + + + + + + + + + + + + + + + +
      OrderModifiedDateThe date that the order history event happened
      StatusThe new state of the E911 order - RECEIVED, PROCESSING, COMPLETE, PARTIAL, FAILED
      NoteA Note or additional information included with the state change
      AuthorThe user id that implemented the state change
      + '404': + content: + application/xml: + examples: + application/xml: + description: application/xml + value: null + description: NOT FOUND - the order id does not exist in the system + summary: Read E911 order history + tags: + - E911 + /accounts/{accountId}/emergencyNotificationEndpointOrders: + get: + description: >- + The GET operation provides a means to query any Emergency Notification + Endpoint Order associated with the account. This endpoint is for + querying "orders", not the emergency endpoint to emergency notification + group associations themselves. + +

      The GET operation has no payload, although the accountId URI + parameter is mandatory and a number of optional query parameters may be + added. The query parameters are described in this section. + Results are returned by default in the order of newest to oldest creation date of the Emergency Notification Endpoint Order. This default order is reversed from oldest to newest when the CreatedAfterDate query parameter is included in the query. + Query parameters act as filters on the data. If more than one query parameter is provided, the results will be the intersection of the results from each query parameter. In other words, the query parameters are logically ANDed. + Query parameters are appended to the end of the endpoint, separated by a '?' and in the format parameter=value. If you wish to specify more than one query parameter, separate them using an '&' character. The order of query parameters does not matter + operationId: ListEmergencyNotificationEndpointOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Include results only for orders having order creation date and time + after the date and time specified in this parameter. Note that + inclusion of this parameter reverses the default sort order of the + results to ascending in date/time (i.e. from oldest to newest). If + you are looking for the `createdBeforeDate` query parameter, please + see the `page` parameter + example: '2020-03-30T14:00:00Z' + in: query + name: createdAfterDate + required: false + schema: + format: date-time + type: string + - description: >- + Include results only for orders created by the user specified in + this parameter + example: testuser + in: query + name: createdByUser + required: false + schema: + type: string + - description: >- + Include results only for orders with specified status in this + parameter + example: COMPLETED + in: query + name: processingStatus + required: false + schema: + enum: + - FAILED + - COMPLETED + type: string + - description: >- + Include results only for orders having the specified customer order + id value + example: j3jljkd8 + in: query + name: customerOrderId + required: false + schema: + type: string + - description: >- + The Identifier of an Emergency Notification Group that was altered + by an order + example: 63865500-0904-46b1-9b4f-7bd237a26363 + in: query + name: engId + required: false + schema: + type: string + - description: >- + A substring that will exist in the emergency notification group + Description for all returned Emergency Notification Endpoint Orders + example: 3rd floor + in: query + name: engDescription + required: false + schema: + type: string + - description: >- + Include results only for orders having EepTns that start with the + specified digit string + example: '404' + in: query + name: eepTns + required: false + schema: + maxLength: 11 + minLength: 1 + type: number + - description: >- + Include results only for orders having EepAeuiIds that start with + the specified character string + example: Joe + in: query + name: eepAeuiIds + required: false + schema: + maxLength: 30 + minLength: 1 + type: string + - description: >- + This represents the position in the data set from which you want + your output to begin. If this parameter is omitted, results will + include Emergency Notification Endpoint Orders created on or before + the current date and time. If a date and time is provided, results + will include Emergency Notification Endpoint Orders created on or + before that date and time. Date/time format is + YYYY-MM-DDTHH:MM:SS.mmmZ, where the Z indicate UTC time, or + YYYY-MM-DDTHH:MM:SS.mmm-hh:mm, where "-hh:mm" represents the local + time offset, plus or minus, from UTC time + example: '2020-03-15T14:00:00.000-04:00' + in: query + name: page + required: false + schema: + format: date-time + type: string + - description: >- + The maximum number of Emergency Notification Endpoint Order results + to include in the response payload + example: 250 + in: query + name: size + required: false + schema: + default: 100 + maximum: 500 + minimum: 1 + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t\n\t\t -- link to first page of results -- \n\t\t\n\t\t\n\t\t -- link to next page of results -- \n\t\n\t\n\t\t\n\t\t\t3e9a852e-2d1d-4e2d-84c3-87223a78cb70\n\t\t\t2020-01-23T18:34:17.284Z\n\t\t\ttestuser\n\t\t\tCOMPLETED\n\t\t\tALG-31233884\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t3e9a852e-2d1d-4e2d-84c3-04595ba2eb93\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t+12248838829\n\t\t\t\t\t\t\t+14052397735\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tFred992834\n\t\t\t\t\t\t\tBob00359\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: >- + #/components/schemas/EmergencyNotificationEndpointOrdersResponse + description: >- +

      Successful response


      If no order matching the query + exists, GET responds with a 200 and an empty array of orders + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Bad request


      Condition: Unrecognized query + parameter
      Error Description:Query parameter xxx is not + recognized.


      Condition:Unsupported value for + query parameter
      Error Description:Invalid value xxx for + query parameter yyy. Supported values are aaa, bbb, etc.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied\n\t\n" + description: >- +

      Access Denied

      Condition:User does not have + permission to view Endpoint orders, either due to Role/Permission or + because the account is not configured for Emergency Notification + Config.
      Error Description:Access Denied

      + summary: List emergency notification endpoint orders + tags: + - Emergency Notification + post: + description: >- + The POST operation creates a new order to request that an emergency + endpoint be added to or removed from an emergency notification group. A + given order may either add or remove associations, not both in one + order.
      + If the order is successfully created, a 201 response is returned, including an order-id that is used to query for completion of the order.
      + The order's ProcessingStatus is set to PROCESSING when the request is successfully created. When processing of all emergency endpoint to emergency notification group associations has been attempted, the software + will update the order's processing status to either COMPLETED or FAILED. + operationId: CreateEmergencyNotificationEndpointOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + Remove order response: + description: >- + The payload for creating an order to remove emergency endpoint + associations from an emergency notification group looks like + the following + value: |- + + + ALG-31233885 + + 3e9a852e-2d1d-4e2d-84c3-04595ba2eb93 + + + + + +12248838829 + +14052397735 + + + Fred992834 + Bob00359 + + + + + Simple response: + value: "\n\n\tALG-31233884\n\t\n\t\t\n\t\t\t3e9a852e-2d1d-4e2d-84c3-04595ba2eb93\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t+12248838829\n\t\t\t\t\t+14052397735\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tFred992834\n\t\t\t\t\tBob00359\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + oneOf: + - $ref: >- + #/components/schemas/EmergencyNotificationEndpointOrderForAddAssociation + - $ref: >- + #/components/schemas/EmergencyNotificationEndpointOrderForRemoveAssociation + responses: + '201': + content: + application/xml: + examples: + add endpoint: + description: >- + The 201 response payload for creating an order to add + emergency endpoint associations to an emergency notification + group + value: |- + + + + 3e9a852e-2d1d-4e2d-84c3-87223a78cb70 + 2020-01-23T18:34:17.284Z + testuser + COMPLETED + ALG-31233884 + + + 3e9a852e-2d1d-4e2d-84c3-04595ba2eb93 + + + + + + +12248838829 + +14052397735 + + + Fred992834 + Bob00359 + + + + + + + + remove endpoint: + description: >- + The 201 response payload for creating an order to remove + emergency endpoint associations from an emergency + notification group + value: "\n\n\t\n\t\t3e9a852e-2d1d-4e2d-84c3-87223a78cb70\n\t\t2020-01-23T18:34:17.284Z\n\t\ttestuser\n\t\tPROCESSING\n\t\tALG-31233884\n\t\t\n\t\t\t3e9a852e-2d1d-4e2d-84c3-04595ba2eb93\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t+19152877649\n\t\t\t\n\t\t\t\n\t\t\t\tSally88744\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\n" + schema: + $ref: >- + #/components/schemas/EmergencyNotificationEndpointOrderResponse + description: > +

      Successful response

      The response payload may include + the following payload elements in addition to information added in + the request payload:

      + + +

      + Parameter

      +

      Description

      OrderId

      +

      A system-assigned unique identifier assigned to this order. Use + this order id to fetch the status of the order.

      OrderCreatedDate

      The UTC date and time at which this + order was created.

      + CreatedBy

      The username + of the user that created this order.

      ProcessingStatus

      The processing status of this order. Values may + be: PROCESSING, COMPLETED, FAILED. PROCESSING means that the + system is still processing the order. COMPLETED means that the + order has been successfully completed. FAILED means that errors + occurred while processing the order, and that the order did not make + any changes to the system.

      +

      ErrorList

      A list, + possibly empty, of errors affecting emergency notification group + updates. The ErrorList will be empty for orders that are + COMPLETED. It will be non-empty for orders that FAILED.

      ErrorList Description

      If an emergency notification group + operation failed for some reason, this text describes the reason for + the failure.

      + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Bad request
      + +

      + Condition

      +

      Error Description

      Order payload does not indicate whether the + endpoints are being added or deleted

      Order payload must include one of + "AddedAssociations" or "DeletedAssociations".

      Attempt to both add and delete endpoint + associations in one request

      +

      Order payload must include one of "AddedAssociations" or + "DeletedAssociations", but not both in one request.

      Order payload does not specify any + endpoints to be added

      + Order payload must include at least one Emergency Enpoint value. +

      Too many emergency + endpoints listed

      Please + limit the total number of emergency endpoints to 5000 per request. +

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied\n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to configure associations between emergency endpoints and + an emergency notification group, either due to Role/Permission or + because the account is not configured for Emergency Notification + Config.
      Error Description: Access Denied

      + '409': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Conflict
      + +

      + Condition

      +

      Error Description

      Invalid emergency notification group identifier +

      Emergency Notification + Group Identifier xxx does not exist., where xxx is replaced by the + emergency notification group identifier supplied in the request. + Note: This error can be used also for the case where the + emergency notification group ID exists, but not for this Iris + account.

      Attempt to add + invalid emergency endpoint identifier

      Emergency Endpoint Identifier being added does not + exist. Note: This error can also be used for the case where + the emergency endpoint ID exists, but not for this Iris account. +

      Attempt to remove + invalid emergency endpoint identifier, for the case where the + emergency endpoint does not exist for the specified Iris account +

      Warning: + Emergency Endpoint Identifier specified for removal does not exist. +

      Attempt to remove a + valid emergency endpoint identifier that is associated with an + emergency notification group other than the one specified in the + request

      Error: + Emergency Endpoint Identifier specified for removal is not + associated with Emergency Notification Group xxx., where xxx is + replaced by the emergency notification group identifier.

      Attempt to add an endpoint, but + specified emergency endpoint is already associated with another + emergency notification group

      +

      The Emergency Endpoint with + identifier xxx is already associated with Emergency Notification + Group with identifier yyy., where xxx is replaced with the TN or + AEUI supplied in the request, and yyy is replaced by the emergency + notification group ID of the emergency notification group that the + supplied endpoint ID is associated with.

      + summary: Create emergency notification endpoint order + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationEndpointOrders/{orderId}: + get: + description: >- + This endpoint is used to fetch the status of an emergency notification + endpoint order, using the order-id assigned when the order was created. +
      + + If the order is still being processed, the ProcessingStatus will be + PROCESSING. If the order has completed successfully, the + ProcessingStatus will be COMPLETED. Otherwise the ProcessingStatus will + be FAILED. If the ProcessingStatus is FAILED, look for the ErrorList in + the payload to see reasons for the failure. + + URI parameters:

      + + +
        +
      • + accountId - the account id of the account to which the emergency notification endpoint order belongs. +
      • +
      • + orderId - the order-id assigned to the emergency notification endpoint order when it was created. +
      • +
      + operationId: RetrieveEmergencyNotificationEndpointOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: 28ef2b1a-dd03-4641-a362-c6d238c3dfc0 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t3e9a852e-2d1d-4e2d-84c3-87223a78cb70\n\t\t2020-01-23T18:34:17.284Z\n\t\ttestuser\n\t\tCOMPLETED\n\t\tALG-31233884\n\t\t\n\t\t\t\n\t\t\t\t3e9a852e-2d1d-4e2d-84c3-04595ba2eb93\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t+12248838829\n\t\t\t\t\t\t+14052397735\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tFred992834\n\t\t\t\t\t\tBob00359\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: >- + #/components/schemas/EmergencyNotificationEndpointOrderResponse + description: Successful response + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied \n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to view emergency notification endpoint orders, either + due to Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description: Access + Denied

      + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tThe resource does not exist\n\t\n" + description: >- +

      The resource does not exist


      Condition: + Specified emergency notification endpoint order id does not exist + for this account
      Error Description: The resource does + not exist

      + summary: Retrieve emergency notification endpoint order + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationGroupOrders: + get: + description: >- + The GET operation provides a means of fetching all of the emergency + notification group order history for an account + operationId: ListEmergencyNotificationGroupOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Include results only for orders having order creation date and time + after the date and time specified in this parameter. Note that + inclusion of this parameter reverses the default sort order of the + results to ascending in date/time (i.e. from oldest to newest). If + you are looking for the `createdBeforeDate` query parameter, please + see the Page parameter + example: '2020-03-15T14:00:00.000-04:00' + in: query + name: createdAfterDate + required: false + schema: + format: date-time + type: string + - description: >- + Include results only for orders created by the user specified in + this parameter + example: testuser + in: query + name: createdByUser + required: false + schema: + type: string + - description: >- + Include results only for orders with specified status in this + parameter + example: COMPLETED + in: query + name: processingStatus + required: false + schema: + enum: + - FAILED + - COMPLETED + type: string + - description: >- + Include results only for orders having the specified customer order + id value + example: j3jljkd8 + in: query + name: customerOrderId + required: false + schema: + type: string + - description: >- + The Identifier of an Emergency Notification Group that was altered + by an order + example: 63865500-0904-46b1-9b4f-7bd237a26363 + in: query + name: engId + required: false + schema: + type: string + - description: >- + A substring that will exist in the emergency notification group + Description for all returned Emergency Notification Endpoint Orders + example: 3rd floor + in: query + name: engDescription + required: false + schema: + type: string + - description: >- + Include results only for orders having EepTns that start with the + specified digit string + example: '404' + in: query + name: eepTns + required: false + schema: + maxLength: 11 + minLength: 1 + type: number + - description: >- + Include results only for orders having EepAeuiIds that start with + the specified character string + example: Joe + in: query + name: eepAeuiIds + required: false + schema: + maxLength: 30 + minLength: 1 + type: string + - description: >- + This represents the position in the data set from which you want + your output to begin. If this parameter is omitted, results will + include Emergency Notification Endpoint Orders created on or before + the current date and time. If a date and time is provided, results + will include Emergency Notification Endpoint Orders created on or + before that date and time. Date/time format is + YYYY-MM-DDTHH:MM:SS.mmmZ, where the Z indicate UTC time, or + YYYY-MM-DDTHH:MM:SS.mmm-hh:mm, where "-hh:mm" represents the local + time offset, plus or minus, from UTC time + example: '2020-03-15T14:00:00.000-04:00' + in: query + name: page + required: false + schema: + format: date-time + type: string + - description: >- + The maximum number of Emergency Notification Endpoint Order results + to include in the response payload + example: 250 + in: query + name: size + required: false + schema: + default: 100 + maximum: 500 + minimum: 1 + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tLink=<https://dashboard.bandwidth.com/api/accounts/12346371/emergencyNotificationGroupOrders>;rel=\"first\";\n\t\n\t\n\t\t\n\t\t\t092815dc-9ced-4d67-a070-a80eb243b914\n\t\t\t2020-04-29T15:40:01.449Z\n\t\t\tsystemUser\n\t\t\tCOMPLETED\n\t\t\tQTWeKMys\n\t\t\t\n\t\t\t\t6daa55e1-e499-4cf0-9f3d-9524215f1bee\n\t\t\t\tenr test description 3\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t44f203915ca249b7b69bbc084af09a\n\t\t\t\t\t\tTestDesc SEHsbDMM\n\t\t\t\t\t\tSMS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t+15638765448\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\t89b4e0a1-2789-43fb-b948-38d368159142\n\t\t2020-04-29T15:39:59.325Z\n\t\tsystemUser\n\t\tCOMPLETED\n\t\tSDWupQpf\n\t\t\n\t\t\tb49fa543-5bb3-4b9d-9213-96c8b63e77f5\n\t\t\tenr test description 2\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tc719e060a6ba4212a2c0642b87a784\n\t\t\t\t\t\tTestDesc zscxcAGG\n\t\t\t\t\t\tSMS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t+15678765448\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t93ad72dfe59c4992be6f8aa625466d\n\t\t\t\t\tTestDesc RTflsKBz\n\t\t\t\t\tTTS\n\t\t\t\t\t\n\t\t\t\t\t\t+17678765449\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t247d1425-4247-4b27-99d8-83ce30038b14\n\t\t\t2020-04-29T15:39:57.058Z\n\t\t\tsystemUser\n\t\t\tCOMPLETED\n\t\t\tvgshuNMB\n\t\t\t\n\t\t\t\t69a3d588-f314-42ca-8726-faa824bdf4be\n\t\t\t\teng test description\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\taab78f87074940f1aaaf1c9658be4b\n\t\t\t\t\t\tenr test description\n\t\t\t\t\t\tEMAIL\n\t\t\t\t\t\ttestEmail@gmail.com\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t852e9eee161b4da6823c91173b05c4\n\t\t\t\t\t\tTestDesc WkHqpnNH\n\t\t\t\t\t\tTTS\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t+15678765449\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/EmergencyNotificationGroupOrdersResponse' + description: >- +

      Successful response


      The "Links" element includes two + links. The link called "first" is the link to the first set of + results for the query that was submitted. If there are more than + "Size" results, a link called "next" is included to help you + retrieve the next set of results up to "Size" elements.
      If the + results of the query, filtered by the query parameters, do not + return any results, the payload will contain empty tag + "EmergencyNotificationGroupOrders" + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Bad request


      Condition: Unrecognized query + parameter
      Error Description:Query parameter xxx is not + recognized.


      Condition:Unsupported value for + query parameter
      Error Description:Invalid value xxx for + query parameter yyy. Supported values are aaa, bbb, etc.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied\n\t\n" + description: >- +

      Access Denied

      Condition:User does not have + permission to view emergency notification group orders, either due + to Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description:Access + Denied

      + summary: List emergency notification group orders + tags: + - Emergency Notification + post: + description: >- + The POST operation is used to create an order to create, update, or + delete an emergency notification group. + operationId: CreateEmergencyNotificationGroupOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + Adding recipients: + description: >- + Updating an emergency notification group by adding emergency + notification recipients + value: "\n\n\t\n\t\ta6d00a2d-94ee-4ecb-9bd8-7c2dde258863\n\t\t\n\t\t\t\n\t\t\t\td81dcc9526d54cad9dbf076c4e6461\n\t\t\t\n\t\t\n\t\n" + Deleting group: + description: Deleting an emergency notification group + value: "\n\n\tJvvEOKOP\n\t\n\t\t52897b97-3592-43fe-aa3f-857cf96671ee\n\t\n" + Removing recipients: + description: >- + Updating an emergency notification group by removing emergency + notification recipients + value: "\n\n\t\n\t\ta97149dc-586c-419d-a054-6b3d352ea8af\n\t\t\n\t\t\t\n\t\t\t\tebce6adfb6e94a8a80bc16841b4697\n\t\t\t\n\t\t\n\t\n" + Simple response: + value: "\n\n\tUbOxhMnp\n\t\n\t\tJgHzUzIchD\n\t\t\n\t\t\t\n\t\t\t\tc7f74671edd8410d9a4c0f8e985e0a\n\t\t\t\n\t\t\t\n\t\t\t\t74ac30535b414d29bc36d50572f553\n\t\t\t\n\t\t\t\n\t\t\t\tb910df3245ce4192aee052f583259f\n\t\t\t\n\t\t\n\t\n" + Updating description: + description: >- + Updating an emergency notification group by changing its + description + value: "\n\n\t\n\t\t38ba2379-b4e6-452b-a350-1fa524b6f75a\n\t\tnew Desc\n\t\n" + schema: + oneOf: + - $ref: >- + #/components/schemas/EmergencyNotificationGroupOrderForAddGroup + - $ref: >- + #/components/schemas/EmergencyNotificationGroupOrderForDeleteGroup + - $ref: >- + #/components/schemas/EmergencyNotificationGroupOrderForUpdateGroup + - $ref: >- + #/components/schemas/EmergencyNotificationGroupOrderForUpdateGroupByAddingRecipient + - $ref: >- + #/components/schemas/EmergencyNotificationGroupOrderForUpdateGroupByRemovingRecipient + responses: + '201': + content: + application/xml: + examples: + 201 for adding recipients: + description: >- + A sample 201 response to an order payload for updating an + emergency notification group by adding emergency + notification recipients looks like the following + value: |- + + + 31e4be80-e816-432e-a554-1219ed4fc5e9 + 2020-04-29T15:34:32.799 + systemUser + PROCESSING + + 5da0859b-2af8-42a3-85dd-dad4ba5f7503 + oXHGGVKwmd + + + f2eaa7be771241af9b031584875a60 + + + + + 201 for delete group: + description: >- + A sample 201 response to an order payload for deleting an + emergency notification group looks like the following + value: "\n\n\t7d424c13-f9b1-4fb5-b7c1-f9a9de5847ed\n\t2020-04-29T15:27:16.358\n\tsystemUser\n\tPROCESSING\n\tJvvEOKOP\n\t\n\t\t52897b97-3592-43fe-aa3f-857cf96671ee\n\t\n" + 201 for removing recipients: + description: >- + A sample 201 response to an order payload for updating an + emergency notification group by removing emergency + notification recipients looks like the following + value: "\n\n\t31e4be80-e816-432e-a554-1219ed4fc5e9\n\t2020-04-29T15:34:32.799\n\tsystemUser\n\tPROCESSING\n\t\n\t\t5da0859b-2af8-42a3-85dd-dad4ba5f7503\n\t\toXHGGVKwmd\n\t\t\n\t\t\t\n\t\t\t\tf2eaa7be771241af9b031584875a60\n\t\t\t\n\t\t\n\t\n" + 201 for updated description: + description: >- + A sample 201 response to an order payload for updating an + emergency notification group description looks like the + following + value: |- + + + 3e9a852e-2d1d-4e2d-84c3-87223a78cb70 + 2020-01-23T18:34:17.284Z + testuser + PROCESSING + ALG-31233884 + + 63865500-0904-46b1-9b4f-7bd237a26363 + This is an updated description of the emergency notification Group. + + + Simple response: + value: "\n\n900b3646-18df-4626-b237-3a8de648ebf6\n\t2020-04-29T15:27:16.151\n\tsystemUser\n\tPROCESSING\n\tUbOxhMnp\n\t\n\t\t52897b97-3592-43fe-aa3f-857cf96671ee\n\t\tJgHzUzIchD\n\t\t\n\t\t\t\n\t\t\t\tc7f74671edd8410d9a4c0f8e985e0a\n\t\t\t\n\t\t\t\n\t\t\t\t74ac30535b414d29bc36d50572f553\n\t\t\t\n\t\t\t\n\t\t\t\tb910df3245ce4192aee052f583259f\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/EmergencyNotificationGroupOrderResponse' + description: >- +

      Successfull response


      Emergency notification + group order response elements:

      + +

      Parameter

      Description

      +

      OrderId

      A system-assigned unique identifier + assigned to this order. Use this order id to fetch the status of + the order.

      + OrderCreatedDate

      The + UTC date and time at which this order was created.

      CreatedBy

      The username of the user that created this order. +

      ProcessingStatus

      +

      The processing status of this + order. Values may be: PROCESSING, COMPLETED, FAILED. + PROCESSING means that the system is still processing the order. + COMPLETED means that the order has been successfully completed. + FAILED means that errors occurred while processing the order, and + that the order did not make any changes to the system.

      Identifier

      A system-assigned unique identifier for + the Emergency Notification Group. This field is not present in the + request, but mandatory in the success response. This identifier can + be used as a key to fetch the emergency notification group instance + later.

      ErrorList

      +

      A list, possibly empty, of + errors affecting emergency notification group updates. The + ErrorList will be empty for orders that are COMPLETED. It will be + non-empty for orders that FAILED.

      ErrorList Description

      If an emergency notification group operation + failed for some reason, this text describes the reason for the + failure.

      + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\n\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Bad request
      + + + +

      + Condition

      +

      Error Description

      Order payload does not indicate whether the + emergency notification group is being created, modified, or deleted +

      Order payload must + include one of "AddedEmergencyNotificationGroup", + "DeletedEmergencyNotificationGroup", or + "ModifiedEmergencyNotificationGroup".

      Order is creating a new emergency notification + group, but does not indicate that emergency notification recipients + are being added

      When + creating an emergency notification group, + "AddedEmergencyNotificationRecipients" must be included to indicate + that emergency notification recipients are being added.

      Missing or empty emergency + notification group description

      Emergency Notification Group Description must be + present and non-empty.

      + No emergency notification recipients listed

      An Emergency Notification Group must + have 1, 2, or 3 Emergency Notification Recipients. Note: + This can be used for missing list or empty list.

      Too many emergency notification + recipients listed

      An + Emergency Notification Group must have 1, 2, or 3 Emergency + Notification Recipients.

      + Order does not include an emergency notification group

      The specified emergency notification group does + not exist

      ENG + Identifier xxx does not exist., where xxx is replaced by the + emergency notification group identifier supplied in the request. +

      The specified emergency + notification recipient identifier does not exist

      ENR Identifier xxx does not exist., + where xxx is replaced by the emergency notification recipient + identifier supplied in the request.

      Attempt to update an emergency notification group, + but none of "Description", "AddedEmergencyNotificationRecipients", + or "DeletedEmergencyNotificationRecipients" included

      Update of ENG did not specify any + of: new description, added ENRs, or deleted ENRs.

      Attempt to update an emergency + notification group with both "AddedEmergencyNotificationRecipients" + and "DeletedEmergencyNotificationRecipients" included

      Update of ENG supports added ENRs or + deleted ENRs, but not both.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied\n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to configure emergency notification group orders, either + due to Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description: Access + Denied

      + '409': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Conflict
      + + +

      + Condition

      +

      Error Description

      Invalid emergency notification recipient + identifier

      Emergency + Notification Recipient Identifier xxx does not exist., where xxx is + replaced by the emergency notification recipient identifier supplied + in the request. Note: This error can be used also for the + case where the emergency notification recipient ID exists, but not + for this Iris account.

      + Specified emergency notification recipient is already associated + with another emergency notification group

      The Emergency Notification Recipient with + identifier xxx is already associated with Emergency Notification + Group with identifier yyy., where xxx is replaced with the emergency + notification recipient ID supplied in the request, and yyy is + replaced by the emergency notification group ID of the emergency + notification group that the supplied emergency notification + recipient ID is associated with. Note: The emergency + notification group must also belong to this account.

      Attempt to remove an emergency + notification group that has emergency endpoints associated with it +

      ENG xxx cannot be + removed until emergency endpoint associations are removed., where + xxx is replaced by the emergency notification group identifier + supplied in the request.

      + Removal of ENRs would leave the emergency notification group with no + emergency notification recipient associations

      An Emergency Notification Group must + have 1, 2, or 3 Emergency Notification Recipients.

      Addition of emergency notification + recipients would leave the emergency notification group with too + many emergency notification recipient associations

      An Emergency Notification Group must + have 1, 2, or 3 Emergency Notification Recipients.

      + summary: Create emergency notification group order + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationGroupOrders/{orderId}: + get: + description: >- + This endpoint is used to query the status of a specified emergency + notification group order, using the order-id that was assigned in the + 201 response to the order creation.
      + + When you query an order-id, look for the "ProcessingStatus" element in + the 200 response. Values may be: PROCESSING, COMPLETED, or FAILED. + PROCESSING means that the system is still processing the order. Please + wait a couple of minutes and fetch the order results again. COMPLETED + means that the order has been successfully completed. FAILED means that + errors occurred while processing the order, and that the order did not + make any changes to the system. Look for the "ErrorList" element to see + what type of error occurred.
      + + URI parameters:

      + + +
        +
      • + accountId - the account id of the account to which the emergency notification group order belongs. +
      • +
      • + orderId - the order identifier assigned to the emergency notification group order when it was created. +
      • +
      + operationId: RetrieveEmergencyNotificationGroupOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: 28ef2b1a-dd03-4641-a362-c6d238c3dfc0 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t3e9a852e-2d1d-4e2d-84c3-87223a78cb70\n\t\t2020-01-23T18:34:17.284Z\n\t\ttestuser\n\t\tCOMPLETED\n\t\tALG-31233884\n\t\t\n\t\t\t\n\t\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t\tBuilding 5, 5th Floor.\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t\t\t\t\tBuilding 5 front desk email\n\t\t\t\t\t\t\tEMAIL\n\t\t\t\t\t\t\tBldg5Reception@company.com\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tef47eb61-e3b1-449d-834b-0fbc5a11da30\n\t\t\t\t\t\t\tBuilding 5 5th floor responder text\n\t\t\t\t\t\t\tSMS\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t+12124487782\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tc9a2f068-e1b0-4454-9c0b-74c4113f6141\n\t\t\t\t\t\t\tCallback for MyCompany\n\t\t\t\t\t\t\tCALLBACK\n\t\t\t\t\t\t\thttps://foo.bar/baz\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\ttestuser\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/EmergencyNotificationGroupOrderResponse' + description: Successful response + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied\n\t\n" + description: > +

      Access Denied

      Condition: User does not have + permission to view emergency notification group orders, either due + to Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description: Access + Denied

      + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      The resource does not exist


      Condition: + Specified emergency notification group order-id does not exist for + this account.
      Error Description: The resource does not + exist

      + summary: Retrieve emergency notification group order + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationGroups: + get: + description: >- + Fetch emergency notification groups that are currently configured on the + account. Use the provided query parameters to filter the results.
      + + URI Parameters: accountId - the account id of the account to + which the emergency notification group belongs

      + +

      Query parameters:
      + + The GET operation has no request payload, but the accountId must be + specified in the URI parameter. + + Results are returned in the order of newest to oldest modification date + of the Emergency Notification Group. + + Query parameters act as filters on the data. If more than one query + parameter is provided, the results will be the intersection of the + results from each query parameter. In other words, the query parameters + are logically ANDed. + + Query parameters are appended to the end of the endpoint, separated by a + '?' and in the format parameter=value. If you wish to specify more than + one query parameter, separate them using an '&' character. + The order of query parameters does not matter + operationId: ListEmergencyNotificationGroups + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The Identifier of an Emergency Notification Recipient that is + associated with the Emergency Notification Groups returned + example: 63865500-0904-46b1-9b4f-7bd237a26363 + in: query + name: engId + required: false + schema: + type: string + - description: >- + If set to true, the results will include full details about each + Emergency Notification Recipient associated with the Emergency + Notification Groups satisfying the query. Otherwise, only Emergency + Notification Recipient identifiers are included + example: 'true' + in: query + name: enrDetails + required: false + schema: + default: false + type: boolean + - description: >- + If set to true, the results will include the current number of all + Emergency Endpoints associated with each Emergency Notification + Group + example: 'true' + in: query + name: endpointCount + required: false + schema: + default: false + type: boolean + - description: >- + Returns all Emergency Notification Groups that contain the group + description value passed in (substrings accepted) + example: foo + in: query + name: engName + required: false + schema: + type: string + - description: >- + Returns all Emergency Notification Groups that contain the recipient + value passed in (substrings accepted) + example: foo + in: query + name: enrRecipient + required: false + schema: + type: string + - description: >- + This represents the position in the data set from which you want + your output to begin. If this parameter is omitted, results will + include Emergency Notification Groups last modified on or before the + current date and time. If a date and time is provided, results will + include Emergency Notification Groups last modified on or before + that date and time. Date/time format is YYYY-MM-DDTHH:MM:SS.mmmZ, + where the Z indicate UTC time, or YYYY-MM-DDTHH:MM:SS.mmm-hh:mm, + where "-hh:mm" represents the local time offset, plus or minus, from + UTC time + example: '2020-04-07T00:00:00Z' + in: query + name: page + required: false + schema: + format: date-time + type: string + - description: >- + The maximum number of Emergency Notification Group results to + include in the response payload. This value may be between 1 and 500 + example: 250 + in: query + name: size + required: false + schema: + default: 100 + maximum: 500 + minimum: 1 + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t\n\t\t -- link to first page of results -- \n\t\t\n\t\t\n\t\t -- link to next page of results -- \n\t\n\t\n\t\t\n\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t2020-01-23T18:34:17.284Z\n\t\t\ttestuser\n\t\t\t2020-01-23T18:34:17.284Z\n\t\t\tThis is a description of the emergency notification group.\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tef47eb61-e3b1-449d-834b-0fbc5a11da30\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t29477382-23947-23c-2349-aa8238b22743\n\t\t\t2020-01-23T18:36:51.987Z\n\t\t\ttestuser\n\t\t\t2020-01-23T18:36:51.987Z\n\t\t\tThis is a description of the emergency notification group.\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t37742335-8722-3abc-8722-e2434f123a4d\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/EmergencyNotificationGroupsResponse' + description: >- +

      Successful response


      The "Links" element includes two + links. The link called "first" is the link to the first set of + results for the query that was submitted. If there are more than + "Size" results, a link called "next" is included to help you + retrieve the next set of results up to "Size" elements. If the + results of the query, filtered by the query parameters, do not + return any results, the payload will contain empty tag + "EmergencyNotificationGroups" + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Bad request


      Condition: Unrecognized query + parameter
      Error Description:Query parameter xxx is not + recognized.


      Condition:Unsupported value for + query parameter
      Error Description:Invalid value xxx for + query parameter yyy. Supported values are aaa, bbb, etc.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied\n\t\n" + description: >- +

      Access Denied

      Condition:User does not have + permission to view emergency notification orders, either due to + Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description:Access + Denied

      + summary: List emergency notification groups + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationGroups/{engId}: + get: + description: >- + This endpoint allows you to fetch the configuration of a current + emergency notification group by identifier. + operationId: RetrieveEmergencyNotificationGroup + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The emergency notification group identifier assigned to the + emergency notification group when it was created + example: 28ef2b1a-dd03-4641-a362-c6d238c3dfc0 + in: path + name: engId + required: true + schema: + type: string + - description: >- + Set this optional parameter to true, if you wish to include a list + of all Emergency Endpoints (with AEUI or conventional TN + identifiers) associated with this Emergency Notification Group + example: true + in: query + name: includeEndpoints + required: false + schema: + default: false + type: boolean + - description: >- + This parameter, which may only be specified if the + `includeEndpoints` parameter is set to true, indicates the starting + digits of the emergency endpoint TN for conventional endpoints or + starting letters / digits of AEUI endpoint identifier that you wish + to begin with in the list of emergency endpoints associated with the + emergency notification group. At least 3 digits must be supplied + example: '203208110' + in: query + name: endpointId + required: false + schema: + type: string + - description: >- + This parameter, which may only be specified, if the + `includeEndpoints` parameter is set to true, indicates the maximum + number of associated emergency endpoints you wish to include for + each emergency notification group that is returned in the query + results + example: '200' + in: query + name: endpointSize + required: false + schema: + default: 20 + maximum: 5000 + minimum: 1 + type: number + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t2020-01-23T18:34:17.284Z\n\t\ttestuser\n\t\t2020-01-23T18:34:17.284Z\n\t\tThis is a description of the emergency notification group.\n\t\t\n\t\t\t\n\t\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t\n\t\t\t\n\t\t\t\tef47eb61-e3b1-449d-834b-0fbc5a11da30\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t+19152431000\n\t\t\t\tACIDIdentifier12345\n\t\t\t\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/EmergencyNotificationGroupResponse' + description: Successful response + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied \n\t\n" + description: > +

      Access Denied

      Condition: User does not have + permission to view emergency notification groups, either due to + Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description: Access + Denied

      + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tThe resource does not exist\n\t\n" + description: >- +

      The resource does not exist


      Condition: + Specified emergency notification group id does not exist for this + account
      Error Description: The resource does not exist +

      + summary: Retrieve emergency notification group + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationRecipients: + get: + description: >- + Retrieve a list of emergency notification recipients configured for this + account.
      + Results can be paginated and filtered using the following query parameters. + operationId: ListEmergencyNotificationRecipients + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Include results only for orders last modified by the user specified + in this parameter + example: testuser + in: query + name: modifiedByUser + required: false + schema: + type: string + - description: >- + The type of notification specified for Emergency Notification + Recipients returned + example: EMAIL + in: query + name: enrNotificationType + required: false + schema: + enum: + - EMAIL + - SMS + - TTS + - CALLBACK + type: string + - description: >- + The notification recipient: either a Message Service telephone + number, a Voice telephone number, an email address, or a callback + URL. (Returns all Notification Recipients that start with the + specified recipient value) + example: '+19195551212' + in: query + name: enrRecipient + required: false + schema: + type: string + - description: >- + The callback username in all CALLBACK type Emergency Notification + Recipients returned + example: testuser + in: query + name: enrCallbackUsername + required: false + schema: + type: string + - description: >- + This represents the position in the data set from which you want + your output to begin. If this parameter is omitted, results will + include Emergency Notification Recipients last modified on or before + the current date and time. If a date and time is provided, results + will include Emergency Notification Recipients last modified on or + before that date and time. Date/time format is + YYYY-MM-DDTHH:MM:SS.mmmZ, where the Z indicate UTC time, or + YYYY-MM-DDTHH:MM:SS.mmm-hh:mm, where "-hh:mm" represents the local + time offset, plus or minus, from UTC time + example: '2020-03-15T14:00:00.000-04:00' + in: query + name: page + required: false + schema: + format: date-time + type: string + - description: >- + The maximum number of Emergency Notification Recipient results to + include in the response payload. This value may be between 1 and 500 + example: 250 + in: query + name: size + required: false + schema: + default: 100 + maximum: 500 + minimum: 1 + type: integer + - description: >- + If GroupCount is true, each notification recipient in the response + will include a GroupCount representing how many notification groups + it is associated with + example: 'true' + in: query + name: groupCount + required: false + schema: + default: 'false' + type: boolean + - description: >- + Returns all Emergency Notification Recipients that contain this + value, whether that value is a substring or partial value of the + recipient or a recipient TYPE + example: foo + in: query + name: uriSubstring + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t\n\t\t -- link to first page of results -- \n\t\t\n\t\t\n\t\t -- link to next page of results -- \n\t\n\t\n\t\t\n\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t2020-03-18T21:26:47.403Z\n\t\t\t2020-03-18T21:26:47.403Z\n\t\t\ttestuser\n\t\t\tThis is a description of the emergency notification recipient.\n\t\t\tCALLBACK\n\t\t\t\n\t\t\t\thttps://foo.bar/baz\n\t\t\t\t\n\t\t\t\t\ttestuser\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t2020-03-22T12:13:25.782Z\n\t\t\t2020-03-22T12:13:25.782Z\n\t\t\tgfranklin\n\t\t\tThis is a description of the emergency notification recipient.\n\t\t\tEMAIL\n\t\t\tfred@gmail.com\n\t\t\n\t\t\n\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t2020-03-25T17:04:53.042Z\n\t\t\t2020-03-25T17:04:53.042Z\n\t\t\tmsimpson\n\t\t\tThis is a description of the emergency notification recipient.\n\t\t\tSMS\n\t\t\t\n\t\t\t\t+12015551212\n\t\t\t\n\t\t\n\t\t\n\t\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t\t2020-03-29T20:14:01.736Z\n\t\t\t2020-03-29T20:17:53.294Z\n\t\t\tlsimpson\n\t\t\tThis is a description of the emergency notification recipient.\n\t\t\tTTS\n\t\t\t\n\t\t\t\t+12015551212\n\t\t\t\n\t\t\n\t\n" + schema: + oneOf: + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientsResponseWithCallback + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientsResponseWithEmail + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientsResponseWithSms + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientsResponseWithTts + description: >- +

      Successful response


      The "Links" element includes two + links. The link called "first" is the link to the first set of + results for the query that was submitted. If there are more than + "Size" results, a link called "next" is included to help you + retrieve the next set of results up to "Size" elements. If the + results of the query, filtered by the query parameters, do not + return any results, the payload will contain empty tag + "EmergencyNotificationRecipients" + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- +

      Bad request


      Condition: Unrecognized query + parameter
      Error Description:Query parameter xxx is not + recognized.


      Condition:Unsupported value for + query parameter
      Error Description:Invalid value xxx for + query parameter yyy. Supported values are aaa, bbb, etc.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied \n\t\n" + description: >- +

      Access Denied

      Condition:User does not have + permission to view emergency notification recipients, either due to + Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description:Access + Denied

      + summary: List emergency notification recipients + tags: + - Emergency Notification + post: + description: Create a new emergency notification recipient. + operationId: CreateEmergencyNotificationRecipient + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + callback: + description: Sample request payload for an CALLBACK recipient + value: "\n\nCallback to property management system\n\tCALLBACK\n\t\n\t\thttps://foo.bar/baz\n\t\t\n\t\t\ttestuser\n\t\t\tx23388%SLHss\n\t\t\n\t\n" + email: + description: Sample request payload for an EMAIL recipient + value: "\n\n\tEmail to Bldg. 3 Front Desk\n\tEMAIL\n\tfoo@bar.com\n" + sms: + description: Sample request payload for an SMS recipient + value: |- + + + Text message to guard shack + SMS + + +12015551212 + + + tts: + description: Sample request payload for an TTS recipient + value: "\n\n\tVoice call notification to Susan Jones\n\tTTS\n\t\n\t\t+12015551212\n\t\n" + schema: + oneOf: + - $ref: '#/components/schemas/EmergencyNotificationRecipientCallback' + - $ref: '#/components/schemas/EmergencyNotificationRecipientSms' + - $ref: '#/components/schemas/EmergencyNotificationRecipientTts' + - $ref: '#/components/schemas/EmergencyNotificationRecipientEmail' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t2020-03-18T21:26:47.403Z\n\t\t2020-03-18T21:26:47.403Z\n\t\ttestuser\n\t\tThis is a description of the emergency notification recipient.\n\t\tCALLBACK\n\t\t\n\t\t\thttps://foo.bar/baz\n\t\t\t\n\t\t\t\ttestuser\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + oneOf: + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithEmail + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithCallback + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithSms + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithTts + description: >- +

      Successful response


      Emergency notification + recipient response elements
      The following fields are + present only in the success response. For request fields, please + see the request tab.

      + +

      + Parameter

      +

      Description

      Identifier

      a system-assigned unique identifier for the + Emergency Notification Recipient. This field is not present in the + request, but mandatory in the success response. This identifier can + be used as a key to fetch the emergency notification recipient + instance later. This value will be used as the EVS Notification ID. +

      CreatedDate

      the date and time in UTC when the + emergency notification recipient was created.

      LastModifiedDate

      the date and time in UTC when the emergency + notification recipient was last modified. If this date and time is + the same as the CreatedDate, the recipient has never been modified. +

      ModifiedByUser

      +

      the Bandwidth Dashboard + username of the last person to create or modify this emergency + notification recipient.

      + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: >- + Bad request
      + + + + +

      + Condition

      +

      Error Description

      Missing or empty description

      Description must be present and + non-empty.

      Missing type +

      Type is a mandatory + element.

      Unrecognized + type value

      Type value + must be one of 'EMAIL', 'SMS', 'TTS', or 'CALLBACK'.

      Missing data required for type - + for example, type is EMAIL, but no EmailAddress element is present. +

      When Type xxx is + specified, yyy must be included., where xxx is one of the type + values and yyy is the element that is missing.

      Malformed email

      Invalid EmailAddress. Format should be + foo@bar.com. Max length is 254 characters.

      Malformed telephone number

      Invalid TelephoneNumber. Telephone + number must be 11 digits in format 1NPANXXXXXX.

      Malformed url

      Invalid Url. Format should be + https://foo.bar[?param=val].

      +

      Malformed username

      + Invalid Username. Username must be between 1 and 32 characters. +

      Malformed password

      +

      Invalid Password. Password + must be between 1 and 256 characters.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied \n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to configure emergency notification recipients, either + due to Role/Permission or because the account is not enabled for + Emergency Notifications.
      Error Description: Access + Denied

      + '409': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tAn entry with an identical recipient already exists. Identifier xxx., where xxx is replaced with the emergency notification recipient Identifier of the existing entry.\n\t\n" + description: >- +

      Conflict

      Condition: Duplicate entry
      Error + Description: An entry with an identical recipient already + exists. Identifier xxx., where xxx is replaced with the emergency + notification recipient Identifier of the existing entry.

      + summary: Create emergency notification recipient + tags: + - Emergency Notification + /accounts/{accountId}/emergencyNotificationRecipients/{enrId}: + delete: + description: >- + The DELETE operation is used to remove the emergency notification + recipient specified by its identifier.

      + + An emergency notification recipient cannot be removed if it is still + used by an emergency notification group. + If you wish to remove an emergency notification recipient that is associated with an emergency notificaiton group, use the /account/{accountId}/emergencyNotificationGroupOrders endpoint to remove the group or modify the group to no longer use this emergency notification recipient. + URI parameters: +
        +
      • + accountId - the account id of the account to which the emergency notification recipient belongs +
      • +
      • + enrId - the identifier assigned to the emergency notification recipient when it was created +
      • +
      + operationId: DeleteEmergencyNotificationRecipient + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: 23c4b891513e48c6a7ede53abd3449 + in: path + name: enrId + required: true + schema: + type: string + responses: + '200': + description: >- +

      Sussessful response


      The DELETE request has no payload. + The 200 response also has no payload + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t1001\n\t\tAccess Denied \n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to configure emergency notification recipients, either + due to Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description: Access + Denied

      + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tThe resource does not exist\n\t\n" + description: >- +

      The resource does not exist

      Condition: The + emergency notification recipient identifier does not exist, or does + not exist for the specified account id.
      Error + Description: The resource does not exist


      + '409': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tEmergency notification recipient with identifier xxx is being used by emergency notification group with identifier yyy. Please remove the recipient reference from the group prior to removing the recipient., where xxx is replaced by the emergency notification recipient ID and yyyis replaced by the emergency notification group ID. \n\t\n" + description: >- +

      Conflict

      Condition: Attempt to delete an + emergency notification recipient that is referenced by an emergency + notification group.
      Error Description: Emergency + notification recipient with identifier xxx is being used by + emergency notification group with identifier yyy. Please remove the + recipient reference from the group prior to removing the recipient., + where xxx is replaced by the emergency notification recipient ID and + yyy is replaced by the emergency notification group ID.

      + summary: Delete emergency notification recipient + tags: + - Emergency Notification + get: + description: >- + The GET operation is used to fetch the emergency notification recipient + specified by its identifier.
      + + URI parameters:

      + + +
        +
      • + accountId - the account id of the account to which the emergency notification recipient belongs +
      • +
      • + enrId - the identifier assigned to the emergency notification recipient when it was created +
      • +
      + operationId: RetrieveEmergencyNotificationRecipient + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: 23c4b891513e48c6a7ede53abd3449 + in: path + name: enrId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + callback: + description: For an CALLBACK type emergency notification recipient + value: "\n\n\t\n\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t2020-03-18T21:26:47.403Z\n\t\t2020-04-01T18:32:22.316Z\n\t\ttestuser\n\t\tThis is a description of the emergency notification recipient.\n\t\tCALLBACK\n\t\t\n\t\t\thttps://foo.bar/baz\n\t\t\t\n\t\t\t\ttestuser\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + email: + description: For an EMAIL type emergency notification recipient + value: "\n\n\t\n\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t2020-03-20T14:04:28.778Z\n\t\t2020-03-20T14:04:28.778Z\n\t\twchurchill\n\t\tThis is a description of the emergency notification recipient.\n\t\tEMAIL\n\t\tfred@gmail.com\n\t\n" + sms: + description: For an SMS type emergency notification recipient + value: "\n\n\t\n\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t2020-03-28T15:45:01.371Z\n\t\t2020-03-29T18:59:42.220Z\n\t\tdeisenhower\n\t\tThis is a description of the emergency notification recipient.\n\t\tSMS\n\t\t\n\t\t\t+12015551212\n\t\t\n\t\n" + tts: + description: For an TTS type emergency notification recipient + value: |- + + + + 63865500-0904-46b1-9b4f-7bd237a26363 + 2020-03-30T22:14:30.443Z + 2020-03-30T22:14:30.443Z + frooseveldt + This is a description of the emergency notification recipient. + TTS + + +12015551212 + + + + schema: + oneOf: + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithEmail + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithCallback + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithSms + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithTts + description: Successful response + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tAccess Denied \n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to view emergency notification recipients, either due to + Role/Permission or because the account is not configured for + Emergency Notification Config.
      Error Description: Access + Denied

      + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tThe resource does not exist\n\t\n" + description: >- +

      The resource does not exist

      Condition: The + emergency notification recipient identifier does not exist, or does + not exist for the specified account id.
      Error + Description: The resource does not exist


      + summary: Retrieve emergency notification recipient + tags: + - Emergency Notification + put: + description: >- + The PUT operation is used to replace an emergency notification recipient + without changing its identifier value. All emergency notification + recipient fields must be specified, even if they are not changing. + operationId: UpdateEmergencyNotificationRecipient + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: 23c4b891513e48c6a7ede53abd3449 + in: path + name: enrId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + callback: + description: 'Sample request payload for an CALLBACK recipient:' + value: "\n\n\tCallback to property management system\n\tCALLBACK\n\t\n\t\thttps://foo.bar/baz\n\t\t\n\t\t\ttestuser\n\t\t\tx23388%SLHss\n\t\t\n\t\n" + email: + description: 'Sample request payload for an EMAIL recipient:' + value: "\n\n\tEmail to Bldg. 3 Front Desk\n\tEMAIL\n\tfoo@bar.com\n" + sms: + description: 'Sample request payload for an SMS recipient:' + value: "\n\n\tText message to guard shack\n\tSMS\n\t\n\t\t+12015551212\n\t\n" + tts: + description: 'Sample request payload for an TTS recipient:' + value: "\n\n\tVoice call notification to Susan Jones\n\tTTS\n\t\n\t\t+12015551212\n\t\n" + schema: + oneOf: + - $ref: '#/components/schemas/EmergencyNotificationRecipientCallback' + - $ref: '#/components/schemas/EmergencyNotificationRecipientSms' + - $ref: '#/components/schemas/EmergencyNotificationRecipientTts' + - $ref: '#/components/schemas/EmergencyNotificationRecipientEmail' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\t63865500-0904-46b1-9b4f-7bd237a26363\n\t\t2020-03-18T21:26:47.403Z\n\t\t2020-04-01T18:32:22.316Z\n\t\ttestuser\n\t\tThis is a description of the emergency notification recipient.\n\t\tCALLBACK\n\t\t\n\t\t\thttps://foo.bar/baz\n\t\t\t\n\t\t\t\ttestuser\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n" + schema: + oneOf: + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithEmail + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithCallback + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithSms + - $ref: >- + #/components/schemas/EmergencyNotificationRecipientResponseWithTts + description: Successful response + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tA description of what went wrong.\n\t\n" + description: > +

      Bad request
      + + + + +

      + Condition

      +

      Error Description

      Missing or empty description

      Description must be present and + non-empty.

      Missing type +

      Type is a mandatory + element.

      Unrecognized + type value

      Type value + must be one of 'EMAIL', 'SMS', 'TTS', or 'CALLBACK'.

      Missing data required for type - + for example, type is EMAIL, but no EmailAddress element is present. +

      When Type xxx is + specified, yyy must be included., where xxx is one of the type + values and yyy is the element that is missing.

      Malformed email

      Invalid EmailAddress. Format should be + foo@bar.com. Max length is 254 characters.

      Malformed telephone number

      Invalid TelephoneNumber. Telephone + number must be 11 digits in format 1NPANXXXXXX.

      Malformed url

      Invalid Url. Format should be + https://foo.bar[?param=val].

      +

      Malformed username

      + Invalid Username. Username must be between 1 and 32 characters. +

      Malformed password

      +

      Invalid Password. Password + must be between 1 and 256 characters.

      + '403': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tAccess Denied \n\t\n" + description: >- +

      Access Denied

      Condition: User does not have + permission to configure emergency notification recipients, either + due to Role/Permission or because the account is not enabled for + Emergency Notifications.
      Error Description: Access + Denied

      + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tnnnn\n\t\tThe resource does not exist\n\t\n" + description: >- +

      The resource does not exist


      Condition: + Specified emergency notification recipient ID does not exist for + this account
      Error Description: The resource does not + exist

      + '409': + description: >- +

      Conflict

      Condition: Duplicate entry
      Error + Description: An entry with an identical recipient already + exists. Identifier xxx., where xxx is replaced with the emergency + notification recipient Identifier of the existing entry.

      + summary: Update emergency notification recipient + tags: + - Emergency Notification + /accounts/{accountId}/externalTns: + get: + description: >- +

      Retrieve a list of the externalTns orders that are associated with + the account.

      A maximum of 1,000 orders can be retrieved per + request. If no date range or specific query parameter (marked by * below) is provided, the order results will be + limited to the last two years.

      + operationId: ListExternalTnsOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the TN Option order being searched for. + example: PARTIAL + in: query + name: status + required: false + schema: + items: + type: string + type: array + - description: A Telephone Number (TN) that is referenced in the order. + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the TN Option order. + example: ABCCorp12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd. + example: '2013-10-22' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd. + example: '2013-10-25' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + This search parameter represents the internal Bandwidth Dashboard + API ID that has been assigned to the TN Option Order. This + parameter is the first few characters of the internal ID - the + entire ID does not need to be specified. + example: ed1c0bed-e2 + in: query + name: orderIdFragment + required: true + schema: + type: string + - description: >- + Whether or not the results should be restricted to IMPORT or REMOVE + orders. + example: REMOVE + in: query + name: action + required: false + schema: + type: string + - description: >- + Whether or not the results should be restricted to CARRIER or + SUBSCRIBER orders. + example: SUBSCRIBER + in: query + name: loaType + required: false + schema: + default: ALL + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find External Tn Orders that were + modified within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find External Tn Orders that were modified + within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + 65487 + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + IMPORT + SUBSCRIBER + PARTIAL + + + 13552 + Telephone numbers already exist. + + +12262665583 + + + + 885544 + + + 2018-01-09T02:58:04.609Z + 9900012 + sjm + b63d342b-9400-4da9-1111-ca7a3889e5ec + 2018-01-09T02:58:04.962Z + 12345 + + +13068035413 + +13068035414 + +13437003595 + +14387977665 + + IMPORT + PARTIAL + + + 13552 + Telephone numbers already exist. + + +14387977665 + +15817036252 + + + + 666555 + + + schema: + $ref: '#/components/schemas/ExternalTnsOrders' + description: >- + The descriptive payload for the externalTns Orders query provides + information about the externalTns Orders found by the query, + including the data associated with the order, the state of the + order, and a list of the successfully uploaded Telephone Numbers, + and descriptions of any encountered errors. + '404': + content: + application/xml: + schema: + $ref: '#/components/schemas/ExternalTnsOrdersError' + description: No externalTns orders can be found that match the query parameters. + summary: List external tns orders + tags: + - External Tn + post: + description: >- +

      Create a externalTns order to add or remove telephone numbers + provided by the customer from the Bandwidth network.

      Note: the + attempt to import a telephone number that is already present in the + account will not create an error, but will reset all of the + attributes of that telephone number in the Dashboard system as if the + telephone number was being imported for the first time.

      + operationId: CreateExternalTnsOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + 743 + 303716 + [ IMPORT | REMOVE ] + [ CARRIER | SUBSCRIBER ] + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/ExternalTnsOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + 202 + 520565 + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + IMPORT + CARRIER + RECEIVED + + + + schema: + $ref: '#/components/schemas/ExternalTnsOrderResponse' + description: A 201 response indicates that an order has been created. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 5081 + Action is absent or invalid. Possible values IMPORT, REMOVE + + + schema: + $ref: '#/components/schemas/ExternalTnsOrderErrorResponse' + description: >- + Bad Request - Indicates that the order could not be created. Error + text and an error code will be provided in the ErrorList element. + summary: Create external tns order + tags: + - External Tn + /accounts/{accountId}/externalTns/{orderId}: + get: + description:

      Retrieve information about a externalTns order with specified ID.

      + operationId: GetExternalTnsOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2016-01-15T11:36:52.727Z + 1 + jbm + 65e03a35-6b97-48a5-8126-f47bad02df2a + 2018-01-10T05:20:47.661Z + PARTIAL + ICPA123ABC + 743 + 303716 + [ IMPORT | REMOVE ] + [ CARRIER | SUBSCRIBER ] + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + + [int] + [string] + + +19199918388 + + + + + schema: + $ref: '#/components/schemas/ExternalTnsOrderResponse' + description: >- +

      The descriptive payload for the externalTns query provides a + broad range of information about the externalTns order identified in + the URL. Included amongst the information + is...

      • ErrorList - the errors discovered with codes and + explanations
      • ProcessingStatus(RECEIVED, PROCESSING, + COMPLETE, PARTIAL, FAILED) - the overall status of the + order
      + '404': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/ExternalTnsOrderErrorResponse' + description:

      NOT FOUND - the order id does not exist in the system

      + summary: Retrieve external tns order + tags: + - External Tn + /accounts/{accountId}/geocodeRequest: + post: + description: >- + POST is used to validate address as geocode-able one. Request payload is + the address to geocode. If decomposed elements are provided for + AddressLine 1 then AddressLine1 is ignored. At least HouseNumber and + StreetName are required to use them as replacement of AddressLine1. If + at least HouseNumber or StreetName is absent then AddressLine1 is used. + operationId: CreateGeocodeRequest + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + 904 E Ansun Str + + 904 + E + + Ansun + Str + + + Marshalltown + IA + 50158 + + + + + schema: + $ref: '#/components/schemas/GeocodeRequestAddress' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 904 E ANSON ST + 904 + E + ANSON + ST + MARSHALLTOWN + IA + 50158 + 3522 + US + + + 904 + E + Anson + St + Marshalltown + IA + 50158 + US + 904 E Anson St + + + schema: + $ref: '#/components/schemas/GeocodeRequestResponse' + description:

      OK - service validates address perfectly.

      + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 12110 + This address could not be validated / geocoded + + + schema: + $ref: '#/components/schemas/GeocodeRequestErrorResponse' + description: >- +

      Bad request - service cannot geocode address or validation rules + were violated.

      + '409': + content: + application/xml: + examples: + example: + value: |- + + + Some adjustments are required to allow the address to pass geocoding: Specified value - Street Name : "ANSUN" Valid value - "ANSON" Specified value - Street Suffix : "STR" Valid value - "ST" + + 904 E ANSON ST + 904 + E + ANSON + ST + MARSHALLTOWN + IA + 50158 + 3522 + US + + + 904 + E + Ansun + Str + Marshalltown + IA + 50158 + US + 904 E Ansun Str + + + schema: + $ref: '#/components/schemas/GeocodeRequestConflictResponse' + description:

      Conflict - address is close to one that can be geocoded.

      + '500': + content: + application/xml: + examples: + example: + value: |- + + + + 12111 + Error during E911 Geocoding API response handling + + + schema: + $ref: '#/components/schemas/GeocodeRequestErrorResponse' + description: >- +

      System error - internal error which cannot be fixed by changing + payload etc.

      + '503': + content: + application/xml: + examples: + example: + value: |- + + + + 12109 + E911 Geocoding Service is temporary unavailable + + + schema: + $ref: '#/components/schemas/GeocodeRequestErrorResponse' + description: >- +

      Service unavailable - for some reason service is temporary + unavailable.

      + summary: Validate address + tags: + - Addresses + /accounts/{accountId}/hosts: + get: + description: >- + Retrieve information about the hosts of account, as guided by optional + search parameters. + operationId: GetHosts + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- +

      An IP address or subnet (CIDR format) associated with the + account. Filter for subnet applies by exact match.

      + example: 47.16.211.63 or 69.22.181.68/30 + in: query + name: host + required: false + schema: + type: string + - description: >- +

      A status value to filter the hosts returned in the payload. + Values that can be accepted + include:

      • SMS
      • TERMINATION
      • ORIGINATION
      + example: TERMINATION + in: query + name: type + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 5 + + + 500146 + + + + 47.16.211.63 + + + + + + + + + schema: + $ref: '#/components/schemas/SiteHostsResponse' + description:

      A successful result that contains the response data

      + summary: List hosts on account + tags: + - Account + /accounts/{accountId}/importTnChecker: + post: + description: >- +

      Request portability information on a set of TNs. SipPeerId is an + optional value. If SipPeerId is not specified, the id of the default + Sip-Peer for the provided SiteId will be used.

      + operationId: CreateRequestImportTnChecker + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + + +13032281000 + +14109235436 + +14104685864 + + 486 + 500025 + + schema: + $ref: '#/components/schemas/ImportTnCheckerPayload' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + +13032281000 + + + + 19006 + Bandwidth numbers cannot be imported by this account at this time. + + +14109235436 + +14104685864 + + + + + + schema: + $ref: '#/components/schemas/ImportTnCheckerResponse' + description:

      A successful check has been performed.

      + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 7201 + +161746052083 is not a valid NANPA telephone number. + + + 7201 + +161746052082 is not a valid NANPA telephone number. + + + schema: + $ref: '#/components/schemas/ImportTnCheckerErrorResponse' + description: >- +

      Bad Response - there were errors in evaluating the body of the + request.

      Potential errors include:

      • List of TNs is + empty.
      • List of TNs is more than 5000 TNs.
      • The account does + not have the necessary (IMPORT_TNS) flag.
      • TNs are invalid (they + are not actual TNs, and there are duplicates).
      + summary: Check Tns hostability + tags: + - Hosted Messaging + /accounts/{accountId}/importTnOrders: + get: + description: > + Retrieves the importtnorders requests for the given account ID. A + maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + operationId: ReadImportTnOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the importTnOrder being searched for. + example: PARTIAL + in: query + name: status + required: false + schema: + items: + type: string + type: array + - description: A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the importTnOrder. + example: ABCCorp12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2013-10-22' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2013-10-25' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find Import Tn Orders that were + modified within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find Import Tn Orders that were modified within + the date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + - description: Indentify the LoaType on TNs. + example: SUBSCRIBER + in: query + name: loaType + required: false + schema: + default: ALL + enum: + - SUBSCRIBER + - CARRIER + - ALL + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 14 + 1 + CustomerOrderId + systemUser + 2019-01-24T11:08:09.770Z + 2019-01-24T11:08:09.770Z + import_tn_orders + COMPLETE + 211a103c-5f9c-4117-8833-c574bdc390fd + + + 14 + 2 + CustomerOrderId + systemUser + 2019-01-24T10:43:16.934Z + 2019-01-24T10:43:16.934Z + import_tn_orders + PARTIAL + 8dc32f09-2329-4c73-b702-526f46b02712 + + + schema: + $ref: '#/components/schemas/ImportTnOrdersResponseList' + description: >- + The descriptive payload for the importTnOrders query provides + information about the orders found by the query, including the data + associated with the order, the state of the order, and a list of the + successfully imported Telephone Numbers, and descriptions of any + encountered errors. + summary: List Import Tn orders + tags: + - Hosted Messaging + post: + description: >- + Creates an importTnOrders request to add numbers under the given site ID + and sippeer ID as specified in the body. + + A successfully submitted order will have a status of "RECEIVED". A + successfully completed order will have a status of "COMPLETE" if all of + the telephone numbers were successfully imported and "PARTIAL" if some + of the telephone numbers were imported. A failed order with will have a + staus of "FAILED" and no telephone numbers would have been imported. + operationId: CreateImportTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + 743 + 303716 + + ABC Inc. + + 11235 + Back + Denver + CO + 27541 + Canyon + + + The Authguy + CARRIER + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/ImportTnOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + 202 + 520565 + + ABC Inc. + + 11235 + Back + Denver + CO + 27541 + Canyon + + + The Authguy + CARRIER + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + PROCESSING + + + + schema: + $ref: '#/components/schemas/ImportTnOrderResponse' + description: >- + The order has been created and an order ID will be specified in the + payload and in the header. + '400': + content: + application/xml: + examples: + example: + value: |- + + + FAILED + + 7309 + The site id was not supplied or is invalid. + + + 7312 + The sippeer id is invalid. + + + schema: + $ref: '#/components/schemas/ImportTnOrderError' + description: >- + The order failed; one of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList + element.

      + summary: Import Tn order + tags: + - Hosted Messaging + /accounts/{accountId}/importTnOrders/voice: + get: + description: > + Retrieves the ImportVoiceTnOrder requests for the given account ID. A + maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + operationId: ReadImportVoiceTnOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/StatusQueryParam' + - $ref: '#/components/parameters/TnQueryParam' + - $ref: '#/components/parameters/CustomerOrderIdQueryParam' + - $ref: '#/components/parameters/CreatedDateFromQueryParam' + - $ref: '#/components/parameters/CreatedDateToQueryParam' + - $ref: '#/components/parameters/ModifiedDateFromQueryParam' + - $ref: '#/components/parameters/ModifiedDateToQueryParam' + - $ref: '#/components/parameters/SipPeerIdQueryParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 14 + 1 + CustomerOrderId + systemUser + 2019-01-24T11:08:09.770Z + 2019-01-24T11:08:09.770Z + import_voice_tn_orders + COMPLETE + 211a103c-5f9c-4117-8833-c574bdc390fd + + + 14 + 2 + CustomerOrderId + systemUser + 2019-01-24T10:43:16.934Z + 2019-01-24T10:43:16.934Z + import_voice_tn_orders + PARTIAL + 8dc32f09-2329-4c73-b702-526f46b02712 + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrdersResponseList' + description: >- + The descriptive payload for the importVoiceTnOrders query provides + information about the orders found by the query, including the data + associated with the order, the state of the order, and a list of the + successfully imported Telephone Numbers, and descriptions of any + encountered errors. + summary: List Import Voice Tn orders + tags: + - Hosted Voice + post: + description: >- + Creates an ImportVoiceTnOrders request to add numbers under the given + site ID and sipPeer ID as specified in the body. + + A successfully submitted order will have a status of "RECEIVED". A + successfully completed order will have a status of "COMPLETE" if all of + the telephone numbers were successfully imported and "PARTIAL" if some + of the telephone numbers were imported. A failed order with will have a + staus of "FAILED" and no telephone numbers would have been imported. + operationId: CreateVoiceImportTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + 743 + 303716 + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + 202 + 520565 + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + PROCESSING + + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderResponse' + description: >- + The order has been created and an order ID will be specified in the + payload and in the header. + '400': + content: + application/xml: + examples: + example: + value: |- + + + FAILED + + 7309 + The site id was not supplied or is invalid. + + + 7312 + The sippeer id is invalid. + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderError' + description: >- + The order failed; one of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList + element.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +

      + ErrorCode +

      +
      +

      + Description +

      +
      +

      + 25010 +

      +
      +

      + The account does not have permission to use the endpoint requested, please contact support if you believe you should have permission. +

      +
      +

      + 5052 +

      +
      +

      + Customer order ID is invalid. Only alphanumeric values, dashes and spaces are allowed. Max length is 255 characters. +

      +

      + 1003 +

      +
      +

      + SiteId is required. +

      +
      +

      + 5073 +

      +
      +

      + Telephone number is required. +

      +
      +

      + 5095 +

      +
      +

      + The count of telephone numbers in order exceeds the maximum size of 5000. +

      +
      +

      + 1003 +

      +
      +

      + TelephoneNumbers is required. +

      +

      + 5070 +

      +
      +

      + Telephone number is invalid. +

      +

      + 5093 +

      +
      +

      + Order cannot contain duplicate telephone numbers. +

      + summary: Import Voice Tn order + tags: + - Hosted Voice + /accounts/{accountId}/importTnOrders/voice/{orderId}: + get: + description: Retrieve information about a importVoiceTnOrder with specified ID. + operationId: ReadImportVoiceTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + 65487 + 885544 + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + + + + + + + + + + + + + + + + + + +
      +

      + ErrorCode +

      +
      +

      + Description +

      +
      +

      + 19014 +

      +
      +

      + Numbers cannot be imported by this account at this time. +

      +
      +

      + 5061 +

      +
      +

      + The SiteId submitted is invalid. +

      +

      + 5023 +

      +
      +

      + SIP peer submitted is invalid. +

      +
      + summary: Fetch Import Voice Tn order status + tags: + - Hosted Voice + /accounts/{accountId}/importTnOrders/voice/{orderId}/history: + get: + description: Retrieves the history of the specified importVoiceTnOrder. + operationId: ReadImportVoiceTnOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2015-06-16T14:03:10.225Z + Import Voice TN order is received. + admin + RECEIVED + + + 2015-06-16T14:03:10.330Z + Import TN order is processing. + admin + PROCESSING + + + 2015-06-16T14:03:10.789Z + Import Voice TN order is partial. + admin + PARTIAL + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. + summary: Fetch Import Voice Tn order history + tags: + - Hosted Voice + /accounts/{accountId}/importTnOrders/{orderId}: + get: + description: Retrieve information about a importTnOrder with specified ID. + operationId: ReadImportTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + 65487 + 885544 + + First + + 11235 + Back + Denver + CO + 27541 + Canyon + + + The Authguy + CARRIER + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/ImportTnOrderResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + summary: Fetch Import Tn order status + tags: + - Hosted Messaging + /accounts/{accountId}/importTnOrders/{orderId}/history: + get: + description: Retrieves the history of the specified importTnOrder. + operationId: ReadImportTnOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2015-06-16T14:03:10.225Z + Import TN order is received. + admin + RECEIVED + + + 2015-06-16T14:03:10.330Z + Import TN order is processing. + admin + PROCESSING + + + 2015-06-16T14:03:10.789Z + Import TN order is partial. + admin + PARTIAL + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. + summary: Fetch Import Tn order history + tags: + - Hosted Messaging + /accounts/{accountId}/importTnOrders/{orderId}/loas: + get: + description: >- + Retrieves the list of the loa (and other) files associated with the + order. + operationId: ReadImportTnOrderLoas + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: >- + if true it will return meta-data associated with the file used to + describe the file. + example: true + in: query + name: metadata + required: false + schema: + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 1 + + eeceff88-c11e-4bd8-86f3-8e3482888500-1624044440058.pdf + + LOA + + + 0 + LOA file list successfully returned + + schema: + $ref: '#/components/schemas/FileListResponse' + description: >- + The list of all files is being returned. This response includes the + case where the list is empty. + summary: Fetch Import Tn order loas + tags: + - Hosted Messaging + post: + description: >- + POSTing to the /loas resource will enable the upload of the file. The + key attribute to the POST is ensuring that the headers are correctly set + to support the file upload.
      + + Query parameter or header documentType can be used to specify type of + document on upload. + +

      When uploading documents using the /loas resource, you must specify + the MIME type of the document being upload using the Content-Type HTTP + header.

      + +

      The LOA document must be uploaded using one of the following MIME + types:

      + +
        + +
      • application/pdf
      • + +
      • text/plain
      • + +
      • image/jpeg
      • + +
      • image/png
      • + +
      • image/tiff
      • + +
      • text/csv
      • + +
      • application/vnd.ms-excel
      • + +
      • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
      • + +
      • application/msword
      • + +
      • application/vnd.openxmlformats-officedocument.wordprocessingml.document
      • + +
      + operationId: CreateImportTnOrderLoas + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: >- + This query parameter allows you to include the document type + metadata + + at the same time you upload the file. + example: LOA + in: query + name: documentType + required: false + schema: + enum: + - LOA + - INVOICE + - CSR + - OTHER + type: string + requestBody: + content: + '*/*': + schema: + format: binary + type: string + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + 63097af1-37ae-432f-8a0d-9b0e6517a35b-1429550165581.pdf + 0 + LOA file uploaded successfully for order 63097af1-37ae-432f-8a0d-9b0e6517a35b + + schema: + $ref: '#/components/schemas/FileUploadResponse' + description: >- + The 201 response indicates the successful creation of a file + resource containing the uploaded content. + + The response header will include a link to the created file as a GET + on the identified resource. + '400': + description: A 400 indicates that the requested upload failed. + summary: Import Tn order loas + tags: + - Hosted Messaging + /accounts/{accountId}/importTnOrders/{orderId}/loas/{fileId}: + delete: + description: Deletes the file associated with the order + operationId: DeleteImportTnOrderLoasFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: File id with format + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4.pdf + in: path + name: fileId + required: true + schema: + type: string + responses: + '200': + description: The 200 OK indicates a successful deletion of the identified file. + '404': + description: >- + a 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Removing Import Tn order loas file + tags: + - Hosted Messaging + get: + description: Retrieves the file associated with the order. + operationId: ReadImportTnOrderLoasFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: File id with format + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4.pdf + in: path + name: fileId + required: true + schema: + type: string + responses: + '200': + description: >- + The 200 OK indicates a successful download request.
      + + The response to the get on a filename will result in the file being + prepared and delivered in a manner consistent with browser + download. The Response headers include the content-disposition + header describing the file download. + '404': + description: >- + a 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Fetch Import Tn order loas file + tags: + - Hosted Messaging + put: + description: >- + A PUT on the filename will update / replace the identified file id. The + format of the PUT is identical to that of the POST. + operationId: UpdateImportTnOrderLoasFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: File id with format + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4.pdf + in: path + name: fileId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 63097af1-37ae-432f-8a0d-9b0e6517a35b-1429550165581.pdf + 0 + LOA file uploaded successfully for order 63097af1-37ae-432f-8a0d-9b0e6517a35b + + schema: + $ref: '#/components/schemas/FileUploadResponse' + description: >- + The 200 response indicates the successful replacement of a file + resource containing the uploaded content. + + The response header will include a link to the created file as a GET + on the identified resource. + '400': + description: A 400 indicates that the requested upload failed. + '404': + description: A 404 indicates that the file was not available for replacement. + summary: Updating Import Tn order loas file + tags: + - Hosted Messaging + /accounts/{accountId}/importTnOrders/{orderId}/loas/{fileId}/metadata: + delete: + description: Deletes the metadata previously associated with the identified file. + operationId: RemoveImportTnOrderLoasFileMetadata + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: File id with format + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4.pdf + in: path + name: fileId + required: true + schema: + type: string + responses: + '200': + description: >- + The 200 OK indicates a successful deletion of the identified + metadata. + '404': + description: >- + A 404 indicates that the indicated file was not found in conjunction + with the order id.cd + summary: Removing Import Tn order loas file metadata + tags: + - Hosted Messaging + get: + description: Retrieves the metadata associated with the file. + operationId: ReadImportTnOrderLoasFileMetadata + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: File id with format + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4.pdf + in: path + name: fileId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + [string] + [LOA | INVOICE | CSR | OTHER] + + schema: + $ref: '#/components/schemas/FileMetaData' + description: The Metatdata has been successfully retrieved. + '404': + description: >- + a 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Fetch Import Tn order loas file metadata + tags: + - Hosted Messaging + put: + description: >- + Associate metadata with the file named in the resource path. This will + describe the file, and declare the data that is contained in the file, + selected from a list of [LOA | INVOICE | CSR | OTHER]. + operationId: UpdateImportTnOrderLoasFileMetadata + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import Tn order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + - description: File id with format + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4.pdf + in: path + name: fileId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + fileName + LOA + + schema: + $ref: '#/components/schemas/FileMetaDataRequest' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/FileMetaData' + description: >- + Successful update of the metadata associated with the identified + file. + '400': + description: Some error has occured as a result of the attempt. + summary: Updating Import Tn order loas file metadata + tags: + - Hosted Messaging + /accounts/{accountId}/importToAccount: + get: + description: > + Retrieve a list of the Import to Account orders that have previously + performed on the account. The query must always specify pagination + parameters (size, page). The results can also be optionally limited + with start date and end date . + operationId: ReadImportToAccountOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + All Order retrievals must be paginated, using page and size + indicators. The page parameter contains the `` that is to + start the page, or "1" in the case of the first page + example: cbdcfc94-81b1-4ce9-8b6d-f8d6b85381ba + in: query + name: page + required: true + schema: + type: string + - description: >- + The size parameter indicates the number of orders to return in the + payload + example: 20 + in: query + name: size + required: true + schema: + type: integer + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2013-10-22' + in: query + name: startdate + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2013-10-25' + in: query + name: enddate + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 3 + + 14 + 2 + team_ua + 2014-07-07T10:06:43.427Z + import_to_account + 2014-07-07T10:06:43.427Z + 37a6447c-1a0b-4be9-ba89-3f5cb0aea142 + FAILED + + + 14 + 2 + team_ua + 2014-07-07T10:05:56.595Z + import_to_account + 2014-07-07T10:05:56.595Z + 743b0e64-3350-42e4-baa6-406dac7f4a85 + RECEIVED + + + 14 + 2 + team_ua + 2014-07-07T09:32:17.234Z + import_to_account + 2014-07-07T09:32:17.234Z + f71eb4d2-bfef-4384-957f-45cd6321185e + RECEIVED + + + + schema: + $ref: '#/components/schemas/ResponseSelectWrapper' + description: > + The response provides a list of all of the orders in the date range + that have been issued against the account. + summary: List Import to Account orders + tags: + - Import Tn to Account + post: + description: > + Import a large number of previously ported or otherwise acquired numbers + into the account + operationId: CreateImportToAccountOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: "\n\n\t\n\t\t10D\n\t\t\n\t\t\t+14158714244\n\t\t\t+16105330709\n\t\t\n\t\tNOCHARGE\n\t\tAvailable\n\t\t\n\t\t\tProtected\n\t\t\n\t\tLevel 3\n\t\tTestId1234\n\t\t2\n\t\n\t1\n\t12345\n\t" + schema: + $ref: '#/components/schemas/ImportToAccountOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: "\n\n\t\n\t\tc5986599-3a7c-4eed-a5c4-9121c17d54ab\n\t\t2014-04-01T21:54:18.796Z\n\t\t\n\t\t\tSJM00001\n\t\t\t2\n\t\t\tNOCHARGE\n\t\t\t10D\n\t\t\tAvailable\n\t\t\t\n\t\t\t\tProtected\n\t\t\t\n\t\t\t\n\t\t\t\t+14158714245\n\t\t\t\t+16105330710\n\t\t\t\n\t\t\tLevel 3\n\t\t\n\t\t743\n\t\t12345\n\t\n\t" + schema: + $ref: '#/components/schemas/ImportToAccountNumberOrderResponse' + description: >- + The order has been created and an order ID will be specified in the + payload and in the header. + '400': + content: + application/xml: + examples: + example: + value: "\n\n\t \n\t\t \n\t\t\t 7309\n\t\t\t The site id was not supplied or is invalid.\n\t\t \n\t\t \n\t\t\t 7312\n\t\t\t The sippeer id is invalid.\n\t\t \n\t \n " + schema: + $ref: '#/components/schemas/ImportToAccountNumberOrderErrorResponse' + description: >- + The order failed; one of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList + element.

      + summary: Import to Account order + tags: + - Import Tn to Account + /accounts/{accountId}/importToAccount/batches: + get: + description: >- + The batches resource enumerates all of the batches that have been used + for importing numbers into an account. + If there is the need to import a large number of Telephone Numbers into an account, the import is submitted as a batch, which is a collection of submissions that are held together by a batch id. This batch of orders can subsequently be retrieved by retrieving all of the orders that share a batch id. + operationId: ReadImportToAccountOrdersBatches + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t\n\t\tphnpwrblk4\n\t\t2014-05-02T15-27-25.090Z\n\t\t4928ab9d-6bf6-4035-ac01-38a061d0f5d9\n\t\tIMPORT_COMPLETE\n\t\t5000\n\t\t5000\n\t\t5000\n\t\n\t\n\t\t+11111111111\n\t\t2013-10-10T15-25-16.952Z\n\t\t8ce7c80b-d1ce-46f1-a3a1-56a08373b576\n\t\tVALIDATION_FAILED\n\t\t4670\n\t\t0\n\t\t4670\n\t\n\t\n\t\t+18177974679\n\t\t2014-04-10T16-54-04.001Z\n\t\t26afaae3-2a8b-4405-96aa-1c38fe1fb74b\n\t\tIMPORT_COMPLETE\n\t\t2358\n\t\t2358\n\t\t2358\n\t\n" + schema: + $ref: '#/components/schemas/Batches' + description: > + The response provides a list of batches that have been processed in + importing numbers into the account. + summary: List Import to Account orders batches + tags: + - Import Tn to Account + /accounts/{accountId}/importToAccount/batches/{batchId}: + get: + description: >- + A batchid identifies a specific batch of one or more orders that + constitute a complete import of a (potentially large number of) + Telephone Numbers. Retrieving the information associated with a + specific batch id describes the orders that were included in that batch, + and the status and id of those orders. + operationId: ReadImportToAccountOrdersByBatchId + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import To Account order's batch ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: batchId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: "\n\n\t\n\t\t+11111111111\n\t\t2014-05-02T15-27-25.090Z\n\t\t4928ab9d-6bf6-4035-ac01-38a061d0f5d9\n\t\tIMPORT_COMPLETE\n\t\t5000\n\t\t5000\n\t\t5000\n\t\n\t\n\t\t+11111111111\n\t\t2013-10-10T15-25-16.952Z\n\t\t8ce7c80b-d1ce-46f1-a3a1-56a08373b576\n\t\tVALIDATION_FAILED\n\t\t4670\n\t\t0\n\t\t4670\n\t\n\t\n\t\t+11111111111\n\t\t2014-04-10T16-54-04.001Z\n\t\t26afaae3-2a8b-4405-96aa-1c38fe1fb74b\n\t\tIMPORT_COMPLETE\n\t\t2358\n\t\t2358\n\t\t2358\n\t\n" + schema: + $ref: '#/components/schemas/Batches' + description: >- + The information has been successfully retrieved and displayed in the + payload. + summary: Fetch Import To Account orders status by batch id + tags: + - Import Tn to Account + /accounts/{accountId}/importToAccount/{orderId}: + get: + description: Retrieve information about a import to account order with specified ID. + operationId: ReadImportToAccountOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import To Account order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: "\n\n\t\n\t\n\t\t+19199918393\n\t\t+19199918394\n\t\n\t\n\t\t2014-04-18T16:38:05.001Z\n\t\t303716\n\t\t\n\t\t\tTestId1234\n\t\t\t2\n\t\t\tfalse\n\t\t\tfalse\n\t\t\tAvailable\n\t\t\t\n\t\t\t\tProtected\n\t\t\t\n\t\t\t\n\t\t\t\t+19199918393\n\t\t\t\t+19199918394\n\t\t\t\n\t\t\tBandwidth CLEC\n\t\t\n\t\t743\n\t\n\tCOMPLETE\n\t\n\t\t\n\t\t\t+19199918393\n\t\t\n\t\t\n\t\t\t+19199918394\n\t\t\n\t\n" + schema: + $ref: '#/components/schemas/ImportToAccountNumberOrderResponseForGet' + description: >- + The information has been successfully retrieved and displayed in the + payload. + summary: Fetch Import To Account order status + tags: + - Import Tn to Account + /accounts/{accountId}/importToAccount/{orderId}/history: + get: + description: Retrieves the history of the specified importToAccount order. + operationId: ReadImportToAccountOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Import to Account order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: "\n\n\t \n\t\t 2015-06-16T14:03:10.225Z\n\t\t Import to Account is received.\n\t\t admin\n\t\t RECEIVED\n\t \n\t \n\t\t 2015-06-16T14:03:10.789Z\n\t\t Import to Account is partial.\n\t\t admin\n\t\t PARTIAL\n\t \n " + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. + summary: Fetch Import to Account order history + tags: + - Import Tn to Account + /accounts/{accountId}/inserviceNumbers: + get: + description: >- + Retrieves a list of in-service phone numbers associated with the account + ID + operationId: ReadInserviceTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The `page` to fetch in a paginated collection + example: 1 + in: query + name: page + required: false + schema: + default: 1 + type: integer + - description: The number of TNs to retrieve + example: 300 + in: query + name: size + required: false + schema: + default: 300 + type: integer + - description: >- + An Area Code search filter - all returned TNs will be in the entered + Area Code + example: 919 + in: query + name: areacode + required: false + schema: + type: integer + - description: >- + An NPA NXX search filter - all returned TNs will be in the entered + NPA NXX dial plan + example: 919859 + in: query + name: npanxx + required: false + schema: + type: integer + - description: >- + A Rate Center search filter - all returned TNs will be in the + entered Rate Center. Typically this is a 3 or 5 digit value. + example: 435 + in: query + name: lata + required: false + schema: + type: integer + - description: >- + A State search filter - all returned TNs will be in the entered + State. This is a 2-character State or Province abbreviation. + example: TX + in: query + name: state + required: false + schema: + type: string + - description: >- + A Rate Center search filter - all returned TNs will be in the + entered Rate Center. This `ratecenter` must be combined with a + `state` in the query. If State is not included in the query then + the query will fail. + example: PLANO + in: query + name: ratecenter + required: false + schema: + type: string + - description: >- + The starting date of a date range that will filter numbers based on + activation or other change date. + example: yy-mm-dd + in: query + name: startdate + required: false + schema: + format: date + type: string + - description: The ending date of a date range + example: yy-mm-dd + in: query + name: enddate + required: false + schema: + format: date + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 59 + + ( a link goes here ) + + + 59 + +18043024183 + +18042121778 + +18042146066 + +18043814903 + +18043814905 + +18043814864 + +18043326094 + +18042121771 + +18043024182 + + +18043814900 + +18047672642 + +18043024368 + +18042147950 + +18043169931 + +18043325302 + + + schema: + $ref: '#/components/schemas/AccountTelephoneNumbersHistoryResponse' + description: A successful result that contains the response data. + '204': + content: + application/xml: {} + description: No Content - there are no numbers found using the search parameters + '404': + content: + application/xml: {} + description: >- + Not Found - The search parameters are invalid and prevent finding + any content + summary: Fetch in-service phone numbers + tags: + - In-service Numbers + /accounts/{accountId}/inserviceNumbers/totals: + get: + description: Returns the total number of in-service numbers for the given account. + operationId: ReadInserviceTnsCount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t 62\n" + schema: + $ref: '#/components/schemas/TelephoneNumberTotalsHistory' + description: >- + The request has been successfully retrieved and displayed in the + payload. + summary: Fetch in-service phone numbers count + tags: + - In-service Numbers + /accounts/{accountId}/inserviceNumbers/{tn}: + get: + description: >- + A GET on the number desired will return a 200 OK if the number is + in-service on the account, or a 404 not found. + operationId: ReadInserviceTn + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The telephone number to check + example: '+18043024183' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + description: >- + The telephone number is currently in-service. NOTE that there is no + payload; a 200 status simply means that the phone is indeed an + in-service number. + '404': + description: The telephone number is not currently in-service. + summary: Fetch in-service phone number. + tags: + - In-service Numbers + /accounts/{accountId}/lidbs: + get: + description: >- + The LIDBs Resource represents the requests made to the Bandwidth + Dashboard API to add or otherwise manage a request to add Calling Line + Information with a telephone number. This API allows the creation and + observation of a "Line Information Data Base (LIDB)" work order that + causes an update of a person's calling name identification in a network + Database. The entry of this information in the network database in turn + causes the display of their name on the phone of the people that they + call. + + + GET /accounts/{accountId}/lidbs API call is used to retrieve information + about outstanding LIDBs orders, and POST to create those orders. + Retrieve a list of the LIDB orders that are associated with the account. + A maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + operationId: ListLidbOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: | + A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: > + Checks the order's last modified date against this value. Orders + that have a modification date after this date will be included. + Format is yyyy-MM-dd + example: '2013-10-25' + in: query + name: lastModifiedAfter + required: false + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find Lidb Orders that were modified + within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find Lidb Orders that were modified within the + date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2122 + + 9999999 + 0 + 2014-02-25T16:02:43.195Z + lidb + 2014-02-25T16:02:43.195Z + abe36738-6929-4c6f-926c-88e534e2d46f + FAILED + + team_ua + + + + 9999999 + 0 + 2014-02-25T16:02:39.021Z + lidb + 2014-02-25T16:02:39.021Z + ba5b6297-139b-4430-aab0-9ff02c4362f4 + FAILED + team_ua + + + + schema: + $ref: '#/components/schemas/LidbOrderHistoryResponse' + description: >- + OK - a 200 OK indicates that there are LIDB orders associated with + the account. + + The 200 OK response payload provides a list of all LIDB orders that + have been issued against that account. + '404': + description: >- + NOT FOUND - if any errors are found in the processing of the query + string a 404 will be returned. Note that parameters that are not + recognized are not considered errors, and are just ignored. + summary: List LIDB orders + tags: + - LIDB + post: + description: >- + The LIDBs Resource represents the requests made to the Bandwidth + Dashboard API to add or otherwise manage a request to add Calling Line + Information with a telephone number. This API allows the creation and + observation of a "Line Information Data Base (LIDB)" work order that + causes an update of a person's calling name identification in a network + Database. The entry of this information in the network database in turn + causes the display of their name on the phone of the people that they + call. + + This API call supports GET to retrieve information about outstanding + LIDBs orders, and POST to create those orders. + + + Create a LIDB order to associate Calling Name Information with a TN or + list of TNs. + operationId: CreateLidbOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + [String] + + + + +18045030097 + +18045030098 + + Joes Garage + RESIDENTIAL + PUBLIC + + + + +18888595935 + + Joes Storage + RESIDENTIAL + PRIVATE + + + + schema: + $ref: '#/components/schemas/LidbOrder' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 1d863522-c9bf-430c-8e79-cc63cad04a1d + [String] + RECEIVED + + + +18888595935 + 11020 + Cannot add LIDB to a telephone number that already has LIDB or is in process + + + + + + +18045030097 + +18045030098 + + Joes Garage + RESIDENTIAL + PUBLIC + + + + +18888595935 + + Joes Storage + RESIDENTIAL + PRIVATE + + + + + schema: + $ref: '#/components/schemas/LidbOrderResponse' + description: >- + The 201 response indicates that an order has been created to monitor + and manage the request to establish a LIDB CNAME record registered + with the network. + + The location header in the response contains a URL that + refers to the created order, including an echo of the order as + requested. + + Errors in processing the request will be articulated in the + ErrorList component of the response. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 400 + Validation Failed. Please check your input parameters. + + + + 11007 + No visibility supplied. Visibility must be one of the following - PUBLIC, PRIVATE + + + + + + + +19199998830 + + Joes Garage + RESIDENTIAL + + + + + schema: + $ref: '#/components/schemas/LidbOrderErrorResponse' + description: >- + Bad Request + + A 400 Bad Request indicates that the processing of the request + payload has detected a syntactic error that prevents further + processing. No order is created under these conditions, and the + request must be corrected and re-submitted before an order can be + created. + + Error text and an error code will be provided in the ErrorList + element. + summary: >- + Create LIDB order - associate Calling Name Information with a TN or list + of TNs + tags: + - LIDB + /accounts/{accountId}/lidbs/{lidbid}: + get: + description: >- + The LIDBs Resource represents the requests made to the Bandwidth + Dashboard API to add or otherwise manage a request to add Calling Line + Information with a telephone number. This API allows the creation and + observation of a "Line Information Data Base (LIDB)" work order that + causes an update of a person's calling name identification in a network + Database. The entry of this information in the network database in turn + causes the display of their name on the phone of the people that they + call. + + This API call supports GET to retrieve information about outstanding + LIDBs orders, and POST to create those orders. + + + Retrieve information about a specific Lidb Order identified as the + resource. + + The LIDBs Resource represents the requests made to the Bandwidth + Dashboard API to add or otherwise manage a request to add Calling Line + Information with a telephone number. This API allows the creation and + observation of a "Line Information Data Base (LIDB)" work order that + causes an update of a person's calling name identification in a network + Database. The entry of this information in the network database in turn + causes the display of their name on the phone of the people that they + call. + + This API call supports GET to retrieve information about outstanding + LIDBs orders, and POST to create those orders. + operationId: ReadLidbOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Lidb order id + in: path + name: lidbid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + testCustomerOrderId + 255bda29-fc57-44e8-a6c2-59b45388c6d0 + 2014-05-28T14:46:21.724Z + RECEIVED + jbm + 2014-02-20T19:33:17.600Z + 2014-02-20T19:33:17.600Z + + + + + +14082213311 + + +18042105618 + Fred + BUSINESS + PRIVATE + + + + +14082212850 + +14082213310 + + +18042105760 + Fred + RESIDENTIAL + PUBLIC + + + + schema: + $ref: '#/components/schemas/LidbOrderResponsePayload' + description: > + The descriptive payload for the Lidb Orders query provides a broad + range of information about the Lidb Order identified in the URL. + Included amongst the information is: + + +
        + +
      • ErrorList - the errors discovered with codes and + explanations
      • + +
      • various dates
      • + +
      • ProcessingStatus(RECEIVED, PROCESSING, COMPLETE, PARTIAL, + FAILED) - the overall status of the order
      • + +
      • LidbTnGroups - list of LidbTnGroup elements that contains list + of TNs with SubscriberInformation, UseType(RESIDENTIAL or BUSINESS) + and Visibility (PUBLIC or PRIVATE)
      • + +
      + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/LidbOrderReportErrorResponse' + description: | +

      NOT FOUND - the order id does not exist in the system

      + summary: Fetch LIDB order status + tags: + - LIDB + /accounts/{accountId}/lnpchecker: + post: + description: >- + This API endpoint is used to check whether a number or set of numbers + can be ported into the Bandwidth Network. + + The fullcheck query parameter values control the components of the + response payload that is returned. + +

      Please visit Guides + and Tutorials to learn more.

      + operationId: RequestPortabilityInfo + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- +

      `fullCheck` controls the components of the response payload that + is returned

      + + + + + + + + + + + + + + + + + + + + +
      Parameter ValueDescription
      trueadditional information will be provided on the losing carriers associated with the listed numbers
      falsereturn only rate center information
      onnetportabilityProvides rate center and losing carrier information for onnet tiers only
      offnetportabilityin addition to on-net information return off-net port information in <PartnerSupportedRateCenters> element with Partner/Vendor that the port will be supported on. + Contains a list of the TNs that are supported in partner rate centers, and for which we will execute a port if requested +
      + + IMPORTANT: If your account supports off-net telephone numbers + (tiers other than tier zero), you MUST include query + parameter fullCheck=offnetportability in your /lnpchecker request. + Failure to do so will cause off-net telephone numbers to appear as + though they are not portable. + example: offnetportability + in: query + name: fullCheck + required: false + schema: + default: 'false' + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + +14109255199 + +14109235436 + +14104685864 + +14103431313 + +14103154313 + +14103431561 + +12174101103 + + + schema: + $ref: '#/components/schemas/NumberPortabilityRequest' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: >- + + + + AUTOMATED + + + + BALTIMORE + BALTIMORE + MD + 238 + + +14109255199 + +14104685864 + + + + SPARKSGLNC + SPARKS GLENCOE + MD + 238 + + +14103431313 + +14103431561 + + + + + + + FT COLLINS + FORT COLLINS + CO + 656 + + 1 + + + +14109235436 + + + + Level 3 + true + + BEASON + BEASON + IL + 366 + + 3 + + + +12174101103 + + + + + + 9998 + Test Losing Carrier L3 + false + false + 5 + + +14109255199 + +14104685864 + +14103431313 + +14103431561 + + + + 7482 + IntegraTelecom + false + false + 1 + + +12174101103 + + + + + + schema: + $ref: '#/components/schemas/NumberPortabilityResponse' + description: >- + A successful check has been performed. Note: For users of Enterprise + Telephony accounts SupportedLosingCarriers + + and UnsupportedLosingCarriers will be omitted from the success + output even when query parameter + + fullCheck has values of true, onnetportability, or + offnetportability. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7201 + +161746052083 is not a valid NANP telephone number. + + + 7201 + +161746052082 is not a valid NANP telephone number. + + + description: >- + Bad Response - there were errors in evaluating the body of the + request + + Potential errors include: + +
        +
      • Telephone number is not a 10-digit NANP number.
      • +
      • Telephone number is already being processed on another order.
      • +
      • Rate Center Not Present in Bandwidth Dashboard API.
      • +
      • Account not enabled for LNP.
      • +
      + summary: Request portability information for a set of TNs + tags: + - Porting + /accounts/{accountId}/lsrorders: + get: + description: >- + Retrieves a list of LSR oders. Various query parameters can be used to + filter the list of LSR Orders as documented below. A maximum of 1,000 + orders can be retrieved per request. If no date range or specific query + parameter (marked by * below) is provided, the + order results will be limited to the last two years. + + Please visit Guides and + Tutorials + operationId: ListLsrOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the LSR order being searched for. + example: EXCEPTION + in: query + name: status + required: false + schema: + items: + type: string + type: array + - description: A Telephone Number (TN) that is referenced in the order. + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: The PON that is referenced in the LSR order. + example: Available + in: query + name: pon + required: true + schema: + type: string + - description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the port. + example: ABCCorp12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: >- + This search parameter represents the internal Bandwidth Dashboard + API ID that has been assigned to the LSR Order. This parameter is + the first few characters of the internal ID - the entire ID does not + need to be specified. + example: ed1c0bed-e2 + in: query + name: orderIdFragment + required: true + schema: + type: string + - description: > + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2015-10-22' + in: query + name: createdDateFrom + required: false + schema: + format: date + type: string + - description: > + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2015-10-25' + in: query + name: createdDateTo + required: false + schema: + format: date + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find LSR Orders that were modified + within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find LSR Orders that were modified within the + date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 5 + + 9999999 + 2 + FineCustomerid + team_ua + 2015-03-02T09:10:16.193Z + lsr + 2015-03-25T11:44:42.941Z + PENDING + 2015-03-25 + +12526795000 + lsrOnlyUser + 7d644c88-ef23-4307-96ab-20253666d0c7 + ATT-011515-324234 + 0 + 2015-11-15 + + + + 9999999 + 2 + MyId5 + 2015-03-03T14:07:19.926Z + lsr + 2015-03-25T11:44:42.941Z + FAILED + + + 17008 + + FOC date cannot fall on a holiday + + + + 2015-03-25 + +12526795000 + lsrOnlyUser + 00cf7e08-cab0-4515-9a77-2d0a7da09415 + testpon1002 + 0 + 2015-11-15 + + + schema: + $ref: '#/components/schemas/LsrOrderHistoryResponse' + description: >- + The LSR orders have been successfully retrieved and displayed in the + payload. + '404': + description: >- + Not Found. If any errors are found in the processing of the query + string a 404 will be returned. Note that parameters that are not + recognized are not considered errors, and are just ignored. + summary: List LSR orders + tags: + - Porting + post: + description: >- + A POST creates a LSR order request to initiate a port-out action. + + Please visit Guides and + Tutorials + operationId: CreateLsrOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + ATT-011515-324234 + FineCustomerid + 123C + +19192381468 + 2015-11-15 + Jim Hopkins + + BUSINESS + BusinessName + + 11 + Park + Ave + New York + NY + 90025 + + 123463 + 1231 + + + + +19192381468 + +19192381467 + + + schema: + $ref: '#/components/schemas/LsrOrder' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + afce454a-4e89-4753-9f58-a442ebc7b142 + FineCustomerid + team_ua + 2015-02-06T12:57:45.607Z + 0 + 9999999 + 123C + 2015-02-09T13:07:57.286Z + 0 + team_ua + PENDING + +19192381468 + ATT-011515-324234 + 8 + 2015-02-25 00:00:00 + Jim Hopkins + + BUSINESS + BusinessName + 123463 + 1231 + + 11 + Park + Ave + New York + NY + 90025 + United States + + + + +19192381468 + +19192381467 + +19192381469 + + + + schema: + $ref: '#/components/schemas/LsrOrderResponse' + description: >- + The 201 response indicates that LSR order request has been + successfully created. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 400 + Lsr order doesn't pass validation. Please check your input parameters. + + + + 7324 + The business name is too long. The business name should not be longer than 25 characters. + + + 7318 + Customer order ID is invalid. Only alphanumeric values, dashes and spaces are allowed. Max length is 40 characters. + + + 7203 + The billing telephone number (BTN) is invalid + + + 16005 + Toll-free telephone numbers can be present in the lsr order. + + + 16009 + Lsr order contain duplicate telephone numbers: [+19192381468, +19192381468] + + + 16002 + Order contains invalid tns: [+18882381468]. + + + + WrongCustomerOrderIdLogerThan40AndContains$%SpecSimbols + team_ua + 2015-02-06T12:57:45.607Z + 0 + team_ua + FAILED + 919238466 + ATT-011515-324234%$ + Jim Hopkins + + BUSINESS + LongerThan25CharacterBusinessName + 123463 + 1231 + + 11 + Park + Ave + New York + NY + 90025 + United States + + + + +19192381468 + +19192381468 + +19192381468 + + + + schema: + $ref: '#/components/schemas/LsrOrderErrorResponse' + description: >- + Bad request shows that LSR order request does not pass validation. + Fror more info see LsrOrderErrors section in response. + summary: Create LSR order - initiate a port-out action + tags: + - Porting + /accounts/{accountId}/lsrorders/{orderId}: + get: + description: >- + Retrieves the information associated with the specified LSR ID number. + + Please visit Guides and + Tutorials + operationId: ReadLsrOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + example: 255bda29-fc57-44e8-a6c2-59b45388c6d0 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + MyId5 + System + 2015-03-03T13:54:00.450Z + 9999999 + 00cf7e08-cab0-4515-9a77-2d0a7da09415 + 2015-03-03T14:07:19.926Z + FAILED + 123C + +19192381468 + testpon1002 + 0 + 2015-11-15 + Jim Hopkins + + BUSINESS + BusinessName + 123463 + 1231 + + 11 + Park + Ave + New York + NY + 90025 + + + + +19192381467 + +19192381468 + + + + 17008 + + FOC date cannot fall on a holiday + + + + 2 + + schema: + $ref: '#/components/schemas/LsrOrderResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + summary: Fetch LSR order status + tags: + - Porting + put: + description: >- + Updates the information associated with the specified LSR. + + Please visit Guides and + Tutorials. This is also used to cancel an order, by changing the + order status field to cancelled. This is the only case where the status + can be changed, and when this is done, all other fields are left as they + were prior to the cancellation. + operationId: UpdateLsrOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: LSR ID + example: '1234567' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + Canceled state Response: + value: |- + + + CANCELLED + + + Simple response: + value: |- + + + FineCustomerid + 123C + +19192381468 + 2015-11-15 + Jim Hopkins + + BUSINESS + BusinessName + + 11 + Park + Ave + New York + NY + 90025 + + 123463 + 1231 + + + schema: + $ref: '#/components/schemas/LsrOrder' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + FineCustomerid + team_ua + 2015-03-11T10:08:23.961Z + 9999999 + 63fb728d-421b-46ce-8c32-da30b909934d + 2015-03-11T10:08:59.832Z + PENDING + 123C + +19192381468 + ATT-011515-324234 + 8 + 2015-11-15 + Jim Hopkins + + BUSINESS + BusinessName + 123463 + 1231 + + 11 + Park + Ave + New York + NY + 90025 + + + + +19192381468 + + + 1 + + + schema: + $ref: '#/components/schemas/LsrOrderResponse' + description: LSR has been successfully updated. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 400 + Lsr order doesn't pass validation. Please check your input parameters. + + + + 17023 + The authorizing person contact is required for lsr orders. + + + 17020 + Account SPID [1234] does not match with SPID specified in the LSR order [123C]. + + + + 1 + 63fb728d-421b-46ce-8c32-da30b909934d + FAILED + Jim Hopkins + 123C + +19192381468 + ATT-011515-324234 + 8 + 2015-11-15 + + BUSINESS + BusinessName + 123463 + 1231 + + 11 + Park + Ave + New York + NY + 90025 + United States + Service + + + + +19192381468 + + team_ua + 2015-03-11T10:08:23.961Z + 9999999 + team_ua + FineCustomerid + 2015-03-11T10:08:59.832Z + + + schema: + $ref: '#/components/schemas/LsrOrderErrorResponse' + description: Validation error occurred. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 5035 + lsr order 63fb728d-421b-46ce-8c32-da30b909934s not found. + + + schema: + $ref: '#/components/schemas/LsrOrderNotFoundResponse' + description: Requested LSR not found. + summary: Update LSR order + tags: + - Porting + /accounts/{accountId}/lsrorders/{orderId}/history: + get: + description: >- + Retrieves the history of the specified LSR order. + + Please visit Guides and + Tutorials + operationId: ReadLsrOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: LSR ID + example: 00cf7e08-cab0-4515-9a77-2d0a7da09415 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2015-03-02T15:36:31.835Z + LSR has been received by the system and is being processed + lsrOnly + PENDING + + + 2015-03-02T15:37:33.457Z + Port-out date has been set + FOC + ActualFocDate : "" --> 2015-06-27 + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/LsrOrderNotFoundResponse' + description: | + NOT FOUND - the order id does not exist in the system + summary: Fetch LSR order history + tags: + - Porting + /accounts/{accountId}/lsrorders/{orderId}/notes: + get: + description: >- + Retrieve all notes associated with the order. + + Please visit Guides and + Tutorials + operationId: ListLsrOrderNotes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: LSR ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87037 + jbm + This is a test note + 2014-11-16T04:01:10.000Z + + + 87039 + smckinnon + This is a second test note + 2014-11-16T04:08:46.000Z + + + schema: + $ref: '#/components/schemas/NotesResponse' + description: >- + OK - there are Notes associated with the order, and they have been + returned in the response. + '204': + content: + application/xml: + schema: + $ref: '#/components/schemas/NotesResponse' + description: >- + No Content - there are no Notes associated with the order. Since + the notes resource is an aggregate rather than addressed resource + the generic no content response is used, rather than a 404 as would + be used if the resource was addressed with an identifier + summary: Fetch LSR order notes + tags: + - Porting + post: + description: >- + Updates the Notes resource by adding a note. Adding a note to a port-in + norder causes a notification to be sent to Bandwidth Operations, so that + they may nassist as necessary. A note may be up to 500 characters in + length. + + Please visit Guides and + Tutorials + operationId: CreateLsrOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: LSR ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '201': + content: + application/xml: {} + description: > + CREATED - the note has been created and added to the collection of + notes associated with the order. A link to the note is included in + the Location header of the response. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been created because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Create LSR order note + tags: + - Porting + /accounts/{accountId}/lsrorders/{orderId}/notes/{noteId}: + put: + description: >- + Update a specified note. Notes may only be updated, not deleted. + + Please visit Guides and + Tutorials + operationId: UpdateLsrOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: LSR ID + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: orderId + required: true + schema: + type: string + - description: Note ID + example: '123' + in: path + name: noteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '200': + content: + application/xml: {} + description: | + OK - note has been updated. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been updated because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Update LSR order note + tags: + - Porting + /accounts/{accountId}/moveTns: + get: + description: >- + Retrieves the moveTns orders for the given account ID. A maximum of + 1,000 orders can be retrieved per request. If no date range or specific + query parameter is provided, the order results will be limited to the + last two years + operationId: ReadMoveTnsOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the moveTnsOrder being searched for + example: PARTIAL + in: query + name: status + required: false + schema: + type: string + - description: A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the importTnOrder + example: ABCCorp12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2022-03-20' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2022-03-23' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find Import Tn Orders that were + modified within the date range. It is in the form yyyy-MM-dd + example: '2022-03-20' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find Import Tn Orders that were modified within + the date range. It is in the form yyyy-MM-dd + example: '2022-03-23' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 1234567 + 15 + 1 + CustomerOrderId + systemUser + 2022-01-24T11:08:09.770Z + 2022-01-24T11:08:09.770Z + move_tn_orders + COMPLETE + 211a103c-5f9c-4117-8833-c574bdc390fd + + + 14 + 15 + 2 + CustomerOrderId + systemUser + 2022-01-24T10:43:16.934Z + 2022-01-24T10:43:16.934Z + move_tn_orders + PARTIAL + 8dc32f09-2329-4c73-b702-526f46b02712 + + + schema: + $ref: '#/components/schemas/MoveTnsOrders' + description: >- + The descriptive payload for the moveTnsOrder query provides + information about the orders found by the query, including the data + associated with the order, the state of the order, and a list of the + successfully imported Telephone Numbers, and description of any + encountered errors + summary: List Move Telephone Numbers orders + tags: + - Move Tns + post: + description: >- + Creates a MoveTnsOrder request to move numbers to the given site ID and + sippeer ID as specified in the body. A successfully submitted order will + have a status of "RECEIVED". + + A successfully completed order will have a status of "COMPLETE" if all + of the telephone numbers were successfully moved and "PARTIAL" if some + of the telephone numbers were moved. A failed order will have a status + of "FAILED" and no telephone numbers would have been moved.

      + + +

      Numbers can be moved to sites/sippeers of a different account (if the + user has access to both accounts and the proper roles). This can be done + by specifying the SourceAccountId parameter. The user can also specify + how to handle E911 service on the number (if it exists) using the + optional e911ServiceAction parameter + operationId: CreateMoveTnsOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + 12346159 + move + 743 + 303716 + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/MoveTnsOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + 2020-09-15T16:36:22.076Z + 9999999 + 6555555 + systemUser + 093a9f9b-1a78-4e47-b6e2-776a484596f4 + 2020-09-15T16:36:22.096Z + 483 + + +12032081004 + +12032081005 + + RECEIVED + 500025 + + + schema: + $ref: '#/components/schemas/MoveTnsOrderResponse' + description: >- + The order has been created. An order ID will be specified in the + payload and header + '400': + content: + application/xml: + examples: + example: + value: |- + + + FAILED + + 7309 + The site id was not supplied or is invalid. + + + 7312 + The sippeer id is invalid. + + + description: >- + The order failed. One of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList element + summary: Move Telephone Numbers + tags: + - Move Tns + /accounts/{accountId}/moveTns/{orderId}: + get: + description: Retrieve information about a MoveTnsOrder with specified ID + operationId: ReadMoveTnsOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Move Telephone Numbers order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2020-08-10T02:58:04.615Z + 9900012 + 9900013 + jdb + bf1305b8-8998-1111-2222-51ba3ce52d4e + 123-456-789-abc + 2018-01-09T02:58:05.298Z + 65487 + 885544 + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/MoveTnsOrderPayload' + description: >- + The information has been successfully retrieved and displayed in the + payload + summary: Fetching Move Telephone Numbers order status + tags: + - Move Tns + /accounts/{accountId}/moveTns/{orderId}/history: + get: + description: Retrieves the history of the specified MoveTnsOrder + operationId: ReadMoveTnsOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Move Telephone Numbers order's ID + example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2020-09-17T08:56:39.607Z + Move TNs order has been received by the system. + admin + received + + + 2020-09-17T08:56:39.743Z + Move TNs order processing has started. + admin + processing + + + 2020-09-17T08:56:39.820Z + Move TNs order is complete. + admin + complete + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload + summary: Fetching Move Telephone Numbers order history + tags: + - Move Tns + /accounts/{accountId}/numbersAssignment: + get: + description: >- + Retrieve a list of the TelephoneNumbersAssignment orders that are + associated with the account. A maximum of 1,000 orders can be retrieved + per request. If no date range or specific query parameter is provided, + the order results will be limited to the last two years. + operationId: ReadTelephoneNumbersAssignmentOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The status of the TelephoneNumbersAssignment order being searched + for. COMPLETE, PARTIAL, and FAILED are 'terminal' states indicating + that the order has finished all processing. + example: PARTIAL + in: query + name: status + required: false + schema: + items: + enum: + - COMPLETE + - PARTIAL + - FAILED + type: string + type: array + - description: A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + required: false + schema: + type: string + - description: >- + The Customer Order ID is an ID assigned by the account owner to + provide a reference number for the TelephoneNumbersAssignment order. + example: ABCCorp12345 + in: query + name: customerOrderId + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2013-10-22' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2013-10-25' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + This search parameter represents the internal Bandwidth Dashboard + API ID that has been assigned to the TelephoneNumbersAssignment + Order. This parameter is the first few characters of the internal + ID - the entire ID does not need to be specified. + example: ed1c0bed-e2 + in: query + name: orderIdFragment + required: false + schema: + type: string + - description: >- + Whether or not the results should be restricted to ASSIGNED or + UNASSIGNED assignment actions. + example: ASSIGNED + in: query + name: action + required: false + schema: + enum: + - ASSIGNED + - UNASSIGNED + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find TelephoneNumbersAssignment + Orders that were modified within the date range. It is in the form + yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find TelephoneNumbersAssignment Orders that + were modified within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + application/xml: + description: application/xml + value: "\n\n\t 3\n\t \n\t\t \n\t\t 1\n\t\t 4\n\t\t jbm\n\t\t 2016-01-15T11:36:52.727Z\n\t\t NUMBERS_ASSIGNMENT_ORDER\n\t\t COMPLETE\n\t\t ASSIGN\n\t\t 65e03a35-6b97-48a5-8126-f47bad02df2a\n\t \n\t \n\t\t 1\n\t\t 4\n\t\t 1\n\t\t jbm\n\t\t 2016-01-15T11:36:26.633Z\n\t\t NUMBERS_ASSIGNMENT_ORDER\n\t\t PARTIAL\n\t\t ASSIGN\n\t\t d8f5abc0-1a4c-4c36-b387-93fb5b430784\n\t \n\t \n\t\t 1\n\t\t ICPA123ABC\n\t\t 4\n\t\t jbm\n\t\t 2016-01-15T12:36:26.633Z\n\t\t NUMBERS_ASSIGNMENT_ORDER\n\t\t FAILED\n\t\t ASSIGN\n\t\t d8f5abc0-b387-4c36-48a5-f47bad02df2a\n\t \n" + schema: + $ref: >- + #/components/schemas/TelephoneNumbersAssignmentOrderHistoryResponse + description: >- + The descriptive payload for the TelephoneNumbersAssignment Orders + query provides information about the TelephoneNumbersAssignment + Orders, including the data associated with the order, the state of + the order, and a list of the successfully uploaded Telephone + Numbers, and descriptions of any encountered errors. + '400': + description: >- + Bad Request
      If any errors are found in the processing of the + query string a 400 will be returned. Note that parameters that are + not recognized are not considered errors, and are just ignored. + summary: List Telephone Numbers Assignment Orders + tags: + - Numbers Assignment + post: + description: >- + Create a TelephoneNumbersAssignment order to register the assignment + status of a list of telephone numbers. + operationId: CreateTelephoneNumbersAssignmentOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + ICPA123ABC + [ ASSIGN | UNASSIGN ] + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/TelephoneNumbersAssignmentOrder' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t 2016-01-15T11:36:52.727Z\n\t 1\n\t jbm\n\t 65e03a35-6b97-48a5-8126-f47bad02df2a\n\t PARTIAL\n\t 4\n\t 1\n\t \n\t\t ICPA123ABC\n\t\t ASSIGN\n\t\t \n\t\t\t +19199918388\n\t\t\t +14158714245\n\t\t\t +14352154439\n\t\t\t +14352154466\n\t\t \n\t \n\t \n\t\t \n\t\t\t 5076\n\t\t\t Number does not belong to this account.\n\t\t\t \n\t\t\t\t +19199918388\n\t\t\t \n\t\t \n\t \n " + schema: + $ref: '#/components/schemas/TelephoneNumbersAssignmentOrderResponse' + description: Created
      A 201 response indicates that an order has been created. + '400': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t \n\t\t 13554\n\t\t Assignment action is invalid. Valid values ASSIGN, UNASSIGN\n\t \n " + schema: + $ref: >- + #/components/schemas/TelephoneNumbersAssignmentOrderErrorResponse + description: >- + Bad Request
      A 400 response Indicates that the order could not + be created. + + Error text and an error code will be provided in the ErrorList + element. + summary: Telephone Numbers Assignment Order + tags: + - Numbers Assignment + /accounts/{accountId}/numbersAssignment/{orderId}: + get: + description: >- + Retrieve information about a TelephoneNumbersAssignment order with + specified ID. + operationId: ReadTelephoneNumbersAssignmentOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Telephone Numbers Assignment order id + example: 59e69657-44d2-4e7e-90f8-777988be4aef + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t 2016-01-15T11:36:52.727Z\n\t 1\n\t jbm\n\t 65e03a35-6b97-48a5-8126-f47bad02df2a\n\t PARTIAL\n\t 4\n\t 1\n\t \n\t\t ICPA123ABC\n\t\t ASSIGN\n\t\t \n\t\t\t +19199918388\n\t\t\t +14158714245\n\t\t\t +14352154439\n\t\t\t +14352154466\n\t\t \n\t \n\t \n\t\t \n\t\t\t 5076\n\t\t\t Number does not belong to this account.\n\t\t\t \n\t\t\t\t +19199918388\n\t\t\t \n\t\t \n\t \n " + schema: + $ref: '#/components/schemas/TelephoneNumbersAssignmentOrderResponse' + description: >- + The descriptive payload for the TelephoneNumbersAssignment query + provides a broad range of information about the + TelephoneNumbersAssignment order identified in the URL. + '404': + content: + application/xml: + examples: + example: + description: example + value: "\n\n\t \n\t\t The resource does not exist\n\t \n " + schema: + $ref: >- + #/components/schemas/TelephoneNumbersAssignmentOrderErrorResponse + description: NOT FOUND - the order id does not exist in the system + summary: Fetching Telephone Numbers Assignment Order status + tags: + - Numbers Assignment + /accounts/{accountId}/orders: + get: + description: >- + GET is used to retrieve order ids and order details for previously + attempted Telephone Number orders. A maximum of 1,000 orders can be + retrieved per request. If no date range or specific query parameter + (marked by * below) is provided, the order + results will be limited to the last two years.

      Please visit Guides and + Tutorials to learn more.

      + operationId: ListOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + All Order retrievals must be paginated, using page and size + indicators. The page parameter contains the order-id that is to + start the page, or "1" in the case of the first page + example: cbdcfc94-81b1-4ce9-8b6d-f8d6b85381ba + in: query + name: page + required: true + schema: + type: string + - description: >- + The size parameter indicates the number of orders to return in the + payload + example: 20 + in: query + name: size + required: true + schema: + type: integer + - description: The order ID that the Customer / Account assigned to the Order + example: ORD12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: The status of the orders that should be in the returned set + example: BACKORDERED + in: query + name: status + required: false + schema: + type: string + - description: The userid of the user that submitted the new number order + example: user@customer.com + in: query + name: userid + required: false + schema: + type: string + - description: >- + The first day of the search date range for a date-range-limited + search of net number orders. The format is YY-MM-DD + example: 13-12-15 + in: query + name: startdate + required: false + schema: + format: date + type: string + - description: >- + The last day of the search date range for a date-range-limited + search of net number orders. The format is YY-MM-DD + example: 13-12-31 + in: query + name: enddate + required: false + schema: + format: date + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 122 + + + + + + + + + + 1 + 2013-12-20T06 + 2013-12-20T06 + c5d8d076-345c-45d7-87b3-803a35cca89b + COMPLETE + + + + VA + 1 + + + + + 1 + LADYSMITH + + + + + LADYSMITH + 1 + + + + + 0 + 1 + + + + + 49 + Bandwidth CLEC + 1 + + + + bwc_user + + + 0 + 2013-11-05T17 + 2013-11-05T17 + 27da9f39-81f3-44ed-80ce-05ddf2db612d + FAILED + wandedemo_user + + + 1 + 2013-12-11T20 + 2013-12-11T20 + 2bab589e-2cda-453b-9999-8f35441d4a1a + COMPLETE + + + + bwc_user + + + + schema: + $ref: '#/components/schemas/TnOrderHistoryResponse' + description: >- + The Order retrieval request will return a list of the orders that + match the criteria imposed by the provided query parameters. The + orders list contains a detailed description of the order. Notice + that the first elements of the payload provide link information that + can be used to page through a paginated list of orders. Pagination + can be controlled by use of the size and page query parameters + '400': + description: >- + Bad Request - malformed Query Parameters can result in a 400 Bad + request + '404': + description: >- + Not Found - returned if the retrieval request cannot be satisfied, + either because the order id cannot be found or the order id is not + recognized + summary: List Telephone Number orders + tags: + - Orders + post: + description: >- + A POST creates a request for Telephone Numbers + +
      + + A POST on the /orders resource is used to request that the system + provide one or more TNs for use by the account. The post creates a new + number order record to preserve the request, as well as the response of + the Bandwidth Dashboard API to the request. A well-formed POST on the + /orders resource will create an order record, and return an order-id + string that can be used to uniquely identify the new number order + request.

      Please visit Guides and + Tutorials to learn more.

      + operationId: CreateOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + AreaCodeSearchAndOrderType: + description: >- + Allowed ranges ~ [2-9] for the first digit and [0, 9] for both + the second and third digits. + value: |- + + + 123456789 + Area Code Order + false + + 435 + 1 + + true + 743 + + CitySearchAndOrderType: + description: Specify the City and State to be ordered from. + value: |- + + + 123456789 + Area Code Order + false + + 1 + RALEIGH + NC + + true + 743 + + CombinedSearchAndOrderType: + description: >- + Specify the any combination of: AreaCode, RateCenter, State, + NpaNxx, NpaNxxX, Lata, City, Zip. But with following + limitations: AreaCode, NpaNxx and NpaNxxX are mutually + exclusive, LCA search is supported only for one of the + following criteria: NpaNxx, NpaNxxX, RateCenter and State. If + City or RateCenter is specified, then State is required. + value: |- + + + 123456789 + Area Code Order + false + + 1 + 617 + RALEIGH + NC + 919439 + 9194391 + 224 + RALEIGH + 27606 + false + + true + 743 + + CombinedSearchAndOrderType (local vanity): + description: >- + Specify AreaCode and LocalVanity to order telephone numbers + matching a specific alphanumeric pattern between 4 and 7 + characters long. + + Limitations: AreaCode is always required. No parameter + combinations are allowed here/ This order type is unsupported + with BackOrderRequested=true. + value: |- + + + 123456789 + Local Vanity Order + + 617 + newcars + 1 + false + + 743 + + CombinedSearchAndOrderType (protected status): + description: CombinedSearchAndOrderType with established Protected status + value: |- + + + 123456789 + Area Code Order + false + + 919439 + RALEIGH + NC + false + 1 + + + Protected + External + Imported + + true + 743 + + ExistingTelephoneNumberOrderType: + description: >- + Order a set of numbers known to be available. This often + results if the numbers have been found using a separate + availableNumbers search. If the numbers have previously been + reserved, a reservation id must be included + value: |- + + + 123456789 + Existing Number Order + + + +19193752369 + +19193752720 + +19193752648 + + + [GUID] + [GUID] + + + 743 + + General: + description: The 'wrapper' Request Payload' + value: |- + + + SJM00001 + + 202 + 518824 + + + LATASearchAndOrderType: + description: Specify the LATA to order telephone numbers from. + value: |- + + + 123456789 + Area Code Order + false + + 1 + 224 + + true + 743 + + NPANXXSearchAndOrderType: + description: >- + Specify the NpaNxx combination to be ordered. Valid Npa values + ~ [2-9] for the first digit, and [0-9] for both the second and + third digits. Valid Nxx values ~ [2-9] for the first digit, + and [0-9] for both the second and third digits. A similar + approach is viable for NPANXXXX. The EnableLCA flag turns LCA + search on or off. + + + Limitations: + + These order types are unsupported with BackOrderRequested=true + value: |- + + + 123456789 + Area Code Order + false + + 919439 + true + false + 1 + + true + 743 + + RateCenterSearchAndOrderType: + description: Specify the Rate Center and the State. + value: |- + + + 123456789 + Area Code Order + false + + RALEIGH + NC + 1 + + true + 743 + + StateSearchAndOrderType: + description: Specify the State to be searched for telephone numbers. + value: |- + + + 123456789 + Area Code Order + false + + 1 + NC + + true + 743 + + TollFreeVanitySearchAndOrderType: + description: >- + Specify a Toll Free Vanity search, where the numbers ordered + match a specific alphanumeric pattern between 4 and 7 + characters long. + value: |- + + + 123456789 + Area Code Order + false + + 1 + newcars + + true + 743 + + TollFreeWildCharSearchAndOrderType: + description: >- + Specify the Toll Free wild card pattern. To be ordered, + comprised of 3 digits beginning with '8'. Examples are 8**, + 87*, etc. + value: |- + + + 123456789 + Area Code Order + false + + 1 + 8** + + true + 743 + + ZIPSearchAndOrderType: + description: Specify the Zip Code to be ordered from. + value: |- + + + 123456789 + Area Code Order + false + + 1 + 27606 + + true + 743 + + schema: + oneOf: + - $ref: '#/components/schemas/ExistingTelephoneNumberOrder' + - $ref: '#/components/schemas/RateCenterSearchAndOrder' + - $ref: '#/components/schemas/AreaCodeSearchAndOrder' + - $ref: '#/components/schemas/NPANXXSearchAndOrder' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder' + - $ref: '#/components/schemas/LATASearchAndOrder' + - $ref: '#/components/schemas/ZIPSearchAndOrder' + - $ref: '#/components/schemas/CitySearchAndOrder' + - $ref: '#/components/schemas/StateSearchAndOrder' + - $ref: '#/components/schemas/CombinedSearchAndOrder' + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 123456789 + 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + Zip Order + 2014-07-11T17:13:57.788Z + false + + 1 + 27606 + + + Protected + External + Imported + + true + 3013 + + + schema: + $ref: '#/components/schemas/TnOrderCreatedResponse' + description: An Order has been successfully placed + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 5016 + The SiteId submitted is invalid. + + + + 123456789 + Area Code Order + 2014-07-08T14:29:13.174Z + false + + 435 + 1 + + + Protected + External + Imported + + true + 763 + + + schema: + $ref: '#/components/schemas/TnOrderBadResponse' + description: One or more of the input parameters are invalid + summary: Create Telephone Number orders + tags: + - Orders + /accounts/{accountId}/orders/totals: + get: + description: Retrieves a total number of tn orders. + operationId: getTotalOrdersByStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - in: query + name: status + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 122 + + + schema: + $ref: '#/components/schemas/TnOrderHistoryResponse' + description: '' + summary: Get New Number Order TN Count Totals + tags: + - Orders + /accounts/{accountId}/orders/{orderId}: + get: + description: >- + GET all of the details associated with an identified order.

      Please + visit Guides and + Tutorials to learn more.

      + operationId: RetrieveOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + - description: >- + if true, and extended payload describing details about the ordered + telephone numbers will be provided + example: true + in: query + name: tndetail + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + jbm + 2014-01-06T19:09:44.027Z + 2014-01-06T19:09:44.041Z + + 123456789 + Area Code Order + 2014-01-06T19:09:43.695Z + 303716 + false + + 804 + 1 + + + Protected + External + Imported + + true + 743 + + COMPLETE + + + +18042105666 + + + 0 + + schema: + $ref: '#/components/schemas/TnOrderUpdatedResponse' + description: '' + summary: Fetch Telephone Number order details + tags: + - Orders + put: + description: >- + With the introduction of Backorder capabilities, new number orders may + stay in backordered state while the order is filled. While in this state + it is possible to update the modifiable fields in the record, as well as + to request that backorder processing of the order be ended. + + The fields that can be updated are... + + +
        + +
      • The order name
      • + +
      • The customer order id
      • + +
      • The backordered state.
      • + +
      + + + Specifying a <CloseOrder> value of true will cancel the backorder + request, leaving the currently ordered numbers on the account. No + further numbers will be added to the account as a result of the order. +

      Please visit Guides and + Tutorials to learn more.

      + operationId: UpdateOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: >- + + + + Available Telephone Number order + 123456789 + + true + + schema: + $ref: '#/components/schemas/OrderUpdate' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + schema: {} + description: >- + The order has been successfully updated. The payload contains no + content, but a 200 OK indicates success + '400': + description: The request payload is invalid + '404': + description: The order-id cannot be found + summary: Update Telephone Number order + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/areaCodes: + get: + description: >- + Retrieves the area codes of the phone numbers from the specified order. +

      Please visit Guides and + Tutorials to learn more.

      + operationId: ListOrderAreaCodes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 888 + 1 + + + schema: + $ref: '#/components/schemas/TelephoneDetailsAreaCodes' + description: '' + summary: List Telephone Number order area codes + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/history: + get: + description: >- + Retrieve the history information associated with an order.

      Please + visit Guides and + Tutorials to learn more.

      + operationId: RetrieveOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2014-05-20T14:21:43.937Z + Order backordered - awaiting additional numbers + System + BACKORDERED + + + 2014-05-20T14:24:43.428Z + Order backordered - awaiting additional numbers + System + BACKORDERED + CustomerOrderId : "" --> hello + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history payload is a set of history records, each of which + contains: + + +
        + +
      • the event date and time
      • + +
      • a message describing the event
      • + +
      • the user causing the event
      • + +
      • the order status at the time of the event
      • + +
      + + + In the case of an order with no events other than creation, the + payload will be empty + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/ErrorResponse' + description: NOT FOUND - the order id does not exist in the system. + summary: Retrieve Telephone Number order history + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/notes: + get: + description: >- + Retrieve all notes associated with the order.

      Please visit Guides and + Tutorials to learn more.

      + operationId: ListOrderNotes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87037 + jbm + This is a test note + 2014-11-16T04:01:10.000Z + + + 87039 + smckinnon + This is a second test note + 2014-11-16T04:08:46.000Z + + + schema: + $ref: '#/components/schemas/OrderNotesResponse' + description: >- + OK - there are Notes associated with the order, and they have been + returned in the response + '204': + description: >- + No Content - there are no Notes associated with the order. Since the + notes resource is an aggregate rather than addressed resource the + generic no content response is used, rather than a 404 as would be + used if the resource was addressed with an identifier. + summary: List Telephone Number order notes + tags: + - Orders + post: + description: >- + Updates the Notes resource by adding a note. Adding a note to order + causes a notification to be sent to Bandwidth Operations, so that they + may assist as necessary. A note may be up to 500 characters in length. +

      Please visit Guides and + Tutorials to learn more.

      + operationId: CreateOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '201': + description: >- + CREATED - the note has been created and added to the collection of + notes associated with the order. A link to the note is included in + the Location header of the response. No body is returned. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been created because the payload is + incomplete or in error. An error payload is provided in the + response + summary: Create Telephone Number order note + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/notes/{noteId}: + put: + description: >- + Update a specified note. Notes may only be updated, not deleted. +

      Please visit Guides and + Tutorials to learn more.

      + operationId: UpdateOrderNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + - description: Note ID + example: '123' + in: path + name: noteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + userId + note text + + schema: + $ref: '#/components/schemas/Note' + responses: + '200': + description: OK - note has been updated. No body is returned. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been updated because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Update Telephone Number order note + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/npaNxx: + get: + description: >- + Retrieves the Npa-Nxx of the phone numbers from the specified order. +

      Please visit Guides and + Tutorials to learn more.

      + operationId: ListOrderNpaNxx + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 888424 + 1 + + + schema: + $ref: '#/components/schemas/TelephoneDetailsNpaNxx' + description: '' + summary: List Telephone Number order Npa-Nxx + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/tns: + get: + description: >- + Returns a list of phone numbers associated with the ID of a given + Telephone Number order.

      Please visit Guides and + Tutorials to learn more.

      + operationId: ListOrderTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + +18042105666 + + schema: + $ref: '#/components/schemas/OrderTelephoneNumbersResponse' + description: '' + summary: List Telephone Number order tns + tags: + - Orders + /accounts/{accountId}/orders/{orderId}/totals: + get: + description: >- + Retrieves the total quantity of phone numbers from the specified + Telephone Number order.

      Please visit Guides and + Tutorials to learn more.

      + operationId: RetrieveOrderTotals + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Order id + example: 34adcd9f-2c4a-4631-9dae-d1f318ed57bc + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 1 + + + schema: + $ref: '#/components/schemas/TelephoneDetailsTotals' + description: '' + summary: Fetch Telephone Number order tn quantity + tags: + - Orders + /accounts/{accountId}/phoneNumbers/{phoneNumber}/tollFreeVerification: + get: + description: >- + This endpoint will provide verification status for a phone number that + is provisioned to your account. + operationId: getVerificationStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/TfPhoneNumberPathParam' + responses: + '200': + $ref: '#/components/responses/verifyStatusResponse' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Get the verification status of a toll-free phone number + tags: + - Toll-Free Verification + /accounts/{accountId}/portins: + get: + description: >- + Retrieves the port-in requests for the given account ID.

      A maximum of + 1,000 orders can be retrieved per request. If no date range or specific + query parameter (marked by * below) is provided, + the order results will be limited to the last two years.

      + operationId: ListPortins + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The port-in ID of the first order of the page. Value "1" is used as + a convention for the first port-in in the account ID (Use it to get + a first page of orders list). + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of port-ins retrieved. + example: 30 + in: query + name: size + required: true + schema: + default: 300 + type: integer + - description: > +

      Displays the port-in orders with the specified status (possible + values: draft, pendingdocuments, submitted, exception, + requestedsupp, foc, requested_cancel, cancelled, complete). + Note: draft status orders are NOT included unless status=draft is + included in the query parameters (along with page and size).

      + example: complete + in: query + name: status + required: false + schema: + type: string + - description: > +

      The earliest date that the order was last modified. NOTE: + startdate and enddate must be simultaneously declared.

      + example: '2014-08-05' + in: query + name: startdate + required: false + schema: + format: date + type: string + - description: > +

      The latest date that the order was last modified. NOTE: + startdate and enddate must be simultaneously declared.

      + example: '2014-08-05' + in: query + name: enddate + required: false + schema: + format: date + type: string + - description: > +

      * The billing telephone number associated + with the port-in(s). Note that tn cannot be combined with any of + the date-based query parameters (date, startdate, or enddate).

      + example: 19191234567 + in: query + name: tn + required: false + schema: + type: integer + - description: > +

      * A telephone number included in the + ListOfPhoneNumbers in a port-in order. Note that order tn cannot be + combined with any of the date-based query parameters (date, + startdate, or enddate).

      + example: 19143982871 + in: query + name: orderTn + required: false + schema: + type: integer + - description: > +

      * Search for a specified customer order + ID. No quotes are necessary. Note that customer order ID cannot be + combined with any of the date-based query parameters (date, + startdate, or enddate).

      + example: PO-58472159 + in: query + name: customerOrderId + required: false + schema: + type: string + - description: > +

      * The port order number. Note that pon + cannot be combined + + with any of the date-based query parameters (date, startdate, or + enddate).

      + example: '`979E019287CDF6A1` or `4c129d8e-57fc-4ccb-a37d-7f21aca8b32d`' + in: query + name: pon + required: false + schema: + type: string + - description: >- + The date when orders were modified. Note that this differs from the + last modified date of an order. + + For example, if an order reached FOC on 2020-01-15, and completed on + 2020-01-16, searching by + + date 2020-01-15 will return an entry for the order in FOC state with + last modified date of 1/15. + + Searching by date 2020-01-16 will return an entry for the SAME order + in COMPLETE state with the + + last modified date of 1/16. BUT, if you search by date range with + startdate=2020-01-15 and + + enddate=2020-01-16, you will only see the latest of the entries for + the same order. + example: '2020-01-15' + in: query + name: date + required: false + schema: + format: date + type: string + responses: + '200': + content: + application/xml: + examples: + Portins in FOC: + description: List of portin orders with FOC processing status + value: |- + + + 2 + + Link=<https://test.dashboard.bandwidth.com:443/v1.0/accounts/9900012/portins?page=1&size=10&date=2020-01-15&status=foc>;rel="first"; + + + 9900012 + 1 + System + 2020-01-15T19:08:57.626Z + 2020-01-15T19:08:10.488Z + ab03375f-e0a9-47f8-bd31-6d8435454a6b + port_in + 2020-01-16T16:30:00.000Z + +19196247209 + WandEDemo + 1163 + Bandwidth + FOC + 2020-01-16T16:30:00.000Z + 49 + Bandwidth CLEC + 4c129d8e-57fc-4ccb-a37d-7f21aca8b32d + + + 9900012 + 1 + gforrest + 2020-01-15T19:06:10.085Z + 2019-10-14T17:16:41.949Z + b2190bcc-0272-4a51-ba56-7c3d628e8706 + port_in + 2020-01-16T01:00:00.000Z + +12174101100 + WandEDemo + 1290 + IntegraTelecom + FOC + 2020-01-21T17:30:00.000Z + 57 + Level 3 + 979E019287CDF6A1 + + + RespOrg exception toll-free portin order: + description: >- + List containing a single RespOrg exception toll-free portin + order + value: |- + + + 1 + + Link=<https://test.dashboard.bandwidth.com:443/v1.0/accounts/9900012/portins?page=1&size=10&date=2020-01-15&>;rel="first"; + + + 9900012 + 5 + RE Portin + jg_eng_customer + 2022-11-15T18:39:12.948Z + 2022-11-15T18:23:15.291Z + 167aa53b-f715-459c-b740-70c3a32351cd + port_in + JohnsAccount + false + SUBMITTED + 2022-11-18T16:30:00.000Z + true + + TST52 + TST52 + + + schema: + $ref: '#/components/schemas/LNPResponseWrapper' + description: The port-ins have been successfully retrieved. + summary: List port-in orders + tags: + - Porting + post: + description: >- + Creates a port-in order for the specified telephone number(s) and + account number.
      Please visit How to Create + Port in guide. Also you can find more information about port types + and numbers portability on How + to check numbers portability guide + operationId: CreatePortin + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + Automated Toll-Free Port-in: + value: "\n\n\tMy order id\n\t2021-06-16Z\n\t2439\n\t23432\n\tThe Authgal\n\tJYT01\n\t\n\t\t+18774809871\n\t\n" + Regular Port-in: + value: "\n\n\t2016-03-25T21:15:00.000Z\n\tX455\n\t+19195551234\n\t+19175131245\n\t SITE ID \n\t SIPPEER ID \n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\n\t\n\tThe Authguy\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t\n\t\t+19194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n\tDRAFT\n" + schema: + oneOf: + - $ref: '#/components/schemas/OnNetLnpOrderRequest' + - $ref: '#/components/schemas/ManualTollFreeLnpOrderRequest' + - $ref: '#/components/schemas/AutomatedTollFreeLnpOrderRequest' + - $ref: '#/components/schemas/OffNetLnpOrderRequest' + - $ref: '#/components/schemas/InternalLnpOrderRequest' + responses: + '201': + content: + application/xml: + examples: + Automated Toll-Free Order Response: + value: "\n\n\t03f194d5-3932-4e9f-8ba1-03ef767985e5\n\t\n\t\t201\n\t\tOrder request received. Please use the order id to check the status of your order later.\n\t\n\tVALIDATE_TFNS\n\t2016-03-25T21:15:00.000Z\n\tThe Authguy\n\t\n\t\t+18774809871\n\t\n\tPROCESSING\n\tPHASE_1_TOLLFREE\n\tJYT01\n" + Regular Order Response: + value: "\n\n\t03f194d5-3932-4e9f-8ba1-03ef767985e5\n\t\n\t\t201\n\t\tOrder request received. Please use the order id to check the status of your order later.\n\t\n\tPENDING_DOCUMENTS\n\t2016-03-25T21:15:00.000Z\n\tThe Authguy\n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\tUnited States\n\t\t\n\t\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t+19195551234\n\t+19175131245\n\t SITE ID \n\t SIPPEER ID \n\t\n\t\t+19194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n" + schema: + $ref: '#/components/schemas/LnpOrderResponse' + description: >- + The order has been created and an order ID is specified in the + payload and in the header. + + Use the OrderId value with GET /portins/orderId to fetch the status + of the order. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 400 + Validation Failed. Please check your input parameters. + + + 7309 + The site id was not supplied or is invalid. + + + 7312 + The sippeer id is invalid. + + + 7398 + Protected status is not available for numbers in off-net rate centers. + + EXCEPTION + The Authguy + + BUSINESS + First + Last + + 11235 + Back + Denver + CO + 27541 + Canyon + United States + + + + 771297665AABC + 1234 + + + Protected + External + Imported + + +19195551234 + +19175131245 + + +19194809871 + + true + + schema: + $ref: '#/components/schemas/LnpOrderResponse' + description: The order failed; one of the input parameters is invalid. + summary: Create port-in order + tags: + - Porting + /accounts/{accountId}/portins/status: + get: + description: Gets Port In orders which were last modified in the specified date range + operationId: GetAllPortsByAccountIdAndRange + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - in: query + name: startdate + schema: + type: string + - in: query + name: enddate + schema: + type: string + - in: query + name: page + schema: + type: string + - in: query + name: size + schema: + format: int32 + type: integer + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/LNPResponseWrapper' + description: '' + summary: Get Port In Range + tags: + - Porting + /accounts/{accountId}/portins/totals: + get: + description: Retrieves the total count of port-ins. + operationId: RetrievePortinTotals + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The current status of the port-in. + example: complete + in: query + name: status + required: false + schema: + type: string + - description: The vendor ID of the port-in. + in: query + name: vendorId + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + + schema: + $ref: '#/components/schemas/PortinsTotal' + description: >- + The total has been successfully calculated and displayed in the + payload. + summary: Retrieve total count of port-in orders + tags: + - Porting + /accounts/{accountId}/portins/{orderId}: + delete: + description: >- + If port-in order is in DRAFT state the order will be deleted. Otherwise + the call simply + + places the existing order in a requested_cancel state. The order will + transition to CANCELLED + + as soon as the cancellation is conveyed to our porting vendor. For + non-draft orders, DELETE + + does not actually remove the order, but cancels it. DELETE has no + effect on orders already + + in a terminal state (i.e. COMPLETE, CANCELLED). + operationId: DeletePortin + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + description: The port-in order has been successfully deleted/cancelled. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 2ffd0af4-7c54-40dc-9bfe-40f08b57e63a + + 400 + Validation Failed. Please check your input parameters. + + + 7304 + The order is already complete and cannot be modified or cancelled + + EXCEPTION + + schema: + $ref: '#/components/schemas/LnpOrderResponse' + description: >- + Order id is invalid, order does not exist or the port-in order is + already processed, and therefore cannot be deleted. + summary: Delete port-in order + tags: + - Porting + get: + description: >- + Retrieves the information associated with the specified port-in ID + number. Note: For users of Enterprise Telephony accounts, AlternateSpid, + LosingCarrierSPID, LosingCarrierName, and LosingCarrierIsWireless, are + omitted from the success output. + operationId: RetrievePortin + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + Port-in in CANCELLED state: + value: |- + + + + 7205 + Telephone number is already being processed on another order + + CANCELLED + b4e227b3-2caf-4546-9af7-849c60dce942 + 2016-03-25T21:15:00.000Z + + 2016-03-25T21:15:00.000Z + SJM00002 + The Authguy + + BUSINESS + First + Last + + 11235 + Back + Denver + CO + 27541 + Canyon + United States + Service + + + + 771297665AABC + 1234 + + + Protected + External + Imported + + +19195551234 + +19175131245 + + +19194809871 + + Foo + 20 + 2857 + 317771 + 9998 + Mock Carrier + true + Bandwidth CLEC + 2014-08-04T13:37:06.323Z + 2014-08-04T13:37:08.676Z + jbm + jbm + false + false + AUTOMATED + + Toll Free INVALID_DRAFT_TFNS state, non-portable TNs: + value: "\n\n\tINVALID_DRAFT_TFNS\n\t2021-06-23T15:30:00Z\n\t2021-06-23T15:30:00Z\n\tJane Doe\n\t\n\t\t+18336521001\n\t\t+18336522001\n\t\n\t9900572\n\t14020\n\t521434\n\t2021-06-16T21:00:43.694Z\n\t2021-06-16T21:03:42.085Z\n\ttestuser\n\ttestuser\n\tMyTestOrder\n\tfalse\n\tMANUAL_TOLLFREE\n\tFAILED\n\t\n\t\t\n\t\t\t\n\t\t\t\t7642\n\t\t\t\tTN list contains at least one toll free number that cannot be ported due to spare status.\n\t\t\t\t\n\t\t\t\t\t+18336521001\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t7643\n\t\t\t\tTN list contains at least one toll free number that cannot be ported due to unavailable status.\n\t\t\t\t\n\t\t\t\t\t+18336522001\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\tPHASE_1_TOLLFREE\n" + Toll Free INVALID_DRAFT_TFNS state, vendor error: + value: "\n\n\tINVALID_DRAFT_TFNS\n\t2021-06-23T15:30:00Z\n\t2021-06-23T15:30:00Z\n\tJane Doe\n\t\n\t\t+18336000001\n\t\n\t9900572\n\t14020\n\t521434\n\t2021-06-16T21:00:43.694Z\n\t2021-06-16T21:03:42.085Z\n\ttestuser\n\ttestuser\n\tMyTestOrder\n\tfalse\n\tMANUAL_TOLLFREE\n\tFAILED\n\t\n\t\t\n\t\t\t\n\t\t\t\t7617\n\t\t\t\tBatch Number Query received vendor error: Service unavailable. If this condition persists, please contact Bandwidth for support.\n\t\t\t\t\n\t\t\t\t\t+18336000001\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\tPHASE_1_TOLLFREE\n" + Toll Free VALID_DRAFT_TFNS state: + value: |- + + + VALID_DRAFT_TFNS + 2021-06-23T15:30:00Z + 2021-06-23T15:30:00Z + Jane Doe + + +18336532112 + +18336532113 + +18336532114 + + 9900572 + 14020 + 521434 + 2021-06-16T18:51:42.161Z + 2021-06-16T19:51:06.244Z + testuser + testuser + MyTestOrder + false + MANUAL_TOLLFREE + COMPLETE + PHASE_1_TOLLFREE + TST52 + true + false + false + + schema: + oneOf: + - $ref: '#/components/schemas/LnpOrderResponse' + - $ref: '#/components/schemas/LnpOrderResponseAutomatedTollFree' + description: >- + The information has been successfully retrieved and displayed in the + payload. + summary: Retrieve port-in order + tags: + - Porting + put: + description: > +

      It is possible to change ("SUPP" in LNP terms) an existing LNP order. + This is done via a PUT on the existing order-id. If a field is present + in the PUT /portins/{orderId} payload, the value of the field will be + updated for the order, subject to existing rules about the field. If a + field is NOT present in the PUT /portins/{orderId} payload, behavior + varies as to whether the missing field is removed from the port-in, set + to a default value, or left unchanged. As a result, we STRONGLY + RECOMMEND performing a GET on the order and copying those element + values to the PUT for any elements you are not explicitly trying to + change the value of.

      Note:

      • If the order + ProcessingStatus is DRAFT, the rules about what can be changed are much + more relaxed. Most of the validation is performed when the + ProcessingStatus is changed from DRAFT to SUBMITTED. If SUPP is + performed on a draft portin, no validations are applied except + validation of the ListOfPhoneNumbers, if at least 1 PhoneNumber is + provided.
      • Submitting the parent bulk port-in will trigger the + submission of child port-in orders.

      Please visit How to Manage + Port in guide. Also you can find more information about port types + on Port + Types section of this guide + operationId: UpdatePortin + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + Automated Toll-Free Request: + value: |- + + + SJM00002 + 2022-12-04T11:30:00-04:00 + 743 + 28845 + + +12019721004 + +12019721005 + + TestName TestLastName + JYT01 + + Regular Request: + value: |- + + + SJM00002 + 2014-12-04T13:00:00.000Z + +18045030092 + +19175131245 + + 23453245 + 1111 + + + Protected + External + Imported + + + RESIDENTIAL + TestName + TestLastName + + + true + 115 + Monarch Way + Cary + NC + 27518 + + + 743 + true + + +12019721004 + +12019721005 + + TestName TestLastName + + Foo + + schema: + oneOf: + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppAutomatedOffNet' + title: Automated Off-Net + type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppManualTollFree' + title: Manual Toll-Free + type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppAutomatedTollFree' + title: Automated Toll-Free + type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppManualOnNetOffNet' + title: Manual Off/On Net + type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppAutomatedOnNet' + title: Automated On-Net + type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppAutomatedOnNetWireless' + title: Automated On-Net wireless to wireless + type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppInternal' + title: Internal + type: object + responses: + '200': + content: + application/xml: + examples: + Automated Toll-Free Response: + value: |- + + + b6080e4c-7ddf-4faa-bbd8-328a72de9297 + + 200 + Supp request received. Please use the order id to check the status of your order later. + + REQUESTED_SUPP + SJM00002 + 2022-12-04T11:30:00-04:00 + 743 + 28845 + + +12019721004 + +12019721005 + + TestName TestLastName + JYT01 + + Simple Order Response: + value: |- + + + b6080e4c-7ddf-4faa-bbd8-328a72de9297 + + 200 + Supp request received. Please use the order id to check the status of your order later. + + REQUESTED_SUPP + 2014-12-04T13:00:00Z + +18045030092 + +19175131245 + false + + schema: + $ref: '#/components/schemas/LnpOrderPutResponse' + description: >- + The order has been successfully updated. The payload includes the + fields that were included + + in the PUT request payload and a ProcessingStatus. Because some + aspects of the order + + update processing are not entirely synchronous, you should NOT rely + on the ProcessingStatus + + in the synchronous response to a PUT operation on a port-in order. + Instead, always perform + + a GET on the order to see the actual processing status of the order. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + c58fed09-a3fc-49b8-b461-2286146b73c1 + + 400 + Validation Failed. Please check your input parameters. + + + 7331 + Rate Center Not Present in Bandwidth Dashboard + + +17138391156 + + + + 7495 + Unable to change the TNs on this port. Please ensure that the new TNs are from the same losing carrier as the current TNs. + + +12024551000 + +12018391156 + +12018391157 + + + EXCEPTION + +14352154438 + + schema: + $ref: '#/components/schemas/LnpOrderPutResponse' + description: >- + List of telephone numbers cannot be changed due to validation + errors. + '409': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 969a26eb-3bc4-4db3-ab77-56808accb9b2 + + 409 + Validation Failed. Please check your input parameters. + + + 7717 + This port-in order is associated with a draft bulk port-in order. Either submit the bulk port-in order, or detach this order from the bulk port-in prior to submitting it. + + EXCEPTION + 1234 + Super Man + + RESIDENTIAL + John + Doe + + 10 + Awesome Lane + NewBern + NC + 99999 + United States + Service + + + + 771297665AABC + 1234ab + + +12019721103 + + +12019721103 + + false + + schema: + $ref: '#/components/schemas/LnpOrderPutResponse' + description: >- + The port-in is associated with a bulk port-in in DRAFT state. To + submit this port-in detach it from the parent bulk port-in. + summary: Update port-in order + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/activationStatus: + get: + description: >- + Retrieve the status (activated or not activated) of TNs associated with + the customer activated (triggered) order.

      + + At this time all phone numbers associated with a PON will be activated + at the same time. + operationId: retrievePortinActivationStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2014-08-29T18:30:00+03:00 + + +16052609021 + + + + + schema: + $ref: '#/components/schemas/ActivationStatusResponse' + description: Activation Status information is available for this order. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7342 + On demand port-in activation not yet allowed. + + + description: >- + Return a 400 error if the port-in Order is not in FOC status, or if + not executed on the day of FOC or within the delay interval. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7348 + The order is already complete + + + description: > +

      Return a 404 if the Port-in Order is missing, or if the + activation is complete, and thus the ActivationStatus resource has + been erased.

      + summary: Retrieve port-in order activation status + tags: + - Porting + put: + description: > + Sets the activation time for the port-in order.

      + + This API call is used to set the Activation time of the customer + activated (triggered) port.

      + + +
        + +
      • If the time is in the past all of the TNs in the port-in request + will be activated 'immediately'.
      • + +
      • For automated on-net port-ins, if the time is within three days + after the approved FoC date, the auto-activation time for the port will + be set to that time.
      • + +
      • For automated off-net port-ins, if the date matches the actual FOC + date and the time is between 6:00 AM ET and 10:00 PM ET, the + auto-activation time for the port will be set to that time.
      • + +
      + operationId: UpdatePortinActivationStatus + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + 2014-08-30T18:30:00+03:00 + + schema: + $ref: '#/components/schemas/ActivationStatus' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2014-08-30T18:30:00+03:00 + + + description: Activation status successfully updated + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7342 + On demand port-in activation not yet allowed. + + + description: Bad request. Check input parameters. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7348 + The order is already complete + + + description: Order id was not found. + summary: Update port-in order activation status + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/areaCodes: + get: + description: >- + Retrieves a list of area codes associated with the specified port-in + number and displays them in the payload. + operationId: ListPortinAreaCodes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 919 + 1 + + + schema: + $ref: '#/components/schemas/TelephoneDetailsReports' + description: >- + The area codes have been successfully retrieved and displayed in the + payload. + summary: List port-in area codes + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/history: + get: + description: >- + Retrieves the history of the specified port-in order. Obtaining history + for a draft port-in is not supported.
      Note: The order history may be + updated several seconds after an operation that should cause a history + record update. As a consequence, this endpoint should never be used to + fetch the current order status. To fetch the current order status, + please use GET /accounts/{accountId}/portins/{orderId}. + operationId: RetrievePortinHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + DRAFT state response: + value: |- + + + + 7710 + History is not supported for bulk port-ins or individual port-ins in draft status. + + + Simple response: + value: |- + + + + 2014-07-29T17:12:29.495Z + LOA required + jbm + PENDING_DOCUMENTS + + + 2014-07-29T17:12:32.121Z + Order has been created + System + SUBMITTED + LoaDate : "" --> Tue Jul 29 17:12:29 UTC 2014 + + + 2014-07-29T17:15:31.241Z + 7999: E37 TN not found in PPS (PPS) + System + EXCEPTION + + + 2014-07-29T17:15:40.836Z + Order waiting for activation + System + FOC + + + 2014-07-29T17:16:20.347Z + Order is complete + System + COMPLETE + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. + '404': + description: NOT FOUND - the order id does not exist in the system + summary: Retrieve port-in order history + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/loas: + get: + description: >- + Retrieves the list of the loa (and other) files associated with the + order + operationId: ListPortinLoas + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: >- + if true it will return meta-data associated with the file used to + describe the file. + example: true + in: query + name: metadata + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + + eeceff88-c11e-4bd8-86f3-8e3482888500-1624044440058.pdf + + LOA + + + 0 + LOA file list successfully returned + + schema: + $ref: '#/components/schemas/fileListResponse' + description: >- + The list of all files is being returned. This response includes the + case where the list is empty. + summary: List port-in loa files + tags: + - Porting + post: + description: >- + POSTing to the /loas resource will enable the upload of the file. The + key attribute to the POST is ensuring that the headers are correctly set + to support the file upload.
      + + You may use either the documentType query parameter or the documentType + header parameter to specify the type of document you are uploading. + Possible values for documentType are: LOA, INVOICE, CSR, OTHER. +
      + Header settings typical of a valid upload are...
      +
      + + + Host: dashboard.bandwidth.com
      + + Authorization: Basic xxxxxxxxxxxxxxxxxxxx==
      + + Content-Type: application/pdf
      + + documentType: [LOA | INVOICE | CSR | OTHER]
      + + Accept: /
      + + Accept-Encoding: gzip, deflate
      + + Accept-Language: en-US,en;q=0.8
      + + Cache-Control: no-cache
      +
      + ----WebKitFormBoundaryE19zNvXGzXaLvS5C
      + + Content-Disposition: form-data; name="george"; filename="Bandwidth + Dashboard.pdf"
      + + Content-Type: application/pdf
      +
      +
      + ----WebKitFormBoundaryE19zNvXGzXaLvS5C
      + +
      + +

      When uploading documents using the /loas resource, you must specify + the MIME type of the document being upload using the Content-Type HTTP + header.

      + +

      Information for non-toll free port-in customers:

      + +

      The LOA document must be uploaded using one of the following MIME + types:

      + +
        + +
      • application/pdf
      • + +
      • text/plain
      • + +
      • image/jpeg
      • + +
      • image/png
      • + +
      • image/tiff
      • + +
      • text/csv
      • + +
      • application/vnd.ms-excel
      • + +
      • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
      • + +
      • application/msword
      • + +
      • application/vnd.openxmlformats-officedocument.wordprocessingml.document
      • + +
      + +

      Information for toll free port-in customers:

      + +

      If you are porting toll free numbers and either of the following are + true, the port-in order requires a LOA document.

      + +
        + +
      • The controlling and target RespOrg IDs have different entity values + (i.e. the first two characters are different).
      • + +
      • The toll free port-in will cause toll free telephone numbers to move + from one Bandwidth account to another Bandwidth account.
      • + +
      + +

      If a LOA is required, the LOA document must adhere to these + rules:

      + +
        + +
      • The LOA document must be uploaded using MIME type "application/pdf", + or "image/tiff", as these are the only formats supported by our toll + free porting vendor.
      • + +
      • The LOA document must be annotated as a LOA document using the + documentType query parameter or header value.
      • + +
      + +

      If a LOA is required but a compliant LOA document has not been + uploaded, the toll free port-in order will remain in the Pending + Documents state until a valid LOA is provided.

      + operationId: UploadPortinLoaFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: >- + This query parameter allows you to include the document type + metadata + + at the same time you upload the file. The value may be one of: LOA, + INVOICE, CSR, or OTHER. + example: documentType=LOA + in: query + name: documentType + required: false + schema: + type: string + requestBody: + content: + '*/*': + schema: + format: binary + type: string + responses: + '201': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 63097af1-37ae-432f-8a0d-9b0e6517a35b-1429550165581.pdf + 0 + LOA file uploaded successfully for order 63097af1-37ae-432f-8a0d-9b0e6517a35b + + schema: + $ref: '#/components/schemas/FileUploadResponse' + description: >- + The 201 response indicates the successful creation of a file + resource containing the uploaded content. + + The response header will include a link to the created file as a GET + on the identified resource. + '400': + description: | + Supported values for documentType are: LOA, INVOICE, CSR, or OTHER. + '409': + description: > +

      Conflicting values specified for documentType query parameter and + documentType header.

      + +

      This order requires specification of the documentType using + either the query parameter or the header.

      + +

      Document uploads for toll free port-ins must use the + application/pdf or image/tiff formats.

      + summary: Upload port-in loa file + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/loas/{fileid}: + delete: + description: Deletes the file associated with the order + operationId: DeletePortinLoaFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: '' + in: path + name: fileid + required: true + schema: + type: string + responses: + '200': + description: The 200 OK indicates a successful deletion of the identified file. + '404': + description: >- + A 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Delete port-in loa file + tags: + - Porting + get: + description: Retrieves the file associated with the order + operationId: RetrievePortinLoaFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: '' + in: path + name: fileid + required: true + schema: + type: string + responses: + '200': + description: >- + The 200 OK indicates a successful download request.
      + + The response to the get on a filename will result in the file being + prepared and delivered in a manner consistent with browser + download. The Response headers include the content-disposition + header describing the file download.
      + + Headers: + + + + Content-Type → application/octet-stream
      + + Date → Mon, 20 Apr 2015 17:19:26 GMT
      + + Server → Apache-Coyote/1.1
      + + Transfer-Encoding →
      + + content-disposition → attachment; + filename=63097af1-37ae-432f-8a0d-9b0e6517a35b-1429550165581.pdf
      + +
      + '404': + description: >- + A 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Retrieve port-in loa file + tags: + - Porting + put: + description: >- + A PUT on the filename will update / replace the identified file id. The + format of the PUT is identical to that of the POST.
      + + Header settings typical of a valid upload are...
      + + + + Host: dashboard.bandwidth.com
      + + Authorization: Basic xxxxxxxxxxxxxxxxxxxx==
      + + Content-Type: application/pdf
      + + Accept: /
      + + Accept-Encoding: gzip, deflate
      + + Accept-Language: en-US,en;q=0.8
      + + Cache-Control: no-cache
      +
      + ----WebKitFormBoundaryE19zNvXGzXaLvS5C
      + + Content-Disposition: form-data; name="george"; filename="Bandwidth + Dashboard.pdf"
      + + Content-Type: application/pdf
      +
      +
      + ----WebKitFormBoundaryE19zNvXGzXaLvS5C
      + +
      + operationId: UpdatePortinLoaFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: '' + in: path + name: fileid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 63097af1-37ae-432f-8a0d-9b0e6517a35b-1429550165581.pdf + 0 + LOA file uploaded successfully for order 63097af1-37ae-432f-8a0d-9b0e6517a35b + + schema: + $ref: '#/components/schemas/FileUploadResponse' + description: >- + The 200 response indicates the successful replacement of a file + resource containing the uploaded content. + + The response header will include a link to the created file as a GET + on the identified resource. + '400': + description: A 400 indicates that the requested upload failed. + '404': + description: A 404 indicates that the file was not available for replacement. + summary: Update port-in loa file + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/loas/{fileid}/metadata: + delete: + description: Deletes the metadata previously associated with the identified file. + operationId: DeletePortinLoaMetadata + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: '' + in: path + name: fileid + required: true + schema: + type: string + responses: + '200': + description: >- + The 200 OK indicates a successful deletion of the identified + metadata. + '404': + description: >- + A 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Delete port-in loa file metadata + tags: + - Porting + get: + description: Retrieves the metadata associated with the file. + operationId: RetrievePortinLoaMetadata + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: '' + in: path + name: fileid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + [string] + [LOA | INVOICE | CSR | OTHER] + + schema: + $ref: '#/components/schemas/FileMetaData' + description: The Metatdata has been successfully retrieved. + '404': + description: >- + A 404 indicates that the indicated file was not found in conjunction + with the order id. + summary: Retrieve port-in loa file metadata + tags: + - Porting + put: + description: >- + Associate metadata with the file named in the resource path. This will + describe the file, and declare the data that is contained in the file, + selected from a list of [LOA | INVOICE | CSR | OTHER]. + operationId: UpdatePortinLoadMetadata + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: '' + in: path + name: fileid + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + [string] + [LOA | INVOICE | CSR | OTHER] + + schema: + $ref: '#/components/schemas/FileMetaData' + responses: + '200': + description: >- + Successful update of the metadata associated with the identified + file. + '400': + description: Some error has occured as a result of the attempt. + summary: Update port-in loa file metadata + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/notes: + get: + description: Retrieve all notes associated with the order.
      + operationId: GetPortinNotes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87037 + jbm + This is a test note + 2014-11-16T04:01:10.000Z + + + 87039 + smckinnon + This is a second test note + 2014-11-16T04:08:46.000Z + + + schema: + $ref: '#/components/schemas/Notes' + description: >- + OK - there are Notes associated with the order, and they have been + returned in the response. + '204': + content: + application/xml: {} + description: >- + No Content - there are no Notes associated with the order. Since + the notes resource is an aggregate rather than addressed resource + the generic no content response is used, rather than a 404 as would + be used if the resource was addressed with an identifier + summary: List port-in order notes + tags: + - Porting + post: + description: >- + Updates the Notes resource by adding a note. Adding a note to a port-in + + order causes a notification to be sent to Bandwidth Operations, so that + they may assist as necessary. A note may be up to 500 characters in + length. + operationId: CreatePortinNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n\n\tuserId\n\t\n\tnote text\n" + schema: + $ref: '#/components/schemas/Note' + responses: + '201': + content: + application/xml: {} + description: >- + CREATED - the note has been created and added to the collection of + notes associated with the order. A link to the note is included in + the Location header of the response. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been created because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Create port-in order note + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/notes/{noteId}: + put: + description: Update a specified note. Notes may only be updated, not deleted. + operationId: UpdatePortinNote + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + - description: Note ID + example: '123' + in: path + name: noteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + description: example + value: "\n\n\tuserId\n\tnote text\n" + schema: + $ref: '#/components/schemas/Note' + responses: + '200': + description: OK - note has been updated. No body is returned + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12501 + Username is required + + + schema: + $ref: '#/components/schemas/NoteErrorResponse' + description: >- + Bad Request - the note has not been updated because the payload is + incomplete or in error. An error payload is provided in the + response. + summary: Update port-in order note + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/npaNxx: + get: + description: >- + Retrieves a list of Npa-Nxx associated with the specified port-in number + and displays them in the payload. + operationId: ListPortinNpaNxx + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 919280 + 1 + + + schema: + $ref: '#/components/schemas/TelephoneDetailsReportsNPAXX' + description: >- + The Npa-Nxx have been successfully retrieved and displayed in the + payload. + summary: List port-in npaNxx + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/tns: + get: + description: >- + Retrieves a list of telephone numbers associated with the specified + port-in number and displays them in the payload. + operationId: ListPortinTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + +19192809870 + + schema: + $ref: '#/components/schemas/TelephoneNumbers' + description: >- + The telephone numbers have been successfully retrieved and displayed + in the payload. + summary: List port-in tns + tags: + - Porting + /accounts/{accountId}/portins/{orderId}/totals: + get: + description: >- + Retrieves a total count of telephone numbers associated with the + specified port-in number and displays them in the payload. + operationId: RetrievePortinTnTotals + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + + schema: + $ref: '#/components/schemas/Quantity' + description: >- + The total count of telephone numbers have been successfully + retrieved and displayed in the payload. + summary: Retrieve port-in total count of tns + tags: + - Porting + /accounts/{accountId}/portouts: + get: + description: >- + Retrieves a list of port-out requests for the given account ID. A + maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + operationId: ListPortOuts + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + The port-out ID of the first order of the page. "1" is used as a + convention for the first port-out in the account ID. + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of port-outs retrieved. + example: 30 + in: query + name: size + required: true + schema: + default: 300 + type: integer + - description: Displays the port-outs with the given status. + example: complete + in: query + name: status + required: false + schema: + type: string + - description: The date of when the order was placed. + example: '2014-08-01' + in: query + name: date + required: false + schema: + type: string + - description: >- + The earliest date that the order was last modified. NOTE: + startdate and enddate must be simultaneously declared. + example: '2014-08-05' + in: query + name: startdate + required: false + schema: + type: string + - description: >- + The latest date that the order was last modified. NOTE: + startdate and enddate must be simultaneously declared. + example: '2014-08-05' + in: query + name: enddate + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 3 + + + 0 + System + 4299b1ad-aa08-433e-a316-f9219b3450d2 + port_out + 2014-07-31T16:34:37.530Z + 201 + Order request received. Please use the order id to check the status of your order later. + 2014-07-31T16:34:37.480Z + NEW + 2014-08-02T12:34:37.000Z + 512E + + + schema: + $ref: '#/components/schemas/LNPResponseWrapper' + description: >- + The port-outs have been successfully retrieved and displayed in the + payload. Note: For users of Enterprise Telephony accounts, VendorId + is omitted from the success output. + summary: List port-out requests + tags: + - Porting + post: + description: >- + Creates a port-out request.
      In the payload, CallbackUrl and + InternalPort are optional.
      There are also multiple options for the + following: + + + + + +
      OptionChoices
      SupplementalNONE
      CANCEL
      UPDATE
      OTHER
      PortOutActionNEW
      SUPP
      MODIFY
      CANCEL
      InternalPorttrue or false
      + operationId: CreatePortOut + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + schema: + $ref: '#/components/schemas/PortOutRequest' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 200 + Request is complete and results returned. + + + schema: + $ref: '#/components/schemas/PortOutResponse' + description: The port-out request has been successfully received. + summary: Create port-out request + tags: + - Porting + /accounts/{accountId}/portouts/status: + get: + description: >- + Gets Port Out orders which were last modified in the specified date + range + operationId: GetAllPortOutsByAccountIdAndRange + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The earliest date that the order was last modified. + example: '2014-08-05' + in: query + name: startdate + required: false + schema: + type: string + - description: The latest date that the order was last modified. + example: '2014-08-05' + in: query + name: enddate + required: false + schema: + type: string + - description: >- + The port-out ID of the first order of the page. "1" is used as a + convention for the first port-out in the account ID. + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of port-outs retrieved. + example: 30 + in: query + name: size + required: true + schema: + default: 300 + type: integer + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/LNPResponseWrapper' + description: '' + summary: Get Port Out Range + tags: + - Porting + /accounts/{accountId}/portouts/totals: + get: + description: Retrieves the total count of port-uts. + operationId: RetrievePortOutTotals + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The current status of the port-out. + example: complete + in: query + name: status + required: false + schema: + type: string + - description: The vendor ID of the port-out. + in: query + name: vendorId + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 1 + + schema: + $ref: '#/components/schemas/Quantity' + description: >- + The total has been successfully calculated and displayed in the + payload. + summary: Retrieve total count of port-in orders + tags: + - Porting + /accounts/{accountId}/portouts/{orderId}: + delete: + description: Cancel port-out request. + operationId: CancelPortOut + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Port-out order id + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/PortOutResponse' + description: '' + summary: Cancel port-out request + tags: + - Porting + get: + description: >- + Retrieves the information associated with the specified port-out ID + number. + operationId: ReadPortOut + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Port-out order id + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + 2014-08-02T12:34:37Z + 2014-08-02T12:34:37Z + 8a89dea8-a145-4796-8e73-0d859fc74cad + 20 + 2014-07-31T16:34:37.480Z + 2014-07-31T16:34:37.530Z + System + NEW + 512E + + schema: + $ref: '#/components/schemas/LnpOrderPortoutResponse' + description: >- + The information has been successfully retrieved and displayed out to + the payload. Note: For users of Enterprise Telephony accounts, SPID + is omitted from the success output. + summary: Fetch port-out request status + tags: + - Porting + put: + description: >- + Updates or cancels a port-out ID. The payload to this method is similar + to the GET on /accounts/{accountid}/portouts.
      In the payload, + CallbackUrl and InternalPort are optional additives.
      There are also + multiple options for the following: + + + + +
      Option Choices
      SupplementalNONE
      CANCEL
      UPDATE
      OTHER
      PortOutActionNEW
      SUPP
      MODIFY
      CANCEL
      + operationId: UpdatePortOut + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Port-out order id + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + schema: + $ref: '#/components/schemas/PortOutRequest' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 200 + Request is complete and results returned. + + + schema: + $ref: '#/components/schemas/PortOutResponse' + description: The update or cancellation was successful. + summary: Update/cancel port-out request + tags: + - Porting + /accounts/{accountId}/products: + get: + description: | + Discover what is currently enabled on the account + operationId: ListProducts + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + Termination + + TermHttpVoice + + + + VirtualInventory + + + TollFree + + + Origination + + CallForwarding + DlDa + CNAM + OrigHttpVoice + + + + MESSAGING + + SMS + MMS + HTTP + HTTPV2 + TollFree + + + + NumberManagement + + ORDERING + LNP + EXTERNAL_TNS + PROTECTED_TNS + TN_ASSIGNMENT + RESERVATION + LSR + + + + + schema: + $ref: '#/components/schemas/AccountProductsResponse' + description: '' + summary: List products on account + tags: + - Account + /accounts/{accountId}/products/e911/settings: + get: + description: >- + Retrieve the current host and EVS credentials settings that are used + only for e911 traffic. This includes host details, EVS account ID + information (including accounts where the Dashboard ID differs from the + EVS ID), and the EVS route type + operationId: GetAccountE911ProductSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + + 12.34.56.78 + 0 + + + + + 1234567 + STANDARD + + + 6123619 + AEUI + + + + + schema: + $ref: '#/components/schemas/E911SettingsResponse' + description: '' + summary: Retrieve e911 product settings + tags: + - Account + /accounts/{accountId}/products/edgemanagement/settings: + get: + description: >- + Retrieve settings that are provided as part of the Edge Management + product: The SBC settings that are associated with the account, + SipAuthentication that provide settings for SIP authentication and + ProductSpecificAccessRestrictions that can restrict Termination traffic + for sipCredendital. + operationId: GetAccountEdgemanagementProductSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + Trunkgroupidfortheaccounttraffic + East Coast 01 + + + true/false + COMPLETE/FAILED/PROCESSING + + + 26001 + TGA database is not reachable. + + + 27002 + Amazon route 53 is not reachable. + + + + + + Termination + + SipCredentials + + + + + schema: + $ref: '#/components/schemas/EdgeManagementSettingsResponse' + description: '' + summary: Retrieve edgemanagement product settings + tags: + - Account + /accounts/{accountId}/products/edgemanagement/settings/sipauthentication: + get: + description: Retrieve existing SIP authentication configuration on account. + operationId: GetAccountEdgemanagementProductSettingsSipauthentication + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + + 1 + CUST27_10000105_ZONE + + 1 + 1 + + + + + + cust27.auth.bandwidth.com + 10000105_27 + + + A + cust27.auth.bandwidth.com + 235.152.100.100 + 300 + + + A + cust27.auth.bandwidth.com + 235.152.100.200 + 300 + + + SRV + _sip._udp.cust27.auth.bandwidth.com + 5 50 5000 test.host1 + 300 + + + SRV + _sip._udp.cust27.auth.bandwidth.com + 5 50 5000 test.host2 + 300 + + + + + + + schema: + $ref: '#/components/schemas/SipAuthenticationResponse' + description: '' + summary: Retrieve edgemanagement product sipauthentication feature settings of + tags: + - Account + /accounts/{accountId}/products/messaging/a2pCampaigns: + get: + description: Retrieve existing a2pCampaigns configuration on account. + operationId: GetAccountMessagingProductA2pCampaings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + C3der + test + 1234567 + Campaign-A + true + 2020-08-10T02:58:04.615Z + Active + + + + schema: + $ref: '#/components/schemas/MessagingA2pCampaignsResponse' + description: '' + summary: Retrieve messaging a2pCampaigns settings + tags: + - Account + /accounts/{accountId}/products/messaging/features/http: + get: + description: Retrieve existing messaging http configuration on account. + operationId: GetAccountMessagingProductFeatureHttp + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 500031 + + + schema: + $ref: '#/components/schemas/AccountHttpFeatureResponse' + description: '' + summary: Retrieve messaging product http feature settings + tags: + - Account + /accounts/{accountId}/products/messaging/features/mms: + get: + description: Retrieve existing messaging mms configuration on account. + operationId: GetAccountMessagingProductFeatureMms + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + true + true + 1 + + + 5 + 10 + false + false + true + false + 1.5 + 10 + false + false + 100 + false + false + false + + + + schema: + $ref: '#/components/schemas/AccountMmsFeatureResponse' + description: '' + summary: Retrieve messaging product mms feature settings + tags: + - Account + /accounts/{accountId}/products/messaging/features/mms/mm4settings: + get: + description: Retrieve existing messaging mm4settings configuration on account. + operationId: GetAccountMessagingProductFeatureMm4settings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 6 + 11 + true + true + true + true + 2.5 + 11 + true + true + 101 + true + true + false + + + schema: + $ref: '#/components/schemas/MmsFeatureMm4AdminSettingsResponse' + description: '' + summary: Retrieve messaging product mms feature mm4 settings + tags: + - Account + /accounts/{accountId}/products/messaging/features/mms/settings: + get: + description: Retrieve existing messaging mms feature settings on account. + operationId: GetAccountMessagingProductFeatureMmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + true + true + 1 + + + schema: + $ref: '#/components/schemas/AccountMmsFeatureSettingsResponse' + description: '' + summary: Retrieve messaging product mms feature settings + tags: + - Account + /accounts/{accountId}/products/messaging/features/sms: + get: + description: Retrieve existing messaging sms configuration on account. + operationId: GetAccountMessagingProductFeatureSms + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + true + true + true + true + true + true + true + true + 0 + + + testUser + secret + FINAL + false + 100 + false + false + RECEIVER_ONLY + 5 + DEFAULT + DEFAULT + DEFAULT + DEFAULT + + + + schema: + $ref: '#/components/schemas/AccountSmsFeatureResponse' + description: '' + summary: Retrieve messaging product sms feature settings + tags: + - Account + /accounts/{accountId}/products/messaging/routes: + get: + description: >- + Retrieve the current list of routes associated with the various types of + TNs that can be assigned messaging routes. Zero or more routes can be + returned for each type of TN; each one of these routes is identified by + an NNID, or an ESPID while we transition from ESPIDs to NNIDs. + operationId: GetAccountMessagingProductRoutes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 123456 + ExternalCanadianTns + true +
      + + 123456 + E830 + Bandwidth + + +
      +
      + + 123456 + ExternalCustomerOwnedTns + true +
      + + 123456 + E830 + Bandwidth + + +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/AccountMessagingRoutesResponse' + description: '' + summary: Retrieve messaging routes + tags: + - Account + /accounts/{accountId}/products/messaging/settings: + get: + description: >- + Retrieve the current settings, indicating is Messaging product enabled + now and if yes will Messaging feature be enabled on each new telephone + number. + operationId: GetAccountMessagingProductSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + true + true + false + true + false + false + true + + CAN + GBR + + + + schema: + $ref: '#/components/schemas/MessagingSettingsResponse' + description: '' + summary: Retrieve messaging product settings + tags: + - Account + /accounts/{accountId}/products/termination/settings: + get: + description: Retrieve termination product settings on account. + operationId: GetAccountTerminationProductSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + false + + ALL + 300 + 15 + 0 + DNIS + npanxx + 29 + false + + + + + + true + [Host IP address] + + true + + + + schema: + $ref: '#/components/schemas/TerminationSettingsResponse' + description: '' + summary: Retrieve termination settings + tags: + - Account + /accounts/{accountId}/products/tollfree/settings: + get: + description: Retrieve existing tollfree settings on account. + operationId: GetAccountTollFreeProductSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + true + + SFD01 + WER01 + WER02 + XMD01 + PIU02 + + JYT50 + + + schema: + $ref: '#/components/schemas/TollFreeSettingsResponse' + description: '' + summary: Retrieve tollfree product settings + tags: + - Account + /accounts/{accountId}/products/uctrunking/features/hosted/settings: + get: + description: Retrieve existing uctrunking hosted settings on account. + operationId: GetAccountUcTrunkingHostedFeatureSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 200 + + + schema: + $ref: '#/components/schemas/UcTrunkingCloudSettingsResponse' + description: '' + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 12034 + UcTrunking product has not been configured + + + description: Not Found - if UcTrunking product has not been configured on account + summary: Retrieve uctrunking product hosted feature settings + tags: + - Account + post: + description: Creates a UC Trunking hosted (cloud) configuration. + operationId: CreateAccountUcTrunkingHostedSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + 200 + + schema: + $ref: '#/components/schemas/UcTrunkingCloudSettingsPayload' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 200 + + + schema: + $ref: '#/components/schemas/UcTrunkingCloudSettingsResponse' + description: '' + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 12609 + The supplied value of 201 is more than the allowed max value of 200 + + + description: Bad Request - The supplied value is more than the allowed max value + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 12034 + UcTrunking product has not been configured + + + description: Not Found - if UcTrunking product has not been configured on account + summary: Add uctrunking product hosted feature settings + tags: + - Account + put: + description: Updates uctrunking hosted feature settings on account. + operationId: UpdateAccountUcTrunkingHostedSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + description: example + value: |- + + + 200 + + schema: + $ref: '#/components/schemas/UcTrunkingCloudSettingsPayload' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 200 + + + schema: + $ref: '#/components/schemas/UcTrunkingCloudSettingsResponse' + description: '' + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 12609 + The supplied value of 201 is more than the allowed max value of 200 + + + description: Bad Request - The supplied value is more than the allowed max value + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 12034 + UcTrunking product has not been configured + + + description: Not Found - if UcTrunking product has not been configured on account + summary: Update uctrunking product hosted feature settings + tags: + - Account + /accounts/{accountId}/products/uctrunking/settings: + get: + description: Retrieve existing uctrunking settings on account. + operationId: GetAccountUcTrunkingProductSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + AGENT + 40 + DNIS + ALL + UC500 + + + 1 + 1 + + + 10 + 2 + + + 15 + 5 + + + + + schema: + $ref: '#/components/schemas/UcTrunkingSettingsResponse' + description: '' + summary: Retrieve uctrunking product settings + tags: + - Account + /accounts/{accountId}/realms: + get: + description: Retrieve all Realms for the account + operationId: RetrieveRealms + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The realm fragment + example: myrealm + in: query + name: realmfragment + required: false + schema: + minLength: 3 + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 22 + myrealm123.abc123.auth.bandwidth.com + true + Test Realm 123 + 3 + ACTIVE + + + 31 + myrealm234.abc123.auth.bandwidth.com + false + Test Realm 234 + 6 + ACTIVE + + + + schema: + $ref: '#/components/schemas/RealmsResponse' + description: >- + OK - the Realms retrieval request will return a list of the Realms + that are created on this account + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 33011 + realmfragment should contain at least 3 characters. + + + description: Bad Request - realmfragment should contain at least 3 characters + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 4022 + Account '2' does not exist or is locked + + + description: >- + Not Found - if the account specified does not exist or is locked + this will result in a not found + summary: List Realms + tags: + - Sip Registrar + post: + description: Create a Realm + operationId: CreateRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + realm123 + This is realm #123 + true + + schema: + $ref: '#/components/schemas/RealmCreateRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + 22 + realm123.abc123.auth.bandwidth.com + This is realm #123 + true + 0 + CREATE_PENDING + + + schema: + $ref: '#/components/schemas/RealmsResponse' + description: OK - the Realm was successfully created + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 33003 + Realm 'realmmmmmmmmmmmmmmmmmmmmmmmmmmm' is too long (30 characters max) + + + description: Bad Request - the Realm was not created + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Create Realm + tags: + - Sip Registrar + /accounts/{accountId}/realms/{realmId}/sipcredentials: + get: + description: Retrieve all SIP credentials for the account ID and realm ID specified + operationId: ListSipCredentialsOnRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of Realm to retrieve all SIP Credentials + example: '22' + in: path + name: realmId + required: true + schema: + type: string + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the count, of the initial entry in the page being + requested. It can be an index of SIP credential or a combination of + user name and domain in form {userName}@{domain}. The initial page + is tagged with the ID '1' + example: 3, user321@bw.com + in: query + name: page + required: false + schema: + default: '1' + type: string + - description: The number of items to include in a page + example: 5000 + in: query + name: size + required: false + schema: + default: 500 + type: integer + - description: The user name fragment + example: user32 + in: query + name: userNamefragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + - description: The application name fragment + example: myapp + in: query + name: applicationNameFragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + - description: The realm fragment + example: myrealm + in: query + name: realmFragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + Link=<http://dashboard.bandwidth.com/iris/accounts/14/realms/3/sipcredentials?size=500&page=1>;rel="first"; + + + + 11 + 3 + John@bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + 45 + 3 + Mathew@bw.com + 43543gggs43g324 + realm1.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + + schema: + $ref: '#/components/schemas/AccountSipCredentials' + description: >- + OK - the SIP credentials retrieval request will return a list of the + SIP credentials that are created on this account + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23008 + There are no Sip credentials associated with the account with ID = 41 + + + description: >- + Not Found - if the account specified does not exist or is locked or + there are no SIP credentials associated with specified account it + will result in a not found + summary: List SIP Credentials On Realm + tags: + - Sip Registrar + post: + description: Create SIP credentials on the Realm + operationId: CreateSipCredentialsOnRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of Realm to create SIP Credentials + example: '22' + in: path + name: realmId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + John@bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + Mathew@bw.com + 43543gggs43g324 + 1g32gadgs433a34 + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + schema: + $ref: '#/components/schemas/AccountSipCredentialsRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + + 1003 + UserName is required + + 1g32gadgs433dd4 + 1g32gadgs433d24 + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + + + 39 + 4 + Bill@bw.com + 43543gggs43g324 + 4562gadgs433454 + realm2.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + 40 + 4 + Jane@bw.com + af7b8bd23a2b65b + af7b8bd23a2b65c + realm2.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + + schema: + $ref: '#/components/schemas/SipCredentialsResponse' + description: >- + Created - If there was at least one valid credential entry in + specified list then such response will be returned + '400': + content: + application/xml: + examples: + example: + value: |- + + + + Please check your input parameters. + + + + 1003 + UserName is required + + 1g32gadgs433dd4 + 1g32gadgs433d24 + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + 23026 + Sip credential Bill@bw.com does already exist on realm with ID = 3 and account with ID = 41 + + Bill@bw.com + 43543gggs43g324 + 4562gadgs433454 + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + 23018 + Realm 'realm2.abc123.auth.bandwidth.com' does not correspond to the realm with ID = 3. Please remove this field from the Sip credential body. + + Jane@bw.com + af7b8bd23a2b65b + af7b8bd23a2b65c + realm2.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + 23019 + Application with ID 7a1626ea-6a3e-11eb-9439-0242ac130002 was not found on the account with ID = 41 + + Abe@bw.com + 9a1ee5b3fa64ba0 + 279de633c5f7aff + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + + + description: >- + Bad Request - If all credential entries in specified list are + invalid it will result in bad request with list of errors + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Create SIP Credentials On Realm + tags: + - Sip Registrar + /accounts/{accountId}/realms/{realmId}/sipcredentials/{credentialId}: + delete: + description: Delete SIP credential on the Realm + operationId: DeleteSipCredentialOnRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Realm's ID of SIP Credential + example: '22' + in: path + name: realmId + required: true + schema: + type: string + - description: ID of SIP Credential to delete + example: '11' + in: path + name: credentialId + required: true + schema: + type: string + responses: + '200': + description: OK - the SIP credential was deleted successfully + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23025 + Sip credential with ID 14 was not found on realm with ID = 2 and account with ID = 41 + + + description: >- + Not Found - the SIP credential was not found on the account for the + specified ID + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Delete SIP Credential On Realm + tags: + - Sip Registrar + get: + description: >- + Retrieve a SIP credential for the account and realm specified by its + assigned ID + operationId: RetrieveSipCredentialOnRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Realm's ID of SIP Credential + example: '22' + in: path + name: realmId + required: true + schema: + type: string + - description: ID of SIP Credential to retrieve + example: '11' + in: path + name: credentialId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 11 + 3 + John@bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + schema: + $ref: '#/components/schemas/SipCredentialResponse' + description: >- + OK - will return full information about the SIP credential on this + account for the specified ID + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23025 + Sip credential with ID 42 was not found on realm with ID = 5 and account with ID = 41 + + + description: >- + Not Found - if the account specified does not exist or is locked or + if there is no SIP credential that corresponds to the specified Id + it will result in a not found + summary: Retrieve SIP Credential On Realm + tags: + - Sip Registrar + put: + description: Update single SIP credential on the Realm + operationId: UpdateSipCredentialOnRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Realm's ID of SIP Credential + example: '22' + in: path + name: realmId + required: true + schema: + type: string + - description: ID of SIP Credential to update + example: '11' + in: path + name: credentialId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + 1g32gadgs433dd4 + 1g32gadgs433d24 + 3 + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + schema: + $ref: '#/components/schemas/SipCredentialUpdateRequest' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 451 + 3 + Mathew@bw.com + 43533gggs43g324 + 4562gadgs423454 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + schema: + $ref: '#/components/schemas/SipCredentialResponse' + description: OK - the SIP credential was successfully updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 23004 + Unable to change the UserName associated with the Hash Values. To do so requires deletion of one set of credentials and addition of a new set of credentials. + + + description: Bad Request - the SIP credential was not updated + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23025 + Sip credential with ID 11 was not found on realm with ID = 5 and account with ID = 41 + + + description: >- + Not Found - the SIP credential was not found on the account for the + specified ID + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Update SIP Credential On Realm + tags: + - Sip Registrar + /accounts/{accountId}/realms/{realm}: + delete: + description: Delete a Realm + operationId: DeleteRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Name and ID of the realm to delete + example: '22' + in: path + name: realm + required: true + schema: + type: string + responses: + '202': + description: Accepted - the Realm is pending deletion + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 33006 + Cannot delete default Realm. Please assign a new Realm to be the default. + + + description: >- + Bad Request - the Realm could not be deleted. Cannot delete default + realm + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 33001 + Realm 'realmxyz' was not found + + + description: Not Found - the Realm was not found on the account + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Delete Realm + tags: + - Sip Registrar + get: + description: Retrieve a Realm associated with the account + operationId: RetrieveRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Name or ID of the realm to retrieve + example: '22' + in: path + name: realm + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 22 + realm123.abc123.auth.bandwidth.com + This is realm #123 + false + 15 + ACTIVE + + + schema: + $ref: '#/components/schemas/RealmResponse' + description: OK - will return full information about a Realm on this account + '404': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + description: >- + Not Found - if the account specified does not exist, is locked or + there is no Realm, it will result in a not found + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Retrieve Realm + tags: + - Sip Registrar + put: + description: Update a Realm + operationId: UpdateRealm + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Name or ID of the realm to update + example: '22' + in: path + name: realm + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + true + This is realm has been updated. + + schema: + $ref: '#/components/schemas/RealmUpdateRequest' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 22 + realm123.abc123.auth.bandwidth.com + true + This is realm has been updated. + 0 + ACTIVE + + + schema: + $ref: '#/components/schemas/RealmResponse' + description: OK - the Realm was successfully updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 33005 + Cannot update Realm value. Instead, you must delete and recreate it. + + + description: Bad Request - cannot update Realm value + '503': + content: + application/xml: + examples: + example: + value: |- + + + + Service is Unavailable + + + description: Service Unavailable + summary: Update Realm + tags: + - Sip Registrar + /accounts/{accountId}/removeImportedTnOrders: + get: + description: >- + Retrieves the Remove Imported Tn Orders requests for the given account + ID. + + A maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter as required is provided, the order results + will be limited to the last two years. + operationId: ListRemoveImportedTnOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the Remove Imported Tn Orders being searched for + example: PARTIAL + in: query + name: status + required: false + schema: + items: + enum: + - PROCESSING + - COMPLETE + - PARTIAL + - FAILED + type: string + type: array + - description: A Telephone Number (TN) that is referenced in the order + example: '+19199918388' + in: query + name: tn + required: true + schema: + type: string + - description: >- + The Customer Order Id is an Id assigned by the account owner to + provide a reference number for the Remove Imported Tn Order + example: ABCCorp12345 + in: query + name: customerOrderId + required: true + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd + example: '2022-04-19' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd + example: '2022-04-19' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find Remove Imported Tn Orders that + were modified within the date range. It is in the form yyyy-MM-dd + example: '2022-04-19' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find Remove Imported Tn Orders that were + modified within the date range. It is in the form yyyy-MM-dd + example: '2022-04-19' + in: query + name: modifiedDateTo + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 14 + 1 + DemoOrder + systemUser + 2019-01-24T10:40:12.908Z + 2019-01-24T10:40:12.907Z + remove_imported_tn_orders + COMPLETE + 4f2d090b-ece7-49ab-9c40-06d1425c39c3 + + + 14 + 1 + DemoOrder + systemUser + 2019-01-24T09:38:24.028Z + 2019-01-24T09:38:24.028Z + remove_imported_tn_orders + PARTIAL + ca30ea6a-018a-4cae-9d49-3d419fefdbe3 + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrders' + description: >- + The descriptive payload for the Remove Imported Tn Orders query + provides information about the orders found by the query, including + the data associated with the order, the state of the order, and a + list of the successfully removed Telephone Numbers, and descriptions + of any encountered errors + summary: List Remove Imported Tn Orders + tags: + - Hosted Messaging + post: + description: >- + Creates a Remove Imported Tn Orders request to remove imported telephone + numbers from the given site ID and sippeer ID as specified in the body. + A successfully submitted order will have a status of "PROCESSING". A + successfully completed order will have a status of "COMPLETE" if all of + the telephone numbers were successfully removed and "PARTIAL" if some + of the telephone numbers were removed. A failed order with will have a + status of "FAILED" and no telephone numbers would have been removed + operationId: CreateRemoveImportedTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + PROCESSING + + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersResponse' + description: >- + The order has been created and an order ID will be specified in the + payload and in the header + '400': + content: + application/xml: + examples: + example: + value: |- + + + FAILED + + 1234 + The customer order id is invalid. + + + description: >- + The order failed. One of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList element + summary: Create Remove Imported Tn Order + tags: + - Hosted Messaging + /accounts/{accountId}/removeImportedTnOrders/voice: + get: + description: >- + Retrieves the Remove Imported Voice Tn Orders requests for the given + account ID. + + A maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter as required is provided, the order results + will be limited to the last two years. + operationId: ListRemoveImportedVoiceTnOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/StatusQueryParam' + - $ref: '#/components/parameters/TnQueryParam' + - $ref: '#/components/parameters/CustomerOrderIdQueryParam' + - $ref: '#/components/parameters/CreatedDateFromQueryParam' + - $ref: '#/components/parameters/CreatedDateToQueryParam' + - $ref: '#/components/parameters/ModifiedDateFromQueryParam' + - $ref: '#/components/parameters/ModifiedDateToQueryParam' + - $ref: '#/components/parameters/SipPeerIdQueryParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 14 + 1 + DemoOrder + systemUser + 2019-01-24T10:40:12.908Z + 2019-01-24T10:40:12.907Z + remove_imported_voice_tn_orders + COMPLETE + 4f2d090b-ece7-49ab-9c40-06d1425c39c3 + + + 14 + 1 + DemoOrder + systemUser + 2019-01-24T09:38:24.028Z + 2019-01-24T09:38:24.028Z + remove_imported_voice_tn_orders + PARTIAL + ca30ea6a-018a-4cae-9d49-3d419fefdbe3 + + + schema: + $ref: '#/components/schemas/RemoveImportedVoiceTnOrders' + description: >- + The descriptive payload for the Remove Imported Voice Tn Orders + query provides information about the orders found by the query, + including the data associated with the order, the state of the + order, and a list of the successfully removed Telephone Numbers, and + descriptions of any encountered errors + summary: List Remove Imported Voice Tn Orders + tags: + - Hosted Voice + post: + description: >- + Creates a Remove Imported Voice Tn Orders request to remove imported + telephone numbers from the given site ID and sippeer ID as specified in + the body. A successfully submitted order will have a status of + "PROCESSING". A successfully completed order will have a status of + "COMPLETE" if all of the telephone numbers were successfully removed + and "PARTIAL" if some of the telephone numbers were removed. A failed + order with will have a status of "FAILED" and no telephone numbers would + have been removed + operationId: CreateRemoveImportedVoiceTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/RemoveImportedVoiceTnOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + PROCESSING + + + + schema: + $ref: '#/components/schemas/RemoveImportedVoiceTnOrderResponse' + description: >- + The order has been created and an order ID will be specified in the + payload and in the header + '400': + content: + application/xml: + examples: + example: + value: |- + + + FAILED + + 1234 + The customer order id is invalid. + + + description: >+ + The order failed. One of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +

      + ErrorCode +

      +
      +

      + Description +

      +
      +

      + 25010 +

      +
      +

      + The account does not have permission to use the endpoint requested, please contact support if you believe you should have permission. +

      +
      +

      + 5052 +

      +
      +

      + Customer order ID is invalid. Only alphanumeric values, dashes and spaces are allowed. Max length is 255 characters. +

      +

      + 5073 +

      +
      +

      + Telephone number is required. +

      +
      +

      + 5095 +

      +
      +

      + The count of telephone numbers in order exceeds the maximum size of 5000. +

      +
      +

      + 1003 +

      +
      +

      + TelephoneNumbers is required. +

      +

      + 5070 +

      +
      +

      + Telephone number is invalid. +

      +

      + 5093 +

      +
      +

      + Order cannot contain duplicate telephone numbers. +

      + + summary: Create Remove Imported Voice Tn Order + tags: + - Hosted Voice + /accounts/{accountId}/removeImportedTnOrders/voice/{orderId}: + get: + description: >- + Retrieve information about a removeImportedVoiceTnOrder with specified + ID + operationId: RetrieveRemoveImportedVoiceTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/RemoveImportedVoiceTnOrderResponse' + description: > + The information has been successfully retrieved and displayed in the + payload. + + + + + + + + + + +
      +

      + ErrorCode +

      +
      +

      + Description +

      +
      +

      + 5158 +

      +
      +

      + Telephone number hasn't been previously imported. +

      +
      + summary: Retrieve Remove Imported Voice Tn Order + tags: + - Hosted Voice + /accounts/{accountId}/removeImportedTnOrders/voice/{orderId}/history: + get: + description: Retrieves the history of the specified Remove Imported Voice Tn Order + operationId: RetrieveRemoveImportedVoiceTnOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2015-06-16T14:03:10.225Z + Remove Imported Voice TN order is received. + admin + RECEIVED + + + 2015-06-16T14:03:10.330Z + Remove Imported TN order is processing. + admin + PROCESSING + + + 2015-06-16T14:03:10.789Z + Remove Imported Voice TN order is partial. + admin + PARTIAL + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload + summary: Retrieve Remove Imported Voice Tn Order history + tags: + - Hosted Voice + /accounts/{accountId}/removeImportedTnOrders/{orderId}: + get: + description: Retrieve information about a removeImportedTnOrder with specified ID + operationId: RetrieveRemoveImportedTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of `RemoveImportedTnOrder` to retrieve + example: bf1305b8-8998-1111-2222-51ba3ce52d4e + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1008 + 'some_invalid_uuid' is not a valid UUID + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersHistoryResponse' + description: Order id is not valid + summary: Retrieve Remove Imported Tn Order + tags: + - Hosted Messaging + /accounts/{accountId}/removeImportedTnOrders/{orderId}/history: + get: + description: Retrieves the history of the specified Remove Imported Tn Order + operationId: RetrieveRemoveImportedTnOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of `RemoveImportedTnOrder` to retrieve history + example: bf1305b8-8998-1111-2222-51ba3ce52d4e + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2015-06-16T14:03:10.225Z + Remove Imported TN order is received. + admin + RECEIVED + + + 2015-06-16T14:03:10.330Z + Remove Imported TN order is processing. + admin + PROCESSING + + + 2015-06-16T14:03:10.789Z + Remove Imported TN order is partial. + admin + PARTIAL + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1008 + 'some_invalid_uuid' is not a valid UUID + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersHistoryResponse' + description: Order id is not valid + summary: Retrieve Remove Imported Tn Order history + tags: + - Hosted Messaging + /accounts/{accountId}/reports: + get: + description: >- + Retrieves a list of the report templates available for use within the + Bandwidth Dashboard API. This list contains the basic description of the + reports, including a report ID that can be used to access further + details about the report, and thus facilitating the subsequent choice + and creation of an instance of the report. Items of this list are sorted + by display priority in ascending order and alphabetically by name within + priority groups (display priority is displayed only for admin endpoint) + operationId: ListReports + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + Sample Report 1 + 100020 + Sample Report 1 Description + + + Sample Report 2 + 100021 + Sample Report 2 Description + + + Sample Report 3 + 100022 + Sample Report 3 Description + + + + schema: + $ref: '#/components/schemas/ReportsResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload + summary: List Reports + tags: + - Reports + /accounts/{accountId}/reports/instances: + get: + description: >- + Retrieve report instances within the account scope, regardless of the + report of which the instance is an instance of, including the up-to-date + report generation status. This is a convenience API call to make it + easier to examine all Instances in scope + operationId: RetrieveReportInstancesOnAccount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 100090 + 100020 + Sample Report + pdf + jbm + 2015-05-18 14:03:04 + + + AccountId + 1 + + + Expired + + + 100098 + 100020 + Sample Report + html + jbm + 2015-05-19 09:18:40 + + + AccountId + 1 + + + SiteId + 1 + + + Expired + + + 100102 + 100020 + Sample Report + pdf + jbm + 2015-05-19 11:05:12 + + + AccountId + 1 + + + Ready + 2015-06-15 + + + + schema: + $ref: '#/components/schemas/ReportInstancesResponse' + description: A valid list of instances is available + summary: Retrieve Report Instances on Account + tags: + - Reports + /accounts/{accountId}/reports/{reportId}: + get: + description: >- + Retrieve a specific report with all of the details. Allowing to create + an instance of that report + operationId: RetrieveReport + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of Report to retrieve + example: '123' + in: path + name: reportId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 123 + Sample Report 1 + + + Report Parameter 1 + String + true + Report Parameter 1 Description + false + Report Parameter 1 Help Text + + + Report Parameter 2 + Enum + false + Value1;Value2;Value3 + + + Value1 + Display Value2 + + + Value2 + Value2 + + + Value3 + Display Value3 + + + Report Parameter 2 Description + true + Report Parameter 2 Help Text + + + + + schema: + $ref: '#/components/schemas/ReportResponse' + description: Successful retrieval of report template details + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 19000 + No report found with report ID of '123' + + + description: A report template matching the provided ID could not be found + summary: Retrieve Report + tags: + - Reports + /accounts/{accountId}/reports/{reportId}/instances: + get: + description: >- + Retrieve report instances associated with a specific report, including + the up-to-date report generation status + operationId: RetrieveReportInstances + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the report to retrieve it instances + example: '123' + in: path + name: reportId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 100090 + 100020 + Sample Report + pdf + jbm + 2015-05-18 14:03:04 + + + AccountId + 1 + + + Expired + + + 100098 + 100020 + Sample Report + html + jbm + 2015-05-19 09:18:40 + + + AccountId + 1 + + + SiteId + 1 + + + Expired + + + 100102 + 100020 + Sample Report + pdf + jbm + 2015-05-19 11:05:12 + + + AccountId + 1 + + + Ready + 2015-06-15 + + + + schema: + $ref: '#/components/schemas/ReportInstancesResponse' + description: Successful retrieval of report instances + summary: Retrieve Report Instances + tags: + - Reports + post: + description: >- + Create an instance of that report that pulls from data that is filtered + by the supplied parameters. Those parameter values must match the + parameters that are required as defined by the report, as provided by + issuing a GET on the report. + + The sequence of events is essentially to... + +
      1. issue a GET on the desired report/report-id to retrieve the + parameter and other details of the report
      2. issue a POST on the + /report/report-id/instances resource, using the parameter information + retrieved in the initial call to define the data that is + needed
      + + The Location header will provide a link to the created report instance. + Note that the report instance itself contains only the metadata + describing the instance. A subsequent call to + /report/report-id/instances/instance-id/file must be made to actually + download the file + operationId: CreateReportInstance + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the report to create an instance + example: '123' + in: path + name: reportId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + pdf + + + Account + 1 + + + Sub-account + 1 + + + MultiValueEnum + value1 + value2 + + + 2016-11-25 + + schema: + $ref: '#/components/schemas/ReportInstance' + responses: + '201': + description: Successful creation of report instance + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 19032 + Missing one or more required report parameters: AccountId + + + description: Missing one or more required report parameters + '503': + content: + application/xml: + examples: + example: + value: |- + + + + 19031 + Error encountered processing request via external reporting service. Please contact Bandwidth support for further assistance. + + + description: An external report service error + summary: Create Report Instance + tags: + - Reports + /accounts/{accountId}/reports/{reportId}/instances/{instanceId}: + get: + description: >- + Retrieve report instance details, including the current report instance + status. All of the information required to understand the nature and + limits of the reported data are contained in the payload, including the + general description information as well as the list of parameters and + the values assigned to those parameters + operationId: RetrieveReportInstance + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Report's ID of the instance + example: '123' + in: path + name: reportId + required: true + schema: + type: string + - description: ID of the instance to retrieve + example: '100102' + in: path + name: instanceId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 100102 + 100020 + Sample Report + pdf + jbm + 2015-05-19 11:05:12 + + + AccountId + 1 + + + Ready + 2016-06-15 + + + schema: + $ref: '#/components/schemas/ReportInstanceResponse' + description: Successful retrieval of the report instance + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 19019 + No report instance found for report 100020 with Id of '100103' + + + description: Instance was not found for the report + summary: Retrieve Report Instance + tags: + - Reports + put: + description: Update report instance + operationId: UpdateAcctReportInstance + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Report's ID of the instance + example: '123' + in: path + name: reportId + required: true + schema: + type: string + - description: ID of the instance to retrieve + example: '100102' + in: path + name: instanceId + required: true + schema: + type: string + requestBody: + content: + application/xml: + schema: + $ref: '#/components/schemas/ReportInstance' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/ReportInstanceResponse' + description: Instance was successfully updated + summary: Update report instance + tags: + - Reports + /accounts/{accountId}/reports/{reportId}/instances/{instanceId}/file: + get: + description: Download report instance output file, if output is available + operationId: DownloadReportInstanceFile + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Report's ID of the instance + example: '123' + in: path + name: reportId + required: true + schema: + type: string + - description: ID of the instance to retrieve file + example: '100102' + in: path + name: instanceId + required: true + schema: + type: string + responses: + '200': + description: Successful retrieval of report output + '202': + content: + application/xml: + examples: + example: + value: |- + + + + 19048 + Report generation in progress; Output not yet available + + + description: >- + Report generation is still in progress. Check the status of the + report instance, and When the report instance status becomes `Ready` + '307': + description: >- + Successful retrieval of report output. Link to download the file + provided in the Location header + headers: + Location: + description: The URL for downloading the file + schema: + type: string + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 19019 + No report instance found for report 123 with Id of '456' + + + description: >- + A report instance matching the supplied identification information + could not be found + summary: Download Report Instance File + tags: + - Reports + /accounts/{accountId}/shortcodes: + get: + description: Retrieves all the short codes registered with an account. + operationId: getAllShortCodesByAccount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodeOffsetQueryParam' + - $ref: '#/components/parameters/shortCodeLimitQueryParam' + responses: + '200': + $ref: '#/components/responses/shortCodeGetAllShortCodesByAccountResponse' + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short codes by account. + tags: + - Short Codes + /accounts/{accountId}/shortcodes/{shortCode}/{country}: + get: + description: >- + Retrieve the details of an account's registration of a short code for a + single country. + operationId: getShortCodeByAccountIdCountryAndShortCode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + responses: + '200': + $ref: >- + #/components/responses/shortCodeGetShortCodeByAccountIdCountryAndShortCodeResponse + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short code details. + tags: + - Short Codes + patch: + description: >- + Update (field by field) an account's short code registration for a + country. This utilizes [Json Patch](https://jsonpatch.com/). + operationId: patchShortCodeLease + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + requestBody: + $ref: '#/components/requestBodies/shortCodeJsonPatchShortCodeRequest' + responses: + '200': + $ref: '#/components/responses/shortCodeUpdateShortCodeResponse' + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '409': + $ref: '#/components/responses/shortCode409' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: >- + Update the lease information of an account's short code registration for + a country. + tags: + - Short Codes + /accounts/{accountId}/shortcodes/{shortCode}/{country}/history: + get: + description: >- + Retrieves a complete history of all updates associated with an account's + registration of a short code for a single country. + operationId: getShortCodeHistoryAccountIdCountryAndShortCode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/shortCodePathParam' + - $ref: '#/components/parameters/shortCodeCountryPathParam' + - $ref: '#/components/parameters/shortCodeOffsetQueryParam' + - $ref: '#/components/parameters/shortCodeLimitQueryParam' + - $ref: '#/components/parameters/shortCodeHistoryShortCodeSortParam' + - $ref: '#/components/parameters/shortCodeHistoryVersionSortParam' + responses: + '200': + $ref: >- + #/components/responses/shortCodeGetShortCodeHistoryAccountIdCountryAndShortCodeResponse + '400': + $ref: '#/components/responses/shortCode400' + '401': + $ref: '#/components/responses/shortCode401' + '403': + $ref: '#/components/responses/shortCode403' + '404': + $ref: '#/components/responses/shortCode404' + '405': + $ref: '#/components/responses/shortCode405' + '429': + $ref: '#/components/responses/shortCode429' + '500': + $ref: '#/components/responses/shortCode500' + summary: Retrieve short code history. + tags: + - Short Codes + /accounts/{accountId}/sipcredentials: + get: + description: Retrieve all SIP credentials for the account + operationId: RetrieveSipCredentials + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the count, of the initial entry in the page being + requested. It can be an index of SIP credential or a combination of + user name and domain in form {userName}@{domain}. The initial page + is tagged with the ID '1' + example: 3, user321@bw.com + in: query + name: page + required: false + schema: + default: '1' + type: string + - description: The number of items to include in a page + example: 5000 + in: query + name: size + required: false + schema: + default: 500 + type: integer + - description: The user name fragment + example: user32 + in: query + name: userNamefragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + - description: The domain fragment + example: bw. + in: query + name: domainfragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + - description: The application name fragment + example: myapp + in: query + name: applicationNameFragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + - description: The realm fragment + example: myrealm + in: query + name: realmFragment + required: false + schema: + maxLength: 64 + minLength: 3 + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + Link=<http://dashboard.bandwidth.com/iris/accounts/14/sipcredentials?size=500&page=1>;rel="first"; + + + + 11 + 3 + John + bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + 45 + 4 + Mathew@bw.com + 43543gggs43g324 + realm2.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + + schema: + $ref: '#/components/schemas/AccountSipCredentials' + description: >- + OK - the SIP credentials retrieval request will return a list of the + SIP credentials that are created on this account + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23008 + There are no Sip credentials associated with the account with ID = 41 + + + description: >- + Not Found - if the account specified does not exist or is locked or + there are no SIP credentials associated with specified account it + will result in a not found + summary: Retrieve SIP Credentials + tags: + - Sip Registrar + post: + description: Create SIP credentials and associate them with the account + operationId: CreateSipCredentials + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + John + bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + Mathew@bw.com + 43543gggs43g324 + 1g32gadgs433a34 + realm2.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + schema: + $ref: '#/components/schemas/AccountSipCredentialsRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + + 1003 + UserName is required + + bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + + + 39 + 4 + Bill + bw.com + 43543gggs43g324 + 4562gadgs433454 + realm2.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + 940 + 5 + Jane + bw.com + af7b8bd23a2b65b + af7b8bd23a2b65c + realm3.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + + schema: + $ref: '#/components/schemas/SipCredentialsResponse' + description: >- + Created - If there was at least one valid credential entry in + specified list then such response will be returned + '400': + content: + application/xml: + examples: + example: + value: |- + + + + Please check your input parameters. + + + + 1003 + UserName is required + + bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + 23009 + Sip credential Bill@bw.com does already exist on the account with ID = 41 + + Bill + bw.com + 43543gggs43g324 + 4562gadgs433454 + realm2.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + 23018 + Realm 'realm3.abc123.auth.bandwidth.com' was not found on the account with ID = 41. + + Jane + bw.com + af7b8bd23a2b65b + af7b8bd23a2b65c + realm3.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + + 23019 + Application with ID 7a1626ea-6a3e-11eb-9439-0242ac130002 was not found on the account with ID = 41 + + Abe + bw.com + 9a1ee5b3fa64ba0 + 279de633c5f7aff + realm2.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + + + description: >- + Bad Request - If all credential entries in specified list are + invalid it will result in bad request with list of errors + '503': + content: + application/xml: + examples: + example: + value: |- + + + + 13566 + Our E911 service is unavaliable + + + description: Service unavailable + summary: Create SIP Credentials + tags: + - Sip Registrar + /accounts/{accountId}/sipcredentials/{compositeUserName}: + delete: + description: Delete SIP credential + operationId: DeleteSipCredentials + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Is comprised of the `UserName`, and, if there is a `Domain` part, an + @ followed by the `Domain` + example: '`user` or `user@domain`' + in: path + name: compositeUserName + required: true + schema: + type: string + responses: + '200': + description: OK - the SIP credential was deleted successfully + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23007 + Sip credential Jim@bw.com was not found on the account with ID = 41 + + + description: >- + Not Found - the SIP credential was not found on the account for the + specified combination of user name and domain + '503': + content: + application/xml: + examples: + example: + value: |- + + + + 13566 + Our E911 service is unavaliable + + + description: Service unavailable + summary: Delete SIP Credentials + tags: + - Sip Registrar + get: + description: >- + Retrieve a SIP credential for the account by unique combination of user + name and domain + operationId: RetrieveSipCredential + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Is comprised of the `UserName`, and, if there is a `Domain` part, an + @ followed by the `Domain` + example: '`user` or `user@domain`' + in: path + name: compositeUserName + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + With aggregated UserName and Domain: + value: |- + + + + 39 + 4 + Bill@bw.com + 1g32gadgs433dd4 + realm2.abc123.auth.bandwidth.com + 7a1626ea-6a3e-11eb-9439-0242ac130002 + + + With separated UserName and Domain: + value: |- + + + + 11 + 3 + John + bw.com + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + schema: + $ref: '#/components/schemas/SipCredentialResponse' + description: >- + OK - will return full information about the SIP credential on this + account for the specified user name and domain + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23007 + Sip credential Jack@bw.com was not found on the account with ID = 41 + + + description: >- + Not Found - if the account specified does not exist or is locked or + if there is no SIP credential that corresponds to the specified + combination of user name and domain it will result in a not found + summary: Retrieve SIP Credential + tags: + - Sip Registrar + put: + description: >- + Update single SIP credential + + It is not possible to change the UserName or the Domain associated with + the Hash Values. To do so requires deletion of one set of credentials + and addition of a new set of credentials + operationId: UpdateSipCredentials + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Is comprised of the `UserName`, and, if there is a `Domain` part, an + @ followed by the `Domain` + example: '`user` or `user@domain`' + in: path + name: compositeUserName + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + 1g32gadgs433dd4 + 1g32gadgs433d24 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + schema: + $ref: '#/components/schemas/SipCredentialUpdateRequest' + responses: + '200': + content: + application/xml: + examples: + With aggregated UserName and Domain: + value: |- + + + + 80 + 3 + Mathew@bw.com + 43533gggs43g324 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + With separated UserName and Domain: + value: |- + + + + 451 + 3 + Mathew + bw.com + 43533gggs43g324 + 4562gadgs423454 + realm1.abc123.auth.bandwidth.com + 5ba6761d-36bd-4307-8f7b-a6f806c35abf + + + schema: + $ref: '#/components/schemas/SipCredentialResponse' + description: OK - the SIP credential was successfully updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 23004 + Unable to change the UserName or the Domain associated with the Hash Values. To do so requires deletion of one set of credentials and addition of a new set of credentials. + + + description: Bad Request - the SIP credential was not updated + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 23007 + Sip credential Ross@bw.com was not found on the account with ID = 41 + + + description: >- + Not Found - the SIP credential was not found on the account for the + specified combination of user name and domain + '503': + content: + application/xml: + examples: + example: + value: |- + + + + 13566 + Our E911 service is unavaliable + + + description: Service unavailable + summary: Update SIP Credentials + tags: + - Sip Registrar + /accounts/{accountId}/sites: + get: + description: Retrieve a list of all Sites associated with the account + operationId: ListSites + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Provides response payload with total telephone numbers count for + every Site on Account if specified as true + example: true + in: query + name: tnCounts + required: false + schema: + default: false + type: boolean + - description: > + Provides response payload with list of every SipPeer for every Site + on Account with fields: + + +
        + +
      • PeerId
      • + +
      • PeerName
      • + +
      • Description
      • + +
      • IsDefaultPeer
      • + +
      • Address
      • + +
      • FinalDestinationUri
      • + +
      • PremiseTrunks
      • + +
      • CallingName
      • + +
      • SsSendToCustomer
      • + +
      + + +

      Also each site will contains a count of sippers on it:

      + + +
        + +
      • SipPeerCount
      • + +
      + example: true + in: query + name: sipPeerDetails + required: false + schema: + default: false + type: boolean + - description: >- + Provides response payload with list of basic information about every + SipPeer for every Site on Account and overrides sipPeerDetails + parameter if specified as true + example: true + in: query + name: summary + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 399 + SiteName + NewSite + + + 403 + TestSite2 + SomeOtherSite + + + + schema: + $ref: '#/components/schemas/SitesResponse' + description: >- + A 200 OK response will contains a list of all the Sites associated + with the account + summary: List Sites + tags: + - Site Management + post: + description: Add a Site to the account + operationId: CreateSite + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + For a Non UC account: + value: |- + + + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US +
      +
      + For a UC account: + value: |- + + + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US +
      + + Seats + UC500 + +
      + schema: + properties: + Address: + description: Service Address for the Site + type: object + CustomerName: + description: Customer can provide an optional name + type: string + CustomerProvidedId: + description: >- + Customer can provide an optional id. Note that the customer + can use the same id across multiple orders. + maxLength: 10 + type: integer + Description: + description: Customer provided description of the Site + type: string + Name: + description: The name of the Site + maxLength: 10 + type: string + UcTrunkingConfiguration: + description: >- + For UC Trunking accounts the UcTrunkingConfiguration element + describes the kind of UC trunking that is provided. The Type + parameter is one of Seats, Premise, or Cloud, and the + UsageCategory parameter is one of UC250, UC500 or UC1000. + properties: + Type: + enum: + - Seats + - Premise + - Cloud + type: string + UsageCategory: + enum: + - UC250 + - UC500 + - UC1000 + type: string + type: object + title: CreateSite + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + 3013 + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      +
      +
      + schema: + $ref: '#/components/schemas/SiteResponse' + description: The Site has been successfully added to the account + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1003 + Address is required + + + schema: + $ref: '#/components/schemas/SiteResponseBadRequest' + description: Information is missing from the body of the add Site request + '409': + content: + application/xml: + examples: + example: + value: >- + + + + + 12112 + The verifiable address closest to the submitted access is included below. Please use that street address or another valid street address in your next request + + + Some adjustments are required to allow the address to pass geocoding: + Specified value - Street Name : "PENNSYLVANIO" Valid value - + "PENNSYLVANIA" + + 1600 PENNSYLVANIA AVE NW + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + + + + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIO + AVE + NW + WASHINGTON + DC + 20006 + US +
      + + Seats + UC500 + +
      +
      + schema: + $ref: '#/components/schemas/SiteResponseConflict' + description: Address needs some changes + summary: Create Site + tags: + - Site Management + /accounts/{accountId}/sites/{siteId}: + delete: + description: >- + Deletes the Site. Sites can only be deleted if there are no SIP Peers + attached to it + operationId: DeleteSite + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the Site to delete + example: '407' + in: path + name: siteId + required: true + schema: + type: string + responses: + '200': + description: The Site has been successfully deleted + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 12054 + This site is currently locked for contract paperwork. Please contact support for further assistance. + + + schema: + $ref: '#/components/schemas/SiteResponseBadRequest' + description: DELETE request is invalid given the current state of the Site + summary: Delete Site + tags: + - Site Management + get: + description: Retrieves the information associated with the Site id + operationId: ReadSite + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the Site to retrieve + example: '407' + in: path + name: siteId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + For a Non UC account: + value: |- + + + + 3013 + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      +
      +
      + For a UC account: + value: |- + + + + 3013 + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      + + Seats + UC500 + +
      +
      + schema: + $ref: '#/components/schemas/SiteResponse' + description: Site information was successfully retrieved + '404': + content: + application/xml: + examples: + example: + value: |- + + + + 12016 + Site '3014' does not exist + + + schema: + $ref: '#/components/schemas/SiteResponseBadRequest' + description: The Site was not found for supplied id + summary: Retrieve Site + tags: + - Site Management + put: + description: Updates the contents of Site + operationId: UpdateSite + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the Site to update + example: '407' + in: path + name: siteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + For a Non Uc account: + value: |- + + + Raleigh + SIP gateway + BW + +11234567890 +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      +
      + For a UC account: + value: |- + + + Raleigh + SIP gateway + BW + +11234567890 +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      + + Seats + UC500 + +
      + schema: + properties: + Address: + description: Service Address for the Site + type: object + CustomerName: + description: Customer can provide an optional name + type: string + CustomerProvidedId: + description: >- + Customer can provide an optional id. Note that the customer + can use the same id across multiple orders. + maxLength: 10 + type: integer + Description: + description: Customer provided description of the Site + type: string + Name: + description: The name of the Site + maxLength: 10 + type: string + UcTrunkingConfiguration: + description: >- + For UC Trunking accounts the UcTrunkingConfiguration element + describes the kind of UC trunking that is provided. The Type + parameter is one of Seats, Premise, or Cloud, and the + UsageCategory parameter is one of UC250, UC500 or UC1000. + properties: + Type: + enum: + - Seats + - Premise + - Cloud + type: string + UsageCategory: + enum: + - UC250 + - UC500 + - UC1000 + type: string + type: object + title: CreateSite + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 3013 + Raleigh + Test Gateway + BW +
      + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      +
      +
      + schema: + $ref: '#/components/schemas/SiteResponse' + description: The Site has been successfully updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1003 + Address is required + + + schema: + $ref: '#/components/schemas/SiteResponseBadRequest' + description: Information essential to the Site id is missing or invalid + '409': + content: + application/xml: + examples: + example: + value: >- + + + + + 12112 + The verifiable address closest to the submitted access is included below. Please use that street address or another valid street address in your next request + + + Some adjustments are required to allow the address to pass geocoding: + Specified value - Street Name : "PENNSYLVANIO" Valid value - + "PENNSYLVANIA" + + 1600 PENNSYLVANIA AVE NW + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20006 + US + + + + Raleigh + SIP gateway + BW + +11234567890 +
      + 1600 + PENNSYLVANIO + AVE + NW + WASHINGTON + DC + 20006 + US + Service +
      + + + Seats + UC500 + +
      +
      + schema: + $ref: '#/components/schemas/SiteResponseConflict' + description: Address needs some changes + summary: Update Site + tags: + - Site Management + /accounts/{accountId}/sites/{siteId}/inserviceNumbers: + get: + description: >- + Retrieves all the telephone numbers currently in-service for the given + Site + operationId: RetrieveSiteInserviceNumbers + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the Site to retrieve all INSERVICE numbers + example: '407' + in: path + name: siteId + required: true + schema: + type: string + - description: >- + The first in-service number displayed on the page. "1" is used as a + convention for the first number on the list. + example: 15555551845 + in: query + name: page + required: false + schema: + default: 1 + type: integer + - description: The count of in-service numbers displayed on the page. + example: 30 + in: query + name: size + required: false + schema: + default: 300 + type: integer + - description: A maximum five-digit number + example: 371 + in: query + name: lata + required: false + schema: + type: integer + - description: '' + example: 1 + in: query + name: tier + required: false + schema: + type: integer + - description: '' + example: ST GEORGE + in: query + name: rateCenter + required: false + schema: + type: string + - description: '' + example: Raleigh + in: query + name: city + required: false + schema: + type: string + - description: A two-letter representation of the State + example: NC + in: query + name: state + required: false + schema: + type: string + - description: '' + example: '435' + in: query + name: areaCode + required: false + schema: + type: string + - description: '' + example: '435215' + in: query + name: npaNxx + required: false + schema: + type: string + - description: '' + example: '4352154' + in: query + name: npaNxxx + required: false + schema: + type: string + - description: Startdate and Enddate must be together + example: 12-01-01 + in: query + name: startdate + required: false + schema: + type: string + - description: Startdate and Enddate must be together + example: 14-01-01 + in: query + name: enddate + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 54 + + + + + + + + + + 3 + +14352154855 + + +14352161523 + + + schema: + $ref: '#/components/schemas/AccountTelephoneNumbersHistoryResponse' + description: The numbers have been successfully retrieved + summary: Retrieve Site in-service numbers + tags: + - In-service Numbers + /accounts/{accountId}/sites/{siteId}/orders: + get: + description: Retrieves all orders associated with the given Site + operationId: RetrieveSiteOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the Site to retrieve associated Orders + example: '407' + in: path + name: siteId + required: true + schema: + type: string + - description: Sets the amount of responses per page + example: 30 + in: query + name: size + required: true + schema: + type: integer + - description: >- + The first orders ID to show on the page. "1" is used as a convention + for the first page + example: 1 + in: query + name: page + required: true + schema: + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 47 + + Link=<https://dashboard.bandwidth.com/api/accounts/12346099/sites/743/orders?page=1&size=30>;rel="first"; + Link=<https://dashboard.bandwidth.com/api/accounts/12346099/sites/743/orders?page=fa7bc01a-cb4d-4eae-9621-560020f45105&size=30>;rel="next"; + + + 1 + jbm + 2014-01-06T19:09:44.027Z + new_number + 2014-01-06T19:09:43.695Z + 13c97416-9eee-4da3-aff8-ba85d1297ef2 + COMPLETE + + + + VA + 1 + + + + + 1 + GLOUCESTER + + + + + GLOUCESTER + 1 + + + + + 0 + 1 + + + + + 49 + Bandwidth CLEC + 1 + + + + + + + schema: + $ref: '#/components/schemas/SiteOrdersResponse' + description: '' + '404': + content: + application/xml: + examples: + example: + value: |- + + + Link=<https://dashboard.bandwidth.com/api/accounts/12346099/sites/3013/orders?page=1&size=300>;rel="first"; + + description: >- + Orders cannot be found for that Site. Possible explanations: + +
      • There are no orders associated with that Site.
      • The + given parameters are invalid.
      + summary: Retrieve Site Orders + tags: + - Orders + /accounts/{accountId}/sites/{siteId}/orders/{orderId}: + get: + description: Retrieves order information associated with the given Site + operationId: RetrieveSiteOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Site ID of the order + example: '407' + in: path + name: siteId + required: true + schema: + type: string + - description: ID of the Order to retrieve + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 1 + jbm + 2014-01-06T19:09:44.027Z + 2014-01-06T19:09:44.041Z + + 123456789 + Area Code Order + 2014-01-06T19:09:43.695Z + 303716 + 743 + false + + 804 + 1 + + true + 743 + + COMPLETE + + + +18042105666 + + + 0 + + schema: + $ref: '#/components/schemas/TnOrderUpdatedResponse' + description: A successful result that contains the response data + summary: Retrieve Site Order + tags: + - Orders + /accounts/{accountId}/sites/{siteId}/orders/{orderId}/tns: + get: + description: Retrieves order TNs associated with the given Site + operationId: RetrieveSiteOrderTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Site ID of the order + example: '407' + in: path + name: siteId + required: true + schema: + type: string + - description: ID of the Order to retrieve a list of TNs + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 1 + +18042105666 + + schema: + $ref: '#/components/schemas/OrderTelephoneNumbersResponse' + description: A successful result that contains the response data + summary: Retrieve Order TNs of Site + tags: + - Tns + /accounts/{accountId}/sites/{siteId}/portins: + get: + description: Retrieves Port-in orders associated with the given Site + operationId: RetrieveSitePortins + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Site ID of Port-In orders + example: '407' + in: path + name: siteId + required: true + schema: + type: string + - description: >- + The port-in ID of the first order of the page. "1" is used as a + convention for the first port-in in the Site ID + example: ca8065d1-ec1a-43da-af40-1dcee43becb5 + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of port-ins retrieved + example: 30 + in: query + name: size + required: true + schema: + default: 300 + type: integer + - description: Displays the port-ins with the given status + example: completed + in: query + name: status + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 7 + + + + + + + + + + 1 + jbm + ca8065d1-ec1a-43da-af40-1dcee43becb5 + port_in + +19192803466 + 2014-05-20T14:43:19.222Z + 1537 + Mock Carrier + 2014-05-20T14:43:32.828Z + CANCELLED + 2015-05-15T20:00:00.000Z + 49 + Bandwidth CLEC + + + schema: + $ref: '#/components/schemas/LNPResponseWrapper' + description: The port-ins have been successfully retrieved. + summary: Retrieve Site Port-In orders + tags: + - Porting + /accounts/{accountId}/sites/{siteId}/sippeers: + get: + description: Retrieve information about a Sip Peer or set of Sip Peers on Site + operationId: ListSipPeers + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Site ID of Sip Peers + example: '407' + in: path + name: siteId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 304985 + CNAM-TEST-778 + description + false + + + + +
      + 1600 + + + Pennsylvania Avenue Northwest + + + + Washington + DC + 20500 + + + United States + Service +
      + + false + false + +
      +
      +
      + schema: + $ref: '#/components/schemas/TNSipPeersResponse' + description: A successful result that contains the response data + summary: List Sip Peers + tags: + - SipPeer Management + post: + description: Create Sip Peer + operationId: CreateSipPeer + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Site ID to create a Sip Peer + example: '407' + in: path + name: siteId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + With OriginationRoutePlan: + value: |- + + + name + description + false + + + 6105552502 + 1 + 100 + + + sip:clarkkent@dailyplanet.com + 2 + 100 + + + 192.168.20.21 + 3 + 50 + + + 7075552509 + 3 + 50 + + + myhost.bandwidth.example + 4 + 100 + + asSpecified + + + + 2.1.1.9 + 0 + DOMESTIC + + + 2.1.1.96/30 + 0 + DOMESTIC + + + + With VoiceHostGroups: + value: |- + + + name + description + false + uri + + + + 10.10.10.1 + + + 10.10.10.2 + + + + + + 2.1.1.9 + 0 + DOMESTIC + + + 2.1.1.96/30 + 0 + DOMESTIC + + + NONE + + With VoiceHosts: + value: |- + + + name + description + false + uri + + + 10.10.10.1 + + + 10.10.10.2 + + + + + 2.1.1.9 + 0 + DOMESTIC + + + 2.1.1.96/30 + 0 + DOMESTIC + + +
      + 1600 + + + PENNSYLVANIA AVE NW + + + + WASHINGTON + DC + 20500 + + + United States + Service +
      + PremiseTrunks + + true + true + + NONE +
      + schema: + properties: + Address: + description: >- + Billing or Service Address for the SIP Peer. This element + is optional for accounts except for accounts with the UC + Trunking Product. If the address element is provided the + following fields can be provided: + properties: + AddressType: + enum: + - Billing + - Service + type: string + City: + type: string + Country: + default: US + type: string + County: + type: string + HouseNumber: + type: string + HouseSuffix: + type: string + PlusFour: + type: string + PostDirectional: + type: string + PreDirectional: + type: string + StateCode: + type: string + StreetName: + type: string + StreetSuffix: + type: string + Zip: + type: string + required: + - HouseNumber + - StreetName + - City + - StateCode + - Zip + - AddressType + type: object + CallVerificationEnabled: + type: boolean + CustomerTrafficAllowed: + description: >- + A TerminationHost can be configured to allow different + customer traffic types. Allowed values are LITE, DOMESTIC + and ALL. This is an optional parameter + enum: + - LITE + - DOMESTIC + - ALL + type: string + Description: + description: Description for the SIP Peer + type: string + HostName: + description: >- + The IP Address or Host Name of the address to be used for + the VoiceHosts or VoiceHostGroups addresses + type: string + IsDefaultPeer: + description: >- + Value is True or False. The Default SIP Peer is the default + "destination" for any Telephone Numbers that are ordered for + the Site in which the SIP Peer resides. Each Site can have + only 1 default SIP Peer. You can configure multiple SIP + Peers on a Site + type: boolean + OriginationRoutePlan: + $ref: '#/components/schemas/OriginationRoutePlan' + PeerName: + description: Mandatory name for the SIP Peer + maxLength: 10 + type: string + PindropEnabled: + type: boolean + Port: + description: >- + Optional Port Number for Voice and Termination hosts. This + is an optional parameter that has default values that are + dependent on the Application + type: integer + SsSendToCustomer: + enum: + - NONE + - VERSTAT + - ENH_VERSTAT + - VERSTAT_AND_IDENTITY + - ENH_VERSTAT_AND_IDENTITY + - IDENTITY + type: string + VoiceHostGroups: + description: >- + The VoiceHostGroups element is comprised of one + VoiceHostGroup element, which is used to randomly distribute + traffic amongst up to 10 IP addresses. Failover behavior is + retained within the group + items: + properties: + VoiceHostGroup: + items: + $ref: '#/components/schemas/Hosts' + type: array + type: array + VoiceHosts: + description: >- + These addresses, comprised of HostName and optional Port, + are used by the Bandwidth network to send calls to for + Origination services. The VoiceHosts list of IP addresses + used for an active/standby address selection mechanism, + where the first address is attempted, followed by the second + address and so on. Except under failure situations the first + address in the list is preferred. Maximum of 10 hosts - can + be IP address or Fully Qualified Domain Name + items: + properties: + Host: + properties: + HostName: + type: string + type: object + type: array + title: CreateSipPeer + responses: + '201': + content: {} + description: Sip Peer created + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13582 + Enforce option is missing + + + schema: + $ref: '#/components/schemas/SipPeerResponseBadRequest' + description: |- + Bad Request. Possible errors in response: +
        +
      • 12113 - The provided street address could not be verified. Please submit a valid street address.
      • +
      • 13569 - A termination host with HostName = 2.1.1.9 is already in use
      • +
      • 13509 - 'wrong.ip' is not a valid host. Provide valid IP or domain name
      • +
      • 13553 - Duplicate host (and port) in VoiceHosts
      • +
      • 13510 - 'wrong.url' is not a valid Destination URI
      • +
      • 13522 - IsDefaultPeer cannot be false right now. The account requires at least one Default Sip Peer
      • +
      • 13552 - A termination host with HostName = %s and Port = %s is already in use
      • +
      • 12024 - Region with state '%s' and country '%s' does not exist
      • +
      • 13576 - Account 9999999 has no CNAM product feature
      • +
      • 13581 - Display option is missing
      • +
      • 13582 - Enforce option is missing
      • +
      • 13590 - The supplied CustomerTrafficAllowed value on host %s:%s are not allowed for this sippeer
      • +
      • 13591 - Termination Settings at the SIP Peer level are not allowed for accounts with the 'DedicatedPrivateNetworkTopology' product.
      • +
      • 13592 - Calling name 'Display' and 'Enforced' values can't be updated for 'DedicatedPrivateNetworkTopology' account.
      • +
      • 13593 - %s has invalid mask. Valid mask values: 20-32
      • +
      • 13594 - %s is not valid host
      • +
      • 13595 - The IP address provided: %s contains a non zero subnet portion. An equivalent IP address such as %s with a zero subnet value must be provided.
      • +
      • 13685 - Origination route plan action cannot be 'unchanged' when creating a new SIP peer
      • +
      • 13686 - Origination route plan action cannot be 'off' when creating a new SIP peer
      • +
      • 13687 - Voice hosts and host groups are not supported on this account, please add your hosts to the origination route plan for this SIP peer
      • +
      • 13688 - FinalDestinationUri is not supported on this account, to acheive the same thing, please add this URI to a fail-over group in the origination route plan for this SIP peer
      • +
      • 13691 - CallVerificationEnabled must be a boolean: true or false
      • +
      • 13692 - PindropEnabled must be a boolean: true or false
      • +
      • 13693 - CallVerificationEnabled and PindropEnabled are mutually exclusive and may not be used together
      • +
      • 13694 - CallVerificationEnabled is not allowed on this account
      • +
      • 13695 - PindropEnabled is not allowed on this account
      • +
      • 5200 - Origination route plan is not enabled for the account
      • +
      • 5207 - Specified Route Plan Action was invalid, must be one of 'asSpecified', 'unchanged' or 'off'
      • +
      • 5218 - Origination route cannot have private IP endpoint: %s
      • +
      • 5219 - Origination route sip endpoint %s cannot have invalid sip host %s
      • +
      • 5220 - Origination route sip endpoint %s cannot have private ipv4 %s as sip host
      • +
      • 5221 - Origination route priority %s cannot exceed maximum priority value %s
      • +
      • 5222 - Origination route weight %s cannot exceed maximum weight value %s
      • +
      • 5223 - Origination route priority should be a contiguous sequence of numbers starting with 1. Priority %d is missing.
      • +
      • 5251 - One of the provided origination route plan route names is too long, please ensure all names are less than 256 characters.
      • +
      • 5252 - The origination route name %s is invalid, please use only alphanumeric, whitespace, underscore, and/or dash characters
      • +
      • 5253 - Telephone number endpoints are not allowed on this account. Please contact Bandwidth support if you wish to add this feature to your account.
      • +
      + '409': + content: + application/xml: + examples: + example: + value: >- + + + + + 12112 + The verifiable address closest to the submitted access is included below. Please use that street address or another valid street address in your next request + + + Some adjustments are required to allow the address to pass geocoding: + Specified value - City : "WASHINGTUN" Valid value - + "WASHINGTON" + + 1600 PENNSYLVANIA AVE NW + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20500 + US + + + + schema: + $ref: '#/components/schemas/SipPeerResponseConflict' + description: >- + Conflict - Sip Peer with such name already exists; address couldn't + be geocoded perfectly and needs some changes + '503': + content: + application/xml: + examples: + example: + value: |- + + + + 13566 + Our E911 service is unavaliable + + + schema: + $ref: '#/components/schemas/SipPeerResponseBadRequest' + description: Service unavailable + summary: Create Sip Peer + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}: + delete: + description: Delete Sip Peer + operationId: DeleteSipPeer + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to delete + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + description: Sip Peer deleted + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13613 + Delete not allowed while a SIP Peer has SMS feature + + + schema: + $ref: '#/components/schemas/SipPeerResponseBadRequest' + description: >- + Bad Request. Possible errors in response: + +
      • Delete not allowed while a SIP Peer has SMS + feature
      + '404': + description: Sip Peer not found + summary: Delete Sip Peer + tags: + - SipPeer Management + get: + description: Retrieves the information associated with the sip peer id + operationId: ReadSipPeer + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 304985 + CNAM-TEST-778 + description + false + + + + +
      + 1600 + + + PENNSYLVANIA AVE NW + + + + Washington + DC + 20500 + + + United States + Service +
      + + false + false + +
      +
      + schema: + $ref: '#/components/schemas/SipPeerResponse' + description: A successful result that contains the response data + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13563 + Sip Peer '316167' account '9999999' and site '45' does not exist + + + schema: + $ref: '#/components/schemas/SipPeerResponseBadRequest' + description: Bad request - Sip Peer doesn't exists + summary: Retrieve Sip Peer + tags: + - SipPeer Management + put: + description: >- + Update Sip Peer + + There are a few rules used to eliminate IP address collisions. The + primary restriction is on the ability to share Term IP addresses across + the Bandwidth Dashboard API structural elements. Essentially... + + +
      • Term Addresses cannot be shared anywhere
      • + +
      • VoiceHost and VoiceHostGroup addresses can be shared between SIP + Peers, and can be different than or the same as Term IP Addresses
      • + +
      + + + If the CallingName field is missing from the payload, CNAM will default + to false on the Sip Peer + operationId: UpdateSipPeer + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + name + description + false + + + 10.10.10.1 + + + 10.10.10.2 + + + + + + 2.1.1.9 + 0 + DOMESTIC + + + 2.1.1.96/30 + 0 + DOMESTIC + + + + true + true + + + schema: + $ref: '#/components/schemas/SipPeerPayload' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 304985 + CNAM-TEST-778 + description + false + + + + +
      + 1600 + + + PENNSYLVANIA AVE NW + + + + Washington + DC + 20500 + + + United States + Service +
      + + false + false + +
      +
      + schema: + $ref: '#/components/schemas/SipPeerResponse' + description: Sip Peer updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13582 + Enforce option is missing + + + schema: + $ref: '#/components/schemas/SipPeerResponseBadRequest' + description: |- + Bad Request. Possible errors in response: +
        +
      • 12113 - The provided street address could not be verified. Please submit a valid street address.
      • +
      • 13569 - A termination host with HostName = 2.1.1.9 is already in use
      • +
      • 13509 - 'wrong.ip' is not a valid host. Provide valid IP or domain name
      • +
      • 13553 - Duplicate host (and port) in VoiceHosts
      • +
      • 13510 - 'wrong.url' is not a valid Destination URI
      • +
      • 13522 - IsDefaultPeer cannot be false right now. The account requires at least one Default Sip Peer
      • +
      • 13552 - A termination host with HostName = %s and Port = %s is already in use
      • +
      • 12024 - Region with state '%s' and country '%s' does not exist
      • +
      • 13576 - Account 9999999 has no CNAM product feature
      • +
      • 13581 - Display option is missing
      • +
      • 13582 - Enforce option is missing
      • +
      • 13563 - Sip Peer '316167' account '9999999' and site '45' does not exist
      • +
      • 13590 - The supplied CustomerTrafficAllowed value on host %s:%s are not allowed for this sippeer
      • +
      • 13591 - Termination Settings at the SIP Peer level are not allowed for accounts with the 'DedicatedPrivateNetworkTopology' product.
      • +
      • 13592 - Calling name 'Display' and 'Enforced' values can't be updated for 'DedicatedPrivateNetworkTopology' account.
      • +
      • 13593 - %s has invalid mask. Valid mask values: 24-32
      • +
      • 13594 - %s is not valid host
      • +
      • 13595 - The IP address provided: %s contains a non zero subnet portion. An equivalent IP address such as %s with a zero subnet value must be provided.
      • +
      • 13685 - Origination route plan action cannot be 'unchanged' when creating a new SIP peer
      • +
      • 13686 - Origination route plan action cannot be 'off' when creating a new SIP peer
      • +
      • 13687 - Voice hosts and host groups are not supported on this account, please add your hosts to the origination route plan for this SIP peer
      • +
      • 13688 - FinalDestinationUri is not supported on this account, to acheive the same thing, please add this URI to a fail-over group in the origination route plan for this SIP peer
      • +
      • 13691 - CallVerificationEnabled must be a boolean: true or false
      • +
      • 13692 - PindropEnabled must be a boolean: true or false
      • +
      • 13693 - CallVerificationEnabled and PindropEnabled are mutually exclusive and may not be used together
      • +
      • 13694 - CallVerificationEnabled is not allowed on this account
      • +
      • 13695 - PindropEnabled is not allowed on this account
      • +
      • 5200 - Origination route plan is not enabled for the account
      • +
      • 5207 - Specified Route Plan Action was invalid, must be one of 'asSpecified', 'unchanged' or 'off'
      • +
      • 5218 - Origination route cannot have private IP endpoint: %s
      • +
      • 5219 - Origination route sip endpoint %s cannot have invalid sip host %s
      • +
      • 5220 - Origination route sip endpoint %s cannot have private ipv4 %s as sip host
      • +
      • 5221 - Origination route priority %s cannot exceed maximum priority value %s
      • +
      • 5222 - Origination route weight %s cannot exceed maximum weight value %s
      • +
      • 5223 - Origination route priority should be a contiguous sequence of numbers starting with 1. Priority %d is missing.
      • +
      • 5251 - One of the provided origination route plan route names is too long, please ensure all names are less than 256 characters.
      • +
      • 5252 - The origination route name %s is invalid, please use only alphanumeric, whitespace, underscore, and/or dash characters
      • +
      • 5253 - Telephone number endpoints are not allowed on this account. Please contact Bandwidth support if you wish to add this feature to your account.
      • +
      + '409': + content: + application/xml: + examples: + example: + value: >- + + + + + 12112 + The verifiable address closest to the submitted access is included below. Please use that street address or another valid street address in your next request + + + Some adjustments are required to allow the address to pass geocoding: + Specified value - City : "WASHINGTUN" Valid value - + "WASHINGTON" + + 1600 PENNSYLVANIA AVE NW + 1600 + PENNSYLVANIA + AVE + NW + WASHINGTON + DC + 20500 + US + + + + schema: + $ref: '#/components/schemas/SipPeerResponseConflict' + description: Address couldn't be geocoded perfectly and needs some changes + summary: Update Sip Peer + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/movetns: + post: + description: >- + The POST method moves all telephone numbers specified in the body to the + given SIP peer.
      The source SIP peer is determined by the Telephone + Number, i.e. the PUT method can move multiple numbers from different + source SIP peers.
      The destination SIP peer is specified in the + URL.
      NOTE: only a maximum of 5000 Telephone Numbers can be moved in + one operation. + operationId: CreateSipPeerTelephoneNumberBulk + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + requestBody: + content: + application/xml: + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumberBulk' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumberBulkResponse' + description: The request has been successfully received. + '400': + content: + application/xml: + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumberBulkErrorResponse' + description: >- + Bad Request. Possible errors in response:
      • Shared TNs with + messaging cannot be moved to a sippeer without the SMS feature + enabled.
      • Shared TNs with voice cannot be moved to a + sippeer with the SMS feature enabled.
      + summary: Move bulk tns to sipper + tags: + - Move Tns + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products: + get: + description: A list of products associated with a Sip Peer + operationId: RetrieveSipPeerProducts + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve a list of products + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + Termination + + + EdgeManagement + + + Messaging + + + Origination + + + + schema: + $ref: '#/components/schemas/SipPeerProductsResponse' + description: >- + There is at least one product associated with the SIP Peer. If there + is no products associated with Sip Peer, empty list will be + displayed + summary: Retrieve Sip Peer products + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/applicationSettings: + get: + description: Retrieve Sip Peer Application settings + operationId: RetrieveSipPeerApplicationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve Application settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 4a4ca6c1-156b-4fca-84e9-34e35e2afc32 + + + schema: + $ref: '#/components/schemas/ApplicationsSettingsResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer Application setting + tags: + - SipPeer Management + put: + description: >- + Create/update/delete Sip Peer's application settings
      Set the + ApplicationsSettings value to 'REMOVE' to unassign application + operationId: UpdateSipPeerApplicationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update Application settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + Delete: + value: |- + + REMOVE + Update: + value: |- + + + c3b0f805-06ab-4d36-8bf4-8baff7623398 + + schema: + $ref: '#/components/schemas/ApplicationsSettings' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + c3b0f805-06ab-4d36-8bf4-8baff7623398 + + + schema: + $ref: '#/components/schemas/ApplicationsSettingsResponse' + description: Settings were successfully updated + summary: Update Sip Peer Application setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/mms: + delete: + description: Delete Sip Peer MMS settings + operationId: DeleteSipPeerMmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to delete MMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + description: Settings were deleted + '404': + description: MMS settings were not found + summary: Delete Sip Peer MMS setting + tags: + - SipPeer Management + get: + description: Retrieve Sip Peer MMS settings + operationId: RetrieveSipPeerMmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve MMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + HTTP + + + + + 500017 + + + + + + schema: + $ref: '#/components/schemas/MmsFeatureResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer MMS setting + tags: + - SipPeer Management + post: + description: Create Sip Peer MMS settings + operationId: CreateSipPeerMmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to create MMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + MM4 + + + + + OFF + + + + 206.107.248.58 + + + + + + + + 30.239.72.55 + + 8726 + 0 + + + 25.231.123.32 + 0 + + + + + + + schema: + $ref: '#/components/schemas/SipPeerMmsFeature' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + + MM4 + + + + OFF + + + + 1 + 206.107.248.58 + + + + + + + 30.239.72.55 + + 8726 + 1 + 0 + + + 25.231.123.32 + 2 + 0 + + + + + + + + schema: + $ref: '#/components/schemas/MmsFeatureResponse' + description: Setting was successfully added + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13606 + Messaging feature may have only one protocol assigned. + + + description: |- + Bad Request. Possible errors in response: +
      • Pauload contains two protocol
      + summary: Create Sip Peer MMS setting + tags: + - SipPeer Management + put: + description: Update Sip Peer MMS settings + operationId: UpdateSipPeerMmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update MMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + HTTP + + + + + 500017 + + + + + schema: + $ref: '#/components/schemas/SipPeerMmsFeature' + responses: + '200': + description: Settings were successfully updated + summary: Update Sip Peer MMS setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/mms/settings: + get: + description: Retrieve Sip Peer MMS feature settings + operationId: RetrieveSipPeerMmsFeatureSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve MMS feature settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + MM4 + + + schema: + $ref: '#/components/schemas/MmsFeatureMmsSettingsResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer MMS feature setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/features/sms: + delete: + description: Delete Sip Peer SMS settings + operationId: DeleteSipPeerSmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to delete SMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + description: Settings have been deleted + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13673 + Can not disable SMS feature on Sip Peer because it has telephone numbers with messaging enabled. + + + description: >- + Bad Request. Possible errors in response: + +
      • SMS feature can't be removed because MMS feature is present, + remove it first.
      • Can not disable SMS feature on Sip Peer + because it has telephone numbers with messaging enabled.
      + '404': + description: SMS settings do not exist + summary: Delete Sip Peer SMS setting + tags: + - SipPeer Management + get: + description: Retrieve Sip Peer SMS settings + operationId: RetrieveSipPeerSmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve SMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + true + true + DefaultOff + SomeMessageClass + SomeCampaignId + SMPP + true + true + true + true + true + + + + 54.10.88.146 + 18 + 0 + RECEIVER_ONLY + + + + + schema: + $ref: '#/components/schemas/SipPeerSmsFeatureResponse' + description: Payload contains sms feature settings for sip peer + summary: Retrieve Sip Peer SMS setting + tags: + - SipPeer Management + post: + description: >- + Create Sip Peer SMS settings
      + + Warning: settings A2pLongCode as 'ON' or 'OFF' will enforce this + value for all tns under target sippeer
      + + Note: In case of using SMPP protocol, it may be not possible to + add or delete hosts with large subnet masks.
      + + Host address may or may not include the subnet mask (/32 is assumed if + not specified) + + Regular users can only specify subnets not larger then /20. Updating + + subnet values larger than /20 requires Bandwidth staff intervention + (Bandwidth staff may define subnets upto /14) + + Also, host address should not intersect with addresses used by other + services or other accounts, + + otherwise a validation error will occur + operationId: CreateSipPeerSmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to create SMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + true + true + DefaultOff + SomeMessageClass + SomeCampaignId + SMPP + true + true + true + true + true + + + + 54.10.88.146 + 0 + RECEIVER_ONLY + + + 47.123.17.16/30 + 0 + RECEIVER_ONLY + + + + schema: + $ref: '#/components/schemas/SipPeerSmsFeature' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + + true + true + DefaultOff + SomeMessageClass + SomeCampaignId + SMPP + true + true + true + true + true + + + + 54.10.88.146 + 18 + 0 + RECEIVER_ONLY + + + 47.123.17.16/30 + 18 + 0 + RECEIVER_ONLY + + + + + schema: + $ref: '#/components/schemas/SipPeerSmsFeatureResponse' + description: Settings has been successfully created + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13609 + Can't create sip peer http protocol sms feature without account level http settings. + + + description: >- + Bad Request. Possible errors in response: + +
      • Account level settings don`t exist
      • CampaignID + shouldn't be present if all of features 'A2pLongCode', 'TollFree' + and 'ShortCode' are disabled
      • CampaignID is required if at + least one of features 'A2pLongCode', 'TollFree' and 'ShortCode' is + enabled
      • Campaign ID '%s' was not found in list of authorized + Campaign IDs.
      • A2P Campaign ID '%s' is not valid. Needs to be + between 1 and 64 characters. Only alphanumeric characters, + whitespaces, dashes, underscores and dots are allowed.
      • A2P + Message Class '%s' is not valid.
      • A2P Message Class is + required if at least one of features 'A2pLongCode', 'TollFree' and + 'ShortCode' is enabled
      • A2P Message Class shouldn't be + present if all of features 'A2pLongCode', 'TollFree' and 'ShortCode' + are disabled
      • A2P Message Class '%s' was not found in list of + authorized Message Classes.
      • A2P Message Class is required if + 'A2pLongCode' is enabled.
      • A2P Message Class shouldn't be + present if 'A2pLongCode' is disabled.
      • A2pLongCode value is + invalid. Valid values are: 'ON', 'OFF', 'DefaultOn', + 'DefaultOff'.
      • Host ip or mask can't be + changed
      • 47.0.0.0/12 has invalid mask. Valid mask values: + 14-32
      • Termination IP 47.123.17.16/30 overlaps with an + address that is already in use
      • Termination IP + 47.123.17.16/30 overlaps with addresses that are already in use: + 47.123.17.18
      • The IP address provided: <47.123.17.17> + contains a non zero subnet portion. An equivalent IP address such as + <47.123.17.16> with a zero subnet value must be + provided
      • Account '%s' has no '%s' product + feature
      • Can't create sip peer http protocol sms feature + without account level http settings.
      + '403': + content: + application/xml: + examples: + example: + value: |- + + + + 13674 + Configuring subnet values larger than /20 requires Bandwidth staff intervention + + + description: >- + Access denied. Possible errors in response: + +
      • Configuring subnet values larger than /20 requires Bandwidth + staff intervention
      + summary: Create Sip Peer SMS setting + tags: + - SipPeer Management + put: + description: >- + Update Sip Peer SMS settings
      + + Warning: settings A2pLongCode as 'ON' or 'OFF' will enforce this + value for all tns under target sippeer
      + + Note: In case of using SMPP protocol, it may be not possible to + add or delete hosts with large subnet masks.
      + + Update smpp host. Host address may or may not include the subnet mask + (/32 is assumed if not specified) + + Regular users can only specify subnets not larger then /20. Updating + subnet values larger than + + /20 requires Bandwidth staff intervention (Bandwidth staff may define + subnets upto /14) + + Also, host address should not intersect with addresses used by other + services or other accounts, otherwise a validation error will occur + operationId: UpdateSipPeerSmsSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update SMS settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + false + true + DefaultOff + SomeMessageClass + SomeCampaignId + SMPP + true + false + false + false + false + + + + 235.133.23.79 + 6 + 0 + TRANSCEIVER + + + 47.123.17.16/30 + 18 + 0 + TRANSCEIVER + + + + schema: + $ref: '#/components/schemas/SipPeerSmsFeature' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + false + true + DefaultOff + SomeMessageClass + NewCampaignId + SMPP + true + false + false + false + false + + + + 235.133.23.79 + 6 + 0 + TRANSCEIVER + + + 47.123.17.16/30 + 18 + 0 + TRANSCEIVER + + + + + schema: + $ref: '#/components/schemas/SipPeerSmsFeatureResponse' + description: Settings have been successfully updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13637 + CampaignID shouldn't be present if all of features 'A2pLongCode', 'TollFree' and 'ShortCode' are disabled. + + + description: >- + Bad Request. Possible errors in response: + +
      • CampaignID shouldn't be present if all of features + 'A2pLongCode', 'TollFree' and 'ShortCode' are + disabled
      • CampaignID is required if at least one of features + 'A2pLongCode', 'TollFree' and 'ShortCode' is + enabled
      • Campaign ID '%s' was not found in list of authorized + Campaign IDs.
      • A2P Campaign ID '%s' is not valid. Needs to be + between 1 and 64 characters. Only alphanumeric + characters,whitespaces, dashes, underscores and dots are + allowed.
      • A2P Message Class '%s' is not valid.
      • A2P + Message Class is required if at least one of features 'A2pLongCode', + 'TollFree' and 'ShortCode' is enabled
      • A2P Message Class + shouldn't be present if all of features 'A2pLongCode', 'TollFree' + and 'ShortCode' are disabled
      • A2P Message Class '%s' was not + found in list of authorized Message Classes.
      • A2P Message + Class is required if 'A2pLongCode' is enabled.
      • A2P Message + Class shouldn't be present if 'A2pLongCode' is + disabled.
      • A2pLongCode value is invalid. Valid values are: + 'ON', 'OFF', 'DefaultOn', 'DefaultOff'.
      • Host ip or mask + can't be changed
      • 47.0.0.0/12 has invalid mask. Valid mask + values: 14-32
      • Termination IP 47.123.17.16/30 overlaps with + an address that is already in use
      • Termination IP + 47.123.17.16/30 overlaps with addresses that are already in use: + 47.123.17.18
      • The IP address provided: <47.123.17.17> + contains a non zero subnet portion. An equivalent IP address such as + <47.123.17.16> with a zero subnet value must be + provided
      • Can not disable shortcode sms settings for a + SipPeer if shortcode numbers with messaging enabled are present on + this SipPeer
      • A2pOnly account %s required A2P enabled on + location. Valid values are: 'ON', 'DefaultOn'
      + '403': + content: + application/xml: + examples: + example: + value: |- + + + + 13674 + Configuring subnet values larger than /20 requires Bandwidth staff intervention + + + description: >- + Access denied. Possible errors in response: + +
      • Configuring subnet values larger than /20 requires Bandwidth + staff intervention
      + summary: Update Sip Peer SMS setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/messaging/settings: + get: + description: Retrieve Sip Peer Messaging settings + operationId: RetrieveSipPeerMessagingSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve Messaging settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + CAN + GBR + + + + schema: + $ref: '#/components/schemas/SipPeerMessagingSettingsResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer Messaging setting + tags: + - SipPeer Management + put: + description: Create/update/delete Sip Peer's Messaging settings + operationId: UpdateSipPeerMessagingSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update Messaging settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + CAN + GBR + + + schema: + $ref: '#/components/schemas/SipPeerMessagingSettings' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + CAN + GBR + + + + schema: + $ref: '#/components/schemas/SipPeerMessagingSettingsResponse' + description: Messaging settings were successfully updated + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13654 + The country values '[GBR]' do not match a 3-character country code that has been approved for this account. + + + description: Bad request. Messaging settings were not successfully updated + summary: Update Sip Peer Messaging setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/origination/settings: + get: + description: Retrieve Sip Peer Origination settings + operationId: RetrieveSipPeerOriginationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve origination settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + HTTP Voice protocol: + value: |- + + + + HTTP + + 469ebbac-4459-4d98-bc19-a038960e787f + + + + SIP Voice protocol: + value: |- + + + + SIP + + + schema: + $ref: '#/components/schemas/SipPeerOriginationSettingsResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer Origination setting + tags: + - SipPeer Management + post: + description: Create Sip Peer Origination settings + operationId: CreateSipPeerOriginationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update origination settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + HTTP Voice protocol: + value: |- + + + HTTP + + 469ebbac-4459-4d98-bc19-a038960e787f + + + SIP Voice protocol: + value: |- + + + SIP + + schema: + $ref: '#/components/schemas/SipPeerOriginationSettingsRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + HTTP + + 469ebbac-4459-4d98-bc19-a038960e787f + + + + schema: + $ref: '#/components/schemas/SipPeerOriginationSettingsResponse' + description: Settings were successfully added + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13609 + Can't create sip peer http protocol sms feature without account level http settings. + + + description: >- + Bad Request. Possible errors in response: + +
      • Account level settings don`t exist
      • Can't create sip + peer http protocol sms feature without account level http + settings
      + summary: Create Sip Peer Origination setting + tags: + - SipPeer Management + put: + description: >- + Update Sip Peer Origination settings

      Note: Changing the Voice Protocol + from SIP to HTTP will remove Voice Hosts or Voice Host Groups and + Termination Hosts, which are configured using API + /accounts/{accountId}/sites/{siteId}/sippeers/{sippeerId}.

      + operationId: UpdateSipPeerOriginationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update origination settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + HTTP Voice protocol: + value: |- + + + HTTP + + 867b923b-8a92-4579-b29b-405f165b8124 + + + SIP Voice protocol: + value: |- + + + SIP + + schema: + $ref: '#/components/schemas/SipPeerOriginationSettingsRequest' + responses: + '200': + description: Settings were successfully updated + summary: Update Sip Peer Origination setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination: + get: + description: Get all sip peer gateway IPs and subnets + operationId: GetSipPeerTerminationProducts + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + SIP + + + + 188.219.64.2 + 0 + 20 + + + 87.67.71.16/30 + 0 + 21 + + + + + schema: + $ref: '#/components/schemas/SipPeerTerminationProductsResponse' + description: A successful result that contains the response data + '500': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + Some error description + + + schema: + properties: + TerminationResponse: + $ref: '#/components/schemas/ResponseStatus' + title: TerminationResponse + type: object + description: Server Error + summary: Get sip peer termination products + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/hosts: + get: + description: Get all sip peer gateway IPs and subnets + operationId: GetSipPeerTerminationGateways + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 212.240.169.208 + 0 + 21 + + + 87.67.71.16/30 + 0 + 22 + + + schema: + $ref: '#/components/schemas/SipPeerGatewayIpsResponse' + description: A successful result that contains the response data + summary: Get sip peer termination gateways + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/hosts/{gatewayId}: + get: + description: Get sip peer gateway IP or subnet by id + operationId: GetSipPeerTerminationGateway + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + - $ref: '#/components/parameters/GatewayIdIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 87.67.71.16/30 + 0 + 23 + + + schema: + $ref: '#/components/schemas/SipPeerGatewayIpResponse' + description: A successful result that contains the response data + '404': + content: + application/xml: + schema: + properties: + SipPeerGatewayIpResponse: + $ref: '#/components/schemas/ResponseStatus' + title: SipPeerGatewayIpResponse + type: object + description: Sip peer gateway ip was not found + summary: Get sip peer termination gateway + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/hosts/{gatewayId}/settings: + get: + description: Get all gateway attributes + operationId: GetSipPeerTerminationGatewayAttributes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + - $ref: '#/components/parameters/GatewayIdIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 10 + + + 8 + TRACE + true + 2014-11-13T17:48:33 + 2014-12-13T17:48:33 + + + + + schema: + $ref: '#/components/schemas/SipPeerGatewayAttributesResponse' + description: OK + summary: Get sip peer termination gateway attributes + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/hosts/{gatewayId}/settings/{attributeId}: + get: + description: Get gateway attribute by id + operationId: GetSipPeerTerminationGatewayAttribute + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + - $ref: '#/components/parameters/GatewayIdIdPathParam' + - in: path + name: attributeId + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 25 + + 21 + TRACE + true + 2014-11-13T17:48:33 + 2014-12-13T17:48:33 + + + + schema: + $ref: '#/components/schemas/SipPeerGatewayAttributeResponse' + description: OK + summary: Get sip peer termination gateway attribute + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products/termination/settings: + get: + description: Retrieve Sip Peer Termination settings + operationId: RetrieveSipPeerTerminationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve termination settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + HTTP Voice protocol: + value: |- + + + + HTTP + + 469ebbac-4459-4d98-bc19-a038960e787f + + + + SIP Voice protocol: + value: |- + + + + SIP + + + schema: + $ref: '#/components/schemas/SipPeerTerminationSettingsResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer Termination setting + tags: + - SipPeer Management + post: + description: Create Sip Peer Termination settings + operationId: CreateSipPeerTerminationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to create termination settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + HTTP Voice protocol: + value: |- + + + HTTP + + 469ebbac-4459-4d98-bc19-a038960e787f + + + SIP Voice protocol: + value: |- + + + SIP + + schema: + $ref: '#/components/schemas/SipPeerTerminationSettingsRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + HTTP + + 469ebbac-4459-4d98-bc19-a038960e787f + + + + schema: + $ref: '#/components/schemas/SipPeerTerminationSettingsResponse' + description: Setting were successfully added + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13609 + Can't create sip peer http protocol sms feature without account level http settings. + + + description: >- + Bad Request. Possible errors in response: + +
      • Account level settings don`t exist
      • Can't create sip + peer http protocol sms feature without account level http + settings
      + summary: Create Sip Peer Termination setting + tags: + - SipPeer Management + put: + description: >- + Update Sip Peer Termination settings

      Note: Changing the Voice Protocol + from SIP to HTTP will remove Voice Hosts or Voice Host Groups and + Termination Hosts, which are configured using API + /accounts/{accountId}/sites/{siteId}/sippeers/{sippeerId}.

      + operationId: UpdateSipPeerTerminationSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update termination settings + example: '500017' + in: path + name: sipPeerId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + HTTP Voice protocol: + value: |- + + + HTTP + + 867b923b-8a92-4579-b29b-405f165b8124 + + + SIP Voice protocol: + value: |- + + + SIP + + schema: + $ref: '#/components/schemas/SipPeerTerminationSettingsRequest' + responses: + '200': + description: Settings were successfully updated + summary: Update Sip Peer Termination setting + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/totalSeats: + get: + description: Retrieves the total number of seats on sip peer location + operationId: GetSipPeerTotalSeats + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2 + + + schema: + properties: + SipPeerTotalSeatsResponse: + allOf: + - $ref: '#/components/schemas/UcTrunkingSeats' + type: object + description: The total number of seats has been successfully retrieved + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12017 + Account '12346099' does not have product 'UcTrunking' + + + schema: + properties: + SipPeerTotalSeatsResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + description: The account ID given does not have UC Trunking associated with it + summary: Get Total Number of Seats for Sip Peer + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/uctrunks: + get: + description: Get sip peer premise trunks + operationId: GetSipPeerPremiseTrunks + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerIdPathParam' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/UcTrunkingPremiseTrunksResponse' + description: Information was successfully retrieved + summary: Get SipPeer Premise Trunks + tags: + - SipPeer Management + /accounts/{accountId}/sites/{siteId}/sippeers/{sippeerId}/tns: + get: + description: >- + Retrieve information about a Telephone number or set of Telephone + numbers + operationId: ReadSipPeerTns + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve TNs information + example: '500017' + in: path + name: sippeerId + required: true + schema: + type: string + - description: >- + If the value is false SipPeerTelephoneNumber will contain FullNumber + tags only. This makes processing faster + example: false + in: query + name: includeAttributes + required: false + schema: + default: true + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + +12052160148 + true + + Protected + External + Imported + + + true + + + + +12053161118 + false + + true + + + + +12053160118 + +12014563025 + false + + + + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumbersResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer TNs + tags: + - Tns + /accounts/{accountId}/sites/{siteId}/sippeers/{sippeerId}/tns/{tn}: + get: + description: Retrieve information about telephone number on Sip Peer + operationId: ReadSipPeerTn + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve TN information + example: '500017' + in: path + name: sippeerId + required: true + schema: + type: string + - description: A 10 Digit Telephone Number + example: '+15209072451' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + +15209072451 + +17042661720 + true + + Protected + External + Imported + + + true + + + + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumberResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer TN + tags: + - Tns + put: + description: Update settings for a TN allocated to their account + operationId: UpdateSipPeerTnSettings + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to update TN information + example: '500017' + in: path + name: sippeerId + required: true + schema: + type: string + - description: A 10 Digit Telephone Number to update + example: '+15209072451' + in: path + name: tn + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + +12052160156 + 10digit + 10digit + false + +17042661720 + true + + Protected + External + Imported + + + true + + + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumber' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + + +12174101601 + SMS is already Enabled or number is in processing. + + + + + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumberResponse' + description: >- + There is no body response when request is successful or with + warnings list + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 13576 + Account '9999999' has no 'CallForwarding' product feature + + + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumberResponseBadRequest' + description: >- + Bad Request. Possible errors in response: + +
      • 13513 - Call Forwarding number '%s' is not a valid 10-digit + telephone number
      • 13514 - Number Format '%s' is invalid for + telephone number '%s'
      • 13515 - Rewrite User '%s' is invalid + for telephone number '%s'
      • 13516 - RPID Format '%s' is + invalid for telephone number '%s'
      • 13517 - Telephone number + '%s' is not available
      • 13518 - Telephone number '%s' is not + available
      • 13519 - There is an issue with telephone number + '%s'. Please contact Customer Service
      • 13575 - + CallingNameDisplay '%s' is invalid. Valid values are: 'true', + 'false'
      • 13576 - Account '%s' has no [CallForwarding|CNAM] + product feature
      • 13583 - CNAM for '%s' is applied at the + Location level and it is not applicable at the TN + level.
      • 13536 - Telephone number +17206083492 does not exist + on Account 9999999, Site 45, and Sip Peer 305610
      + '409': + description: >- + Conflict. Due to the asynchronous nature of TN settings, a potential + conflict has been identified.

      This is typically a result of + updating the settings of a TN without changing the messaging + settings. For updating a TN's properties without changing the + messaging settings, consider using the POST + accounts/{accountId}/tnOptions endpoint

      + summary: Update Sip Peer TN settings + tags: + - Tns + /accounts/{accountId}/sites/{siteId}/sippeers/{sippeerId}/totaltns: + get: + description: Retrieve count of Telephone numbers for Sip Peer + operationId: RetrieveSipPeerTnsCount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + - description: ID of the Sip Peer to retrieve TNs count + example: '500017' + in: path + name: sippeerId + required: true + schema: + type: string + - description: Telephone number feature + example: CNAM + in: query + name: feature + required: false + schema: + items: + enum: + - CNAM + - LIDB + type: string + type: array + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 4 + 4 + 0 + + + schema: + $ref: '#/components/schemas/SipPeerTelephoneNumbersCountResponse' + description: A successful result that contains the response data + summary: Retrieve Sip Peer TNs count + tags: + - Tns + /accounts/{accountId}/sites/{siteId}/totalSeats: + get: + description: Retrieves the total number of seats on site + operationId: GetSiteTotalSeats + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/SiteIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 16 + + + schema: + properties: + SiteTotalSeatsResponse: + allOf: + - $ref: '#/components/schemas/UcTrunkingSeats' + type: object + description: The total number of seats has been successfully retrieved + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12017 + Account '12346099' does not have product 'UcTrunking' + + + schema: + properties: + SiteTotalSeatsResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + description: The account ID given does not have UC Trunking associated with it + summary: Get Total Number of Seats for Site + tags: + - Site Management + /accounts/{accountId}/sites/{siteId}/totaltns: + get: + description: Retrieves Site telephone numbers total count + operationId: RetrieveSiteTnsCount + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of the Site to retrieve count of TNs + example: '407' + in: path + name: siteId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 26 + + + schema: + $ref: '#/components/schemas/SiteTNsResponse' + description: The total count of Telephone Numbers associated with the Site. + summary: Retrieve Site TNs count + tags: + - Tns + /accounts/{accountId}/subscriptions: + get: + description: >- + GET is used to retrieve all subscriptions for the account (including + email and callback subscriptions). The returned information reflects the + subscription as it has been defined, and for callback subscriptions will + reflect the status of the latest attempt to place the callback. The + `Status` element will indicate if an error is being encountered when the + Bandwidth Dashboard API attempts to place the callback. + operationId: GetSubscriptions + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + 0b3aa54d-0ce5-4f5b-bd75-1c30967b197f + orders + + bwtest@gmail.com + NONE + + + + ddf05927-780f-4f8f-89ab-e581f52f5f20 + + "https://company.com/iriscallback" + 30000 + some message containing status code and response body of last callback + + + iris + + + + + + 1b2av54d-0ce5-4f5b-bd75-1c30967b197f + MESSAGING_LOST + + bwtest@gmail.com + DAILY + + + + 1cf05927-780f-4f8f-89ab-e581f52f5e12 + MESSAGING_LOST + + "https://company.com/iriscallback" + 30000 + some message containing status code and response body of last callback + + + iris + + + + + + + schema: + $ref: '#/components/schemas/SubscriptionsResponse' + description: >- + The subscriptions retrieval request will return a list of the + subscriptions that are created on this account. + '400': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: >- + If the account specified does not exist or is locked it will result + in a bad request. + summary: Retrieve all subscriptions + tags: + - Subscriptions + post: + callbacks: + byEvent: + your_url.com/webhookService: + post: + description: See more details Webhhoks + requestBody: + content: + application/xml: + schema: + properties: + CompletedTelephoneNumbers: + properties: + TelephoneNumbers: + items: + type: string + type: array + type: object + EventType: + enum: + - MESSAGING_LOST + type: string + SubscriptionId: + format: uuid + type: string + type: object + responses: + '201': + description: Receive callback. + summary: The notification callback by event. + byOrderType: + your_url.com/webhookService: + post: + description: See more details Webhhoks + requestBody: + content: + application/xml: + schema: + properties: + CompletedTelephoneNumbers: + properties: + TelephoneNumbers: + items: + type: string + type: array + type: object + Message: + type: string + Note: + type: string + OrderId: + format: uuid + type: string + OrderType: + $ref: '#/components/schemas/SubscriptionOrderType' + Status: + enum: + - COMPLETE + - FAILED + - PARTIAL + - EXCEPTION + type: string + SubscriptionId: + format: uuid + type: string + type: object + responses: + '201': + description: Receive callback. + summary: The notification callback by order type. + description: >- + A POST on the /subscriptions resource is used to request a new + subscriptions for an account. The POST creates a new e-mail or callback + subscription. A well-formed POST will create a subscription resource, + and return a subscription ID as part of the location header. The ID is + used to uniquely identify the subscription. The user should submit the + desired e-mail address for notifications and the frequency with which he + wants to get the updates: DAILY (for daily digests) or NONE (immediately + after events). OrderId is optional. If OrderId is specified only + notifications will be sent for events related to that order. If OrderId + is omitted, notifications will be sent related to events of all orders + of the specified type. The credentials used to impose security on the + callbacks are defined in the element. The Basic + authentication is straightforward, but the requires a little + more explanation. Please see the document to the left on Mutual + Authentication for CallBacks. can be omitted if the + url is http, but using https is recommended for security. When status + changes on an order that had been subscribed to with a callback + subscription (order update, note added to order), the following payload + will be POSTed to the URL of the callback subscription. + operationId: CreateSubscriptions + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + eventCallbackSubscription: + summary: callback subscription on event type + value: |- + + + MESSAGING_LOST + + "http://yourhost:8080/path/to/resource" + 12000 + + + superuser + s3cure + + LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + + + + eventEmailSubscription: + summary: email subscription on event type + value: |- + + + MESSAGING_LOST + + newtest@gmail.com + DAILY + + + orderCallbackSubscription: + summary: callback subscription on order type + value: |- + + + orders + + "http://yourhost:8080/path/to/resource" + 12000 + + + superuser + s3cure + + LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + + + + orderEmailSubscription: + summary: email subscription on order type + value: |- + + + portins + e75dc861-95ed-427e-8688-976132a69549 + + newtest@gmail.com + DAILY + + + schema: + oneOf: + - $ref: '#/components/schemas/EmailSubscriptionByOrderTypeRequest' + - $ref: '#/components/schemas/EmailSubscriptionByEventTypeRequest' + - $ref: '#/components/schemas/CallBackSubscriptionByOrderTypeRequest' + - $ref: '#/components/schemas/CallBackSubscriptionByEventTypeRequest' + responses: + '201': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionResponse' + description: >- + If the subscription is successfully created a CREATED response code + will be returned. Response has no payload. The subscription id is + returned in the response Location header. + '400': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: >- + If the account specified does not exist or is locked it will result + in a bad request. + '404': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: >- + If the subscription validation failed (e.g. invalid URL, invalid + expiration date, invalid public key). + '409': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: >- + If the subscription for this subscription target already exits it + will result in a CONFLICT response. + summary: Create subscriptions + tags: + - Subscriptions + /accounts/{accountId}/subscriptions/{subscriptionid}: + delete: + description: >- + Deletes the specified subscription. Note that deleting subscriptions is + only supported on a one-by-one basis. Deleting all subscriptions + associated with an order requires GETting all of those subscriptions, + then deleting them one by one. + operationId: DeleteSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: subscriptionid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionResponse' + description: Subscription has been successfully deleted. + '404': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: Subscription does not exist. + summary: Delete subscription + tags: + - Subscriptions + get: + description: > +

      Retrieves the information associated with the subscription ID. + + The returned information reflects the subscription as it has been + defined, and for callback subscriptions will reflect the status of the + latest attempt to place the callback. The element will + indicate if an error is being encountered when the Bandwidth Dashboard + API attempts to place the callback. + + <Expiry> in the GET response payload, shows how many seconds are + remaining before expiration of the subscription.

      + operationId: GetSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: subscriptionid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + eventCallbackSubscription: + summary: callback subscription on event type + value: |- + + + + 091a60d7-a612-48a5-a86e-326b51997cad + MESSAGING_LOST + + http://customer.com:8087/path/BandwidthHandler + +14283455101 + 200 OK + + + + eventEmailSubscription: + summary: email subscription on event type + value: |- + + + + + 957f9be6-2e81-47bb-afd9-b8c184e9e247 + MESSAGING_LOST + + newtest@gmail.com + DAILY + + + + + orderCallbackSubscription: + summary: callback subscription on order type + value: |- + + + + 991a60d7-a612-48a5-a86e-326b51997cac + portins + + http://customer.com:8087/path/BandwidthHandler + +14283455101 + 200 OK + + + + orderEmailSubscription: + summary: email subscription on order type + value: |- + + + + + 257f9be6-2e81-47bb-afd9-b8c184e9e246 + portouts + + newtest@gmail.com + DAILY + + + + + schema: + $ref: '#/components/schemas/SubscriptionsResponse' + description: A subscription has been retrieved. The information is returned. + summary: Retrieve subscription + tags: + - Subscriptions + put: + description: >- + Updates the subscription. This can be used to update various values + (expiry, email address, url, credentials...). Note that the initial + state changes for an order may happen very quickly, so subscribing to an + order once the system creates it needs to account for the fact that the + initial state may be different based on timing factors. It is + recommended that the application creating the subscription check the + order status after the subscription is created to ensure the correct + initial condition. The same rules around valid or possible values as for + POSTs apply. + operationId: UpdateSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: subscriptionid + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + eventCallbackSubscription: + summary: callback subscription on event type + value: |- + + + MESSAGING_LOST + + "http://yourhost:8080/path/to/resource" + 12000 + + + superuser + s3cure + + LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + + + + eventEmailSubscription: + summary: email subscription on event type + value: |- + + + MESSAGING_LOST + + newtest@gmail.com + DAILY + + + orderCallbackSubscription: + summary: callback subscription on order type + value: |- + + + orders + + "http://yourhost:8080/path/to/resource" + 12000 + + + superuser + s3cure + + LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + + + + orderEmailSubscription: + summary: email subscription on order type + value: |- + + + portins + e75dc861-95ed-427e-8688-976132a69549 + + newtest@gmail.com + DAILY + + + schema: + oneOf: + - $ref: '#/components/schemas/EmailSubscriptionByOrderTypeRequest' + - $ref: '#/components/schemas/EmailSubscriptionByEventTypeRequest' + - $ref: '#/components/schemas/CallBackSubscriptionByOrderTypeRequest' + - $ref: '#/components/schemas/CallBackSubscriptionByEventTypeRequest' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionResponse' + description: | +

      Subscription was successfully updated

      + '400': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: | +

      Subscription values failed validation

      + '404': + content: + application/xml: + schema: + $ref: '#/components/schemas/SubscriptionsErrorResponse' + description: | +

      Subscription does not exist

      + summary: Update subscription + tags: + - Subscriptions + /accounts/{accountId}/tnPortoutPasscodes: + get: + description: >- + Retrieve information about one or more Telephone Numbers (TNs) with port + out passcode. + operationId: GetTnPortOutPasscode + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the count, of the initial entry in the page being + requested. Note in the example that the page is the TN that begins + the page. The initial page is tagged with the ID `1`. + example: '+19199918388' + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of items to include in a page. + example: 250 + in: query + name: size + required: true + schema: + default: 500 + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + +12018391000 + 1234 + + + +12024551000 + 1234 + + + + schema: + $ref: '#/components/schemas/TnPortOutPasscodesResponse' + description: >- + The descriptive payload provides information about the TN(s) and + their Passcode. Links to assist in pagination are also provided. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 15610 + Telephone Numbers cannot be found on account(s) 2002013 + + +12012035088 + + + + schema: + $ref: '#/components/schemas/TnPortOutPasscodesErrorResponse' + description: >- + Bad Request - any syntax error in the parameters will cause a 400 + error with a payload similar to the payload in the example, with an + error code and text description. + summary: Retrieve tn port-out passcode + tags: + - Porting + post: + description: >- + Retrieve information about one or more Telephone Numbers (TNs), where + the TNs are specified in POST body. + operationId: Retrieve tn port-out passcodes + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + +13172000285 + +13172000207 + +13172000000 + +13172000100 + +13172110285 + +13172100285 + +199999999999 + +111111111111 + + schema: + $ref: '#/components/schemas/TnListRequest' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 4 + + + +13172000285 + 1234 + + + +13172000207 + 1234 + + + + + 15619 + Passcode was not found on tn(s) + + +13172000000 + + + + 15610 + Telephone Numbers cannot be found on accounts + + +13172110285 + +13172100285 + + + + + schema: + $ref: '#/components/schemas/TnPortOutPasscodesResponse' + description: >- + The descriptive payload provides information about the TN(s) and + their Passcode. The Payload also can contain where + invalid or non-existing on account(s) TNs are specified. Pagination + doesn't work in this case. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 15607 + The count of Telephone numbers in POST body exceeds the maximum size of 2500 + + + schema: + $ref: '#/components/schemas/TnPortOutPasscodesErrorResponse' + description: >- + Bad Request - when in the POST body specified more then + {pagination.maxsize} TNs. + tags: + - Porting + /accounts/{accountId}/tnoptions: + get: + description: >- + Retrieve a list of the TN Option orders that are associated with the + account. A maximum of 1,000 orders can be retrieved per request. If no + date range or specific query parameter (marked by * below) is + provided, the order results will be limited to the last two years. + operationId: GetTnOptionOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: The status of the TN Option order being searched for. + example: PROCESSING + in: query + name: status + required: false + schema: + items: + type: string + type: array + - description: * A Telephone Number (TN) that is referenced in the order. + example: '+19199918388' + in: query + name: tn + required: false + schema: + type: string + - description: >- + * The Customer Order ID is an ID assigned by the account + owner to provide a reference number for the TN Option order. + example: ABCCorp12345 + in: query + name: customerOrderId + required: false + schema: + type: string + - description: >- + For Date-based searches, the starting date of a date range + (inclusive) that will be used to find TN Option Orders that were + modified within the date range. It is in the form yyyy-MM-dd. + example: '2013-10-22' + in: query + name: modifiedDateFrom + required: false + schema: + type: string + - description: >- + For Date-based searches, the ending date of a date range (inclusive) + that will be used to find TN Option Orders that were modified within + the date range. It is in the form yyyy-MM-dd. + example: '2013-10-25' + in: query + name: modifiedDateTo + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date after this date will be included. Format is + yyyy-MM-dd. + example: '2013-10-22' + in: query + name: createdDateFrom + required: false + schema: + type: string + - description: >- + Checks the order's creation date against this value. Orders that + have a creation date before this date will be included. Format is + yyyy-MM-dd. + example: '2013-10-25' + in: query + name: createdDateTo + required: false + schema: + type: string + - description: >- + Checks the order's last modified date against this value. Orders + that have a modification date after this date will be included. + Format is yyyy-MM-dd. + example: '2013-10-25' + in: query + name: lastModifiedAfter + required: false + schema: + type: string + - description: >- + This is the user-name of the user that last modified the TN Option + Order. + example: smckinnon + in: query + name: lastModifiedBy + required: false + schema: + type: string + - description: >- + * This search parameter represents the internal Bandwidth + Dashboard API ID that has been assigned to the TN Option Order. This + parameter is the first few characters of the internal ID - the + entire ID does not need to be specified. + example: ed1c0bed-e2 + in: query + name: orderIdFragment + required: false + schema: + type: string + - description: >- + If set to true, a list of order details will be displayed instead + the summary information. + in: query + name: orderDetails + required: false + schema: + type: boolean + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2 + + 14 + 2 + jbm + 2016-01-15T12:01:14.363Z + 2016-01-15T12:01:14.324Z + tn_option + FAILED + ddbdc72e-dc27-490c-904e-d0c11291b095 + + + 14 + 3 + jbm + 2016-01-15T11:22:58.969Z + 2016-01-15T11:22:58.789Z + tn_option + COMPLETE + 409033ee-88ec-43e3-85f3-538f30733963 + + + + + 2 + + 2016-01-15T12:01:14.324Z + 14 + jbm + ddbdc72e-dc27-490c-904e-d0c11291b095 + 2016-01-15T12:01:14.363Z + FAILED + + + 10digit + 10digit + testUser1 + +16042661720 + on + true + on + sip:+12345678901@1.2.3.4:5060 + + +12018551020 + + + + off + false + off + + +12018551025 + + + + + + 5076 + Telephone number is not available. + +12018551025 + + + 5076 + Telephone number is not available. + +12018551020 + + + + + 2016-01-15T11:22:58.789Z + 14 + jbm + 409033ee-88ec-43e3-85f3-538f30733963 + 2016-01-15T11:22:58.969Z + COMPLETE + + + on + + +12174101601 + + + + off + + +12174101602 + + + + systemdefault + + +12174101603 + + + + + + + + schema: + oneOf: + - $ref: '#/components/schemas/TnOptionOrderReportSummaryResponse' + - $ref: '#/components/schemas/TnOptionOrderReportDetailedResponse' + description: >- + The descriptive payload for the TN Option Orders query provides a + broad range of information about the TN Option Orders found by the + query, including the data associated with the order, the state of + the order, and details about the order if it was successful. + '404': + content: + application/xml: {} + description: > + Not Found. If any errors are found in the processing of the query + string a 404 will be returned. Note that parameters that are not + recognized are not considered errors, and are just ignored. + summary: Retrieve list TN Option orders + tags: + - Tn Option + post: + description: >- + Create TN Option order to assign line features to the telephone + number.

      Attribute description:
      • for A2pSettings + attribute
      • Number + attributeAction valueDescription of + action
        LongCodesystemDefaultRemoves + the per-TN A2P attributes, and it reverts to the Location/SIP Peer + characteristics. Any values for Class or Campaign ID are not + valid
        LongCodeasSpecifiedSets + the message class and campaign ID - this is the default if + unspecified
        LongCodeoffWill + set the TN as a 'P' TN. Any values for Class or Campaign ID are not + valid
        LongCodedeleteWill + delete the campaign ID from TN. Any values for Class or Campaign ID are + not valid
        LongCodeunchangedDo + nothing with respect to + A2P
        TollFreesystemDefaultRemoves + the per-TN A2P attributes, and it reverts to the Location/SIP Peer + characteristics. Any values for Class or Campaign ID are not + valid
        TollFreeasSpecifiedSets + the message class and campaign ID - this is the default if + unspecified
        TollFreeoffIf the + Togglz value is set to 'on' this is invalid for Toll Free telephone + numbers. Any values for Class or Campaign ID in the payload are invalid. + If the Togglz value is set to off this behaves like and A2P TN, where + the characteristics of the TNs is set to + 'P'
        TollFreeunchangedDo + nothing with respect to A2P
      • for Origination + Route plan attribute
      • Action + valueDescription of + action
        asSpecifiedCreates/updates the + origination route plan for the TN with route plan details provided in + the request
        offRemoves the origination route + plan for the TN. Route list is the request must be + empty
        unchangedDoesn't update/create the + origination route plan, even when route plan details exist in the + request
        • Origination route plan is + validated against CallForward and RewriteUser
          • Route plan and CallForward cannot co-exist. Order is + accepted but will respond with error messages on GET.
          • Route plan and RewriteUser cannot co-exist. Order is + accepted but will respond with error messages on + GET.
      • for Pindrop Enabled attribute
      • Action valueDescription of + action
        trueEnables Pindrop integration on each + phone number in the option + group
        falseExplicitly disables Pindrop + integration on each phone number in the option + group
      • for Call Verification Enabled + attribute
      • Action + valueDescription of + action
        trueEnables Call Verification on each + phone number in the option + group
        falseExplicitly disables Call + Verification on each phone number in the option + group
      • for other attribute
        • systemDefault - implies that the element profile + value should be removed so that the TN changes back to the default + system behavior;
        • unchanged - the value + should remain unchanged - implies a read before write model.
        • Leaving the element out of the payload is equivalent to + unchanged.
      + operationId: CreateTnOptionOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + TnOptionOrder1 + + + 10digit + 10digit + testUser1 + +16042661720 + on + a1b2c3 + true + on + sip:+12345678901@1.2.3.4:5060 + + M + campaignId010 + asSpecified + + + +12018551020 + + + + off + false + off + + + 6105552502 + 1 + 100 + + + sip:clarkkent@dailyplanet.com + 2 + 100 + + + 192.168.20.21 + 3 + 50 + + + 7075552509 + 3 + 50 + + + myhost.bandwidth.example + 4 + 100 + + asSpecified + + + +12018551025 + + + + true + + +12018551026 + + + + true + + +12018551027 + + + + + schema: + $ref: '#/components/schemas/TnOptionOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + 2016-01-15T12:01:14.324Z + 14 + jbm + ddbdc72e-dc27-490c-904e-d0c11291b095 + 2016-01-15T12:01:14.324Z + RECEIVED + + + 10digit + 10digit + testUser1 + +16042661720 + on + true + on + + +12018551020 + + + + off + false + off + + +12018551025 + + + + + + + schema: + $ref: '#/components/schemas/TnOptionOrderResponse' + description: Created + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 5081 + Number Format 'wrong' is invalid. + + + schema: + $ref: '#/components/schemas/TnOptionOrderErrorResponse' + description: >- + Bad Request A 400 response Indicates that the order could not be + created. Error text and an error code will be provided in the + ErrorList element. + '409': + content: + application/xml: + examples: + example: + value: |- + + + + 5200 + Origination route plan is not enabled for the account. + + + schema: + $ref: '#/components/schemas/TnOptionOrderErrorResponse' + description: >- + Conflict. Error text and an error code will be provided in the + ErrorList element. + summary: Create TN Option order + tags: + - Tn Option + /accounts/{accountId}/tnoptions/{orderId}: + get: + description: Retrieve information about a TN Option Order with specified ID. + operationId: GetTnOptionOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2016-01-15T11:22:58.789Z + 14 + jbm + 409033ee-88ec-43e3-85f3-538f30733963 + 2016-01-15T11:22:58.969Z + COMPLETE + + + on + on + + +12174101601 + + + + off + + +12174101602 + + + + systemdefault + sip:+12345678901@1.2.3.4:5060 + + +12174101603 + + + + + + + +12174101601 + SMS is already Enabled or number is in processing. + + + + schema: + $ref: '#/components/schemas/TnOptionOrderReportDetailedResponse' + description: >- + The descriptive payload for the TN Option Orders query provides a + broad range of information about the TN Option Order identified in + the URL. Included amongst the information is:
      • ErrorList - + the errors discovered with codes and explanations
      • Warnings - + the warnings discovered with + explanations
      • ProcessingStatus(RECEIVED, PROCESSING, + COMPLETE, PARTIAL, FAILED) - the overall status of the + order
      + '404': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/TnOptionOrderReportErrorResponse' + description: Not found. The order id does not exist in the system. + summary: Retrieve TN Option order + tags: + - Tn Option + /accounts/{accountId}/tnoptions/{orderId}/history: + get: + description: Retrieve the history information associated with an order. + operationId: GetOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + application/xml: + value: |- + + + + 2020-09-17T08:56:39.607Z + Order has been received by the system. + admin + received + + + 2020-09-17T08:56:39.743Z + Order processing has started. + admin + processing + + + 2020-09-17T08:56:39.820Z + Order is complete. + admin + complete + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history payload is a set of history records, each of which + contains: + + + +
      OrderDateThe date that the order history event happened
      StatusThe new state of the TN Option order - RECEIVED, PROCESSING, COMPLETE, PARTIAL, FAILED
      NoteA Note or additional information included with the state change
      AuthorThe user id that implemented the state change

      + '404': + content: + application/xml: {} + description: Not found. The order id does not exist in the system. + summary: Retrieve TN Option order history + tags: + - Tn Option + /accounts/{accountId}/tnreservation: + post: + description: >- + Reserves a telephone number for a default time of 4 hours. A successful + reservation returns a location header that can be used to retrieve the + reservation at a later time. + operationId: ReserveTn + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + +14354770625 + + schema: + $ref: '#/components/schemas/ReservationRequest' + responses: + '201': + description: >- + The TN has been successfully reserved, with the link to the + reservation in the Location Header. + headers: + Location: + description: 'The reservation id is: "8da0f39c-043c-4806-9f0f-497b2d197bc5".' + schema: + example: >- + https://dashboard.bandwidth.com/api/accounts/{accoundId}/TnReservation/8da0f39c-043c-4806-9f0f-497b2d197bc5. + type: string + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 5041 + Reservation failed: telephone number +14354776010 is not available. + + + schema: + $ref: '#/components/schemas/ReservationErrorResponse' + description: The Telephone Number requested is not available. + summary: Reserve tn + tags: + - Tn Reservation + /accounts/{accountId}/tnreservation/{reservationid}: + delete: + description: Deletes a TN reservation. + operationId: DeleteTnReservation + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: reservationid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + f342904f-b03a-4499-bac0-e8f43a2664a1 + 12346099 + 1492 + +14354776010 + + + schema: + $ref: '#/components/schemas/ReservationResponse' + description: A reservation has been successfully deleted. + summary: Delete tn reservation + tags: + - Tn Reservation + get: + description: Retrieves a TN reservation's information. + operationId: GetTnReservation + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: reservationid + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + f342904f-b03a-4499-bac0-e8f43a2664a1 + 12346099 + 1492 + +14354776010 + + + schema: + $ref: '#/components/schemas/ReservationResponse' + description: A reservation's information has been successfully retrieved. + summary: Retrieve tn reservation's information + tags: + - Tn Reservation + /accounts/{accountId}/tollFreePortingValidations: + get: + description: > + Fetch toll free porting validation orders associated with this account. + The get operation on /accounts/{accountId}/tollFreePortingValidations + allows you to find recent toll free porting validation orders. This + might be useful if, for example, you lose the order id that was returned + in the 201 response to the POST operation that created the + order.

      + + With no query parameters, the results include all recent toll free + porting validation orders associated with the account specified in the + URI parameter. A query parameter called tollFreeNumber can be + optionally specified to narrow the results to only orders that included + the specified toll free telephone number. + operationId: GetTollFreePortingValidations + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + This optional query parameter may be specified in order to retrieve + only toll free porting validation orders that include the specified + toll free telephone number. + example: '+18442948899' + in: query + name: tollFreeNumber + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + orderIsCanceled: + summary: Order is canceled + value: |- + + + + + MyOptionalOrderId + CANCELLED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + + orderIsCompleted: + summary: Order is completed + value: |- + + + + + MyOptionalOrderId + COMPLETE + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + + + RespOrg1 + true + + +18442948899 + +18774024485 + + + + + + + + + orderIsFailed: + summary: Order is failed + value: |- + + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + +18662894621 + +18773732047 + +18449978331 + +18003985992 + + + + 7859 + Description for error 7859 + + + 9877 + Description for error 9877 + + + + + + + RespOrg1 + false + + +18662894621 + + + + + + + +18449978331 + + + +18003985992 + + + + + +18442948899 + + + +18774024485 + + + + +18773732047 + 07 + NXX CLOSED + + + + + + + + orderIsStillProcessing: + summary: Order is still processing + value: |- + + + + + MyOptionalOrderId + PROCESSING + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + + schema: + $ref: '#/components/schemas/TollFreePortingValidationOrdersResponse' + description: >- + A successful response to the GET could include different statuses: + COMPLETED, PROCESSING, FAILED, CANCELED. + '401': + content: + application/xml: {} + description: >- + The request must be authenticated with a valid username and password + using basic authentication. + '403': + content: + application/xml: {} + description: >- + The specified account does not have the toll free product -OR- The + user does not have permission to fetch toll free porting validation + orders. + '404': + content: + application/xml: {} + description: The accountId specified in the request URI is not found. + summary: Retrieve toll-free porting validations + tags: + - Porting + post: + description: >- + A list of toll free telephone numbers submitted to this endpoint will + result in that list being broken down as follows:
      • A list of + SPARE toll free telephone numbers. These are numbers that are not + associated with any RespOrg, and therefore could be ordered by a + RespOrg. Note that only toll free numbers associated with Bandwidth's + RespOrg can be ordered from Bandwidth.
      • A list of UNAVAILABLE + toll free telephone numbers. These are numbers that are reserved or + otherwise not available for ordering by any RespOrg.
      • A list of + DENIED toll free telephone numbers. These are toll free telephone + numbers that are malformed or in a state that makes them unavailable for + use.
      • A list of toll free telephone numbers that are currently + associated with RespOrgs. The list will be broken down by RespOrg + Identifier.
      • A list of DISCONNECTED toll free telephone numbers. + These are numbers that have been disconnected by the controlling RespOrg + and must be manually ported with Bandwidth's assistance.
      • A list + of TRANSITIONAL toll free telephone numbers. These are numbers that + have been disconnected by the controlling RespOrg and are transitioning + to SPARE. They must be manually ported with Bandwidth's + assistance.
      • Any of these lists may be empty, but at least one + will include toll free telephone numbers that you supplied. All of the + toll free telephone numbers that you supply will be accounted for in the + results.
      • So why do I need this information, you may be asking: + Toll Free port-in requests sent to Bandwidth must be broken down into + one port-in request for each losing RespOrg. This means you cannot + include toll free telephone numbers that are SPARE, UNAVAILABLE, or + DENIED, and you cannot include toll free telephone numbers associated + with more than one RespOrgId in the same port-in request. Port-in + requests that do not conform to these rules will be rejected by + Bandwidth. This API endpoint gives you the information needed to avoid + these rejections.
      • You may also provide a CustomerOrderId string + that will be included in responses and status notifications for the + order. But the CustomerOrderId is optional.
      + operationId: CreateTollFreePortingValidation + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + + + MyOptionalOrderId + + + + +18442948899 + +18774024485 + + + schema: + $ref: '#/components/schemas/TollFreePortingValidationRequest' + responses: + '201': + content: + application/xml: + examples: + orderIsCanceled: + summary: Order is canceled + value: |- + + + + MyOptionalOrderId + CANCELLED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + orderIsCompleted: + summary: Order is completed + value: |- + + + + MyOptionalOrderId + COMPLETE + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + + + RespOrg1 + true + + +18442948899 + +18774024485 + + + + + + + + orderIsFailed: + summary: Order is failed + value: |- + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + +18662894621 + +18773732047 + +18449978331 + +18003985992 + + + + 7859 + Description for error 7859 + + + 9877 + Description for error 9877 + + + + + + + RespOrg1 + false + + +18662894621 + + + + + + + +18449978331 + + + +18003985992 + + + + + +18442948899 + + + +18774024485 + + + + +18773732047 + 07 + NXX CLOSED + + + + + + + orderIsStillProcessing: + summary: Order is still processing + value: |- + + + + MyOptionalOrderId + PROCESSING + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + schema: + $ref: '#/components/schemas/TollFreePortingValidationResponse' + description: >- + The success response to a POST operation on the + /tollFreePortingValidations endpoint looks like the + following.
      The CustomerOrderId is copied from the request.
      The + ProcessingStatus may be one of:
      • SUBMITTED - The order has + been submitted to SOMOS, but we have not yet received an + acknowledgement that they've received the order.
      • PROCESSING + - The order is still awaiting a response from SOMOS. If no errors + are present in the request, the status of a newly created order is + almost always PROCESSING.
      • COMPLETED - The order has + completed and the toll free numbers are broken down as described + above.
      • FAILED - The order has failed and the reasons for the + failure are included.
      • CANCELLED - The order was cancelled + prior to completion. No results are available.
      + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + nnnn + Description of condition nnnn + + + nnnn + Description of condition nnnn + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + description: >- + Toll free telephone number is malformed -OR- Missing mandatory + element TollFreeNumberList -OR- Empty TollFreeNumberList. + '401': + content: + application/xml: {} + description: >- + The request must be authenticated with a valid username and password + using basic authentication. + '403': + content: + application/xml: {} + description: >- + The specified account does not have the toll free product -OR- The + user does not have permission to create toll free porting validation + orders. + '404': + content: + application/xml: {} + description: The accountId specified in the request URI is not found. + '405': + content: + application/xml: {} + description: >- + An unsupported method was attempted on the + tollFreePortingValidations endpoint. + '409': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + nnnn + Description of condition nnnn + + + nnnn + Description of condition nnnn + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + description: Request includes more than 500 toll free numbers. + '429': + description: >- + Too Many Requests, the maximum rate of API requests for this + operation, endpoint and account has been exceeded, causing your + request to be rejected. Please send requests at a lower rate. If + you are sure that your software is functioning properly and you are + still bumping into the rate limits, please contact Bandwidth to + discuss options. + '502': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + nnnn + Description of condition nnnn + + + nnnn + Description of condition nnnn + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + description: >- + Batch Number Query received vendor error: xxx -OR- Batch Number + Query received vendor http response: xxx + summary: Create toll-free porting validation + tags: + - Porting + /accounts/{accountId}/tollFreePortingValidations/{orderId}: + get: + description: Fetch a specified toll free porting validation order. + operationId: GetTollFreePortingValidation + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + orderIsCanceled: + summary: Order is canceled + value: |- + + + + MyOptionalOrderId + CANCELLED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + orderIsCompleted: + summary: Order is completed + value: |- + + + + MyOptionalOrderId + COMPLETE + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + + + RespOrg1 + true + + +18442948899 + +18774024485 + + + + + + + + orderIsFailed: + summary: Order is failed + value: |- + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + +18662894621 + +18773732047 + +18449978331 + +18003985992 + + + + 7859 + Description for error 7859 + + + 9877 + Description for error 9877 + + + + + + + RespOrg1 + false + + +18662894621 + + + + + + + +18449978331 + + + +18003985992 + + + + + +18442948899 + + + +18774024485 + + + + +18773732047 + 07 + NXX CLOSED + + + + + + + orderIsStillProcessing: + summary: Order is still processing + value: |- + + + + MyOptionalOrderId + PROCESSING + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + schema: + $ref: '#/components/schemas/TollFreePortingValidationResponse' + description: >- + A successful response to the GET could include different statuses: + COMPLETED, PROCESSING, FAILED, CANCELED. + '401': + description: >- + The request must be authenticated with a valid username and password + using basic authentication. + '403': + description: >- + The specified account does not have the toll free product. -OR- The + user does not have permission to fetch toll free porting validation + orders. + '404': + description: >- + The accountId specified in the request URI is not foundThe orderId + specified in the request URI is not found. + '429': + description: >- + Too Many Requests, the maximum rate of API requests for this + operation, endpoint and account has been exceeded, causing your + request to be rejected. Please send requests at a lower rate. If + you are sure that your software is functioning properly and you are + still bumping into the rate limits, please contact Bandwidth to + discuss options. + summary: Retrieve toll-free porting validation + tags: + - Porting + patch: + description: >- + Cancel a toll free porting validation order in the PROCESSING state. + This may be used if the order is taking too long, or if you decide that + you no longer need the results of the query. + operationId: CancelTollFreePortingValidation + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: '' + in: path + name: orderId + required: true + schema: + type: string + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + CANCELLED + + schema: + $ref: '#/components/schemas/TollFreePortingValidationRequest' + responses: + '200': + content: + application/xml: + examples: + failedPatchResponse: + summary: Failed patch response + value: |- + + + + 7624 + Processing Status may only be changed to CANCELLED for orders that are currently in PROCESSING status. + + + successPatchResponse: + summary: Success patch response + value: |- + + + + MyOptionalOrderId + CANCELLED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + schema: + $ref: '#/components/schemas/TollFreePortingValidationResponse' + description: Success response + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 7624 + Processing Status may only be changed to CANCELLED for orders that are currently in PROCESSING status. + + + schema: + $ref: >- + #/components/schemas/TnOptionOrderReportValidationErrorResponse + description: Attempt to change ProcessingStatus to a value other than CANCELLED. + '401': + content: + application/xml: {} + description: >- + The request must be authenticated with a valid username and password + using basic authentication. + '403': + content: + application/xml: {} + description: >- + The specified account does not have the toll free product -OR- The + user does not have permission to fetch toll free porting validation + orders. + '404': + content: + application/xml: {} + description: >- + The accountId specified in the request URI is not found -OR- The + orderId specified in the request URI is not found. + '409': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + nnnn + Description of condition nnnn + + + nnnn + Description of condition nnnn + + + + MyOptionalOrderId + FAILED + 9900572 + testuser + 2020-08-20T14:51:58.695Z + e2b029cf-1cfa-4285-a875-80e8fd951208 + + +18442948899 + +18774024485 + + + + description: >- + Attempt to change ProcessingStatus to CANCELLED for an order not in + PROCESSING state. + summary: Patch toll-free porting validation + tags: + - Porting + /accounts/{accountId}/tollFreeVerification: + post: + callbacks: + tfVerificationStatus: + $ref: '#/components/callbacks/tfVerificationStatus' + description: Submit a request for verification of a toll-free phone number. + operationId: requestVerification + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + $ref: '#/components/requestBodies/verificationRequest' + responses: + '202': + $ref: '#/components/responses/verifyPostResponse' + '400': + $ref: '#/components/responses/tfvPostBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Submit a toll-free verification request + tags: + - Toll-Free Verification + /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions: + get: + description: >- + Provides a list of webhook subscriptions that are registered to receive + status updates for the toll-free verification requests submitted under + this account (password will not be returned through this API; if + `basicAuthentication` is defined, the `password` property of that object + will be null). + operationId: listWebhookSubscriptions + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + $ref: '#/components/responses/webhookSubscriptionsList' + '400': + $ref: '#/components/responses/tfvPostBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: List all webhook subscriptions registered for this account + tags: + - Toll-Free Verification + post: + description: >- + Create a new webhook subscription (this webhook will be called for every + update on every submission). In addition to a `callbackUrl`, this + subscription can provide optional HTTP basic authentication credentials + (a username and a password). The returned subscription object will + contain an ID that can be used to modify or delete the subscription at a + later time. + operationId: createWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + $ref: '#/components/requestBodies/webhookSubscriptionRequest' + responses: + '201': + $ref: '#/components/responses/webhookSubscriptionCreated' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Create a new webhook subscription + tags: + - Toll-Free Verification + /accounts/{accountId}/tollFreeVerification/webhooks/subscriptions/{id}: + delete: + description: Delete a webhook subscription by ID. + operationId: deleteWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' + responses: + '204': + $ref: '#/components/responses/webhookSubscriptionDeleted' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Delete a webhook subscription + tags: + - Toll-Free Verification + put: + description: >- + Update an existing webhook subscription (`callbackUrl` and + `basicAuthentication` can be updated). + operationId: updateWebhookSubscription + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/WebhookSubscriptionIdPathParam' + requestBody: + $ref: '#/components/requestBodies/webhookSubscriptionRequest' + responses: + '200': + $ref: '#/components/responses/webhookSubscriptionUpdated' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: Update an existing webhook subscription + tags: + - Toll-Free Verification + /accounts/{accountId}/totalSeats: + get: + description: Retrieves the total number of seats on account + operationId: GetAccountTotalSeats + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + schema: + properties: + AccountTotalSeatsResponse: + allOf: + - $ref: '#/components/schemas/UcTrunkingSeats' + type: object + description: Information was successfully retrieved + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12017 + Account '12346099' does not have product 'UcTrunking' + + + schema: + properties: + AccountTotalSeatsResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + description: The account ID given does not have UC Trunking associated with it + summary: Retrieve the total number of seats on account + tags: + - Account + /accounts/{accountId}/{orderType}/{orderId}/adminparameters: + delete: + description: Remove order admin parameters + operationId: RemoveOrderAdminParameters + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderTypePathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/AdminParametersResponse' + description: Order admin parameters have been successfully deleted/cancelled + '400': + content: + application/xml: + schema: + $ref: '#/components/schemas/AdminParametersErrorResponse' + description: >- + Order id is invalid, order does not exist or the port-in order is + already processed, and therefore cannot be deleted + summary: Remove Order Admin Parameters + tags: + - Orders + get: + description: Get order admin parameters + operationId: GetOrderAdminParameters + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderTypePathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/AdminParametersResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload + summary: Get Order Admin Parameters + tags: + - Orders + put: + description: Update order admin parameters + operationId: UpdateOrderAdminParameters + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderTypePathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + requestBody: + content: + application/xml: + schema: + $ref: '#/components/schemas/AdminParametersRequest' + responses: + '200': + content: + application/xml: + schema: + $ref: '#/components/schemas/AdminParametersResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload + '400': + content: + application/xml: + schema: + $ref: '#/components/schemas/AdminParametersErrorResponse' + description: Wrong input + summary: Update Order Admin Parameters + tags: + - Orders + /admin/data/a2pClasses: + get: + description: Retrieves A2P Classes. + operationId: ReadA2pClasses + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + TestClass + This is a test. + + + Test_Class + Another test. + + + + schema: + $ref: '#/components/schemas/A2pClassListResponse' + description: Return existing A2P Classes. + summary: List A2pClasses + tags: + - Admin Data + /admin/data/a2pClasses/{messageClass}: + get: + description: Retrieve A2P Class. + operationId: ReadA2PClass + parameters: + - description: Message Class name + example: TestClass + in: path + name: messageClass + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + TestClass + This is a test. + + + schema: + $ref: '#/components/schemas/A2pClassResponse' + description: Return A2P Class. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12114 + A2P Class with Id 'TestClass' not found + + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: A2P Class not found. + summary: Retrieve A2P Class + tags: + - Admin Data + /admin/data/bandwidthRespOrgIds: + get: + description: Get all Bandwidth RespOrg IDs. + operationId: ReadBandwidthRespOrgIds + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + JYT01 + Default RespOrg ID for toll free numbers ported into Bandwidth + + + JYT50 + RespOrg ID for Wildebeest toll free numbers ported into Bandwidth + + + JYT99 + RespOrg ID for Gazelle toll free numbers ported into Bandwidth + + + + schema: + $ref: '#/components/schemas/BandwidthRespOrgIdsResponse' + description: Return existing RespOrg IDs. + summary: List Bandwidth RespOrg IDs + tags: + - Admin Data + /admin/data/bandwidthRespOrgIds/{respOrgId}: + get: + description: Retrieve information about a Bandwidth RespOrg with specified ID. + operationId: ReadBandwidthRespOrgId + parameters: + - example: JYT01 + in: path + name: respOrgId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + JYT01 + Default RespOrg ID for toll free numbers ported into Bandwidth + + + schema: + $ref: '#/components/schemas/BandwidthRespOrgIdResponse' + description: Return RespOrg ID + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: RespOrg ID not found. + summary: Fetch Bandwidth RespOrg ID + tags: + - Admin Data + /admin/data/bwspids: + get: + description: Retrieves bwspids. + operationId: ReadBwspids + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 2 + onNet + 1 + E830 + NNID + BW ESPID E830 Route + + + 4 + onNet + 2 + X641 + NPAC + Bandwidth ALT-SPID + + + + schema: + $ref: '#/components/schemas/BwspidSystemValuesResponse' + description: Return existing Bwspids. + summary: List bwspids + tags: + - Admin Data + /admin/data/bwspids/{id}: + get: + description: Retrieve Bwspid + operationId: ReadBwspid + parameters: + - description: Bwspid Id + example: 2 + in: path + name: id + required: true + schema: + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 2 + onNet + 1 + E830 + NNID + BW ESPID E830 Route + + + schema: + $ref: '#/components/schemas/BwspidSystemValueResponse' + description: Return Bwspid. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12098 + Bwspid value Id '1111' does not exist + + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: Bwspid not found. + summary: Retrieve Bwspid + tags: + - Admin Data + /admin/data/messagingBlockedAccountIds/{accountId}: + get: + description: Retrieve the information for a specific BlockedAccountId + operationId: GetMessagingBlockedAccountId + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 8000295 + + + schema: + $ref: '#/components/schemas/BlockedAccountIdResponse' + description: The messaging blocked account id have been retrieved successfully. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + The resource does not exist + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: The messaging blocked account id was not found + summary: Retrieve messaging blocked account id + tags: + - Admin Data + /admin/data/proxypeers: + get: + description: Get all proxy sippeers (they should be sippeers of catapult accounts) + operationId: ReadProxyPeers + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + LXZAjsRw + HTTPV2 + 500020 + + + UpuPPekG + HTTPV1 + 500021 + + + + schema: + $ref: '#/components/schemas/ProxyPeersResponse' + description: This response returns the list of proxy peers. + summary: List of proxy peers + tags: + - Admin Data + /admin/data/proxypeers/{name}: + get: + description: Retrieve the information for a specific proxy sippeer.

      + operationId: ReadProxyPeer + parameters: + - description: Name of proxy peer + example: TestProxyPeer + in: path + name: name + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + LXZAjsRw + HTTPV1 + 500020 + + + schema: + $ref: '#/components/schemas/ProxyPeerResponse' + description: This response returns the proxy peer details. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: Proxy peer was not found + summary: Retrieve proxy peer + tags: + - Admin Data + /admin/data/sbcNodeGroups: + get: + description: Retrieves information about SBC Node Groups. + operationId: ReadSbcNodeGroups + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 1 + East Coast 01 + + + 2 + West Coast 01 + + + + schema: + $ref: '#/components/schemas/SbcNodeGroupsResponse' + description: Return all existing SBC Node Groups. + summary: List SbcNode Groups + tags: + - Admin Data + /admin/data/sbcNodeGroups/{id}: + get: + description: Retrieve information about SBC Node Group. + operationId: ReadSbcNodeGroups + parameters: + - description: Sbc node group id + example: 3 + in: path + name: id + required: true + schema: + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 1 + East Coast 01 + + node0001 + node0002 + + + + + schema: + $ref: '#/components/schemas/SbcNodeGroupsResponse' + description: Return information about SBC Node Group. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: Sbc node group not found. + summary: List SbcNode Groups + tags: + - Admin Data + /admin/data/vendors: + get: + description: Retrieves vendors and filter by name< + operationId: ReadVendors + parameters: + - description: Fragment of vendor name + example: Old + in: query + name: nameFragment + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + + 47 + Broadwing + + + 32 + Connexstar + + + + schema: + $ref: '#/components/schemas/VendorListResponse' + description: Return existing Vendors. + summary: List Vendors + tags: + - Admin Data + /admin/data/vendors/{id}: + get: + description: Retrieve Vendor. + operationId: ReadVendor + parameters: + - description: Vendor Id + example: 49 + in: path + name: id + required: true + schema: + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 32 + 12280865-a1c5-4293-aae8-10c3291e3a06 + false + Connexstar + false + false + + + schema: + $ref: '#/components/schemas/VendorResponse' + description: Return Vendor. + '404': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/AdminDataErrorResponse' + description: Vendor not found. + summary: Fetch Vendor + tags: + - Admin Data + /callbacks/notificationCallbackApi: + post: + description: > +

      The POST to the callback API contains a summary of the order that is + independent of the type of the order or event that caused the + notification callback. This requires that the customer's end system + place an API call to the Bandwidth Dashboard API to gather additional + details on the change to the order or change to the TN due to the event, + if that is important.

      + + The payload of the POST for order notifications contains: + +

        + +
      • the Subscription ID that the notification is in response to.
      • + +
      • the type of order that the notification applies to.
      • + +
      • the order ID of the order that has changed
      • + +
      • the customer order ID of the order that has changed (the element is + considered optional, and will only be provided if the related order has + a Customer Order Id)
      • + +
      • the new state of the order
      • + +
      • a message if one was attached as part of the state change. This + will often be present in error cases.
      • + +
      • the body of any note that was attached to the order, if + applicable
      • + +
      • list of the completed telephone numbers for Port-in/Port-out/New + Number/Disconnect orders in terminal state
      • + +


      + + The payload of the POST for event notifications contains: + +
        + +
      • the Subscription ID that the notification is in response to.
      • + +
      • the type of event that the notification applies to.
      • + +
      • list of the impacted telephone numbers for event notifications +
      • + +

      Please visit Webhooks

      + operationId: OrderWebhook + parameters: [] + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ... + + portins | portouts | orders | disconnects | dldas | lsrorders | e911s | tnoptions + ... + ... + COMPLETE | FAILED | PARTIAL | EXCEPTION ... + + ... + + ... + + + + ... + + + + [MESSAGING_LOST] + + ... + + + + schema: + $ref: '#/components/schemas/NotificationCallbackRequest' + responses: + '200': + description: > +

      a 200 OK is presumed to be acceptance of the API call. In the + case of the notification callback API the response code and any + returned message is stored in the <Status> element of the + <Subscription>

      + '400': + description: > +

      Anything other than a 200 OK is presumed to be a failure of the + API call. In the case of the notification callback API the response + code and any returned message is stored in the <Status> + element of the <Subscription>. No subsequent action is taken + is based on the error.

      + summary: Order webhook + tags: + - Callbacks + /callbacks/portOutValidationCallbackApi: + post: + description: >- + The initial request for validation is a post to the pre-configured URL + defined by the customer. This request contains optional elements + for:
      • PIN (optional) ( 10 digits )
      • Account Number + (optional) ( 25 digits )
      • zipcode (optional) ( 15 characters + )
      • a list of one or more telephone numbers (at least one + telephone number must be provided) ( 10 digits )
      • Subscriber name + for information purposes. (optional)( 93 characters )
      • PON for + information and correlation purposes. (optional)( 25 characters + )
      .

      Please visit Webhooks

      + operationId: PortOutValidationWebhook + parameters: [] + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + some_pon + 1111 + 777 + 62025 + Subscriber Name + + +12223331000 + +12223331001 + + + schema: + $ref: '#/components/schemas/PortOutValidationRequest' + responses: + '200': + content: + application/xml: + examples: + Validation Failed: + value: |- + + + false + some_pon + + + 75xx + Customer api error description + + + 75xx + Customer api error description + + + + 2222 + 555 + 02154 + + +12223331000 + + + + Validation Passed: + value: |- + + + true + some_pon + + schema: + $ref: '#/components/schemas/PortOutValidationResponse' + description: > +

      Validation Passed

      If the port-out is considered valid the + returned payload contains an indication that the numbers in the + request are portable <Portable>true</Portable> + (required), and may play back the PON.

       

      +

      Validation Failed

      In the case where the number should not + be ported, a response payload is returned that may indicate the + values that would allow a port-out request to be validated.
      + +

        + +
      • The <Portable> value must indicate "false"
      • + +
      • A recognizable error code values must be returned, + unrecognized error codes will be ignored and not treated as error + codes. The list of acceptable error codes is provided above.
      • + +
      • The response payload should contain at least one of the optional + fields that could be used to validate the port-out request.
      • + +
      • If the returned field/fields was/were not provided in the + original request then that indicates that the field was missing from + the request and should be provided
      • + +
      • If the returned field/fields was/were different than provided + then that indicates an error in the requesting information
      • + +
      • The list of Telephone Numbers should contain the telephone + numbers considered valid.
      • + +
      • For the port-out to be considered valid all telephone numbers in + the request should be returned - If one telephone number is invalid + then the request fails.
      • + +

      + Failure to return a valid response will be considered an approval of the port-out request.
      + Failure to return any response will be considered an approval of + the port-out request.

      + '400': + description: > +

      Numbers will be ported out if a 4xx series response is + received by Bandwidth

      + '500': + description: > +

      An error in the customer's server - indicating that the request + cannot be serviced by the customer. + + Numbers will be ported out if a 5xx series response is + received by Bandwidth

      + summary: Port-out validation webhook + tags: + - Callbacks + /cities: + get: + description: >- + The /cities resource returns all of the Cities in the indicated State + that are supported from a coverage perspective, and, if requested, that + contain orderable inventory. The values returned indicate the names of + the Cities and, if available is specified, returns the available + inventory by City. Note that the mapping between Rate Center and City is + not completely predictable because multiple cities can be served by a + single Rate Center and it may take multiple Rate Centers to serve a + city. The Rate Centers results are more predictable because they are + defined strictly in telecommunication terms. The Rate Centers and Cities + API Calls return information about the Bandwidth CLEC Network, including + coverage data, indicating both the extent of on-net and off-net + coverage, as well as number availability, again from an on-net and + off-net perspective. The rules are as follows:
      • If supported=true + is specified, then the coverage or availability is reported for the + Bandwidth CLEC only.
      • If supported is omitted or false, then the + coverage or availability is reported for the combination of the + Bandwidth CLEC and our partners
      • If available=true is specified, + then only Rate Centers in which we have available numbers are reported. +
      • If available is omitted or false, then all Rate Centers within + the scope defined by supported will be returned.
      These rules + apply for both the /rateCenters and /cities API calls. + +
      Supported = true Supported is + missing
      available = true Available numbers within the Bandwidth CLEC network Available numbers within the Bandwidth CLEC network + combined with our partner networks
      + available is missing Coverage in the Bandwidth + CLEC Coverage of the combined Bandwidth CLEC + + Partner networks
      + operationId: ListCities + parameters: + - description: 2 character state code. + example: NC + in: query + name: state + required: true + schema: + type: string + - description: >- + If available is set as true then the result includes the quantity of + the available telephone numbers in that City. + example: true + in: query + name: available + required: false + schema: + type: boolean + - description: >- + If supported is set to true the payload will show those Rate Centers + that Bandwidth serves directly. + example: true + in: query + name: supported + required: false + schema: + type: boolean + responses: + '200': + content: + application/xml: + examples: + Response with TN count: + value: |- + + + 129 + + + FILLEY + 266 + ADAMS + + + DOUGLAS + 378 + ADAMS + + + WAKEFIELD + 272 + ALLEN + + + ASHLAND + 129 + ASHLAND + + + WEST POINT + 85 + WEST POINT + + + OAKLAND + 290 + WEST POINT + + + WESTERN + 134 + WESTERN + + + WAYNE + 434 + WINSIDE + + + BRADSHAW + 274 + YORK + + + + Simple response: + value: |- + + + 449 + + + DOUGLAS + ADAMS + + + FILLEY + ADAMS + + + AINSWORTH + AINSWORTH + + + + LONG PINE + AINSWORTH + + + ODELL + WYMORE + + + BRADSHAW + YORK + + + YORK + YORK + + + WACO + YORK + + + + schema: + $ref: '#/components/schemas/CitySearchResults' + description: >- + This response returns the list of cities, along with the Rate + Centers that serve those Cities. If 'available' is specified then + the number of TNs available in that city / RC combination is also + included. + summary: List Cities + tags: + - Cities + /coveredRateCenters: + get: + description: >- + The Covered Rate Centers API Call return information about the Bandwidth + CLEC Network, including coverage data, indicating both the extent of + on-net and off-net coverage, as well as number availability. + operationId: ListCoveredRateCenters + parameters: + - description: > + The starting value for a paginated response. The default is '1' + indicating the first page of results. + example: 1 + in: query + name: page + required: true + schema: + type: number + - description: The number of rate centers to include in a paginated result payload. + example: 50 + in: query + name: size + required: true + schema: + type: number + - description: >- + A set of fields that needs to be included in response. A lists of + zip codes, cities, vendors, NpaNxxXs and count of available/limited + available TNs are not included for each rate center by default. For + example if the payload should contain a list of the Cities covered + by the Rate Centers then embed=cities would be included as a query + parameter. A list of vendors is available only for admin users. + + No filter parameters are supported if LocalRateCenters is specified. + In this case only size, page and any other embed parameters are + supported. + in: query + name: embed + required: false + schema: + items: + type: string + type: array + - description: A 2 character State code + example: OK + in: query + name: state + required: false + schema: + type: string + - description: A rate center's abbreviation. + example: BARTLESVL + in: query + name: abbreviation + required: false + schema: + type: string + - description: A name of rate center. + example: BARTLESVILLE + in: query + name: name + required: false + schema: + type: string + - description: A 5 digit zip code of the area covered by rate center. + example: '74029' + in: query + name: zip + required: false + schema: + type: string + - description: A name of city covered by rate center. + example: DEWEY + in: query + name: city + required: false + schema: + type: string + - description: A 3 or 5 digit rate center's LATA. + example: 538 + in: query + name: lata + required: false + schema: + type: number + - description: The tier associated with covered rate center; a value from 0 to 5. + example: 0 + in: query + name: tier + required: false + schema: + type: number + - description: The 3 digit NPA or Area Code covered by rate center. + example: 918 + in: query + name: npa + required: false + schema: + type: number + - description: The 6 digits NPA and NXX values covered by rate center. + example: 918886 + in: query + name: npaNxx + required: false + schema: + type: number + - description: >- + 7 digits of NPA, NXX and thousands block values covered by rate + center. + example: 9188862 + in: query + name: npaNxxX + required: false + schema: + type: number + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 18 + + AVALON + AVALON + CA + 730 + 1 + 1 + + 90731 + + + SAN PEDRO + + + 0 + + + 3105100 + 3105101 + 3109498 + 3109499 + 4242260 + + 3151 + + 369 + 7843 + 7945 + 2461 + 10741 + 7059 + + + + BEVERLY HILLS + BEVERLYHLS + CA + 730 + 25 + 20 + + 90013 + 90014 + 90015 + 90017 + 90044 + 90048 + 90059 + 90061 + 90071 + 90079 + 90210 + 90211 + 90212 + 90247 + 90248 + 90249 + 91352 + 91403 + 91411 + 91423 + 91504 + 91505 + + + BEVERLY HILLS + BURBANK + GARDENA + LOS ANGELES + SHERMAN OAKS + SUN VALLEY + VAN NUYS + + + 0 + + + 3102010 + 3102011 + 3102012 + 3102013 + 3102014 + 3102015 + 3102016 + 3102017 + 3102018 + 3102019 + 4246669 + 4247770 + 4247771 + 4247772 + 4247773 + 4247774 + 4247775 + 4247776 + 4247777 + 4247778 + 4247779 + + 3538 + + 4421 + 14259 + + + + schema: + $ref: '#/components/schemas/CoveredRateCenterSearchResponse' + description: >- + This response returns the list of Covered Rate Centers. + TotalCount element's value represents the total number + of rate centers for specified query parameters starting from the + current page and included in response only if more rate centers + available. + '303': + content: + application/xml: {} + description: >- + No page or size query parameters + specified. Link to first page of results provided in + Location header + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 4002 + Please verify that your NPA, NPA-NXX, or NPA-NXX-X search input parameters are correct. + + + schema: + $ref: '#/components/schemas/CoveredRateCenterSearchErrorResponse' + description: Invalid query parameter value. + summary: List Covered Rate Centers + tags: + - Rate Centers + /coveredRateCenters/{rateCenterId}: + get: + description: >- + Retrieve information about a specific covered rate center identified as + the resource. + operationId: GetCoveredRateCenter + parameters: + - description: '' + in: path + name: rateCenterId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + LOMITA + LOMITA + CA + 730 + 5536 + 5236 + + 90044 + 90059 + 90061 + 90247 + 90248 + 90249 + 90717 + 90802 + 90813 + 90822 + 90831 + 90834 + + + GARDENA + LOMITA + LONG BEACH + LOS ANGELES + + + 0 + + + 3102570 + 3102571 + + 6854 + + 369 + 7843 + 7945 + + + schema: + $ref: '#/components/schemas/CoveredRateCenterResponse' + description: '' + '404': + content: + application/xml: {} + description: NOT FOUND - the rate center id does not exist in the system. + summary: Retrieve Covered Rate Centers + tags: + - Rate Centers + /rateCenters: + get: + description: >- + The rateCenters resource returns all of the Rate Centers in the + indicated State that are supported from a coverage perspective, and, if + requested, that contain orderable inventory. The values returned + indicate the names of the Rate Centers and, if the query parameter + available is specified, the available inventory by Rate Center. + The Rate Centers API Call returns information about the Bandwidth CLEC + Network, including coverage data, indicating both the extent of on-net + and off-net coverage, as well as number availability, again from an + on-net and off-net perspective. The rules are as follows:
      • If + supported=true is specified, then the coverage or availability is + reported for the Bandwidth CLEC only.
      • If supported=true is + omitted or false, then the coverage or availability is reported for the + combination of the Bandwidth CLEC and our partners
      • If + available=true is specified, then only Rate Centers in which we have + available numbers are reported.
      • If available is omitted or + false then all Rate Centers within the scope defined by supported will + be returned.
      These rules apply for both the /rateCenters and + /cities API calls. + +
      Supported = true + Supported is missing
      available = true Available numbers + within the Bandwidth CLEC network Available + numbers within the Bandwidth CLEC network combined with our partner + networks
      available is missing Coverage in the Bandwidth CLEC + Coverage of the combined Bandwidth CLEC + Partner networks +

      + operationId: ListRateCenters + parameters: + - description: 2 character state code. + example: NC + in: query + name: state + required: true + schema: + type: string + - description: >- + If available is set as true then the result includes the quantity of + the available telephone numbers in that Rate Center. + example: true + in: query + name: available + required: false + schema: + type: boolean + - description: >- + If supported is set to true the payload will show those Rate Centers + that Bandwidth serves directly. + example: true + in: query + name: supported + required: false + schema: + type: boolean + responses: + '200': + content: + application/xml: + examples: + Response with TN counts: + value: |- + + + 131 + + + ADAMS + 108 + ADAMS + + + ALEXANDRIA + 230 + ALEXANDRIA + + + ASHLAND + 129 + ASHLAND + + + + WEST POINT + 85 + WEST POINT + + + WESTERN + 134 + WESTERN + + + WILBER + 135 + WILBER + + + WYMORE + 132 + WYMORE + + + YUTAN + 588 + YUTAN + + + + Simple response: + value: |- + + + 450 + + + ADAMS + ADAMS + + + AINSWORTH + AINSWORTH + + + ALBION + ALBION + + + ALEXANDRIA + ALEXANDRIA + + + + WOOD RIVER + WOOD RIVER + + + WYMORE + WYMORE + + + WYFRYCSTHL + WYNOT FORDYCE SAINT HELENA + + + YORK + YORK + + + YUTAN + YUTAN + + + + schema: + $ref: '#/components/schemas/RateCenterSearchResults' + description: >- + This response returns the list of Rate Center names and + abbreviations. If 'available' is specified then the number of TNs + available in that Rate Center is also included. + summary: List Rate Centers + tags: + - Rate Centers + /tns: + get: + description: >- + Retrieve information about one or more Telephone Numbers (TNs), where + the TNs are chosen based on the search parameters provided in the API + Call. + operationId: ListTnsByGet + parameters: + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the count, of the initial entry in the page being + requested. Note in the example that the page is the TN that begins + the page. The initial page is tagged with the ID "1" + example: '5' + in: query + name: page + required: true + schema: + default: '1' + type: string + - description: The number of items to include in a page. + example: 250 + in: query + name: size + required: true + schema: + default: 500 + type: integer + - description: The internal account id assigned to the customer that "owns" the TN. + example: 5000125 + in: query + name: accountId + required: false + schema: + type: integer + - description: >- + The geographic city most likely to serve the Telephone Number. City + and other geographic data is determined statistically, and is not as + reliable as Rate Center information for pinpointing the service + location of a TN. + example: CARY + in: query + name: city + required: false + schema: + type: string + - description: A 10 Digit TN. + example: '+19199918388' + in: query + name: fullNumber + required: false + schema: + type: string + - description: >- + An IP address or subnet (CIDR format) associated with the TN. Filter + for subnet applies by exact match. + example: 47.16.211.63 or 69.22.181.68/30 + in: query + name: host + required: false + schema: + type: string + - description: >- + The LATA (Local Access Transport Area) that the TN is served from, + typically 3 digits (5 in FLA). + example: 423 + in: query + name: lata + required: false + schema: + type: integer + - description: The first 3 digits of a 10 Digit NA Telephone Number, the Area Code. + example: '919' + in: query + name: npa + required: false + schema: + type: string + - description: The first 6 digits of a 10 Digit NA Telephone Number. + example: '919991' + in: query + name: npaNxx + required: false + schema: + type: string + - description: The first 7 digits of a 10 Digit NA Telephone Number. + example: '9199918' + in: query + name: npaNxxX + required: false + schema: + type: string + - description: A service type value to filter the TNs returned in the payload. + example: E911 + in: query + name: service + required: false + schema: + enum: + - E911 + - Voice + - Hosted_E911 + type: string + - description: >- + The Rate Center designation that the number is served from. If not + combined with a State search the results will span states. + example: RALEIGH + in: query + name: rateCenter + required: false + schema: + type: string + - description: >- + A 2 character State or Province designation - TX for Texas for + example. + example: TX + in: query + name: state + required: false + schema: + type: string + - description: >- + A service tier indicating the the vendor class that the TN is + associated with. Tier indicates whether the TN is on-net, domestic + offnet, Canadian, etc. + example: 5 + in: query + name: tier + required: false + schema: + type: integer + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 5 + + Link=<https://dashboard.bandwidth.com:443/v1.0/tns?account=9500012&page=1&size=500>;rel="first"; + Link=<https://dashboard.bandwidth.com:443/v1.0/tns?account=9500012&page=+12012082912&size=500>;rel="next"; + + + + CARY + 426 + NC + +19192381138 + 0 + 49 + Bandwidth CLEC + CARY + Inservice + 9900008 + 2013-12-05T05:58:27.000Z + 2013-12-05T05:58:27.000Z + + + CARY + 426 + NC + +19192381139 + 0 + 49 + Bandwidth CLEC + CARY + Inservice + 9900000 + 2013-12-05T05:58:27.000Z + 2013-12-05T05:58:27.000Z + + + CARY + 426 + NC + +19192381141 + 0 + 49 + Bandwidth CLEC + CARY + Inservice + 9900000 + 2013-12-05T05:58:27.000Z + 2013-12-05T05:58:27.000Z + + + CARY + 426 + NC + +19192381142 + 0 + 49 + Bandwidth CLEC + CARY + Inservice + 9900000 + 2013-12-05T05:58:27.000Z + 2013-12-05T05:58:27.000Z + + + CARY + 426 + NC + +19192381144 + 0 + 49 + Bandwidth CLEC + CARY + Aging + 753 + 2013-12-05T05:58:27.000Z + 2013-12-05T05:58:27.000Z + + + + schema: + $ref: '#/components/schemas/TelephoneNumbersHistoryResponse' + description: >- + The descriptive payload for the TNs query provides information about + the TN(s) that were found in the Query. Information about the City, + State, LATA, Rate Center, Tier, Vendor, Status, Owning Account and + Last Modified Date is provided for each TN in the payload. Links to + assist in pagination are also provided. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 15511 + The NPA_NXX '9192384' is invalid + + + schema: + $ref: '#/components/schemas/TelephoneNumbersErrorResponse' + description: >- + Bad Request - any syntax error in the parameters will cause a 400 + error with a payload similar to the payload in the example, with an + error code and text description. + summary: List tns + tags: + - Tns + post: + description: >- + Retrieve information about one or more Telephone Numbers (TNs), where + the TNs are specified in POST body. + operationId: ListTnsByPost + parameters: [] + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + +13172000285 + +13172000207 + +13172000000 + +13172000100 + +13172110285 + +13172100285 + +199999999999 + +111111111111 + + schema: + $ref: '#/components/schemas/TnListRequest' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 4 + + Link=<https://dashboard.bandwidth.com/api/tns>;rel="first"; + + + + INDIANAPOLIS + 336 + IN + +13172000000 + 0 + 49 + Bandwidth CLEC + INDIANAPLS + Available + 753 + 2016-11-16T19:34:22.000Z + + + INDIANAPOLIS + 336 + IN + +13172000500 + 0 + 49 + Bandwidth CLEC + INDIANAPLS + Aging + 14 + 2016-11-16T19:34:22.000Z + + + INDIANAPOLIS + 336 + IN + +13172000100 + 0 + 49 + Bandwidth CLEC + INDIANAPLS + Available + 753 + 2016-11-16T19:34:22.000Z + + + INDIANAPOLIS + 336 + IN + +13172000207 + 0 + 49 + Bandwidth CLEC + INDIANAPLS + Available + 753 + 2016-11-16T19:34:22.000Z + + + INDIANAPOLIS + 336 + IN + +13172000285 + 0 + 49 + Bandwidth CLEC + INDIANAPLS + Available + 753 + 2016-11-16T19:34:22.000Z + + + + + 15608 + Input contains invalid Telephone Numbers + + +111111111111 + +199999999999 + + + + 15610 + Telephone Numbers cannot be found on accounts + + +13172110285 + +13172100285 + + + + + schema: + $ref: '#/components/schemas/TelephoneNumbersHistoryResponse' + description: >- + The descriptive payload for the TNs query provides information about + the TN(s) that were found in the Query. Information about the City, + State, LATA, Rate Center, Tier, Vendor, Status, Owning Account and + Last Modified Date is provided for each TN in the payload. The + Payload also can contain where invalid or non-existing + on account(s) TNs are specified. Aging numbers will be displayed if + user has access to the previous accountId. Pagination doesn't work + in this case. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 15607 + The count of Telephone numbers in POST body exceeds the maximum size of 2500 + + + schema: + $ref: '#/components/schemas/TelephoneNumbersErrorResponse' + description: >- + Bad Request - when in the POST body specified more then + {pagination.maxsize} TNs. + summary: List tns + tags: + - Tns + /tns/{tn}: + get: + description: Retrieves the telephone number's information. + operationId: RetrieveTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + +12012035013 + Inservice + 2014-03-25 12:55:11.0 + 2014-03-25T12:55:11.810Z + cf79d3c3-21b7-4db7-9867-273a1867f934 + NEW_NUMBER_ORDER + 2014-03-25T12:55:11.810Z + 2409 + 8000273 + + schema: + $ref: '#/components/schemas/TelephoneNumberStatusShortWrapper' + description: >- + OK - The information has been successfully retrieved and + displayed.

      TN + Attributes

      status:


      • Inservice: The TN is + currently in use by the customer that owns the + TN.
      • Available: The TN is available to be ordered. If the TN + is "protected" only the account owning the TN can order it, + otherwise it should be generally available.
      • Aging: The TN is + disconnected by the customer owning the TN. At this time, the TN + will go into aging for some period of time (typically 30 days) and + the customer owning the TN can order it again. If the allotted time + has passed and the TN is not ordered by the owning customer, the TN + will go back to Available.
      • PortInPendingFoc: TN is in FOC + and waiting for the FOC date.
      • Reserved: A TN is reserved by + a customer to order at a later time.
      + summary: Retrieve tn + tags: + - Tns + /tns/{tn}/availableNnRoutes: + get: + description: Retrieves information about available NnRoutes for the phone number. + operationId: RetrieveRouteForThatTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 101601 + USA Mobility + + + 102787 + Globe Wireless - Bandwidth.com - SVR + + + schema: + $ref: '#/components/schemas/TelephoneNumberAvailableNnRoutesResponse' + description: >- + OK - the detailed information about available NnRoutes has been + successfully retrieved and displayed. + '400': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + 12512 + Telephone number '123456789' is not valid + + + schema: + $ref: >- + #/components/schemas/TelephoneNumberAvailableNnRoutesErrorResponse + description: >- + Bad Request - failed to get available NnRoutes information for the + current phone number. + summary: Retrieve routes for that tn + tags: + - Tns + /tns/{tn}/e911: + get: + description: Retrieves the e911 information associated with that telephone number + operationId: RetrieveTnE911Info + parameters: + - description: A 10 Digit TN + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + +
      + Test address + RALEIGH + 900 + NC + MAIN CAMPUS DR + 27606 + 5214 +
      + + 63865500-0904-46b1-9b4f-7bd237a26363 + Building 5, 5th Floor. + +
      + schema: + $ref: '#/components/schemas/TnE911AddressResponse' + description: The e911 address have been successfully retrieved and displayed + summary: Retrieve e911 for that tn + tags: + - Tns + /tns/{tn}/lata: + get: + description: Retrieves the lata associated with that telephone number. + operationId: RetrieveLataForThatTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 224 + + + schema: + $ref: '#/components/schemas/TelephoneNumberLataResponse' + description: The lata have been successfully retrieved. + summary: Retrieve lata for that tn + tags: + - Tns + /tns/{tn}/lca: + get: + description: Retrieves the LCAs associated with that telephone number. + operationId: RetrieveLCAForThatTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 201202 + 201203 + 201206 + + 973930 + 973931 + 973955 + + + + NJ + + CLIFFSIDE + DUMONT + + UNION CITY + WESTWOOD + + + + + schema: + $ref: '#/components/schemas/NpaNxxRcLcaSearchResult' + description: The LCAs have been successfully retrieved and displayed. + summary: Retrieve LCA for that tn + tags: + - Tns + /tns/{tn}/ratecenter: + get: + description: Retrieves the rate centers associated with that telephone number. + operationId: RetrieveRateCenterForThatTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + description: example + value: |- + + + + NJ + HACKENSACK + + + schema: + $ref: '#/components/schemas/TelephoneNumberRateCenterResponse' + description: The rate centers have been successfully retrieved and displayed. + summary: Retrieve rate center for that tn + tags: + - Tns + /tns/{tn}/sippeers: + get: + description: Retrieves the sippeers associated with that telephone number. + operationId: RetrieveSippeerForThatTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 305643 + PeerOneSiteThree + + schema: + $ref: '#/components/schemas/TnSipPeer' + description: The sippeers have been successfully retrieved and displayed. + summary: Retrieve sippeer for that tn + tags: + - Tns + /tns/{tn}/sites: + get: + description: Retrieves the sites associated with that telephone number + operationId: RetrieveSiteForThatTn + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2409 + siteName + + schema: + $ref: '#/components/schemas/TnSite' + description: The sites have been successfully retrieved and displayed. + summary: Retrieve site for that tn + tags: + - Tns + /tns/{tn}/tndetails: + get: + description: >- + Retrieves detailed information about the phone number. TnAttributes - + Does this telephone number is protected or not. + operationId: RetrieveTnDetails + parameters: + - description: '' + example: '+19199918388' + in: path + name: tn + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + Non-NANP details: + value: |- + + + + +33140289562 + FR + geographic + 49 + Bandwidth CLEC + true + Inservice + 12345678 + + 123 + site + + + 500001 + sippeer + false + + + Voice + + 2020-03-03T15:30:07.000Z + 2020-03-03T15:30:07.518Z + + + Shared TN details: + value: |- + + + + JERSEY CITY + 224 + NJ + +12018981023 + 0 + 49 + Bandwidth CLEC + JERSEYCITY + Inservice + 14 + + 479 + site_9b08f + + + 500014 + a2750fad-3 + + + Voice + + 2014-07-30T11:29:37.000Z + 2014-07-30T11:29:37.000Z + + + 14 + SUCCESS + false + Test CallerName +
      + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States +
      + + 625e3ad9-c95e-4148-b2f7-d47a8dbdd0d9 + Building A + +
      + + Pending + Fred + BUSINESS + PUBLIC + + + Success + BUSINESS + LISTED + + Joe + Smith + + true +
      + 12 + ELM + New York + NY + 10007 + United States + Dlda +
      +
      +
      + + Hosted + + + + 12346160 + + 487 + site_Mw4FX + + + 500026 + sippeeremhlO + true + + + Hosted Messaging + + + true + 0gdVWGTGe + A + overridden + + 2183991 + 7ae5LXMn + + + + Hosted + + + +
      + Simple response: + value: |- + + + + JERSEY CITY + 224 + NJ + +12018981023 + 0 + 49 + Bandwidth CLEC + true + JERSEYCITY + Inservice + 14 + + 479 + site_9b08f + + + 500014 + a2750fad-3 + + + Voice + Messaging + + 2014-07-30T11:29:37.000Z + 2014-07-30T11:29:37.000Z + + + 14 + SUCCESS + false + Test CallerName +
      + 901 + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + United States +
      + + 625e3ad9-c95e-4148-b2f7-d47a8dbdd0d9 + Building A + +
      + + Pending + Fred + BUSINESS + PUBLIC + + + Success + BUSINESS + LISTED + + Joe + Smith + + true +
      + 12 + ELM + New York + NY + 10007 + United States + Dlda +
      +
      +
      + + cfa6ef74-4944-47c2-b112-0cf4360b1fa5 + + 6107622689 + 1 + 100 + TN + + + sip:abcd@domain.com + 2 + 100 + SIP + + + 7610762269 + 3 + 50 + TN + + + 192.0.2.0/24 + 3 + 50 + Ipv4 + + + myhost.bandwidth.example + 4 + 100 + FQDN + + + + true + + 101601 + USA Mobility + + + + Protected + External + +
      +
      + Tn details with Voice: + description: >- + Tn details with Voice, Hosted messaging and Hosted E911 on + different accounts + value: |- + + + + GUSTINE + 738 + CA + +12092151016 + 0 + 49 + Bandwidth CLEC + true + GUSTINE + Inservice + 12346167 + + 494 + site_WDSZl + + + 500033 + sippeerBxxygpCJrw + true + + + Voice + + 2021-02-10T11:22:57.000Z + + + Hosted + + + + 12346168 + + 495 + site_1KU9l + + + 500034 + sippeere0fDdHYzRb + true + + + Hosted Messaging + + + true + system_default + + 112233 + 9417 + + + + Hosted + + + + 12346169 + + Hosted E911 + + + + Success + 12346169 + SUCCESS + false + ojjucTKANd +
      + 6518 + + MAIN CAMPUS + DR + RALEIGH + NC + 27606 + 5244 + E911 + 35.848359 + -75.000000 +
      +
      +
      + + Hosted + +
      +
      +
      +
      + schema: + $ref: '#/components/schemas/TelephoneNumberDetailHistoryResponse' + description: >- + OK - the detailed information about the phone number has been + successfully retrieved and displayed.
      TnAttributes is not + required in the response. + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 12512 + Telephone number '123456789' is not valid + + + schema: + $ref: '#/components/schemas/TelephoneNumbersErrorResponse' + description: >- + Bad Request - failed to get detailed information about the current + phone number. + summary: Retrieve tn details + tags: + - Tns + /tollFreeVerification/useCases: + get: + description: Provides a list of valid toll-free use cases + operationId: listUseCases + responses: + '200': + $ref: '#/components/responses/useCasesResponse' + '400': + $ref: '#/components/responses/tfvBadRequestResponse' + '401': + $ref: '#/components/responses/tfvUnauthorizedResponse' + '403': + $ref: '#/components/responses/tfvForbiddenResponse' + '404': + $ref: '#/components/responses/tfvNotFoundResponse' + '405': + $ref: '#/components/responses/tfvNotAllowedResponse' + '429': + $ref: '#/components/responses/tfvTooManyRequestsResponse' + '500': + $ref: '#/components/responses/tfvServerErrorResponse' + '503': + $ref: '#/components/responses/tfvServiceUnavailableResponse' + summary: List valid use cases for toll-free traffic + tags: + - Toll-Free Verification +security: + - httpBasic: [] +servers: + - description: Production + url: https://dashboard.bandwidth.com/api/v2 + variables: {} +tags: + - name: 10DLC + - name: Account + - name: Addresses + - description: >- + Bandwidth uses HTTP webhooks to send message & voice events to any + publicly addressable url. + externalDocs: + description: Application guide + url: /docs/account/applications/ + name: Applications + - name: Available Tns + - description: Manage bulk port-in orders + externalDocs: + description: Bulk port-in guide + url: /docs/numbers/porting/port-ins/bulkPortIns + name: Bulk Port-In + - name: Callbacks + - name: Cities + - description: >- + DLDA = Directory Listing and Directory Assistance. A DLDA resource + associates a TN with a Street Address. This gets updated in a Network + Database. + externalDocs: + description: DLDA guide + url: >- + /docs/numbers/guides/manageNumberFeatures/#directory-listing-and-directory-assistance-dlda + name: DLDA + - name: Disconnected Numbers + - description: >- + Disconnecting a phone number leaves it in all applicable inventories, but + makes it available for activation with a new subscriber. + externalDocs: + description: Disconnecting number guide + url: /docs/numbers/guides/disconnectNumbers/ + name: Disconnecting Numbers + - description: E911 - Enhanced 911 with Dynamic Location Routing (DLR) + externalDocs: + description: E911 - DLR guide + url: /docs/emergency/dashboard/dlr/ + name: E911 + - description: >- + Emergency notifications are designed to support notification of front-desk + personnel in the event that someone dials an emergency call from a + multi-line telephone system (MLTS). + externalDocs: + description: Emergency notification guide + url: /docs/emergency/dashboard/notifications/ + name: Emergency Notification + - name: External Tn + - name: Hosted Messaging + - name: Hosted Voice + - name: Import Tn to Account + - name: In-service Numbers + - description: LIDB - Line Information DataBase + externalDocs: + description: LIDB guide + url: >- + /docs/numbers/guides/manageNumberFeatures/#calling-name-display-update-lidb + name: LIDB + - name: Move Tns + - name: Numbers Assignment + - name: Orders + - description: '' + externalDocs: + description: Porting guide + url: /docs/numbers/porting/ + name: Porting + - name: Rate Centers + - externalDocs: + description: Reports guide + url: /docs/numbers/guides/setup-reports/accountReports/ + name: Reports + - name: Short Codes + - externalDocs: + description: Sip Registrar guide + url: /docs/account/sipRegistrar/#create-sip-credentials + name: Sip Registrar + - name: SipPeer Management + - name: Site Management + - externalDocs: + description: Subscriptions details + url: /docs/account/subscriptions/ + name: Subscriptions + - name: Tn Option + - name: Tn Reservation + - name: Tns + - name: Admin Data + - description: Toll-Free Verification API guide + name: Toll-Free Verification diff --git a/site/specs/voice.yml b/site/specs/voice.yml index e7f126675..7292ea8ff 100644 --- a/site/specs/voice.yml +++ b/site/specs/voice.yml @@ -5041,6 +5041,16 @@ components: strings: `Restricted`, `Anonymous`, `Private`, or `Unavailable`). example: '+19195554321' + displayName: + nullable: true + type: string + description: >- + The caller display name to use when the call is created. + + May not exceed 256 characters nor contain control characters such as + new lines. + maxLength: 256 + example: John Doe uui: nullable: true type: string From fc037ce0e08e4ae34725b883928aefe66de6621a Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 29 Aug 2023 15:23:04 +0000 Subject: [PATCH 58/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 102 +++++++++++++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 14 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index c1feaa6ba..40376f745 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -716,7 +716,7 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/google-es' + $ref: '#/components/schemas/googleEs' displayName: $ref: '#/components/schemas/displayName' role: @@ -741,7 +741,7 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/google-es' + $ref: '#/components/schemas/googleEs' displayName: $ref: '#/components/schemas/displayName' role: @@ -942,7 +942,7 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/google-es' + $ref: '#/components/schemas/googleEs' displayName: $ref: '#/components/schemas/displayName' role: @@ -1589,17 +1589,17 @@ components: - type description: A property to hold the type of a provider example: Google-ES - google-es: + googleEs: type: string required: - google description: google type for provider example: Google-ES - google-cx: + googleCx: type: string required: - - google-cx - description: google-cx type for provider + - googleCx + description: googleCx type for provider example: Google-CX aws: type: string @@ -1628,7 +1628,7 @@ components: description: a name for the provider example: Provider description provider: - type: object + type: string description: A string representing the id of a previously setup provider. example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 providerBotName: @@ -1710,7 +1710,7 @@ components: type: boolean description: Enables the DTMF digit collection. example: true - dtmfCollectInterDigitTimeoutMS: + dtmfCollectInterDigitTimeoutMs: type: number description: >- Defines the timeout (in milliseconds) to wait for the user to press @@ -1721,7 +1721,7 @@ components: description: >- Defines the maximum number of DTMF digits expected to receive from the user. - example: true + example: 10 dtmfCollectSubmitDigit: type: string description: >- @@ -1729,7 +1729,7 @@ components: sends all the collected digits to the bot (as a DTMF message), without waiting for the timeout to expire or for the maximum number of expected digits. - example: true + example: '#' transferTarget: type: string description: >- @@ -1741,7 +1741,8 @@ components: description: >- Enables the value of a specified header to be sent in the start message to the bot, using a newly created or existing parameter name. - example: '{ "new-parameter-name": ""}' + example: + new-parameter-name: ttsEnhancedVoice: type: string description: Defines the AWS text-to-speech voice as Neural Voice or Standard Voice. @@ -1988,6 +1989,11 @@ components: properties: cognigyCredentials: $ref: '#/components/schemas/cognigyProviderCredentials' + errors: + type: array + properties: + link: + $ref: '#/components/schemas/error' error: title: Error type: object @@ -2051,6 +2057,11 @@ components: message: type: string example: An optional metadata field + links: + type: array + properties: + link: + $ref: '#/components/schemas/link' link: title: Link type: object @@ -2067,6 +2078,23 @@ components: type: string description: HTTP method to be used. example: GET + totalCount: + type: integer + providers: + type: array + properties: + provider: + $ref: '#/components/schemas/provider' + bots: + type: array + properties: + provider: + $ref: '#/components/schemas/bots' + role: + type: array + properties: + role: + type: string requestBodies: providerPostRequest: content: @@ -3056,6 +3084,7 @@ components: - id: optional-error-id type: bad-request description: There was an issue with your request. + errorCode: 400 unauthorizedErrorExample: summary: An example of a generic Unauthorized Error value: @@ -3065,6 +3094,7 @@ components: - id: optional-error-id type: authentication-credentials description: Invalid or missing credentials. + errorCode: 403 forbiddenErrorExample: summary: An example of a generic Unauthorized Error. value: @@ -3074,6 +3104,7 @@ components: - id: optional-error-id type: resource-permissions description: User does not have permissions to access this resource. + errorCode: 401 notFoundErrorExample: summary: An example of a generic Not Found Error. value: @@ -3083,6 +3114,7 @@ components: - id: optional-error-id type: resource-not-found description: The resource specified cannot be found. + errorCode: 404 notAllowedErrorExample: summary: An example of a Method Not Allowed error. value: @@ -3094,7 +3126,7 @@ components: description: >- The HTTP request method is not supported for the requested resource. - code: 405 + errorCode: 405 tooManyRequestsErrorExample: summary: An example of a Too Many Requests error. value: @@ -3106,7 +3138,7 @@ components: description: >- The user has sent too many requests in a given amount of time (rate limiting). - code: 429 + errorCode: 429 internalServerErrorExample: summary: An example of a generic Internal Server Error. value: @@ -3118,6 +3150,48 @@ components: description: >- Unexpected internal server error. Contact Bandwidth Customer Support if this problem persists. + errorCode: 500 + totalCount: + summary: Total number of obects returned + value: integer + type: + summary: type of provider + value: string + providers: + summary: An array of AI ridge Integrations + value: array + bots: + summary: An array of bots + value: array + role: + summary: >- + An array of roles that say what function(s) an AIBridge Integration can + do. + value: array + errors: + summary: An array of errors + value: array + privateKey: + summary: An Google private key + value: string + clientEmail: + summary: A Google email + value: string + conversationProfileId: + summary: A Google Conversation Profile ID + value: string + username: + summary: A user name. + value: string + password: + summary: A password + value: string + accessKey: + summary: An AWS access key + value: string + secretKey: + summary: An AWS secret key + value: string securitySchemes: Basic: type: http From 74491b601faa2a0121c6cf35b8ce463cf3166ea1 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 29 Aug 2023 20:26:20 +0000 Subject: [PATCH 59/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 714 +-------------------------------------- 1 file changed, 18 insertions(+), 696 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 40376f745..b316d7639 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -435,39 +435,6 @@ components: examples: postBotResponse: $ref: '#/components/examples/botPostResponseExample' - replaceProvidersResponse: - description: A JSON object containing the updated details of the Provider. - content: - application/json: - schema: - $ref: '#/components/schemas/replaceProviderResponseData' - examples: - googleEsProviderExample: - $ref: '#/components/examples/googleEsProviderPutResponseExample' - googleCxProviderExample: - $ref: '#/components/examples/googleEsProviderPutResponseExample' - awsProviderExample: - $ref: '#/components/examples/awsProviderPostResponseExample' - cognigyProviderExample: - $ref: '#/components/examples/cognigyProviderPostResponseExample' - updateProvidersResponse: - description: A JSON object containing the updated details of the Provider. - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/googleEsProviderResponseData' - - $ref: '#/components/schemas/awsProviderResponseData' - - $ref: '#/components/schemas/cognigyProviderResponseData' - examples: - googleEsProviderExample: - $ref: '#/components/examples/googleEsProviderPatchResponseExample' - googleCxProviderExample: - $ref: '#/components/examples/googleEsProviderPatchResponseExample' - awsProviderExample: - $ref: '#/components/examples/awsProviderPatchResponseExample' - cognigyProviderExample: - $ref: '#/components/examples/cognigyProviderPatchResponseExample' deleteProviderResponse: description: The provider was successfully deleted. No response body is returned. deleteBotResponse: @@ -642,7 +609,6 @@ components: properties: totalCount: type: integer - description: The total count of objects returned in the response. providers: type: array items: @@ -696,16 +662,6 @@ components: The ID of the Bandwidth Dashboard account that the called number of the phone call is assigned to. example: 1234567 - providersResponse: - type: object - description: All available information about a specific configured provider. - properties: - data: - type: object - properties: - schema: - $ref: '#/components/responses/getProviderResponse' - nullable: true googleEsProviderResponseData: title: Google-ES Provider Response Data type: object @@ -791,32 +747,6 @@ components: nullable: true example: $ref: '#/components/examples/googleBotExample' - googleBotResponseData: - title: Google Bot - type: object - description: Contains Bot information. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - botFailover: - $ref: '#/components/schemas/botFailover' - googleBot: - $ref: '#/components/schemas/googleBot' - sttProvider: - oneOf: - - $ref: '#/components/schemas/googleBotData' - - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - nullable: true - example: - $ref: '#/components/examples/googleBotExample' googleBotData: title: Google Bot type: object @@ -861,30 +791,6 @@ components: nullable: true example: $ref: '#/components/examples/awsProviderExample' - awsBotResponseData: - title: AWS Bot - type: object - description: Contains Bot information. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - botFailover: - $ref: '#/components/schemas/botFailover' - awsBot: - $ref: '#/components/schemas/awsBot' - nullable: true - example: - $ref: '#/components/examples/googleBotExample' cognigyProviderResponseData: title: Cognigy Provider Response Data type: object @@ -910,30 +816,6 @@ components: nullable: true example: $ref: '#/components/examples/cognigyProviderExample' - cognigyBotResponseData: - title: Cognigy Bot - type: object - description: Contains Bot information. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - botFailover: - $ref: '#/components/schemas/botFailover' - cognigyBot: - $ref: '#/components/schemas/awsBot' - nullable: true - example: - $ref: '#/components/examples/googleBotExample' googleEsProviderRequestData: title: Google-ES Provider Request Data type: object @@ -1031,35 +913,6 @@ components: - dtmfCollectMaxDigits - sttProvider - ttsProvider - googleBotRequestData: - title: Google Bot Request Data - type: object - description: Bot request example. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - botFailover: - $ref: '#/components/schemas/botFailover' - providerBotName: - $ref: '#/components/schemas/providerBotName' - googleBot: - $ref: '#/components/schemas/googleBot' - example: - $ref: '#/components/examples/googleBotExample' - required: - - name - - description - - provider awsProviderRequestData: title: AWS Provider Request Data type: object @@ -1086,31 +939,6 @@ components: - awsProvider example: $ref: '#/components/examples/awsProviderExample' - awsBotRequestData: - title: AWS Bot Request Data - type: object - description: Bot request example. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - botFailover: - $ref: '#/components/schemas/botFailover' - providerBotName: - $ref: '#/components/schemas/providerBotName' - awsBot: - $ref: '#/components/schemas/awsBot' - example: - $ref: '#/components/examples/awsBotExample' cognigyProviderRequestData: title: Cognigy Provider request Data type: object @@ -1232,29 +1060,6 @@ components: required: - errorCode - errorMsg - postProviderResponseData: - type: object - properties: - id: - type: string - description: Unique identifier of the new Provider. - example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 - displayName: - type: string - description: Name of the new Provider. - example: Provider X - type: - type: string - description: The type of provider, such as 'google', 'aws', or 'cognigy'. - enum: - - GOOGLE_ES - - GOOGLE_CX - - AWS - - COGNIGY - description: - type: string - description: Description of the new Provider. - example: Configuration for Provider X postBotResponseData: type: object properties: @@ -1278,86 +1083,6 @@ components: type: string description: Description of the new Provider. example: Configuration for Provider X - replaceProviderResponseData: - type: object - properties: - id: - type: string - description: The new unique identifier of the updated provider. - example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e - displayName: - type: string - description: The new name of the updated provider. - example: Provider Y - description: - type: string - description: The new description of the updated provider. - example: Configuration for Provider Y - type: - type: string - description: The new type of the updated provider, such as 'google' or 'aws'. - enum: - - GOOGLE_ES - - GOOGLE_CX - - AWS - - COGNIGY - updateProviderResponseData: - type: object - properties: - id: - type: string - description: The unique identifier of the updated provider. - example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e - displayName: - type: string - description: The new name of the updated provider. - example: Provider Y - description: - type: string - description: The new description of the updated provider. - example: Configuration for Provider Y - type: - type: string - description: The new type of the updated provider, such as 'google' or 'aws'. - enum: - - GOOGLE_ES - - GOOGLE_CX - - AWS - - COGNIGY - updateProvider: - type: object - properties: - id: - type: string - description: The unique identifier of the updated provider. - example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e - displayName: - type: string - description: The new name of the updated provider. - example: Provider Y - description: - type: string - description: The new description of the updated provider. - example: Configuration for Provider Y - type: - type: string - description: The new type of the updated provider, such as 'google' or 'aws'. - enum: - - GOOGLE_ES - - GOOGLE_CX - - AWS - - COGNIGY - credentials: - oneOf: - - $ref: '#/components/schemas/googleProviderCredentials' - - $ref: '#/components/schemas/cognigyProviderCredentials' - - $ref: '#/components/schemas/awsProviderCredentials' - googleConfig: - $ref: '#/components/schemas/googleEsProviderRequestData' - cognigyConfig: - $ref: '#/components/schemas/cognigyProviderRequestData' - awsConfig: - $ref: '#/components/schemas/awsProviderRequestData' googleProviderCredentials: type: object properties: @@ -1373,16 +1098,6 @@ components: example: privateKey: abc123 clientEmail: johndoe@example.com - googleBotCredentials: - type: object - properties: - conversationProfileId: - type: string - description: conversation Profile Id. - required: - - conversationProfileId - example: - conversationProfileId: '1234' cognigyProviderCredentials: type: object properties: @@ -1511,27 +1226,6 @@ components: - type - role - awsProvider - updateAwsBot: - type: object - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - botFailover: - $ref: '#/components/schemas/botFailover' - awsBot: - $ref: '#/components/schemas/awsBot' - required: - - id updateCognigyProvider: type: object properties: @@ -1551,27 +1245,6 @@ components: - description - type - cognigyProvider - updateCognigyBot: - type: object - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - sttProvider: - $ref: '#/components/schemas/sttProvider' - ttsProvider: - $ref: '#/components/schemas/ttsProvider' - botFailover: - $ref: '#/components/schemas/botFailover' - cognigyBot: - $ref: '#/components/schemas/cognigyBot' - required: - - id id: required: - id @@ -1595,12 +1268,6 @@ components: - google description: google type for provider example: Google-ES - googleCx: - type: string - required: - - googleCx - description: googleCx type for provider - example: Google-CX aws: type: string required: @@ -1639,14 +1306,6 @@ components: type: string description: A string representing the region. example: us-east-1 - accessKey: - type: string - description: Access key for the AWS account. - example: AKIAIOSFODNN7EXAMPLE - secretKey: - type: string - description: Secret key for the AWS account. - example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY location: type: string description: A string representing the location. @@ -1664,14 +1323,6 @@ components: description: A string representing the agent ID. example: my-agent minLength: 1 - ttsUrl: - type: string - description: A string representing the TTS URL. - example: http://example.com/tts - sttUrl: - type: string - description: A string representing the STT URL. - example: http://example.com/stt sttProvider: type: string description: >- @@ -1710,12 +1361,6 @@ components: type: boolean description: Enables the DTMF digit collection. example: true - dtmfCollectInterDigitTimeoutMs: - type: number - description: >- - Defines the timeout (in milliseconds) to wait for the user to press - another digit before it sends all the digits to the bot - example: 5 dtmfCollectMaxDigits: type: number description: >- @@ -1736,13 +1381,6 @@ components: URI to where the call should be transferred call to. Typically, the URI is a "tel" or "sip" URI. example: tel:+19195554321 - sipHeadersToBot: - type: object - description: >- - Enables the value of a specified header to be sent in the start message - to the bot, using a newly created or existing parameter name. - example: - new-parameter-name: ttsEnhancedVoice: type: string description: Defines the AWS text-to-speech voice as Neural Voice or Standard Voice. @@ -1932,33 +1570,6 @@ components: $ref: '#/components/schemas/region' awsCredentials: $ref: '#/components/schemas/awsProviderCredentials' - awsBotResponse: - required: - - awsBot - - region - - location - - environment - - projectId - - agentId - description: Google Provider is required - properties: - region: - $ref: '#/components/schemas/region' - location: - $ref: '#/components/schemas/location' - environment: - $ref: '#/components/schemas/environment' - projectId: - $ref: '#/components/schemas/projectId' - agentId: - $ref: '#/components/schemas/agentId' - awsCredentials: - required: - - awsCredentials - description: Google Provider Credentials are required - properties: - awsCredentials: - $ref: '#/components/schemas/awsProviderCredentials' cognigyProvider: required: - cognigyProvider @@ -1982,18 +1593,6 @@ components: $ref: '#/components/schemas/token' oauthTokenUrl: $ref: '#/components/schemas/oauthTokenUrl' - cognigyCredentials: - required: - - googleCredentials - description: Google Provider Credentials are required - properties: - cognigyCredentials: - $ref: '#/components/schemas/cognigyProviderCredentials' - errors: - type: array - properties: - link: - $ref: '#/components/schemas/error' error: title: Error type: object @@ -2057,11 +1656,6 @@ components: message: type: string example: An optional metadata field - links: - type: array - properties: - link: - $ref: '#/components/schemas/link' link: title: Link type: object @@ -2078,23 +1672,6 @@ components: type: string description: HTTP method to be used. example: GET - totalCount: - type: integer - providers: - type: array - properties: - provider: - $ref: '#/components/schemas/provider' - bots: - type: array - properties: - provider: - $ref: '#/components/schemas/bots' - role: - type: array - properties: - role: - type: string requestBodies: providerPostRequest: content: @@ -2185,14 +1762,6 @@ components: awsbot: $ref: '#/components/examples/awsBotExample' examples: - providerExample: - summary: A summary of a Provider - value: - schema: - oneOf: - - $ref: '#/components/examples/googleEsProviderExample' - - $ref: '#/components/examples/awsProviderExample' - - $ref: '#/components/examples/cognigyProviderExample' listProviderResponseExample: summary: An example of a list provider response value: @@ -2249,7 +1818,7 @@ components: botUrl: http://cognigy-bot-url role: - bot - errors: null + errors: [] listBotResponseExample: summary: An example of a list bot response value: @@ -2289,7 +1858,7 @@ components: ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - errors: null + errors: [] googleEsProviderExample: summary: An example of a Google-ES provider value: @@ -2415,7 +1984,7 @@ components: location: us-east-1 environment: Production projectId: myproject - errors: null + errors: [] googleCxProviderGetResponseExample: summary: An example of a Google-CX provider get response value: @@ -2450,7 +2019,7 @@ components: environment: Production projectId: myproject agentId: myagent - errors: null + errors: [] botGetResponseExample: summary: An example of a bot get response value: @@ -2485,39 +2054,7 @@ components: ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - errors: null - googleBotGetResponseExample: - summary: An example of a google bot get response - value: - links: - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: self - method: GET - - href: /bots - rel: create - method: POST - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: replace - method: PUT - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: update - method: PATCH - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: delete - method: DELETE - data: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - googleBot: - voiceName: Jill - credentials: - conversationProfileId: '1234' - errors: null + errors: [] googleEsProviderPostResponseExample: summary: An example of a Google-ES provider post response value: @@ -2542,7 +2079,7 @@ components: location: us-east-1 environment: Production projectId: myproject - errors: null + errors: [] googleCxProviderPostResponseExample: summary: An example of a Google-CX provider post response value: @@ -2568,7 +2105,7 @@ components: environment: Production projectId: myproject agentId: myagent - errors: null + errors: [] botPostResponseExample: summary: An example of a bot post response value: @@ -2594,7 +2131,7 @@ components: ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - errors: null + errors: [] googleEsProviderPutResponseExample: summary: An example of a provider put response value: @@ -2624,38 +2161,7 @@ components: location: us-east-1 environment: Production projectId: myproject - errors: null - googleCxProviderPutResponseExample: - summary: An example of a provider put response - value: - links: - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: self - method: GET - - href: /providers - rel: create - method: POST - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: replace - method: PUT - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: update - method: PATCH - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: delete - method: DELETE - data: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Google Provider - type: GOOGLE_CX - description: Google provider description - googleProvider: - region: northamerica - location: us-east-1 - environment: Production - projectId: myproject - agentId: myagent - errors: null + errors: [] googleEsProviderPatchResponseExample: summary: An example of a provider patch response value: @@ -2685,38 +2191,7 @@ components: location: us-east-1 environment: Production projectId: myproject - errors: null - googleCxProviderPatchResponseExample: - summary: An example of a provider patch response - value: - links: - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: self - method: GET - - href: /providers - rel: create - method: POST - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: replace - method: PUT - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: update - method: PATCH - - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: delete - method: DELETE - data: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Google Provider - type: GOOGLE_CX - description: Google provider description - googleProvider: - region: northamerica - location: us-east-1 - environment: Production - projectId: myproject - agentId: myagent - errors: null + errors: [] awsProviderExample: summary: An example of an AWS provider value: @@ -2775,39 +2250,7 @@ components: - tts awsProvider: Region: us-west-1 - errors: null - awsBotGetResponseExample: - summary: An example of a AWS bot get response - value: - links: - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: self - method: GET - - href: /bots - rel: create - method: POST - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: replace - method: PUT - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: update - method: PATCH - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: delete - method: DELETE - data: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - awsBot: - voiceName: Jill - botAlias: '1234' - providerBotName: aws bot - errors: null + errors: [] awsProviderPostResponseExample: summary: An example of an AWS provider post response value: @@ -2827,30 +2270,7 @@ components: description: Aws provider description awsProvider: Region: us-west-1 - errors: null - awsBotPostResponseExample: - summary: An example of a AWS bot post response - value: - links: - - href: /bots - rel: self - method: POST - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: bot - method: GET - bot: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - awsBot: - voiceName: Jill - botAlias: '1234' - providerBotName: aws bot - errors: null + errors: [] awsProviderPutResponseExample: summary: An example of an AWS provider put response value: @@ -2877,7 +2297,7 @@ components: description: Aws provider description awsProvider: Region: us-west-1 - errors: null + errors: [] awsProviderPatchResponseExample: summary: An example of an AWS provider patch response value: @@ -2904,7 +2324,7 @@ components: description: Aws provider description awsProvider: Region: us-west-1 - errors: null + errors: [] cognigyProviderExample: summary: An example of a Cognigy provider value: @@ -2943,40 +2363,7 @@ components: - bot cognigyProvider: botUrl: http://cognigy-bot-url - errors: null - cognigyBotGetResponseExample: - summary: An example of a Cognigy bot - value: - links: - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: self - method: GET - - href: /bots - rel: create - method: POST - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: replace - method: PUT - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: update - method: PATCH - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: delete - method: DELETE - data: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - cognigyBot: - token: replace - oauthTokenUrl: replace - botUrl: http://cognigy-bot-url - providerBotName: aws bot - errors: null + errors: [] cognigyProviderPostResponseExample: summary: An example of a Cognigy provider value: @@ -2996,31 +2383,7 @@ components: - bot cognigyProvider: botUrl: http://cognigy-bot-url - errors: null - cognigyBotPostResponseExample: - summary: An example of a Cognigy bot - value: - links: - - href: /bots - rel: self - method: POST - - href: /bots/b64b5e72-a850-4f38-98d4-5022cacd3f0f - rel: bot - method: GET - bot: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - sttProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - ttsProvider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - botFailover: 919-111-2222 - cognigyBot: - token: replace - oauthTokenUrl: replace - botUrl: http://cognigy-bot-url - providerBotName: cognigy bot - errors: null + errors: [] cognigyProviderPutResponseExample: summary: An example of a Cognigy provider value: @@ -3047,7 +2410,7 @@ components: description: Cognigy provider description cognigyProvider: botUrl: http://cognigy-bot-url - errors: null + errors: [] cognigyProviderPatchResponseExample: summary: An example of a Cognigy provider value: @@ -3074,7 +2437,7 @@ components: description: Cognigy provider description cognigyProvider: botUrl: http://cognigy-bot-url - errors: null + errors: [] badRequestErrorExample: summary: An example of a generic Bad Request Error. value: @@ -3151,47 +2514,6 @@ components: Unexpected internal server error. Contact Bandwidth Customer Support if this problem persists. errorCode: 500 - totalCount: - summary: Total number of obects returned - value: integer - type: - summary: type of provider - value: string - providers: - summary: An array of AI ridge Integrations - value: array - bots: - summary: An array of bots - value: array - role: - summary: >- - An array of roles that say what function(s) an AIBridge Integration can - do. - value: array - errors: - summary: An array of errors - value: array - privateKey: - summary: An Google private key - value: string - clientEmail: - summary: A Google email - value: string - conversationProfileId: - summary: A Google Conversation Profile ID - value: string - username: - summary: A user name. - value: string - password: - summary: A password - value: string - accessKey: - summary: An AWS access key - value: string - secretKey: - summary: An AWS secret key - value: string securitySchemes: Basic: type: http From f2509f4536881c10c1d6bdabc5bf850cfc9fe9ff Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Wed, 30 Aug 2023 15:41:04 +0000 Subject: [PATCH 60/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 272 ++++++++++++++++++++++++--------------- 1 file changed, 168 insertions(+), 104 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index b316d7639..c2e06f3fc 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -109,7 +109,7 @@ paths: - Providers responses: '200': - $ref: '#/components/responses/getProviderResponse' + $ref: '#/components/responses/replaceProviderResponse' '400': $ref: '#/components/responses/badRequestError' '401': @@ -137,7 +137,7 @@ paths: - Providers responses: '200': - $ref: '#/components/responses/createProviderResponse' + $ref: '#/components/responses/updateProviderResponse' '400': $ref: '#/components/responses/badRequestError' '401': @@ -435,6 +435,39 @@ components: examples: postBotResponse: $ref: '#/components/examples/botPostResponseExample' + replaceProviderResponse: + description: A JSON object containing the updated details of the Provider. + content: + application/json: + schema: + $ref: '#/components/schemas/replaceProviderResponseData' + examples: + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderPutResponseExample' + googleCxProviderExample: + $ref: '#/components/examples/googleEsProviderPutResponseExample' + awsProviderExample: + $ref: '#/components/examples/awsProviderPutResponseExample' + cognigyProviderExample: + $ref: '#/components/examples/cognigyProviderPutResponseExample' + updateProviderResponse: + description: A JSON object containing the updated details of the Provider. + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/googleEsProviderResponseData' + - $ref: '#/components/schemas/awsProviderResponseData' + - $ref: '#/components/schemas/cognigyProviderResponseData' + examples: + googleEsProviderExample: + $ref: '#/components/examples/googleEsProviderPatchResponseExample' + googleCxProviderExample: + $ref: '#/components/examples/googleEsProviderPatchResponseExample' + awsProviderExample: + $ref: '#/components/examples/awsProviderPatchResponseExample' + cognigyProviderExample: + $ref: '#/components/examples/cognigyProviderPatchResponseExample' deleteProviderResponse: description: The provider was successfully deleted. No response body is returned. deleteBotResponse: @@ -747,24 +780,6 @@ components: nullable: true example: $ref: '#/components/examples/googleBotExample' - googleBotData: - title: Google Bot - type: object - description: Contains Bot information. - properties: - id: - $ref: '#/components/schemas/id' - provider: - $ref: '#/components/schemas/provider' - displayName: - $ref: '#/components/schemas/displayName' - description: - $ref: '#/components/schemas/description' - botFailover: - $ref: '#/components/schemas/botFailover' - nullable: true - example: - $ref: '#/components/examples/googleBotExample' awsProviderResponseData: title: AWS Provider Response Data type: object @@ -1060,29 +1075,85 @@ components: required: - errorCode - errorMsg - postBotResponseData: + replaceProviderResponseData: + type: object + properties: + id: + type: string + description: The new unique identifier of the updated provider. + example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e + displayName: + type: string + description: The new name of the updated provider. + example: Provider Y + description: + type: string + description: The new description of the updated provider. + example: Configuration for Provider Y + type: + type: string + description: The new type of the updated provider, such as 'google' or 'aws'. + enum: + - GOOGLE_ES + - GOOGLE_CX + - AWS + - COGNIGY + updateProviderResponseData: type: object properties: id: type: string - description: Unique identifier of the new Provider. - example: d1e921e4-a6ff-475b-8b20-d27b6f2bc6c9 + description: The unique identifier of the updated provider. + example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e displayName: type: string - description: Name of the new Provider. - example: Provider X + description: The new name of the updated provider. + example: Provider Y + description: + type: string + description: The new description of the updated provider. + example: Configuration for Provider Y type: type: string - description: The type of provider, such as 'google', 'aws', or 'cognigy'. + description: The new type of the updated provider, such as 'google' or 'aws'. enum: - GOOGLE_ES - GOOGLE_CX - AWS - COGNIGY + updateProvider: + type: object + properties: + id: + type: string + description: The unique identifier of the updated provider. + example: f8a7a66a-4f4e-4b27-b557-7f3948a3cd2e + displayName: + type: string + description: The new name of the updated provider. + example: Provider Y description: type: string - description: Description of the new Provider. - example: Configuration for Provider X + description: The new description of the updated provider. + example: Configuration for Provider Y + type: + type: string + description: The new type of the updated provider, such as 'google' or 'aws'. + enum: + - GOOGLE_ES + - GOOGLE_CX + - AWS + - COGNIGY + credentials: + oneOf: + - $ref: '#/components/schemas/googleProviderCredentials' + - $ref: '#/components/schemas/awsProviderCredentials' + googleConfig: + $ref: '#/components/schemas/googleEsProviderRequestData' + cognigyConfig: + $ref: '#/components/schemas/cognigyProviderRequestData' + awsConfig: + $ref: '#/components/schemas/awsProviderRequestData' googleProviderCredentials: type: object properties: @@ -1098,21 +1169,6 @@ components: example: privateKey: abc123 clientEmail: johndoe@example.com - cognigyProviderCredentials: - type: object - properties: - username: - type: string - description: Username for the Cognigy account. - password: - type: string - description: Password for the Cognigy account. - required: - - username - - password - example: - username: johndoe - password: newp@ssword awsProviderCredentials: type: object properties: @@ -1268,6 +1324,12 @@ components: - google description: google type for provider example: Google-ES + googleCx: + type: string + required: + - googleCx + description: googleCx type for provider + example: Google-CX aws: type: string required: @@ -1482,10 +1544,6 @@ components: $ref: '#/components/schemas/agentId' googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' - googleBot: - oneOf: - - $ref: '#/components/schemas/googleSpeechToTextBot' - - $ref: '#/components/schemas/googleTextToSpeechBot' googleSpeechToTextBot: required: - providerId @@ -1530,13 +1588,6 @@ components: $ref: '#/components/schemas/language' ttsEnhancedVoice: $ref: '#/components/schemas/ttsEnhancedVoice' - googleCredentials: - required: - - googleCredentials - description: Google Provider Credentials are required - properties: - googleCredentials: - $ref: '#/components/schemas/googleProviderCredentials' awsProvider: required: - awsProvider @@ -1547,19 +1598,6 @@ components: $ref: '#/components/schemas/region' awsCredentials: $ref: '#/components/schemas/awsProviderCredentials' - awsBot: - required: - - voiceName - - providerBotName - - botAlias - description: Google Bot is required - properties: - voiceName: - $ref: '#/components/schemas/voiceName' - providerBotName: - $ref: '#/components/schemas/providerBotName' - botAlias: - $ref: '#/components/schemas/botAlias' awsProviderResponse: required: - awsProvider @@ -1577,22 +1615,6 @@ components: properties: botUrl: $ref: '#/components/schemas/botUrl' - cognigyBot: - required: - - botURL - - providerBotName - - token - - oauthTokenUrl - description: Google Bot is required - properties: - botUrl: - $ref: '#/components/schemas/botUrl' - providerBotName: - $ref: '#/components/schemas/providerBotName' - token: - $ref: '#/components/schemas/token' - oauthTokenUrl: - $ref: '#/components/schemas/oauthTokenUrl' error: title: Error type: object @@ -1898,26 +1920,6 @@ components: googleCredentials: privateKey: samplekey clientEmai: email - botResponseExample: - summary: An example of a Bot Response - value: - links: - - href: /providers - rel: self - method: GET - data: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f - displayName: Bot - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - description: Bot description - dtmfCollect: true - dtmfCollectMaxDigits: 1 - dtmfCollectSubmitDigit: '#' - transferTarget: tel:+19195554321 - sttProvider: - language: en-US - ttsProvider: - voiceName: Jill botRequestExample: summary: An example of a Bot request value: @@ -2162,6 +2164,37 @@ components: environment: Production projectId: myproject errors: [] + googleCxProviderPutResponseExample: + summary: An example of a provider put response + value: + links: + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /providers + rel: create + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE_CX + description: Google provider description + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + agentId: myagent + errors: [] googleEsProviderPatchResponseExample: summary: An example of a provider patch response value: @@ -2192,6 +2225,37 @@ components: environment: Production projectId: myproject errors: [] + googleCxProviderPatchResponseExample: + summary: An example of a provider patch response + value: + links: + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /providers + rel: create + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE + data: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE_CX + description: Google provider description + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + agentId: myagent + errors: [] awsProviderExample: summary: An example of an AWS provider value: @@ -2385,7 +2449,7 @@ components: botUrl: http://cognigy-bot-url errors: [] cognigyProviderPutResponseExample: - summary: An example of a Cognigy provider + summary: An example of a Cognigy provider put response value: links: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f From bfdf593301a5e710f711e1f4c8cbd2666d9b6ed9 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 14:18:57 +0000 Subject: [PATCH 61/81] Add Code Snippets to Spec Files --- site/specs/emergency.yml | 2913 ++++++++++++ site/specs/messaging.yml | 452 +- site/specs/multi-factor-auth.yml | 303 +- site/specs/numbers.yml | 210 +- site/specs/numbers_v2.yml | 7031 +++++++++++++++++----------- site/specs/phone-number-lookup.yml | 166 +- site/specs/voice.yml | 1776 +++---- site/specs/webrtc.yml | 2019 -------- 8 files changed, 8687 insertions(+), 6183 deletions(-) create mode 100644 site/specs/emergency.yml diff --git a/site/specs/emergency.yml b/site/specs/emergency.yml new file mode 100644 index 000000000..eca455ab5 --- /dev/null +++ b/site/specs/emergency.yml @@ -0,0 +1,2913 @@ +openapi: 3.0.3 +info: + title: Unified Emergency Services Provisioning API + version: 1.0.0 + termsOfService: https://www.bandwidth.com/legal/terms-of-use-bandwidthcom-web-sites/ + description: >- + The API specification for Bandwidth’s unified Emergency Services + provisioning API. + + + ## Base URL + + `https://dashboard.bandwidth.com/api/v2/accounts/{accountId}/emergency` + contact: + email: support@bandwidth.com + name: Bandwidth + url: https://support.bandwidth.com +servers: + - url: https://dashboard.bandwidth.com/api/v2/accounts/{accountId}/emergency +paths: + /endpoints: + get: + summary: List Endpoints + operationId: listAllEndpoints + description: List all emergency provisioned endpoints. + tags: + - Endpoints + parameters: + - $ref: '#/components/parameters/addressIdQuery' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/listEndpoints' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + post: + summary: Add Endpoints + operationId: addEndpoints + description: Provision new emergency endpoints. + tags: + - Endpoints + parameters: + - $ref: '#/components/parameters/region' + requestBody: + $ref: '#/components/requestBodies/addEndpoints' + responses: + '202': + $ref: '#/components/responses/provisioningOrderAddEndpoint' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + patch: + summary: Update Endpoints + operationId: updateEndpoints + description: Update endpoints. + tags: + - Endpoints + parameters: + - $ref: '#/components/parameters/region' + requestBody: + $ref: '#/components/requestBodies/updateEndpoints' + responses: + '202': + $ref: '#/components/responses/provisioningOrderUpdateEndpoint' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + delete: + summary: Delete Endpoints + operationId: deleteEndpoints + description: Delete emergency endpoints. + tags: + - Endpoints + parameters: + - $ref: '#/components/parameters/region' + requestBody: + $ref: '#/components/requestBodies/deleteEndpoints' + responses: + '202': + $ref: '#/components/responses/provisioningOrderDeleteEndpoint' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /endpoints/{endpointId}: + get: + summary: Get Endpoint + operationId: getEndpoint + description: Get an endpoint. + tags: + - Endpoints + parameters: + - $ref: '#/components/parameters/endpointId' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/getEndpoint' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + patch: + summary: Update Endpoint + operationId: updateEndpoint + description: Get an endpoint. + tags: + - Endpoints + requestBody: + $ref: '#/components/requestBodies/updateEndpoint' + parameters: + - $ref: '#/components/parameters/endpointId' + - $ref: '#/components/parameters/region' + responses: + '202': + $ref: '#/components/responses/provisioningOrderUpdateEndpoint' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + delete: + summary: Delete Endpoint + operationId: deleteEndpoint + description: Delete an endpoint. + tags: + - Endpoints + parameters: + - $ref: '#/components/parameters/endpointId' + - $ref: '#/components/parameters/region' + responses: + '202': + $ref: '#/components/responses/provisioningOrderDeleteEndpoint' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /addresses: + get: + summary: List Addresses + operationId: listAddresses + description: List all emergency addresses. + tags: + - Addresses + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/listAddresses' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + post: + summary: Add Address + operationId: addAddress + description: Provision emergency addresses. + tags: + - Addresses + parameters: + - $ref: '#/components/parameters/region' + requestBody: + $ref: '#/components/requestBodies/addAddress' + responses: + '201': + $ref: '#/components/responses/addAddressResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /addresses/{addressId}: + get: + summary: Get Address + operationId: getAddress + description: Get an emergency address. + tags: + - Addresses + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/getAddress' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + patch: + summary: Update Address + operationId: updateAddress + description: Update an emergency address. + tags: + - Addresses + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/region' + requestBody: + $ref: '#/components/requestBodies/updateAddress' + responses: + '200': + $ref: '#/components/responses/updateAddress' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + delete: + summary: Delete Address + operationId: deleteAddress + description: Delete an emergency address. + tags: + - Addresses + parameters: + - $ref: '#/components/parameters/addressId' + - $ref: '#/components/parameters/region' + responses: + '204': + $ref: '#/components/responses/noContentResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /notifications: + get: + summary: List Notifications + operationId: listNotifications + description: List all emergency notifications. + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + $ref: '#/components/responses/listNotifications' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + post: + summary: Add Notification + operationId: addNotification + description: Add emergency notification. + tags: + - Notifications + requestBody: + $ref: '#/components/requestBodies/addNotification' + responses: + '201': + $ref: '#/components/responses/addNotification' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /notifications/{notificationId}: + get: + summary: Get Notification + operationId: getNotification + description: Get an emergency notification. + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/notificationId' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + $ref: '#/components/responses/getNotification' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + patch: + summary: Update Notification + operationId: updateNotification + description: Update an emergency notification. + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/notificationId' + requestBody: + $ref: '#/components/requestBodies/updateNotification' + responses: + '200': + $ref: '#/components/responses/updateNotification' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + delete: + summary: Delete Notification + operationId: deleteNotification + description: Delete an emergency notification. + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/notificationId' + responses: + '204': + $ref: '#/components/responses/noContentResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /notificationGroups: + get: + summary: List Notification Groups + operationId: listNotificationsGroups + description: List emergency notification groups. + tags: + - Notification Groups + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + $ref: '#/components/responses/listNotificationGroups' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + post: + summary: Add Notification Group + operationId: addNotificationGroup + description: Add emergency notification group. + tags: + - Notification Groups + requestBody: + $ref: '#/components/requestBodies/addNotificationGroup' + responses: + '201': + $ref: '#/components/responses/addNotificationGroup' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /notificationGroups/{groupId}: + get: + summary: Get Notification Group + operationId: getNotificationGroup + description: Get emergency notification group. + tags: + - Notification Groups + parameters: + - $ref: '#/components/parameters/groupId' + responses: + '200': + $ref: '#/components/responses/getNotificationGroup' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + patch: + summary: Update Notification Group + operationId: updateNotificationGroup + description: Update emergency notification group. + tags: + - Notification Groups + parameters: + - $ref: '#/components/parameters/groupId' + requestBody: + $ref: '#/components/requestBodies/updateNotificationGroup' + responses: + '200': + $ref: '#/components/responses/updateNotificationGroup' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + delete: + summary: Delete Notification Group + operationId: deleteNotificationGroup + description: Delete emergency notification group. + tags: + - Notification Groups + parameters: + - $ref: '#/components/parameters/groupId' + responses: + '204': + $ref: '#/components/responses/noContentResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /orders: + get: + summary: List Orders + operationId: listOrders + description: List all emergency orders. + tags: + - Orders + parameters: + - $ref: '#/components/parameters/orderType' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/listOrders' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /orders/{orderId}/details: + get: + summary: Get Order Details + operationId: getOrderDetails + description: Get emergency order details. + tags: + - Orders + parameters: + - $ref: '#/components/parameters/orderId' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/listOrderDetails' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + /orders/{orderId}/history: + get: + summary: Get Order History + operationId: getOrderHistory + description: Get emergency order History. + tags: + - Orders + parameters: + - $ref: '#/components/parameters/orderId' + - $ref: '#/components/parameters/region' + responses: + '200': + $ref: '#/components/responses/listOrderHistory' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' +components: + schemas: + addEndpoints: + title: Add Endpoints + description: Add Endpoints. + type: object + properties: + endpoints: + type: array + items: + type: object + properties: + id: + type: string + example: home + phoneNumber: + type: string + example: '+16175551212' + pattern: >- + ^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ + name: + type: string + example: Bob + lang: + type: string + example: en + country: + type: string + example: US + addressId: + type: string + example: '7888993' + updateEndpoints: + title: Update Endpoints + description: Update Endpoints. + type: object + properties: + action: + $ref: '#/components/schemas/updateAction' + endpoints: + type: array + items: + type: object + properties: + id: + type: string + example: '1606772208758' + pattern: ^\S*$ + addressId: + type: string + example: '7888993' + pattern: ^\S*$ + deleteEndpoints: + title: Delete Endpoints + description: Delete Endpoints. + type: object + properties: + endpointIds: + type: array + items: + type: string + example: + - '1606772208758' + updateEndpoint: + title: Update Endpoint + description: Update Endpoint. + type: object + properties: + action: + $ref: '#/components/schemas/updateAction' + addressId: + type: string + example: '7888993' + addAddressRequest: + title: Add Address Request + description: Add Address Request. + type: object + properties: + id: + type: string + example: home_office + pattern: ^\S*$ + description: + type: string + example: Home office, downstairs + addressLine1: + type: string + example: 14111 NE 145th St + addressLine2: + type: string + example: Apt. 8 + city: + type: string + example: Woodinville + state: + type: string + example: WA + postalCode: + type: string + example: '98072' + country: + type: string + example: US + customerType: + $ref: '#/components/schemas/customerType' + service: + $ref: '#/components/schemas/service' + district: + type: string + example: '' + companyName: + type: string + example: '' + firstName: + type: string + example: '' + lastName: + type: string + example: '' + floor: + type: string + example: '' + title: + type: string + example: '' + county: + type: string + example: '' + std: + type: string + example: '' + description: Subscriber Trunk Dialing + buildingName: + type: string + example: '' + houseNumberLetter: + type: string + example: '' + telephoneBook: + type: string + example: '' + contactFirstName: + type: string + example: '' + contactLastName: + type: string + example: '' + contactPhoneNumber: + type: string + example: '' + province: + type: string + example: '' + buildingLocation: + type: string + example: '' + buildingType: + type: string + example: '' + flatNumber: + type: string + example: '' + flatNumberLetter: + type: string + example: '' + floorLetter: + type: string + example: '' + floorType: + type: string + example: '' + secondaryHouseNumber: + type: string + example: '' + secondaryHouseNumberLetter: + type: string + example: '' + secondaryStreetType: + type: string + example: '' + secondFlatNumber: + type: string + example: '' + secondFlatNumberLetter: + type: string + example: '' + streetSuffix: + type: string + example: '' + streetType: + type: string + example: '' + addressSupplement: + type: string + example: '' + birthDate: + type: string + example: '' + birthPlace: + type: string + example: '' + block: + type: string + example: '' + commune: + type: string + example: '' + description: Community name using local name/spelling + companyLegalName: + type: string + example: '' + companyNameAddition: + type: string + example: '' + companyNumber: + type: string + example: '' + companyType: + type: string + example: '' + contactLanguage: + type: string + example: '' + documentNumber: + type: string + example: '' + door: + type: string + example: '' + email: + type: string + example: '' + entrance: + type: string + example: '' + foreignCity: + type: string + example: '' + foreignCountry: + type: string + example: '' + foreignStreet: + type: string + example: '' + houseNumberAddition: + type: string + example: '' + idNumber: + type: string + example: '' + idType: + type: string + example: '' + inseeCode: + type: string + example: '' + description: >- + is a numerical indexing code used by the French National Institute + for Statistics and Economic Studies + language: + type: string + example: '' + latitude: + type: string + example: '' + listingLanguage: + type: string + example: '' + longitude: + type: string + example: '' + middleName: + type: string + example: '' + municipality: + type: string + example: '' + municipalityCode: + type: string + example: '' + naceCode: + type: string + example: '' + description: Standard European nomenclature of productive economic activities + officialMunicipalityKey: + type: string + example: '' + poBox: + type: string + example: '' + postalDesignation: + type: string + example: '' + prepaidPhonecard: + type: boolean + example: false + description: Is the TN for a a prepaid phonecard? + profession: + type: string + example: '' + ruianAddressCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianBuildingCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianRegionCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianResidenceUnitCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianStreetCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianTownCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + secondLastName: + type: string + example: '' + siretNumber: + type: string + example: '' + description: >- + a 14-digit identifier that includes the SIREN number and an + additional five-digit number that represents the specific location + or establishment of the business + socialSecurityNumber: + type: string + example: '' + streetCode: + type: string + example: '' + taxNumber: + type: string + example: '' + taxOffice: + type: string + example: '' + tranditionalName: + type: string + example: '' + vatNumber: + type: string + example: '' + description: Value Added Tax ID Number + friendlyName: + type: string + example: '' + updateAddressRequest: + title: Update Address Request + description: Update Address Request. + type: object + properties: + addressLine1: + type: string + example: 14024 NE 181st St + description: + type: string + example: Home office, upstairs + notificationsRequest: + title: notifications Request + description: notifications Request. + type: object + properties: + id: + type: string + example: Notification1 + pattern: ^\S*$ + type: + $ref: '#/components/schemas/notificationType' + recipient: + type: string + example: test1@bandwidth.com + password: + type: string + example: '' + username: + type: string + example: '' + updateNotification: + title: notifications Request + description: notifications Request. + type: object + properties: + type: + $ref: '#/components/schemas/notificationType' + recipient: + type: string + example: test1@bandwidth.com + password: + type: string + example: '' + username: + type: string + example: '' + notificationGroupRequest: + title: Notification Groups Request + description: Notification Groups Request. + type: object + properties: + id: + type: string + example: NotificationGroup1 + pattern: ^\S*$ + description: + type: string + example: Notification Group 1 + endpoints: + type: array + items: + type: string + example: + - '48658456485' + notifications: + type: array + items: + type: string + example: + - '85485345848' + updateNotificationGroup: + title: Notification Groups Update Request + description: Notification Groups Update Request. + type: object + properties: + description: + type: string + example: Update Group No. 1 + notificationIdsToAdd: + type: array + items: + type: string + example: + - '85485345848' + notificationIdsToDelete: + type: array + items: + type: string + example: + - '85485342348' + provisioningOrderAddEndpoint: + title: Provisioning Order + description: Provisioning Order. + type: object + properties: + orderId: + type: string + format: uuid + example: 08e0be9a-52fd-45a0-be2e-86835c534aad + updatedBy: + type: string + example: joe@crabshack.com + orderType: + $ref: '#/components/schemas/orderTypeAdd' + orderStatus: + $ref: '#/components/schemas/orderStatus' + acceptedCount: + type: integer + minimum: 0 + example: 1 + invalidCount: + type: integer + minimum: 0 + example: 0 + updated: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + totalNumber: + type: integer + minimum: 0 + example: 1 + provisioningOrderDeleteEndpoint: + title: Provisioning Order + description: Provisioning Order. + type: object + properties: + orderId: + type: string + format: uuid + example: 08e0be9a-52fd-45a0-be2e-86835c534aad + updatedBy: + type: string + example: joe@crabshack.com + orderType: + $ref: '#/components/schemas/orderTypeDelete' + orderStatus: + $ref: '#/components/schemas/orderStatus' + acceptedCount: + type: integer + minimum: 0 + example: 1 + invalidCount: + type: integer + minimum: 0 + example: 0 + updated: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + totalNumber: + type: integer + minimum: 0 + example: 1 + provisioningOrderUpdateEndpoint: + title: Provisioning Order + description: Provisioning Order. + type: object + properties: + orderId: + type: string + format: uuid + example: 08e0be9a-52fd-45a0-be2e-86835c534aad + updatedBy: + type: string + example: joe@crabshack.com + orderType: + $ref: '#/components/schemas/orderTypeUpdate' + orderStatus: + $ref: '#/components/schemas/orderStatus' + acceptedCount: + type: integer + minimum: 0 + example: 1 + invalidCount: + type: integer + minimum: 0 + example: 0 + updated: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + totalNumber: + type: integer + minimum: 0 + example: 1 + listEndpoints: + title: List Endpoints + description: List Endpoints. + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + nullable: true + endpoints: + type: array + items: + type: object + properties: + id: + type: string + example: Joe's_Home_tn + accountId: + type: string + example: '5001232' + phoneNumber: + type: string + example: '+13035554321' + pattern: >- + ^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ + name: + type: string + example: Joe's Home + lang: + type: string + example: fr + created: + type: string + example: '2016-06-22T16:33:21.959Z' + format: date-time + updated: + type: string + example: '2016-06-22T16:33:21.959Z' + format: date-time + country: + type: string + example: US + addressId: + type: string + example: '7888993' + endpointResponse: + title: Get Endpoint + description: Get an endpoint. + type: object + properties: + id: + type: string + example: '283746343284623684' + accountId: + type: string + example: '5001232' + phoneNumber: + type: string + example: '+13035554321' + pattern: ^(\+\d{1,2}\s?)?1?\-?\.?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ + name: + type: string + example: Joe's Home + lang: + type: string + example: fr + created: + type: string + example: '2016-06-22T16:33:21.959Z' + format: date-time + updated: + type: string + example: '2016-06-22T16:33:21.959Z' + format: date-time + country: + type: string + example: US + addressId: + type: string + example: '7888993' + listAddresses: + title: List Addresses + description: List Addresses. + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + nullable: true + example: + - href: /relative/uri + rel: RelatedResource + method: GET + addresses: + type: array + items: + type: object + properties: + id: + type: string + example: '7888993' + pattern: ^\S*$ + validationStatus: + $ref: '#/components/schemas/validationStatus' + address: + type: string + example: 4916 NE 145th St + houseNumber: + type: string + example: '14111' + predirectional: + type: string + example: NE + postdirectional: + type: string + example: '' + streetName: + type: string + example: 145th + streetSuffix: + type: string + example: ST + city: + type: string + example: Woodinville + state: + type: string + example: WA + postalCode: + type: string + example: '98072' + country: + type: string + example: US + description: + type: string + example: Home office, downstairs + latitude: + type: number + example: 47.732682 + longitude: + type: number + example: -122.155174 + created: + type: string + format: date-time + example: '2015-03-11T04:09:25.399Z' + updated: + type: string + format: date-time + example: '2016-03-11T04:09:25.399Z' + addressResponse: + title: Address Response + description: Address Response. + type: object + properties: + id: + type: string + example: homeoffice + pattern: ^\S*$ + description: Unique identifier for an address + validationStatus: + $ref: '#/components/schemas/validationStatus' + address: + type: string + example: 14024 NE 181st St + description: The full address + houseNumber: + type: string + example: '14024' + predirectional: + type: string + example: NE + description: >- + A word preceding the street name that indicates the directional + taken by the thoroughfare + postdirectional: + type: string + example: '' + description: >- + A word following the street name that indicates the directional + taken by the thoroughfare from an arbitrary strating point, or the + sector where it is located + streetName: + type: string + example: 181st + streetSuffix: + type: string + example: ST + city: + type: string + example: Woodinville + state: + type: string + example: WA + postalCode: + type: string + example: '98072' + country: + type: string + example: US + description: + type: string + example: Home office, upstairs + latitude: + type: number + example: 47.732682 + longitude: + type: number + example: -122.155174 + created: + type: string + format: date-time + example: '2015-03-11T04:09:25.399Z' + description: when was created + updated: + type: string + format: date-time + example: '2016-03-11T04:09:25.399Z' + description: when was updated last + customerType: + $ref: '#/components/schemas/customerType' + service: + $ref: '#/components/schemas/service' + district: + type: string + example: '' + companyName: + type: string + example: '' + firstName: + type: string + example: '' + lastName: + type: string + example: '' + floor: + type: string + example: '' + title: + type: string + example: '' + county: + type: string + example: '' + std: + type: string + example: '' + description: Subscriber Trunk Dialing + buildingName: + type: string + example: '' + houseNumberLetter: + type: string + example: '' + telephoneBook: + type: string + example: '' + contactFirstName: + type: string + example: '' + contactLastName: + type: string + example: '' + contactPhoneNumber: + type: string + example: '' + province: + type: string + example: '' + buildingLocation: + type: string + example: '' + buildingType: + type: string + example: '' + flatNumber: + type: string + example: '' + flatNumberLetter: + type: string + example: '' + floorLetter: + type: string + example: '' + floorType: + type: string + example: '' + secondaryHouseNumber: + type: string + example: '' + secondaryHouseNumberLetter: + type: string + example: '' + secondaryStreetType: + type: string + example: '' + secondFlatNumber: + type: string + example: '' + secondFlatNumberLetter: + type: string + example: '' + streetType: + type: string + example: '' + addressSupplement: + type: string + example: '' + birthDate: + type: string + example: '' + birthPlace: + type: string + example: '' + block: + type: string + example: '' + commune: + type: string + example: '' + description: Community name using local name/spelling + companyLegalName: + type: string + example: '' + companyNameAddition: + type: string + example: '' + companyNumber: + type: string + example: '' + companyType: + type: string + example: '' + contactLanguage: + type: string + example: '' + documentNumber: + type: string + example: '' + door: + type: string + example: '' + email: + type: string + example: '' + entrance: + type: string + example: '' + foreignCity: + type: string + example: '' + foreignCountry: + type: string + example: '' + foreignStreet: + type: string + example: '' + houseNumberAddition: + type: string + example: '' + idNumber: + type: string + example: '' + idType: + type: string + example: '' + inseeCode: + type: string + example: '' + description: >- + is a numerical indexing code used by the French National Institute + for Statistics and Economic Studies + language: + type: string + example: '' + listingLanguage: + type: string + example: '' + middleName: + type: string + example: '' + municipality: + type: string + example: '' + municipalityCode: + type: string + example: '' + naceCode: + type: string + example: '' + description: Standard European nomenclature of productive economic activities + officialMunicipalityKey: + type: string + example: '' + poBox: + type: string + example: '' + postalDesignation: + type: string + example: '' + prepaidPhonecard: + type: boolean + example: false + description: Is the TN for a a prepaid phonecard? + profession: + type: string + example: '' + ruianAddressCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianBuildingCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianRegionCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianResidenceUnitCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianStreetCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + ruianTownCode: + type: string + example: '' + description: RUIAN address format for Czech Republic + secondLastName: + type: string + example: '' + siretNumber: + type: string + example: '' + description: >- + a 14-digit identifier that includes the SIREN number and an + additional five-digit number that represents the specific location + or establishment of the business + socialSecurityNumber: + type: string + example: '' + streetCode: + type: string + example: '' + taxNumber: + type: string + example: '' + taxOffice: + type: string + example: '' + tranditionalName: + type: string + example: '' + vatNumber: + type: string + example: '' + description: Value Added Tax ID Number + friendlyName: + type: string + example: '' + uicBillingNumber: + type: string + example: '' + listNotifications: + title: List Notifications + description: List Notifications. + type: object + properties: + notifications: + type: array + items: + type: object + properties: + id: + type: string + example: '134314' + pattern: ^\S*$ + accountId: + type: string + example: '6454565654' + activated: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + created: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + description: + type: string + example: Notification 1 + groupCount: + type: integer + minimum: 0 + example: 1 + username: + type: string + example: joejoe + recipient: + type: string + example: joe@c.com + type: + $ref: '#/components/schemas/notificationType' + updated: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + updatedBy: + type: string + example: joe22 + notificationResponse: + title: Notification Response + description: Notification Response. + type: object + properties: + id: + type: string + example: '343434' + pattern: ^\S*$ + accountId: + type: string + example: '4545454' + activated: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + created: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + description: + type: string + example: Notification 2 + username: + type: string + example: '' + recipient: + type: string + example: joe@f.com + type: + $ref: '#/components/schemas/notificationType' + updated: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + updatedBy: + type: string + example: username 1 + getNotification: + title: Get Notification + description: Get Notification. + type: object + properties: + id: + type: string + example: '343434' + pattern: ^\S*$ + accountId: + type: string + example: '566565' + activated: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + created: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + description: + type: string + example: Notification 3 + username: + type: string + example: d + recipient: + type: string + example: recipient@email.com + type: + $ref: '#/components/schemas/notificationType' + updated: + type: string + format: date-time + example: '2023-01-22T08:15:20.814Z' + updatedBy: + type: string + example: joe33 + listNotificationGroups: + title: Get Notification Groups + description: Get Notification Groups. + type: object + properties: + notificationGroups: + type: array + items: + type: object + properties: + id: + type: string + example: '4334343' + pattern: ^\S*$ + accountId: + type: string + example: '34343434' + created: + type: string + format: date-time + example: '2023-01-22T09:33:36.208Z' + description: + type: string + example: Notification Group 1 + endpointCount: + type: integer + minimum: 0 + example: 0 + endpointIds: + type: array + items: + type: string + example: + - '793629347' + - '793629324' + notificationIds: + type: array + items: + type: string + example: + - '34343434' + updated: + type: string + format: date-time + example: '2023-01-22T09:33:36.208Z' + updatedBy: + type: string + example: Joe + notificationGroups: + title: Notification Group + description: Notification Group. + type: object + properties: + id: + type: string + example: '343434' + pattern: ^\S*$ + accountId: + type: string + example: '3434343' + created: + type: string + format: date-time + example: '2023-01-22T10:12:17.506Z' + description: + type: string + example: Notification Group 3 + endpointCount: + type: integer + example: 1 + endpointIds: + type: array + items: + type: string + example: + - '2243432443' + notificationIds: + type: array + items: + type: string + example: + - '2243432443' + updated: + type: string + format: date-time + example: '2023-01-22T10:12:17.506Z' + updatedBy: + type: string + example: JJ + listOrders: + title: Get Orders + description: Get Orders. + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + nullable: true + orders: + type: array + items: + type: object + properties: + id: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174003 + pattern: ^\S*$ + type: + $ref: '#/components/schemas/orderTypeAdd' + status: + $ref: '#/components/schemas/orderStatus' + acceptedCount: + type: integer + minimum: 0 + example: 1 + invalidCount: + type: integer + minimum: 0 + example: 0 + updated: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + totalNumber: + type: integer + minimum: 0 + example: 1 + listOrderDetails: + title: List Order Details + description: List Order Details. + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + nullable: true + id: + type: string + format: uuid + example: 08e0be9a-52fd-45a0-be2e-86835c534aad + pattern: ^\S*$ + type: + $ref: '#/components/schemas/orderTypeAdd' + status: + $ref: '#/components/schemas/orderStatus' + acceptedCount: + type: integer + minimum: 0 + example: 1 + invalidCount: + type: integer + example: 0 + updated: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + totalNumber: + type: integer + minimum: 0 + example: 1 + endpoints: + type: array + items: + type: object + properties: + id: + type: string + example: '4525324234324' + pattern: ^\S*$ + updatedBy: + type: string + example: JJ + status: + $ref: '#/components/schemas/endpointStatus' + error: + type: string + example: A reason + errorCode: + type: string + example: XXX + listOrderHistory: + title: List Order History + description: List Order History. + type: object + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + nullable: true + id: + type: string + format: uuid + example: 08e0be9a-52fd-45a0-be2e-86845c534aad + pattern: ^\S*$ + type: + $ref: '#/components/schemas/orderTypeUpdate' + status: + $ref: '#/components/schemas/orderStatus' + created: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + orderHistory: + type: array + items: + type: object + properties: + status: + $ref: '#/components/schemas/orderStatus' + updated: + type: string + format: date-time + example: '2022-05-18T08:57:04Z' + updatedBy: + type: string + example: JJ + note: + type: string + example: message + genericError: + title: Generic Error + type: object + properties: + errors: + type: array + items: + $ref: '#/components/schemas/error' + nullable: true + required: + - errors + links: + title: Links + type: object + properties: + href: + type: string + description: URI of the link. + example: /relative/uri + rel: + type: string + description: Specifies the relationship between this link and the resource. + example: RelatedResource + method: + type: string + description: HTTP method to be used. + example: GET + error: + title: Error + type: object + properties: + id: + type: string + description: A unique identifier for this particular instance of this problem. + example: optional-error-id + pattern: ^\S*$ + type: + type: string + description: >- + A short, human-readable summary of the problem that SHOULD NOT + change from occurrence to occurrence of the problem. + example: REQUEST_ERROR + description: + type: string + description: >- + A human-readable explanation that SHOULD be specific to this + occurrence of the problem. + example: There was an issue with a field in your request body + code: + type: integer + format: int32 + description: >- + An application-specific error code for services with extensive error + scenarios to supplement `description`. + minimum: 4 + example: 51130 + source: + $ref: '#/components/schemas/errorSource' + meta: + $ref: '#/components/schemas/errorMeta' + required: + - description + errorSource: + title: Error Source + type: object + properties: + parameter: + type: string + description: A string indicating which URI query parameter caused the error. + example: someParameter + field: + type: string + description: A string indicating which request body field caused the error. + example: someField + header: + type: string + description: A string indicating which header field caused the error. + example: someHeader + reference: + type: string + description: >- + A string that references a resource ID or path to the resource (or + non-existent resource) causing the error. + example: /some/reference + errorMeta: + title: Error Meta + type: object + properties: + message: + type: string + example: An optional metadata field + service: + type: string + enum: + - ES + - DS + - ESDS + example: ES + description: Emergency services, directory services, or both + customerType: + type: string + enum: + - RES + - BUS + example: BUS + description: Residential or Business + updateAction: + type: string + enum: + - PROVISION + - UNPROVISION + example: PROVISION + notificationType: + type: string + enum: + - HTTP + - SMS + - EMAIL + - VOICE + example: EMAIL + orderTypeAdd: + type: string + enum: + - ADD_ENDPOINTS + - UPDATE_ENDPOINTS + - DELETE_ENDPOINTS + example: ADD_ENDPOINTS + orderTypeUpdate: + type: string + enum: + - ADD_ENDPOINTS + - UPDATE_ENDPOINTS + - DELETE_ENDPOINTS + example: UPDATE_ENDPOINTS + orderTypeDelete: + type: string + enum: + - ADD_ENDPOINTS + - UPDATE_ENDPOINTS + - DELETE_ENDPOINTS + example: DELETE_ENDPOINTS + orderStatus: + type: string + enum: + - RECEIVED + - PROCESSING + - COMPLETED + - PARTIAL + - FAILED + example: COMPLETED + validationStatus: + type: string + enum: + - VALID + - INVALID + - UNVALIDATED + example: INVALID + description: Address is valid and represents a location + endpointStatus: + type: string + enum: + - INPROGRESS + - SUCCESS + - ERROR + example: INPROGRESS + region: + type: string + enum: + - NA + - ROW + example: NA + requestBodies: + addEndpoints: + content: + application/json: + schema: + $ref: '#/components/schemas/addEndpoints' + description: Provision new endpoints and link them to an address using address id. + updateEndpoints: + content: + application/json: + schema: + $ref: '#/components/schemas/updateEndpoints' + description: >- + Update endpoints context, associate (PROVISION) or dissociate + (UNPROVISION) address using an address id. + updateEndpoint: + content: + application/json: + schema: + $ref: '#/components/schemas/updateEndpoint' + description: >- + Update endpoint context, associate (PROVISION) or dissociate + (UNPROVISION) address using an address id. + deleteEndpoints: + content: + application/json: + schema: + $ref: '#/components/schemas/deleteEndpoints' + description: Delete endpoints. + addAddress: + content: + application/json: + schema: + $ref: '#/components/schemas/addAddressRequest' + examples: + usaAddAddressRequest: + $ref: '#/components/examples/usaAddAddressRequest' + gbrAddAddressRequest: + $ref: '#/components/examples/gbrAddAddressRequest' + description: Add addresses, pick an id or leave id out to autogenerate one. + updateAddress: + content: + application/json: + schema: + $ref: '#/components/schemas/updateAddressRequest' + addNotification: + content: + application/json: + schema: + $ref: '#/components/schemas/notificationsRequest' + updateNotification: + content: + application/json: + schema: + $ref: '#/components/schemas/updateNotification' + addNotificationGroup: + content: + application/json: + schema: + $ref: '#/components/schemas/notificationGroupRequest' + updateNotificationGroup: + content: + application/json: + schema: + $ref: '#/components/schemas/updateNotificationGroup' + responses: + provisioningOrderAddEndpoint: + description: Accepted. + content: + application/json: + schema: + $ref: '#/components/schemas/provisioningOrderAddEndpoint' + provisioningOrderUpdateEndpoint: + description: Accepted. + content: + application/json: + schema: + $ref: '#/components/schemas/provisioningOrderUpdateEndpoint' + provisioningOrderDeleteEndpoint: + description: Accepted. + content: + application/json: + schema: + $ref: '#/components/schemas/provisioningOrderDeleteEndpoint' + listEndpoints: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listEndpoints' + examples: + listEndpoints: + $ref: '#/components/examples/listEndpoints' + getEndpoint: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/endpointResponse' + listAddresses: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listAddresses' + examples: + listAddresses: + $ref: '#/components/examples/listAddresses' + addAddressResponse: + description: Created. + content: + application/json: + schema: + $ref: '#/components/schemas/addressResponse' + examples: + usaAddressResponse: + $ref: '#/components/examples/usaAddressResponse' + gbrAddressResponse: + $ref: '#/components/examples/gbrAddressResponse' + getAddress: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/addressResponse' + examples: + usaAddressResponse: + $ref: '#/components/examples/usaAddressResponse' + gbrAddressResponse: + $ref: '#/components/examples/gbrAddressResponse' + noContentResponse: + description: No Content. + updateAddress: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/addressResponse' + examples: + usaAddressResponse: + $ref: '#/components/examples/usaAddressResponse' + gbrAddressResponse: + $ref: '#/components/examples/gbrAddressResponse' + listNotifications: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listNotifications' + addNotification: + description: Created. + content: + application/json: + schema: + $ref: '#/components/schemas/notificationResponse' + getNotification: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/getNotification' + updateNotification: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/notificationResponse' + listNotificationGroups: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listNotificationGroups' + getNotificationGroup: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/notificationGroups' + addNotificationGroup: + description: Created. + content: + application/json: + schema: + $ref: '#/components/schemas/notificationGroups' + updateNotificationGroup: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/notificationGroups' + listOrders: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listOrders' + examples: + listOrders: + $ref: '#/components/examples/listOrders' + listOrderDetails: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listOrderDetails' + examples: + listOrderDetails: + $ref: '#/components/examples/listOrderDetails' + listOrderHistory: + description: OK. + content: + application/json: + schema: + $ref: '#/components/schemas/listOrderHistory' + examples: + listOrderHistory: + $ref: '#/components/examples/listOrderHistory' + badRequestError: + description: Bad Request. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + badRequestErrorExample: + $ref: '#/components/examples/badRequestErrorExample' + notFoundError: + description: Not Found. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + notFoundErrorExample: + $ref: '#/components/examples/notFoundErrorExample' + notAllowedError: + description: Method Not Allowed. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + notAllowedErrorExample: + $ref: '#/components/examples/notAllowedErrorExample' + tooManyRequestsError: + description: Too Many Requests. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/tooManyRequestsErrorExample' + internalServerError: + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + internalServerErrorExample: + $ref: '#/components/examples/internalServerErrorExample' + forbiddenError: + description: Forbidden. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + forbiddenErrorExample: + $ref: '#/components/examples/forbiddenErrorExample' + unauthorizedError: + description: Unauthorized. + content: + application/json: + schema: + $ref: '#/components/schemas/genericError' + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/unauthorizedErrorExample' + parameters: + endpointId: + name: endpointId + in: path + required: true + schema: + type: string + description: String that identifies an endpoint. + addressIdQuery: + name: addressId + in: query + required: false + schema: + type: string + description: Unique ID for an address. + limit: + name: limit + in: query + required: false + schema: + type: string + description: Limit the number of returned record. + orderId: + name: orderId + in: path + required: true + schema: + type: string + description: UUID for orders. + notificationId: + name: notificationId + in: path + required: true + schema: + type: string + description: Unique emergency notification ID. + groupId: + name: groupId + in: path + required: true + schema: + type: integer + description: Unique emergency notification group ID. + orderType: + name: orderType + in: query + required: false + schema: + $ref: '#/components/schemas/orderTypeAdd' + description: Emergency order type filter. + addressId: + name: addressId + in: path + required: true + schema: + type: string + description: Address Id. + offset: + name: offset + in: query + description: Position in the dataset of a particular record to start the response. + schema: + type: integer + example: 100 + region: + name: region + in: query + required: false + schema: + $ref: '#/components/schemas/region' + description: List resources filtered by region + examples: + listEndpoints: + summary: Get Endpoints + value: + links: + - href: /endpoints + rel: self + method: GET + - href: /endpoints + rel: first + method: GET + - href: /endpoints?offset=99000&limit=1000 + rel: last + method: GET + - href: '' + rel: prev + method: GET + - href: /endpoints?offset=1000&limit=1000 + rel: next + method: GET + endpoints: + - id: '82734632846238746' + accountId: '5001232' + phoneNumber: '+13035554321' + name: Joe's Home + lang: fr + created: '2016-06-22T16:33:21.959Z' + updated: '2016-06-22T16:33:21.959Z' + country: US + addressId: '7888993' + - id: JDF9223kslemm23432 + accountId: '5001232' + phoneNumber: '+13035554322' + name: Joe's Office + lang: en + created: '2015-03-11T04:09:25.399Z' + updated: '2016-06-22T16:33:27.980Z' + country: US + addressId: cafoffice + listAddresses: + summary: List Addresses + value: + links: + - href: /addresses + rel: self + method: GET + - href: /addresses + rel: first + method: GET + - href: /addresses?offset=99000&limit=1000 + rel: last + method: GET + - href: '' + rel: prev + method: GET + - href: /addresses?offset=1000&limit=1000 + rel: next + method: GET + addresses: + - id: '7888993' + validationStatus: VALID + address: 4916 NE 145th St + houseNumber: '4916' + predirectional: NE + postdirectional: '' + streetName: 145th + streetSuffix: ST + city: Woodinville + state: WA + postalCode: '98072' + country: US + description: Home office, downstairs + latitude: 47.732682 + longitude: -122.155174 + created: '2015-03-11T04:09:25.399Z' + updated: '2016-06-22T16:33:27.980Z' + - id: cafoffice + validationStatus: INVALID + address: 4916 S Angeline St + houseNumber: '4916' + predirectional: S + postdirectional: '' + streetName: Angeline + streetSuffix: ST + city: Seattle + state: WA + postalCode: '98118' + country: US + description: Office by cafeteria + latitude: 47.560154 + longitude: -122.271105 + created: '2015-03-11T04:09:28.819Z' + updated: '2016-06-22T16:33:27.980Z' + usaAddAddressRequest: + summary: Add a US Address + value: + id: home_office + description: Home office, downstairs + addressLine1: 14111 NE 145th St + addressLine2: Apt. 8 + city: Woodinville + state: WA + postalCode: '98072' + country: US + gbrAddAddressRequest: + summary: Add a GBR Address + value: + id: london_office + friendlyName: London office + companyName: Jones + service: ES + customerType: BUS + addressLine1: 102-104 Albert Street + city: London + postalCode: NW1 7NE + country: BGR + usaAddressResponse: + summary: USA Address Response + value: + id: homeoffice + validationStatus: INVALID + address: 14024 NE 181st St + houseNumber: '14024' + predirectional: NE + postdirectional: '' + streetName: 181st + streetSuffix: ST + city: Woodinville + state: WA + postalCode: '98072' + country: US + description: Home office, upstairs + latitude: 47.732682 + longitude: -122.155174 + created: '2015-03-11T04:09:25.399Z' + updated: '2016-03-11T04:09:25.399Z' + gbrAddressResponse: + summary: GBR Address Response + value: + id: london_office_01 + validationStatus: UNVALIDATED + friendlyName: London office + customerType: BUS + service: ES + houseNumber: 102-104 + streetName: ALBERT STREET + streetType: STREET + city: LONDON + postalCode: NW1 7NE + country: GBR + created: '2023-09-26T17:37:10.432Z' + updated: '2023-09-26T17:37:10.432Z' + listOrders: + summary: Get Orders + value: + links: + - href: /orders + rel: self + method: GET + - href: /orders + rel: first + method: GET + - href: /orders?offset=99000&limit=1000 + rel: last + method: GET + - href: /orders + rel: prev + method: GET + - href: /orders?offset=1000&limit=1000 + rel: next + method: GET + orders: + - id: 08e0be9a-52fd-45a0-be2e-86825c534aad + type: ADD_ENDPOINTS + status: COMPLETED + acceptedCount: 1 + invalidCount: 0 + updated: '2022-05-18T08:57:04Z' + totalNumber: 1 + - id: 08e0be9a-52fd-45a0-be2e-96835c534aad + type: UPDATE_ENDPOINTS + status: COMPLETED + acceptedCount: 3 + invalidCount: 0 + updated: '2022-05-18T08:57:04Z' + totalNumber: 3 + listOrderDetails: + summary: List Order Details + value: + links: + - href: /orders/details/08e0be9a-52fd-45a0-be2e-86825c537aad + rel: self + method: GET + - href: /orders/details/08e0be9a-52fd-45a0-be2e-86825c537aad + rel: first + method: GET + - href: >- + /orders/details/08e0be9a-52fd-45a0-be2e-86825c537aad?offset=99000&limit=1000 + rel: last + method: GET + - href: /orders/details/08e0be9a-52fd-45a0-be2e-86825c537aad + rel: prev + method: GET + - href: >- + /orders/details/08e0be9a-52fd-45a0-be2e-86825c537aad?offset=1000&limit=1000 + rel: next + method: GET + id: 08e0be9a-52fd-45a0-be2e-86825c537aad + type: DELETE_ENDPOINTS + status: COMPLETED + acceptedCount: 1 + invalidCount: 0 + updated: '2022-05-18T08:57:04Z' + totalNumber: 1 + endpoints: + - id: '263946349349374' + updatedBy: JJ + status: INPROGRESS + error: A reason + errorCode: XXX + - id: '2945239843274934' + updatedBy: JJ + status: SUCCESS + error: A reason + errorCode: DDD + listOrderHistory: + summary: List Order History + value: + id: 08e0be9a-52fd-45a0-be2e-86825c734aad + type: ADD_ENDPOINTS + status: COMPLETED + created: '2022-01-18T08:57:04Z' + orderHistory: + - status: RECEIVED + updatedBy: JJ + updated: '2022-05-18T08:57:04Z' + note: message + - status: PROCESSING + updatedBy: JJ + updated: '2022-05-18T08:58:04Z' + note: message + - status: COMPLETED + updatedBy: JJ + updated: '2022-05-18T08:59:04Z' + note: message + badRequestErrorExample: + summary: An example of a generic Bad Request Error + value: + errors: + - id: optional-error-id + type: bad-request + description: There was an issue with your request. + code: 205617 + pattern: ^\S*$ + unauthorizedErrorExample: + summary: An example of a generic Unauthorized Error + value: + errors: + - id: optional-error-id + type: authentication-credentials + description: Invalid or missing credentials. + code: 206401 + pattern: ^\S*$ + forbiddenErrorExample: + summary: An example of a generic Unauthorized Error + value: + errors: + - id: optional-error-id + type: resource-permissions + description: User does not have permissions to access this resource. + code: 109107 + notFoundErrorExample: + summary: An example of a generic Not Found Error + value: + errors: + - id: optional-error-id + type: resource-not-found + description: The resource specified cannot be found. + code: 50420 + notAllowedErrorExample: + summary: An example of a generic Not Allowed Error + value: + errors: + - id: optional-error-id + type: http-method-not-supported + description: The HTTP method used is not supported by this resource. + code: 205621 + meta: + method: TRACE + tooManyRequestsErrorExample: + summary: An example of a generic Too Many Requests Error + value: + errors: + - id: optional-error-id + type: rate-limiting + description: >- + Rate limit exceeded. Wait for the time specified in the + 'Retry-After' header before sending another request. + code: 32002 + internalServerErrorExample: + summary: An example of a generic Internal Server Error + value: + errors: + - id: optional-error-id + type: internal-server-error + description: >- + Unexpected internal server error. Contact Bandwidth Customer + Support if this problem persists. + code: 32030 + securitySchemes: + Basic: + type: http + scheme: basic + description: >- + Basic authentication is a simple authentication scheme built into the + HTTP protocol. To use it, send your HTTP requests with an Authorization + header that contains the word Basic followed by a space and a + base64-encoded string `username:password`. + + Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==` + Token: + type: http + scheme: bearer + bearerFormat: JWT + ApiKey: + type: apiKey + in: header + name: apikey +security: + - Basic: [] + - Token: [] + - ApiKey: [] +tags: + - name: Endpoints + - name: Addresses + - name: Notifications + - name: Notification Groups + - name: Orders diff --git a/site/specs/messaging.yml b/site/specs/messaging.yml index de4129a53..eeea306fa 100644 --- a/site/specs/messaging.yml +++ b/site/specs/messaging.yml @@ -83,29 +83,36 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.messaging.models.Media; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MediaApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; import java.util.List; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .messagingBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + MediaApi apiInstance = new MediaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String continuationToken = "1XEi2tsFtLo1JbtLwETnM1ZJ+PqAa8w6ENvC5QKvwyrCDYII663Gy5M4s40owR1tjkuWUif6qbWvFtQJR5/ipqbUnfAqL254LKNlPy6tATCzioKSuHuOqgzloDkSwRtX0LtcL2otHS69hK343m+SjdL+vlj71tT39"; // String | Continuation token used to retrieve subsequent media. try { - CompletableFuture>> completableFuture = client.getMessagingClient().getAPIController().listMediaAsync(ACCOUNT_ID, null); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + List result = apiInstance.listMedia(accountId, continuationToken); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MediaApi#listMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -186,24 +193,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Messaging + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - messaging_basic_auth_user_name: "api-username", - messaging_basic_auth_password: "api-password" - ) - messaging_client = bandwidth_client.messaging_client.client + api_instance = Bandwidth::MediaApi.new + account_id = '12345' begin - media = messaging_client.list_media("12345") - media.data.each { |item| - puts item.media_name - } - rescue APIException => e - puts e.response_code + result = api_instance.list_media(account_id) + result.each do |item| + p item.media_name + end + rescue Bandwidth::ApiError => e + p "Error when calling MediaApi->list_media: #{e}" end /users/{accountId}/media/{mediaId}: get: @@ -276,30 +282,37 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MediaApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - import java.io.InputStream; + import java.io.File; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String mediaId = "media-id-123"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); - BandwidthClient client = new BandwidthClient.Builder() - .messagingBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + MediaApi apiInstance = new MediaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; // String | Media ID to retrieve. try { - CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().getMediaAsync(ACCOUNT_ID, mediaId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + File result = apiInstance.getMedia(accountId, mediaId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MediaApi#getMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -387,24 +400,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Messaging + require 'bandwidth-sdk' + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - messaging_basic_auth_user_name: "api-username", - messaging_basic_auth_password: "api-password" - ) - messaging_client = bandwidth_client.messaging_client.client + api_instance = Bandwidth::MediaApi.new + account_id = '12345' + media_id = '14762070468292kw2fuqty55yp2b2/0/bw.png' begin - downloaded_media = messaging_client.get_media("12345", ENV['MEDIA_ID']) - f = File.open("file_to_write", "wb") - f.puts(downloaded_media.data) - f.close() - rescue APIException => e - puts e.response_code + result = api_instance.get_media(account_id, media_id) + f = File.open('file_to_write', 'wb') + f.p(result) + f.close + rescue Bandwidth::ApiError => e + p "Error when calling MediaApi->get_media: #{e}" end put: summary: Upload Media @@ -498,32 +510,38 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.utilities.FileWrapper; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MediaApi; import java.io.File; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .messagingBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - String mediaId = "media-id-123"; - FileWrapper fileWrapper = new FileWrapper(new File("/path/to/file")); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + MediaApi apiInstance = new MediaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; // String | Media ID to retrieve. + File body = new File("/path/to/file"); // File | + String contentType = "audio/wav"; // String | The media type of the entity-body. + String cacheControl = "no-cache"; // String | General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain. try { - CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().uploadMediaAsync(ACCOUNT_ID, mediaId, fileWrapper, "content/type", "no-cache"); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.uploadMedia(accountId, mediaId, body, contentType, cacheControl); + } catch (ApiException e) { + System.err.println("Exception when calling MediaApi#uploadMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -646,31 +664,26 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Messaging + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - messaging_basic_auth_user_name: "api-username", - messaging_basic_auth_password: "api-password" - ) - messaging_client = bandwidth_client.messaging_client.client + api_instance = Bandwidth::MediaApi.new + account_id = '12345' + media_id = '14762070468292kw2fuqty55yp2b2/0/bw.png' + body = '12345' + opts = { + content_type: 'application/octet-stream', + cache_control: 'no-cache' + } begin - #f = File.open("some_file", "rb") - #file_content = f.read - file_content = "12345" - messaging_client.upload_media( - "12345", - ENV['MEDIA_ID'], - file_content, - :content_type => "application/octet-stream", - :cache_control => "no-cache" - ) - f.close() - rescue APIException => e - puts e.response_code + api_instance.upload_media(account_id, media_id, body, opts) + rescue Bandwidth::ApiError => e + p "Error when calling MediaApi->upload_media: #{e}" end delete: summary: Delete Media @@ -747,32 +760,36 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.messaging.models.BandwidthMessage; - import com.bandwidth.messaging.models.MessageRequest; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MediaApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - import java.util.Collections; + import java.io.File; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String mediaId = "media-id-123"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .messagingBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + MediaApi apiInstance = new MediaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; // String | Media ID to retrieve. try { - CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().deleteMediaAsync(ACCOUNT_ID, mediaId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + File result = apiInstance.getMedia(accountId, mediaId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MediaApi#getMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -856,21 +873,21 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Messaging + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - messaging_basic_auth_user_name: "api-username", - messaging_basic_auth_password: "api-password" - ) - messaging_client = bandwidth_client.messaging_client.client + api_instance = Bandwidth::MediaApi.new + account_id = '12345' + media_id = '14762070468292kw2fuqty55yp2b2/0/bw.png' begin - messaging_client.delete_media("12345", ENV['MEDIA_ID']) - rescue APIException => e - puts e.response_code + api_instance.delete_media(account_id, media_id) + rescue Bandwidth::ApiError => e + p "Error when calling MediaApi->delete_media: #{e}" end /users/{accountId}/messages: get: @@ -954,30 +971,48 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.messaging.models.BandwidthMessagesList; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MessagesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String bandwidthNumber = "+15554443333"; - - BandwidthClient client = new BandwidthClient.Builder() - .messagingBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + MessagesApi apiInstance = new MessagesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String messageId = "9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6"; // String | 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. + String sourceTn = "%2B15554443333"; // String | The phone number that sent the message. Accepted values are: a single full phone number a comma separated list of full phone numbers (maximum of 10) or a single partial phone number (minimum of 5 characters e.g. '%2B1919'). + String destinationTn = "%2B15554443333"; // String | The phone number that received the message. Accepted values are: a single full phone number a comma separated list of full phone numbers (maximum of 10) or a single partial phone number (minimum of 5 characters e.g. '%2B1919'). + MessageStatusEnum messageStatus = MessageStatusEnum.fromValue("RECEIVED"); // MessageStatusEnum | The status of the message. One of RECEIVED QUEUED SENDING SENT FAILED DELIVERED ACCEPTED UNDELIVERED. + ListMessageDirectionEnum messageDirection = ListMessageDirectionEnum.fromValue("INBOUND"); // ListMessageDirectionEnum | The direction of the message. One of INBOUND OUTBOUND. + String carrierName = "Verizon"; // String | The name of the carrier used for this message. Possible values include but are not limited to Verizon and TMobile. Special characters need to be encoded using URL encoding (i.e. AT&T should be passed as AT%26T). + MessageTypeEnum messageType = MessageTypeEnum.fromValue("sms"); // MessageTypeEnum | The type of message. Either sms or mms. + Integer errorCode = 9902; // Integer | The error code of the message. + String fromDateTime = "2022-09-14T18:20:16.000Z"; // String | The start of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days. + String toDateTime = "2022-09-14T18:20:16.000Z"; // String | The end of the date range to search in ISO 8601 format. Uses the message receive time. The date range to search in is currently 14 days. + String campaignId = "CJEUMDK"; // String | The campaign ID of the message. + String sort = "sourceTn:desc"; // String | The field and direction to sort by combined with a colon. Direction is either asc or desc. + String pageToken = "gdEewhcJLQRB5"; // String | A base64 encoded value used for pagination of results. + Integer limit = 50; // Integer | The maximum records requested in search result. Default 100. The sum of limit and after cannot be more than 10000. + Boolean limitTotalCount = true; // Boolean | When set to true, the response's totalCount field will have a maximum value of 10,000. When set to false, or excluded, this will give an accurate totalCount of all messages that match the provided filters. If you are experiencing latency, try using this parameter to limit your results. try { - CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().getMessagesAsync(ACCOUNT_ID, null, bandwidthNumber, null, null, null, null, null, null, null); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + MessagesList result = apiInstance.listMessages(accountId, messageId, sourceTn, destinationTn, messageStatus, messageDirection, carrierName, messageType, errorCode, fromDateTime, toDateTime, campaignId, sort, pageToken, limit, limitTotalCount); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MessagesApi#listMessages"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -1059,22 +1094,21 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Messaging + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - messaging_basic_auth_user_name: "api-username", - messaging_basic_auth_password: "api-password" - ) - messaging_client = bandwidth_client.messaging_client.client + api_instance = Bandwidth::MessagesApi.new + account_id = '12345' begin - result = messaging_client.get_messages("12345", :source_tn => "+15554443333") - puts result.data.total_count - rescue APIException => e - puts e.response_code + result = api_instance.list_messages(account_id) + p result.total_count + rescue Bandwidth::ApiError => e + p "Error when calling MessagesApi->list_messages: #{e}" end post: summary: Create Message @@ -1179,40 +1213,33 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.messaging.models.BandwidthMessage; - import com.bandwidth.messaging.models.MessageRequest; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - import java.util.Collections; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MessagesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String messagingApplicationId = "1234-asdf"; - String to = "+15553334444"; - String from = "+15554443333"; - - BandwidthClient client = new BandwidthClient.Builder() - .messagingBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - MessageRequest request = new MessageRequest(); - request.setApplicationId(messagingApplicationId); - request.setTo(Collections.singletonList(to)); - request.setFrom(from); - request.setText("Hello world"); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + MessagesApi apiInstance = new MessagesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + MessageRequest messageRequest = new MessageRequest(); // MessageRequest | try { - CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().createMessageAsync(ACCOUNT_ID, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + Message result = apiInstance.createMessage(accountId, messageRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MessagesApi#createMessage"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -1336,28 +1363,29 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Messaging + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - messaging_basic_auth_user_name: "api-username", - messaging_basic_auth_password: "api-password" + api_instance = Bandwidth::MessagesApi.new + account_id = '12345' + message_request = Bandwidth::MessageRequest.new( + { + application_id: '1234-asdf', + to: ['+15553334444'], + from: '+15554443333', + text: 'Hello world!' + } ) - messaging_client = bandwidth_client.messaging_client.client - body = MessageRequest.new - body.application_id = "1234-asdf" - body.to = ["+15553334444"] - body.from = "+15554443333" - body.text = 'Hey, check this out!' - body.tag = '{"test": "message"}' begin - result = messaging_client.create_message("12345", body) - puts 'messageId: ' + result.data.id - rescue APIException => e - puts e.response_code + result = api_instance.create_message(account_id, message_request) + p "messageId: #{result.id}" + rescue Bandwidth::ApiError => e + p "Error when calling MessagesApi->create_message: #{e}" end components: parameters: diff --git a/site/specs/multi-factor-auth.yml b/site/specs/multi-factor-auth.yml index 27cace8f2..05c8a662c 100644 --- a/site/specs/multi-factor-auth.yml +++ b/site/specs/multi-factor-auth.yml @@ -101,52 +101,35 @@ paths: } } - lang: Java - source: > - import com.bandwidth.BandwidthClient; - - import com.bandwidth.http.response.ApiResponse; - - import - com.bandwidth.multifactorauth.models.TwoFactorCodeRequestSchema; - - import com.bandwidth.multifactorauth.models.TwoFactorVoiceResponse; - - - import java.util.concurrent.CompletableFuture; - - import java.util.concurrent.ExecutionException; - + source: | + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MfaApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static final String APPLICATION_ID = "1234-qwer"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .multiFactorAuthBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - String to = "+15553334444"; - String from = "+15554443333"; - String scope = "sample"; - int digits = 6; - String message = "Your temporary {NAME} {SCOPE} code is {CODE}"; - - TwoFactorCodeRequestSchema request = new TwoFactorCodeRequestSchema(); - request.setApplicationId(APPLICATION_ID); - request.setTo(to); - request.setFrom(from); - request.setScope(scope); - request.setDigits(digits); - request.setMessage(message); + ApiClient defaultClient = Configuration.getDefaultApiClient(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + MfaApi apiInstance = new MfaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + CodeRequest codeRequest = new CodeRequest(); // CodeRequest | MFA code request body. try { - CompletableFuture> completableFuture = client.getMultiFactorAuthClient().getMFAController().createVoiceTwoFactorAsync(ACCOUNT_ID, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + VoiceCodeResponse result = apiInstance.generateVoiceCode(accountId, codeRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MfaApi#generateVoiceCode"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -291,29 +274,30 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::MultiFactorAuth + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - multi_factor_auth_basic_auth_user_name: "api-username", - multi_factor_auth_basic_auth_password: "api-password" + api_instance = Bandwidth::MFAApi.new + account_id = '12345' + code_request = Bandwidth::CodeRequest.new( + { + to: '+15553334444', + from: '+15554443333', + application_id: '1234-qwer', + message: 'Your temporary {NAME} {SCOPE} code is {CODE}', + digits: 6 + } ) - auth_client = bandwidth_client.multi_factor_auth_client.mfa - body = TwoFactorCodeRequestSchema.new - body.application_id = "1234-qwer" - body.to = "+15553334444" - body.from = "+15554443333" - body.digits = 6 - body.scope = "scope" - body.message = "Your temporary {NAME} {SCOPE} code is {CODE}" begin - result = auth_client.create_voice_two_factor("12345", body) - puts 'callId: ' + result.data.call_id - rescue APIException => e - puts e.response_code + result = api_instance.generate_voice_code(account_id, code_request) + p "callId: #{result.call_id}" + rescue Bandwidth::ApiError => e + p "Error when calling MFAApi->generate_voice_code: #{e}" end /accounts/{accountId}/code/messaging: post: @@ -401,53 +385,35 @@ paths: } } - lang: Java - source: > - import com.bandwidth.BandwidthClient; - - import com.bandwidth.http.response.ApiResponse; - - import - com.bandwidth.multifactorauth.models.TwoFactorCodeRequestSchema; - - import - com.bandwidth.multifactorauth.models.TwoFactorMessagingResponse; - - - import java.util.concurrent.CompletableFuture; - - import java.util.concurrent.ExecutionException; - + source: | + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MfaApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static final String APPLICATION_ID = "1234-asdf"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .multiFactorAuthBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - String to = "+15553334444"; - String from = "+15554443333"; - String scope = "sample"; - int digits = 6; - String message = "Your temporary {NAME} {SCOPE} code is {CODE}"; - - TwoFactorCodeRequestSchema request = new TwoFactorCodeRequestSchema(); - request.setApplicationId(APPLICATION_ID); - request.setTo(to); - request.setFrom(from); - request.setScope(scope); - request.setDigits(digits); - request.setMessage(message); + ApiClient defaultClient = Configuration.getDefaultApiClient(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + MfaApi apiInstance = new MfaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + CodeRequest codeRequest = new CodeRequest(); // CodeRequest | MFA code request body. try { - CompletableFuture> completableFuture = client.getMultiFactorAuthClient().getMFAController().createMessagingTwoFactorAsync(ACCOUNT_ID, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + MessagingCodeResponse result = apiInstance.generateMessagingCode(accountId, codeRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MfaApi#generateMessagingCode"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -591,29 +557,30 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::MultiFactorAuth + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - multi_factor_auth_basic_auth_user_name: "api-username", - multi_factor_auth_basic_auth_password: "api-password" + api_instance = Bandwidth::MFAApi.new + account_id = '12345' + code_request = Bandwidth::CodeRequest.new( + { + to: '+15553334444', + from: '+15554443333', + application_id: '1234-asdf', + message: 'Your temporary {NAME} {SCOPE} code is {CODE}', + digits: 6 + } ) - auth_client = bandwidth_client.multi_factor_auth_client.mfa - body = TwoFactorCodeRequestSchema.new - body.application_id = "1234-asdf" - body.to = "+15553334444" - body.from = "+15554443333" - body.digits = 6 - body.scope = "scope" - body.message = "Your temporary {NAME} {SCOPE} code is {CODE}" begin - result = auth_client.create_messaging_two_factor("12345", body) - puts 'messageId: ' + result.data.message_id - rescue APIException => e - puts e.response_code + result = api_instance.generate_messaging_code(account_id, code_request) + p "messageId: #{result.message_id}" + rescue Bandwidth::ApiError => e + p "Error when calling MFAApi->generate_messaging_code: #{e}" end /accounts/{accountId}/code/verify: post: @@ -699,51 +666,35 @@ paths: } } - lang: Java - source: > - import com.bandwidth.BandwidthClient; - - import com.bandwidth.http.response.ApiResponse; - - import - com.bandwidth.multifactorauth.models.TwoFactorVerifyCodeResponse; - - import - com.bandwidth.multifactorauth.models.TwoFactorVerifyRequestSchema; - - - import java.util.concurrent.CompletableFuture; - - import java.util.concurrent.ExecutionException; - + source: | + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.MfaApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static final String APPLICATION_ID = "1234-qwer"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .multiFactorAuthBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - String to = "+15553334444"; - String scope = "sample"; - String code = "159193"; - int expirationTimeInMinutes = 3; - - TwoFactorVerifyRequestSchema request = new TwoFactorVerifyRequestSchema(); - request.setApplicationId(APPLICATION_ID); - request.setTo(to); - request.setScope(scope); - request.setCode(code); - request.setExpirationTimeInMinutes(expirationTimeInMinutes); + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + MfaApi apiInstance = new MfaApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + VerifyCodeRequest verifyCodeRequest = new VerifyCodeRequest(); // VerifyCodeRequest | MFA code verify request body. try { - CompletableFuture> completableFuture = client.getMultiFactorAuthClient().getMFAController().createVerifyTwoFactorAsync(ACCOUNT_ID, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + VerifyCodeResponse result = apiInstance.verifyCode(accountId, verifyCodeRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MfaApi#verifyCode"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -906,28 +857,28 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::MultiFactorAuth + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - multi_factor_auth_basic_auth_user_name: "api-username", - multi_factor_auth_basic_auth_password: "api-password" + api_instance = Bandwidth::MFAApi.new + account_id = '12345' + verify_code_request = Bandwidth::VerifyCodeRequest.new( + { + to: '+15553334444', + expiration_time_in_minutes: 3, + code: '123456' + } ) - auth_client = bandwidth_client.multi_factor_auth_client.mfa - body = TwoFactorVerifyRequestSchema.new - body.application_id = "1234-qwer" - body.to = "+15553334444" - body.scope = "scope" - body.code = "123456" - body.expiration_time_in_minutes = 3 begin - result = auth_client.create_verify_two_factor("12345", body) - puts 'valid?: ' + result.data.valid - rescue APIException => e - puts e.response_code + result = api_instance.verify_code(account_id, verify_code_request) + p "valid?: #{result.valid}" + rescue Bandwidth::ApiError => e + p "Error when calling MFAApi->verify_code: #{e}" end components: schemas: diff --git a/site/specs/numbers.yml b/site/specs/numbers.yml index 6e8c45881..611700f55 100644 --- a/site/specs/numbers.yml +++ b/site/specs/numbers.yml @@ -1262,6 +1262,24 @@ components: name: sipPeerId schema: type: integer + SipPeerTnsPageQueryParam: + description: The number of the paged results to be displayed. + example: 4 + in: query + name: page + required: false + schema: + default: 1 + type: integer + SipPeerTnsSizeQueryParam: + description: The quantity of results displayed for each page. + example: 200 + in: query + name: size + required: false + schema: + default: 5000 + type: integer SiteIdPathParam: description: Site ID of the Sip Peer example: '407' @@ -2756,7 +2774,7 @@ components: AssociatedSipPeersResponse: $ref: '#/components/schemas/AssociatedSipPeersResponse' type: object - AutomatedTollFreeLnpOrderRequest: + AutomatedNANPTollFreeLnpOrderRequest: description: >- Indicates that the port-in contains toll-free numbers and that Toll-Free Automation is enabled. The numbers will be automatically validated and @@ -2767,7 +2785,25 @@ components: allOf: - $ref: '#/components/schemas/LnpOrderBasic' - $ref: '#/components/schemas/LnpOrderAutomatedTollFreeFields' - title: Automated Toll-Free + - properties: + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as “2013-05-10T15:14:22Z”, or + "2019-10-31T17:15:00+04:00".

      For all ports, if + `RequestedFocDate` is specified, the date portion must + be:
      - in the future
      - after the losing carrier's + minimum number of days to port-out
      - not on a weekend + or U.S. holiday

      If `RequestedFocDate` is not + specified, the next available FOC date meeting the criteria + above will be used. If the Time portion of the + `RequestedFocDate` is omitted the port-in order will be + activated at the default activation time of 11:30 AM ET. If + an activation time other than 11:30 AM ET is desired, that + activation time should be included in the + `RequestedFocDate`. + type: string + type: object + title: Automated NANP Toll-Free LNP Order Request type: object AvailableNpaNxx: properties: @@ -4156,6 +4192,17 @@ components: years. format: int64 type: integer + NumberFormat: + default: LEGACY + description: >- + Specifies whether numbers should be formatted in e164 format, or use + legacy formatting. If Legacy is chosen, numbers with country code + '+1' will be formatted as 10-digit and all other numbers will use + e164 formatting. Can be omitted and defaults to LEGACY. + enum: + - LEGACY + - E164 + type: string Status: type: string URL: @@ -7337,7 +7384,7 @@ components: delete: type: boolean type: object - InternalLnpOrderRequest: + InternalNANPLnpOrderRequest: properties: LnpOrder: allOf: @@ -7371,7 +7418,7 @@ components: $ref: '#/components/schemas/TnAttribute' type: array type: object - title: Internal + title: Internal NANP LNP Order Request type: object IrisStatus: properties: @@ -7682,6 +7729,20 @@ components: carrier. For wireline port-in, the BillingTelephoneNumber is typically the telephone number being ported in. type: string + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as “2013-05-10T15:14:22Z”, or + "2019-10-31T17:15:00+04:00".

      For all ports, if + `RequestedFocDate` is specified, the date portion must be:
      - in + the future
      - after the losing carrier's minimum number of days + to port-out
      - not on a weekend or U.S. holiday

      If + `RequestedFocDate` is not specified, the next available FOC date + meeting the criteria above will be used. If the Time portion of the + `RequestedFocDate` is omitted the port-in order will be activated at + the default activation time of 11:30 AM ET. If an activation time + other than 11:30 AM ET is desired, that activation time should be + included in the `RequestedFocDate`. + type: string Subscriber: oneOf: - $ref: '#/components/schemas/SubscriberBusiness' @@ -7987,6 +8048,22 @@ components: type: string type: object type: object + LnpOrderRequest: + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + - properties: + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as "2019-10-31".

      For + international ports, if `RequestedFocDate` is specified the + time portions will be ignored and the date portion must + be:
      - in the future
      - not on a weekend. + type: string + type: object + title: LNP Order Request (Other) + type: object LnpOrderResponse: properties: LnpOrderResponse: @@ -8739,6 +8816,25 @@ components: SkipAck: type: boolean type: object + ManualNANPTollFreeLnpOrderRequest: + description: >- + Manual indicates that the port-in will be processed manually by + Bandwidth’s Local Number Portability team. Currently all toll free + port-ins are handled manually by Bandwidth’s Local Number Portability + team. But Bandwidth is in the process of automating portions of toll + free porting, with a goal of eventually automating the entire process. + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + properties: + Subscriber: + allOf: + - $ref: '#/components/schemas/SubscriberBusiness' + type: object + type: object + title: Manual NANP Toll-Free LNP Order Request + type: object ManualPortOutRequest: properties: BulkPortOut: @@ -8766,25 +8862,6 @@ components: TelephoneNumberToPort: type: string type: object - ManualTollFreeLnpOrderRequest: - description: >- - Manual indicates that the port-in will be processed manually by - Bandwidth’s Local Number Portability team. Currently all toll free - port-ins are handled manually by Bandwidth’s Local Number Portability - team. But Bandwidth is in the process of automating portions of toll - free porting, with a goal of eventually automating the entire process. - properties: - LnpOrder: - allOf: - - $ref: '#/components/schemas/LnpOrderBasic' - properties: - Subscriber: - allOf: - - $ref: '#/components/schemas/SubscriberBusiness' - type: object - type: object - title: Manual Toll-Free - type: object ManuallyPortableTollFreeNumberList: properties: DisconnectedTollFreeNumberList: @@ -9383,15 +9460,15 @@ components: type: object title: Number Portability Response type: object - OffNetLnpOrderRequest: + OffNetNANPLnpOrderRequest: properties: LnpOrder: allOf: - $ref: '#/components/schemas/LnpOrderBasic' - $ref: '#/components/schemas/LnpOrderAdditionalFields' - title: Off-net + title: Off-net NANP LNP Order Request type: object - OnNetLnpOrderRequest: + OnNetNANPLnpOrderRequest: properties: LnpOrder: allOf: @@ -9428,7 +9505,7 @@ components: $ref: '#/components/schemas/TnAttribute' type: array type: object - title: On-net + title: On-net NANP LNP Order Request type: object OrderCreatedDate: description: Creation date of the order. @@ -15389,10 +15466,6 @@ info: Bandwidth's Account and Number Management API - For the previous documentation visit - [v2.dev.bandwidth.com](https://v2.dev.bandwidth.com/numbers/apiReference.html). - - ### Disclaimer @@ -25759,48 +25832,6 @@ paths: summary: List Import to Account orders tags: - Import Tn to Account - post: - description: > - Import a large number of previously ported or otherwise acquired numbers - into the account - operationId: CreateImportToAccountOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - content: - application/xml: - examples: - example: - value: "\n\n\t\n\t\t10D\n\t\t\n\t\t\t4158714244\n\t\t\t6105330709\n\t\t\n\t\tNOCHARGE\n\t\tAvailable\n\t\t\n\t\t\tProtected\n\t\t\n\t\tLevel 3\n\t\tTestId1234\n\t\t2\n\t\n\t1\n\t12345\n\t" - schema: - $ref: '#/components/schemas/ImportToAccountOrderRequest' - responses: - '201': - content: - application/xml: - examples: - example: - value: "\n\n\t\n\t\tc5986599-3a7c-4eed-a5c4-9121c17d54ab\n\t\t2014-04-01T21:54:18.796Z\n\t\t\n\t\t\tSJM00001\n\t\t\t2\n\t\t\tNOCHARGE\n\t\t\t10D\n\t\t\tAvailable\n\t\t\t\n\t\t\t\tProtected\n\t\t\t\n\t\t\t\n\t\t\t\t4158714245\n\t\t\t\t6105330710\n\t\t\t\n\t\t\tLevel 3\n\t\t\n\t\t743\n\t\t12345\n\t\n\t" - schema: - $ref: '#/components/schemas/ImportToAccountNumberOrderResponse' - description: >- - The order has been created and an order ID will be specified in the - payload and in the header. - '400': - content: - application/xml: - examples: - example: - value: "\n\n\t \n\t\t \n\t\t\t 7309\n\t\t\t The site id was not supplied or is invalid.\n\t\t \n\t\t \n\t\t\t 7312\n\t\t\t The sippeer id is invalid.\n\t\t \n\t \n " - schema: - $ref: '#/components/schemas/ImportToAccountNumberOrderErrorResponse' - description: >- - The order failed; one of the input parameters is invalid. The error - text and an error code will be provided in the ErrorList - element.

      - summary: Import to Account order - tags: - - Import Tn to Account /accounts/{accountId}/importToAccount/batches: get: description: >- @@ -29428,7 +29459,7 @@ paths: content: application/xml: examples: - Portins in FOC: + Portins containing NANP numbers: description: List of portin orders with FOC processing status value: |- @@ -29476,7 +29507,7 @@ paths: 979E019287CDF6A1 - RespOrg exception toll-free portin order: + RespOrg exception toll-free order containing NANP numbers: description: >- List containing a single RespOrg exception toll-free portin order @@ -29528,25 +29559,26 @@ paths: content: application/xml: examples: - Automated Toll-Free Port-in: + Automated NANP Toll-Free Port-in: value: "\n\n\tMy order id\n\t2021-06-16Z\n\t2439\n\t23432\n\tThe Authgal\n\tJYT01\n\t\n\t\t8774809871\n\t\n" - Regular Port-in: + On-net NANP Port-in: value: "\n\n\t2016-03-25T21:15:00.000Z\n\tX455\n\t9195551234\n\t9175131245\n\t SITE ID \n\t SIPPEER ID \n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\n\t\n\tThe Authguy\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t\n\t\t9194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n\tDRAFT\n" schema: oneOf: - - $ref: '#/components/schemas/OnNetLnpOrderRequest' - - $ref: '#/components/schemas/ManualTollFreeLnpOrderRequest' - - $ref: '#/components/schemas/AutomatedTollFreeLnpOrderRequest' - - $ref: '#/components/schemas/OffNetLnpOrderRequest' - - $ref: '#/components/schemas/InternalLnpOrderRequest' + - $ref: '#/components/schemas/OnNetNANPLnpOrderRequest' + - $ref: '#/components/schemas/OffNetNANPLnpOrderRequest' + - $ref: '#/components/schemas/InternalNANPLnpOrderRequest' + - $ref: '#/components/schemas/ManualNANPTollFreeLnpOrderRequest' + - $ref: '#/components/schemas/AutomatedNANPTollFreeLnpOrderRequest' + - $ref: '#/components/schemas/LnpOrderRequest' responses: '201': content: application/xml: examples: - Automated Toll-Free Order Response: + Automated NANP Toll-Free Port-in Order Response: value: "\n\n\t03f194d5-3932-4e9f-8ba1-03ef767985e5\n\t\n\t\t201\n\t\tOrder request received. Please use the order id to check the status of your order later.\n\t\n\tVALIDATE_TFNS\n\t2016-03-25T21:15:00.000Z\n\tThe Authguy\n\t\n\t\t8774809871\n\t\n\tPROCESSING\n\tPHASE_1_TOLLFREE\n\tJYT01\n" - Regular Order Response: + On-net NANP Port-in Order Response: value: "\n\n\t03f194d5-3932-4e9f-8ba1-03ef767985e5\n\t\n\t\t201\n\t\tOrder request received. Please use the order id to check the status of your order later.\n\t\n\tPENDING_DOCUMENTS\n\t2016-03-25T21:15:00.000Z\n\tThe Authguy\n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\tUnited States\n\t\t\n\t\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t9195551234\n\t9175131245\n\t SITE ID \n\t SIPPEER ID \n\t\n\t\t9194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n" schema: $ref: '#/components/schemas/LnpOrderResponse' @@ -38640,6 +38672,8 @@ paths: parameters: - $ref: '#/components/parameters/AccountIdPathParam' - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerTnsPageQueryParam' + - $ref: '#/components/parameters/SipPeerTnsSizeQueryParam' - description: ID of the Sip Peer to retrieve TNs information example: '500017' in: path @@ -39031,6 +39065,7 @@ paths: iris
      + LEGACY @@ -39053,6 +39088,7 @@ paths: iris
      + LEGACY @@ -39186,6 +39222,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + LEGACY eventEmailSubscription: @@ -39215,6 +39252,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + LEGACY orderEmailSubscription: @@ -39342,6 +39380,7 @@ paths: http://customer.com:8087/path/BandwidthHandler 4283455101 200 OK + LEGACY @@ -39373,6 +39412,7 @@ paths: http://customer.com:8087/path/BandwidthHandler 4283455101 200 OK + LEGACY @@ -39438,6 +39478,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + LEGACY eventEmailSubscription: @@ -39467,6 +39508,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + LEGACY orderEmailSubscription: diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 701f55faa..ddeb1a975 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -948,6 +948,68 @@ components: + badRequestErrorExample: + summary: An example of a generic Bad Request Error + value: + errors: + - code: 205617 + description: There was an issue with your request. + id: optional-error-id + type: bad-request + forbiddenErrorExample: + summary: An example of a generic Unauthorized Error + value: + errors: + - code: 109107 + description: User does not have permissions to access this resource. + id: optional-error-id + type: resource-permissions + internalServerErrorExample: + summary: An example of a generic Internal Server Error + value: + errors: + - code: 32030 + description: >- + Unexpected internal server error. Contact Bandwidth Customer + Support if this problem persists. + id: optional-error-id + type: internal-server-error + notAllowedErrorExample: + summary: An example of a generic Not Allowed Error + value: + errors: + - code: 205621 + description: The HTTP method used is not supported by this resource. + id: optional-error-id + meta: + method: TRACE + type: http-method-not-supported + notFoundErrorExample: + summary: An example of a generic Not Found Error + value: + errors: + - code: 50420 + description: The resource specified cannot be found. + id: optional-error-id + type: resource-not-found + tooManyRequestsErrorExample: + summary: An example of a generic Too Many Requests Error + value: + errors: + - code: 32002 + description: >- + Rate limit exceeded. Wait for the time specified in the + "Retry-After" header before sending another request. + id: optional-error-id + type: rate-limiting + unauthorizedErrorExample: + summary: An example of a generic Unauthorized Error + value: + errors: + - code: 206401 + description: Invalid or missing credentials. + id: optional-error-id + type: authentication-credentials parameters: AccountIDQueryParam: description: > @@ -1014,7 +1076,7 @@ components: CustomerOrderIdQueryParam: description: >- The Customer Order ID is an ID assigned by the account owner to provide - a reference number for the importVoiceTnOrder. + a reference number for the order. example: ABCCorp12345 in: query name: customerOrderId @@ -1183,21 +1245,33 @@ components: schema: type: string SipPeerIdPathParam: + description: SipPeer ID, also known as Location in: path name: sipPeerId required: true schema: format: int32 type: integer - SipPeerIdQueryParam: - description: A Sip Peer Id that is referenced in the order - example: 50139 + SipPeerTnsPageQueryParam: + description: The number of the paged results to be displayed. + example: 4 in: query - name: sipPeerId + name: page + required: false schema: + default: 1 + type: integer + SipPeerTnsSizeQueryParam: + description: The quantity of results displayed for each page. + example: 200 + in: query + name: size + required: false + schema: + default: 5000 type: integer SiteIdPathParam: - description: Site ID of the Sip Peer + description: Site ID, also known as Sub-Account example: '407' in: path name: siteId @@ -1257,6 +1331,249 @@ components: required: true schema: type: string + addressIdPathParam: + description: Address Id. + in: path + name: addressId + required: true + schema: + example: ArAnD0m1d + type: string + afterCursorQueryParam_eq: + description: Returns the page after the last record on the current page. + explode: true + in: query + name: afterCursor + required: false + schema: + properties: + eq: + example: ArAnD0m1d + type: string + type: object + style: deepObject + areaCodeQueryParam: + description: >- + The 1 to 6 digit area code associated with the phone number. The system + defaults to return all area codes when the query parameter is not + passed. The countryCodeA3 is a required parameter with areaCode. + in: query + name: areaCode + required: false + schema: + example: '435' + type: string + areaCodeQueryParam_eq: + description: >- + The 1 to 6 digit area code associated with the phone number. The system + defaults to return all area codes when the query parameter is not + passed. The countryCodeA3 is a required parameter with areaCode. + in: query + name: areaCode + required: false + schema: + properties: + eq: + example: '435' + type: string + type: object + beforeCursorQueryParam_eq: + description: Returns the page before the first record on the current page. + explode: true + in: query + name: beforeCursor + required: false + schema: + properties: + eq: + example: ArAnD0m1d + type: string + type: object + style: deepObject + cityQueryParam: + description: >- + The name of the city. The system defaults to return all cities when the + query parameter is not passed. The countryCodeA3 is a required parameter + with city. Some phone number types like TOLL_FREE may not have any + associated cities. + in: query + name: city + required: false + schema: + example: Raleigh + type: string + cityQueryParam_eq_startsWith: + description: >- + The name of the city. The system defaults to return all cities when the + query parameter is not passed. The countryCodeA3 is a required parameter + with city. Some phone number types like TOLL_FREE may not have any + associated cities. + explode: true + in: query + name: city + required: false + schema: + properties: + eq: + example: Raleigh + type: string + startsWith: + example: Ral + type: string + type: object + style: deepObject + countryCodeA3QueryParam: + description: Country code of the address in ISO 3166-1 alpha-3 format. + in: query + name: countryCodeA3 + required: false + schema: + example: USA + type: string + countryCodeA3QueryParam_eq: + description: Country code of the address in ISO 3166-1 alpha-3 format. + in: query + name: countryCodeA3 + required: false + schema: + properties: + eq: + example: USA + type: string + type: object + countryCodeA3RequiredQueryParam: + description: Country code of the address in ISO 3166-1 alpha-3 format. + in: query + name: countryCodeA3 + required: true + schema: + properties: + eq: + example: USA + type: string + type: object + customReferenceQueryParam_eq_startsWith: + description: Customer reference. It cannot be combined with any other query filter. + in: query + name: customReference + required: false + schema: + properties: + eq: + example: home_office + maxLength: 64 + minLength: 1 + type: string + startsWith: + example: home + maxLength: 64 + minLength: 1 + type: string + type: object + enddateQueryParam: + description: >- + The ending date of a search in yy-mm-dd format. startdate and enddate + must be used as a pair. + in: query + name: enddate + required: false + schema: + example: 23-10-31 + type: string + isHiddenQueryParam_eq: + description: >- + Returns hidden addresses when set to true. The system defaults to false + and only returns addresses that are not hidden. + in: query + name: isHidden + required: false + schema: + properties: + eq: + example: false + type: boolean + type: object + limitQueryParam_eq: + description: Limit the number of returned records. + explode: true + in: query + name: limit + required: false + schema: + properties: + eq: + default: 300 + maximum: 5000 + minimum: 1 + type: number + type: object + style: deepObject + pageQueryParam: + description: >- + An ID of the first element in a page. This value will indicate the + first value, not the page number, of the initial entry in the page being + requested. The initial page is tagged with the ID `1` as a convention. + in: query + name: page + required: false + schema: + default: 1 + example: 1 + type: integer + phoneNumberTypeQueryParam: + description: >- + The type of phone number. The system defaults to return phone numbers of + all types when the query parameter is not passed. The countryCodeA3 is a + required parameter with phone number type. + in: query + name: phoneNumberType + required: false + schema: + enum: + - GEOGRAPHIC + - NATIONAL + - MOBILE + - TOLL_FREE + - SHARED_COST + example: MOBILE + type: string + phoneNumberTypeQueryParam_eq: + description: >- + The type of phone number. The system defaults to return phone numbers of + all types when the query parameter is not passed. The countryCodeA3 is a + required parameter with phone number type. + in: query + name: phoneNumberType + required: false + schema: + properties: + eq: + enum: + - GEOGRAPHIC + - NATIONAL + - MOBILE + - TOLL_FREE + - SHARED_COST + example: MOBILE + type: string + type: object + postalCodeQueryParam_eq_startsWith: + description: >- + The postal code of the address. The system defaults to return all postal + codes when the query parameter is not passed. The countryCodeA3 is a + required parameter with postalCode. + in: query + name: postalCode + required: false + schema: + properties: + eq: + example: '98072' + type: string + startsWith: + example: '9807' + type: string + type: object shortCodeCountryPathParam: description: The short code number country. example: USA @@ -1324,12 +1641,53 @@ components: required: true schema: type: string + sizeQueryParam: + description: The number of elements to retrieve + in: query + name: page + required: false + schema: + example: 30 + type: integer + startdateQueryParam: + description: >- + The starting date of a search in yy-mm-dd format. startdate and enddate + must be used as a pair. + in: query + name: startdate + required: false + schema: + example: 22-10-31 + type: string + tierQueryParam: + description: >- + A service tier indicating the the vendor class that the TN is associated + with. Tier indicates whether the TN is on-net, domestic offnet, + Canadian, etc. + in: query + name: tier + required: false + schema: + example: 5 + type: integer requestBodies: + addAddressRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/createAddressRequest' + description: Add address. shortCodeJsonPatchShortCodeRequest: content: application/json-patch+json: schema: $ref: '#/components/schemas/jsonPatch' + updateAddressRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/updateAddressRequest' + description: Update address. verificationRequest: content: application/json: @@ -1396,6 +1754,15 @@ components: associated with the order, the state of the order, and a list of the successfully imported Telephone Numbers, and descriptions of any encountered errors. + badRequestError: + content: + application/json: + examples: + badRequestErrorExample: + $ref: '#/components/examples/badRequestErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Bad Request. bulkRateCenterGetResponse404Error: content: application/xml: @@ -1447,6 +1814,72 @@ components: description: >- Successful response which starts the bulk upsert for provided rate centers. + createAddressResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/createUpdateAddressResponse' + description: Created. + forbiddenError: + content: + application/json: + examples: + forbiddenErrorExample: + $ref: '#/components/examples/forbiddenErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Forbidden. + getAddressFieldsResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/getAddressFieldsResponse' + description: OK. + getAddressResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/genericAddressResponse' + description: OK. + internalServerError: + content: + application/json: + examples: + internalServerErrorExample: + $ref: '#/components/examples/internalServerErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Internal Server Error. + listAddressesResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/listAddressesResponse' + description: OK. + listOfLosingCarriersResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/portingLosingCarriersResponseSchema' + description: A list of available carriers that can port out a phone number + notAllowedError: + content: + application/json: + examples: + notAllowedErrorExample: + $ref: '#/components/examples/notAllowedErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Method Not Allowed. + notFoundError: + content: + application/json: + examples: + notFoundErrorExample: + $ref: '#/components/examples/notFoundErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Not Found. rateCenter401Error: content: application/json: @@ -1831,12 +2264,42 @@ components: schema: $ref: '#/components/schemas/tfvError' description: Client is providing incorrect or invalid credentials. + tooManyRequestsError: + content: + application/json: + examples: + tooManyRequestsErrorExample: + $ref: '#/components/examples/tooManyRequestsErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Too Many Requests. + unauthorizedError: + content: + application/json: + examples: + unauthorizedErrorExample: + $ref: '#/components/examples/unauthorizedErrorExample' + schema: + $ref: '#/components/schemas/genericError' + description: Unauthorized. + updateAddressResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/createUpdateAddressResponse' + description: OK. useCasesResponse: content: application/json: schema: $ref: '#/components/schemas/useCases' description: OK + validateAddressResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/validateAddressResponse' + description: OK. verifyPostResponse: description: Accepted verifyStatusResponse: @@ -2019,30 +2482,25 @@ components: TollFreeMMSAllowed: type: boolean type: object - AccountProduct: + AccountProductResponse: properties: - Features: - items: - properties: - Feature: - type: string - type: object - type: array - Name: - type: string + product: + oneOf: + - $ref: '#/components/schemas/productWithCountrySettings' + - $ref: '#/components/schemas/product' type: object - AccountProducts: + AccountProductsResponse: properties: - Product: + products: items: - $ref: '#/components/schemas/AccountProduct' + $ref: '#/components/schemas/productWithCountrySettings' type: array + xml: + name: Products + wrapped: true type: object - AccountProductsResponse: - properties: - Products: - $ref: '#/components/schemas/AccountProducts' - type: object + xml: + name: AccountProductsResponse AccountResponse: properties: Account: @@ -2109,6 +2567,34 @@ components: type: integer type: object type: object + ActivationRequirement: + properties: + CountryCodeA3: + type: string + PhoneNumberType: + $ref: '#/components/schemas/phoneNumberType' + ProofOfAddressRequired: + type: boolean + ProofOfIdRequired: + type: boolean + TypeOfAddress: + $ref: '#/components/schemas/TypeOfAddress' + type: object + ActivationRequirementErrorResponse: + properties: + ActivationRequirementResponse: + $ref: '#/components/schemas/ResponseStatus' + type: object + ActivationRequirementResponse: + properties: + ActivationRequirementResponse: + properties: + ActivationRequirements: + items: + $ref: '#/components/schemas/ActivationRequirement' + type: array + type: object + type: object ActivationStatus: properties: ActivationStatus: @@ -2223,12 +2709,6 @@ components: type: string Latitude: type: string - LegacyAddressId: - deprecated: true - type: string - LegacyEntityId: - deprecated: true - type: string Longitude: type: string PlusFour: @@ -2248,10 +2728,6 @@ components: ServiceAddress. This element is optional when not needed to fully specify the ServiceAddress. type: string - RegionId: - deprecated: true - format: int32 - type: integer ResetAddressFields: type: boolean StateCode: @@ -2497,16 +2973,10 @@ components: $ref: '#/components/schemas/CallbackCreds' CallbackTimeout: type: string - CallbackUrl: - deprecated: true - type: string InboundCallbackCreds: $ref: '#/components/schemas/CallbackCreds' InboundCallbackUrl: type: string - MsgCallbackUrl: - deprecated: true - type: string OutboundCallbackCreds: $ref: '#/components/schemas/CallbackCreds' OutboundCallbackUrl: @@ -2556,15 +3026,6 @@ components: ApplicationsSettings: $ref: '#/components/schemas/ApplicationsSettings' type: object - AreaCodeSearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - AreaCodeSearchAndOrderType: - $ref: '#/components/schemas/AreaCodeSearchAndOrderType' - type: object - xml: - name: Order AreaCodeSearchAndOrderResponse: properties: order: @@ -2596,6 +3057,15 @@ components: type: object xml: name: AreaCodeSearchAndOrderType + AreaCodeSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + AreaCodeSearchAndOrderType: + $ref: '#/components/schemas/AreaCodeSearchAndOrderType' + type: object + xml: + name: Order AssociatedSipPeer: properties: PeerId: @@ -2626,7 +3096,7 @@ components: AssociatedSipPeersResponse: $ref: '#/components/schemas/AssociatedSipPeersResponse' type: object - AutomatedTollFreeLnpOrderRequest: + AutomatedNANPTollFreeLnpOrderRequest: description: >- Indicates that the port-in contains toll-free numbers and that Toll-Free Automation is enabled. The numbers will be automatically validated and @@ -2637,7 +3107,25 @@ components: allOf: - $ref: '#/components/schemas/LnpOrderBasic' - $ref: '#/components/schemas/LnpOrderAutomatedTollFreeFields' - title: Automated Toll-Free + - properties: + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as “2013-05-10T15:14:22Z”, or + "2019-10-31T17:15:00+04:00".

      For all ports, if + `RequestedFocDate` is specified, the date portion must + be:
      - in the future
      - after the losing carrier's + minimum number of days to port-out
      - not on a weekend + or U.S. holiday

      If `RequestedFocDate` is not + specified, the next available FOC date meeting the criteria + above will be used. If the Time portion of the + `RequestedFocDate` is omitted the port-in order will be + activated at the default activation time of 11:30 AM ET. If + an activation time other than 11:30 AM ET is desired, that + activation time should be included in the + `RequestedFocDate`. + type: string + type: object + title: Automated NANP Toll-Free LNP Order Request type: object AvailableNpaNxx: properties: @@ -2736,42 +3224,6 @@ components: type: array type: object type: object - Bdr: - properties: - Bdr: - properties: - EndDate: - type: string - StartDate: - type: string - type: object - type: object - BdrCreationErrorResponse: - properties: - BdrCreationResponse: - $ref: '#/components/schemas/ResponseStatus' - type: object - BdrCreationResponse: - properties: - BdrCreationResponse: - properties: - Info: - type: string - type: object - type: object - BdrRetrievalErrorResponse: - properties: - BdrRetrievalResponse: - $ref: '#/components/schemas/ResponseStatus' - type: object - BdrRetrievalResponse: - properties: - BdrRetrievalResponse: - properties: - Info: - type: string - type: object - type: object BillingReport: properties: BillingReportId: @@ -4026,6 +4478,17 @@ components: years. format: int64 type: integer + NumberFormat: + default: E164 + description: >- + Specifies whether numbers should be formatted in e164 format, or use + legacy formatting. If Legacy is chosen, numbers with country code + '+1' will be formatted as 10-digit and all other numbers will use + e164 formatting. Can be omitted and defaults to E164. + enum: + - LEGACY + - E164 + type: string Status: type: string URL: @@ -4339,15 +4802,6 @@ components: type: object title: CampaignTnsResponse type: object - CitySearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - CitySearchAndOrderType: - $ref: '#/components/schemas/CitySearchAndOrderType' - type: object - xml: - name: Order CitySearchAndOrderResponse: properties: order: @@ -4381,6 +4835,15 @@ components: type: object xml: name: CitySearchAndOrderType + CitySearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + CitySearchAndOrderType: + $ref: '#/components/schemas/CitySearchAndOrderType' + type: object + xml: + name: Order CitySearchResult: properties: AvailableTelephoneNumberCount: @@ -4412,15 +4875,6 @@ components: Count: type: integer type: object - CombinedSearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - CombinedSearchAndOrderType: - $ref: '#/components/schemas/CombinedSearchAndOrderType' - type: object - xml: - name: Order CombinedSearchAndOrderResponse: properties: order: @@ -4472,6 +4926,15 @@ components: type: object xml: name: CombinedSearchAndOrderType + CombinedSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + CombinedSearchAndOrderType: + $ref: '#/components/schemas/CombinedSearchAndOrderType' + type: object + xml: + name: Order Contact: properties: Email: @@ -4600,6 +5063,20 @@ components: type: object type: array type: object + CountryCoverageResponseError: + properties: + responseStatus: + $ref: '#/components/schemas/responseStatus' + type: object + xml: + name: CountryCoverageResponse + CountryCoverageResponseSuccess: + properties: + countryCoverages: + $ref: '#/components/schemas/countryCoverages' + type: object + xml: + name: CountryCoverageResponse CoverageMatrixEntry: properties: Abbreviation: @@ -5136,11 +5613,6 @@ components: type: string DisconnectTelephoneNumberOrderType: $ref: '#/components/schemas/DisconnectTelephoneNumberOrderType' - Name: - deprecated: true - description: The name of the order. - maxLength: 50 - type: string type: object type: object DisconnectTelephoneNumberOrderErrorResponse: @@ -6376,122 +6848,6 @@ components: type: object xml: name: ExistingTelephoneNumberOrderType - ExternalTnsOrder: - properties: - AccountId: - type: string - Action: - enum: - - IMPORT - - REMOVE - type: string - CreatedByUser: - type: string - CustomerOrderId: - type: string - Errors: - items: - $ref: '#/components/schemas/Error' - type: array - LastModifiedDate: - type: string - LoaType: - enum: - - CARRIER - - SUBSCRIBER - type: string - OrderCreateDate: - type: string - ProcessingStatus: - enum: - - RECEIVED - - PROCESSING - - COMPLETE - - PARTIAL - - FAILED - type: string - SipPeerId: - type: string - SiteId: - type: string - TelephoneNumbers: - items: - $ref: '#/components/schemas/TelephoneNumber' - type: array - type: object - ExternalTnsOrderErrorResponse: - properties: - ExternalTnsOrderResponse: - $ref: '#/components/schemas/ResponseStatus' - type: object - ExternalTnsOrderRequest: - properties: - ExternalTnsOrder: - properties: - Action: - description: Indentify the action on external TNs - enum: - - IMPORT - - REMOVE - type: string - CustomerOrderId: - description: An order ID created by the customer for their tracking purposes - format: Only alphanumeric values, dashes and spaces are allowed - maxLength: 40 - type: string - LoaType: - default: CARRIER - description: Identify the LoaType on external TNs - enum: - - CARRIER - - SUBSCRIBER - type: string - SipPeerId: - description: >- - The ID of the SIP Peer that the Telephone Numbers are to be - provisioned to - format: int32 - type: integer - SiteId: - description: >- - The ID of the Site that the Telephone Numbers are to be - provisioned to - format: int32 - type: integer - TelephoneNumbers: - items: - $ref: '#/components/schemas/TelephoneNumber' - type: array - required: - - SiteId - - Action - type: object - type: object - ExternalTnsOrderResponse: - properties: - ExternalTnsOrderResponse: - properties: - ExternalTnsOrder: - $ref: '#/components/schemas/ExternalTnsOrder' - type: object - type: object - ExternalTnsOrders: - properties: - ExternalTnsOrders: - properties: - ExternalTnsOrder: - items: - $ref: '#/components/schemas/ExternalTnsOrder' - type: array - TotalCount: - type: integer - type: object - type: object - ExternalTnsOrdersError: - properties: - ExternalTnsOrders: - $ref: '#/components/schemas/ResponseStatus' - type: object Feature: properties: Status: @@ -6862,8 +7218,6 @@ components: required: - TelephoneNumbers - SiteId - - Subscriber - - LoaAuthorizingPerson type: object title: ImportTnOrder ImportTnOrderResponse: @@ -7207,7 +7561,7 @@ components: delete: type: boolean type: object - InternalLnpOrderRequest: + InternalNANPLnpOrderRequest: properties: LnpOrder: allOf: @@ -7241,7 +7595,7 @@ components: $ref: '#/components/schemas/TnAttribute' type: array type: object - title: Internal + title: Internal NANP LNP Order Request type: object IrisStatus: properties: @@ -7251,15 +7605,6 @@ components: Description: type: string type: object - LATASearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - LATASearchAndOrderType: - $ref: '#/components/schemas/LATASearchAndOrderType' - type: object - xml: - name: Order LATASearchAndOrderResponse: properties: order: @@ -7291,6 +7636,15 @@ components: type: object xml: name: LATASearchAndOrderType + LATASearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + LATASearchAndOrderType: + $ref: '#/components/schemas/LATASearchAndOrderType' + type: object + xml: + name: Order LNPResponseWrapper: properties: LNPResponseWrapper: @@ -7552,6 +7906,20 @@ components: carrier. For wireline port-in, the BillingTelephoneNumber is typically the telephone number being ported in. type: string + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as “2013-05-10T15:14:22Z”, or + "2019-10-31T17:15:00+04:00".

      For all ports, if + `RequestedFocDate` is specified, the date portion must be:
      - in + the future
      - after the losing carrier's minimum number of days + to port-out
      - not on a weekend or U.S. holiday

      If + `RequestedFocDate` is not specified, the next available FOC date + meeting the criteria above will be used. If the Time portion of the + `RequestedFocDate` is omitted the port-in order will be activated at + the default activation time of 11:30 AM ET. If an activation time + other than 11:30 AM ET is desired, that activation time should be + included in the `RequestedFocDate`. + type: string Subscriber: oneOf: - $ref: '#/components/schemas/SubscriberBusiness' @@ -7818,13 +8186,7 @@ components: OrderId: type: string ProcessingStatus: - description: >- - The processing status of this order. Values may be: PROCESSING, - COMPLETED, FAILED. PROCESSING means that the system is still - processing the order. COMPLETED means that the order has been - successfully completed. FAILED means that errors occurred while - processing the order, and that the order did not make any - changes to the system. + description: The processing status of the order after it has been updated. enum: - REQUESTED_SUPP type: string @@ -8125,6 +8487,19 @@ components: type: string title: LnpOrderSupp type: object + LnpOrderSuppGlobalManual: + allOf: + - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' + properties: + LosingCarrierName: + description: The name of the losing carrier the telephone numbers belong to. + type: string + Subscriber: + oneOf: + - $ref: '#/components/schemas/ManualGlobalSubscriberResidential' + - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' + title: LnpOrderSupp + type: object LnpOrderSuppInternal: allOf: - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' @@ -8517,10 +8892,6 @@ components: to fully specify the ServiceAddress. maxLength: 2 type: string - RegionId: - deprecated: true - format: int32 - type: integer StateCode: description: >- StateCode is the 2-letter abbreviation of the state of the @@ -8609,6 +8980,284 @@ components: SkipAck: type: boolean type: object + ManualGlobalLnpOrderPutResponse: + properties: + LnpOrderResponse: + properties: + OrderId: + type: string + ProcessingStatus: + enum: + - REQUESTED_SUPP + type: string + Status: + properties: + Code: + type: integer + Description: + type: string + type: object + type: object + type: object + ManualGlobalLnpOrderRequest: + properties: + LnpOrder: + allOf: + - properties: + CustomerOrderId: + description: >- + The `CustomerOrderId` is an optional field that may be + provided by the customer and will remain with the order. The + value is opaque to Bandwidth. + format: Only alphanumeric values, dashes and spaces + maxLength: 40 + type: string + ListOfPhoneNumbers: + description: >- + `ListOfPhoneNumbers` is an array of `PhoneNumber`. At least + one `PhoneNumber` must be provided. + items: + properties: + PhoneNumber: + description: >- + One or more phone numbers is required.
      Use a + `` tag for each phone number in the + `` list. + format: E164 phone number with no dots or dashes + type: string + type: object + type: array + LosingCarrierName: + description: >- + `LosingCarrierName` specifies the name of the losing + carrier + type: string + PeerId: + description: >- + `PeerId` specifies the numeric identifier of the SIP-peer + (Location) that the telephone numbers will be ported + into.

      You can find the identifier for a SIP-peer + (location) by using `GET /accounts/id/sites/id/sippeers`, or + by clicking on 'Accounts' on the upper right of the + [Bandwidth Dashboard](Https://dashboard.bandwidth.com), then + clicking 'Locations' on the navigation bar. The SIP-peer + (location) identifiers are listed next to each location + name. If `PeerId` is omitted, the SIP-peer (location) + designated as the 'default location' for that site + (sub-account) will be used. + type: string + ProcessingStatus: + description: >- + Including `ProcessingStatus` with a value of DRAFT allows + you to create a port-in request, but not process the + request. This is useful if you wish to add items to the + order over a period of time and submit once you have the + order setup the way you want. Note, however, that draft + orders that have not been updated in a couple of days are + automatically deleted. Removal of stagnant draft orders is + performed so that telephone numbers are not tied up in these + orders, preventing them from being included in other + orders.

      Very little validation is performed while + an order is in draft state. Omitting `ProcessingStatus` + causes the port-in to be validated and, if correct, + processed right away. The full validation is performed on + the order when you change the ProcessingStatus to + 'SUBMITTED' by performing a PUT request on the order. +

      All toll free telephone numbers provided will be + validated (even in draft state) to ensure + + that they are portable, and to allow you to separate + telephone numbers into separate port-ins + + based on the RespOrg that they are being ported from.

      + enum: + - DRAFT + type: string + RequestedFocDate: + description: >- + Format: ISO8601 encoding such as "2019-10-31".

      For + global ports, if `RequestedFocDate` is specified the time + portions will be ignored and the date portion must be:
      + - in the future
      - not on a weekend. + type: string + SiteId: + description: >- + `SiteId` specifies the identifier of the site (sub-account) + that the telephone numbers will be ported into.

      You + can find the identifier for a site (sub-account) by using + `GET /accounts/id/sites`, or by clicking on 'Manage + sub-account' for the desired sub-account on the main page of + the Bandwidth Dashboard. + format: int32 + type: integer + Subscriber: + oneOf: + - $ref: '#/components/schemas/ManualGlobalSubscriberResidential' + - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' + required: + - SiteId + - ListOfPhoneNumbers + - LosingCarrierName + type: object + title: Manual Global LNP Order Request + type: object + ManualGlobalLnpOrderResponse: + properties: + LnpOrderResponse: + properties: + CountryCodeA3: + description: The ISO-3166 alpha 3 code of the country the numbers belong to. + type: string + Errors: + properties: + Code: + description: Numeric designation of corresponding error. + type: integer + Description: + description: Detailed explanation about error. + type: string + type: object + ListOfPhoneNumbers: + description: >- + ListOfPhoneNumbers is an array of PhoneNumber. At least one + PhoneNumber must be provided for all port-types. + items: + $ref: '#/components/schemas/PhoneNumber' + type: array + LosingCarrierName: + description: The name of the losing carrier the telephone numbers belong to. + type: string + OrderId: + description: Unique orderId that is used to manage the order. + type: string + PeerId: + description: >- + The numeric designation for the Location or SIP Peer ID that + applied to the Port-in Order. The SIP Peer ID is used to provide + a home within the location for the TN(s) that were ported in by + the Port-in Order + type: string + PhoneNumberType: + $ref: '#/components/schemas/phoneNumberType' + PortType: + description: Port type + enum: + - MANUAL + type: string + ProcessingStatus: + description: >- + The processing status of this order. PROCESSING means that the + system is still processing the order. COMPLETE means that the + order has been successfully completed. EXCEPTION means that + errors occurred while processing the order, and that the order + did not make any changes to the system. + enum: + - DRAFT + - PENDING_DOCUMENTS + - SUBMITTED + - FOC + - COMPLETE + - EXCEPTION + - REQUESTED_CANCEL + - CANCELLED + - REQUESTED_SUPP + type: string + SiteId: + description: >- + The numeric designation for the Site ID that applied to the + Port-in Order. The SiteId is used to provide a home within the + account for the TN(s) that were ported in by the Port-in Order + type: string + Status: + properties: + Code: + type: integer + Description: + type: string + type: object + Subscriber: + oneOf: + - $ref: '#/components/schemas/ManualGlobalSubscriberResidential' + - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' + type: object + title: Manual Global LNP Order Response + type: object + ManualGlobalSubscriberBusiness: + properties: + AddressId: + description: >- + UUID of the address created with the + `/accounts/{accountId}/addresses` API endpoint. + maxLength: 36 + type: string + BusinessName: + maxLength: 25 + type: string + SubscriberType: + enum: + - BUSINESS + type: string + VatNumber: + description: >- + The `VatNumber` is the value of the VAT number associated with the + subscriber. This field is required when porting numbers for a subset + of countries when the SubscriberType is `BUSINESS`. + maxLength: 36 + type: string + required: + - SubscriberType + - AddressId + - BusinessName + - VatNumber + title: BUSINESS + type: object + ManualGlobalSubscriberResidential: + properties: + AddressId: + description: >- + UUID of the address created with the + `/accounts/{accountId}/addresses` API endpoint. + maxLength: 36 + type: string + FirstName: + maxLength: 25 + type: string + LastName: + maxLength: 25 + type: string + MiddleInitial: + maxLength: 1 + type: string + SubscriberType: + enum: + - RESIDENTIAL + type: string + required: + - SubscriberType + - AddressId + - FirstName + - LastName + title: RESIDENTIAL + type: object + ManualNANPTollFreeLnpOrderRequest: + description: >- + Manual indicates that the port-in will be processed manually by + Bandwidth’s Local Number Portability team. Currently all toll free + port-ins are handled manually by Bandwidth’s Local Number Portability + team. But Bandwidth is in the process of automating portions of toll + free porting, with a goal of eventually automating the entire process. + properties: + LnpOrder: + allOf: + - $ref: '#/components/schemas/LnpOrderBasic' + properties: + Subscriber: + allOf: + - $ref: '#/components/schemas/SubscriberBusiness' + type: object + type: object + title: Manual NANP Toll-Free LNP Order Request + type: object ManualPortOutRequest: properties: BulkPortOut: @@ -8636,25 +9285,6 @@ components: TelephoneNumberToPort: type: string type: object - ManualTollFreeLnpOrderRequest: - description: >- - Manual indicates that the port-in will be processed manually by - Bandwidth’s Local Number Portability team. Currently all toll free - port-ins are handled manually by Bandwidth’s Local Number Portability - team. But Bandwidth is in the process of automating portions of toll - free porting, with a goal of eventually automating the entire process. - properties: - LnpOrder: - allOf: - - $ref: '#/components/schemas/LnpOrderBasic' - properties: - Subscriber: - allOf: - - $ref: '#/components/schemas/SubscriberBusiness' - type: object - type: object - title: Manual Toll-Free - type: object ManuallyPortableTollFreeNumberList: properties: DisconnectedTollFreeNumberList: @@ -8968,6 +9598,52 @@ components: TotalCount: type: integer type: object + NANPATNDetail: + description: Returned when `enableTnDetail=True` for NANPA numbers + properties: + LATA: + example: 426 + type: number + xml: + name: LATA + city: + $ref: '#/components/schemas/city' + countryCodeA3: + $ref: '#/components/schemas/countryCodeA3' + fullNumber: + example: 17722029845 + type: string + xml: + name: FullNumber + phoneNumberType: + $ref: '#/components/schemas/phoneNumberType' + rateCenter: + example: SEBASTIAN + type: string + xml: + name: RateCenter + state: + example: FL + type: string + xml: + name: State + tier: + example: 0 + type: number + xml: + name: Tier + vendorId: + example: 49 + type: number + xml: + name: VendorId + vendorName: + example: Bandwidth CLEC + type: string + xml: + name: VendorName + title: NANPA TN Detail + type: object NNRoute: properties: DeliveryNetwork: @@ -8988,15 +9664,6 @@ components: trafficType: type: string type: object - NPANXXSearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - NPANXXSearchAndOrderType: - $ref: '#/components/schemas/NPANXXSearchAndOrderType' - type: object - xml: - name: Order NPANXXSearchAndOrderResponse: properties: order: @@ -9030,6 +9697,15 @@ components: type: object xml: name: NPANXXSearchAndOrderType + NPANXXSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + NPANXXSearchAndOrderType: + $ref: '#/components/schemas/NPANXXSearchAndOrderType' + type: object + xml: + name: Order NonPortableTollFreeNumberList: properties: DeniedTollFreeNumberList: @@ -9253,15 +9929,15 @@ components: type: object title: Number Portability Response type: object - OffNetLnpOrderRequest: + OffNetNANPLnpOrderRequest: properties: LnpOrder: allOf: - $ref: '#/components/schemas/LnpOrderBasic' - $ref: '#/components/schemas/LnpOrderAdditionalFields' - title: Off-net + title: Off-net NANP LNP Order Request type: object - OnNetLnpOrderRequest: + OnNetNANPLnpOrderRequest: properties: LnpOrder: allOf: @@ -9298,7 +9974,7 @@ components: $ref: '#/components/schemas/TnAttribute' type: array type: object - title: On-net + title: On-net NANP LNP Order Request type: object OrderCreatedDate: description: Creation date of the order. @@ -9473,6 +10149,29 @@ components: $ref: '#/components/schemas/OriginationRoutePayload' type: array type: object + OtherTNDetail: + description: Returned when `enableTnDetail=True` for Other numbers + properties: + areaCode: + $ref: '#/components/schemas/areaCode' + city: + $ref: '#/components/schemas/city' + countryCodeA3: + $ref: '#/components/schemas/countryCodeA3' + fullNumber: + example: 31208908115 + type: string + xml: + name: FullNumber + phoneNumberType: + $ref: '#/components/schemas/phoneNumberType' + tier: + example: 0 + type: number + xml: + name: Tier + title: Other TN Detail + type: object PaginationLinks: properties: first: @@ -9488,7 +10187,7 @@ components: PhoneNumber: properties: PhoneNumber: - description: Simple Telephone Number. + description: Telephone Number in E.164 format. type: string type: object PidfloAddressDeleting911Order: @@ -10299,15 +10998,6 @@ components: $ref: '#/components/schemas/LnpCheckerTnList' title: Rate Center information type: object - RateCenterSearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - RateCenterSearchAndOrderType: - $ref: '#/components/schemas/RateCenterSearchAndOrderType' - type: object - xml: - name: Order RateCenterSearchAndOrderResponse: properties: order: @@ -10343,6 +11033,15 @@ components: type: object xml: name: RateCenterSearchAndOrderType + RateCenterSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + RateCenterSearchAndOrderType: + $ref: '#/components/schemas/RateCenterSearchAndOrderType' + type: object + xml: + name: Order RateCenterSearchResult: properties: Abbreviation: @@ -10875,6 +11574,35 @@ components: type: integer type: object type: object + Restriction: + properties: + CountryCodeA3: + type: string + RestrictionCategory: + type: string + RestrictionDescription: + type: string + RestrictionType: + $ref: '#/components/schemas/RestrictionType' + type: object + RestrictionResponse: + properties: + RestrictionResponse: + properties: + Restrictions: + items: + $ref: '#/components/schemas/Restriction' + type: array + type: object + type: object + RestrictionType: + enum: + - LEGAL + - PURCHASE + - SERVICE + - NRA + example: LEGAL + type: string RogerTerminationSettings: properties: SubnetAddressingAllowed: @@ -10930,46 +11658,33 @@ components: type: object SearchResult: oneOf: - - properties: - ResultCount: - format: int32 - type: integer - TelephoneNumberList: - items: - $ref: '#/components/schemas/TelephoneNumber' - type: array - type: object - - properties: - resultCount: - format: int32 - type: integer - telephoneNumberDetailList: - items: - $ref: '#/components/schemas/telephoneNumberDetail' - type: array - xml: - name: TelephoneNumberDetailList - xml: - name: ResultCount - type: object + - $ref: '#/components/schemas/TNDetailDisabled' + - $ref: '#/components/schemas/TNDetailEnabled' xml: name: SearchResult SearchResultError: properties: - Error: + error: properties: - Code: + code: + example: 4010 type: integer - Description: + xml: + name: Code + description: + example: >- + One of more required search parameters are null or empty, please + refer to the api documentation type: string + xml: + name: Description type: object + xml: + name: Error title: SearchResult type: object - SearchResultErrorWrapper: - properties: - SearchResult: - $ref: '#/components/schemas/SearchResultError' - type: object + xml: + name: SearchResult SearchResultForAvailableNpaNxx: properties: AvailableNpaNxxList: @@ -11425,6 +12140,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + BillingIdentifier: + type: string CallVerificationEnabled: type: boolean CallingName: @@ -11580,13 +12297,6 @@ components: MessagingSettings: description: Does this telephone number have any messaging system configured type: string - NumberFormat: - enum: - - 10digit - - 11digit - - e164 - - 'false' - type: string RPIDFormat: description: Telephone number RPID format enum: @@ -11606,26 +12316,6 @@ components: type: string type: array type: object - SipPeerTelephoneNumberBulk: - properties: - SipPeerTelephoneNumbers: - items: - type: string - xml: - name: FullNumber - maxItems: 5000 - type: array - type: object - SipPeerTelephoneNumberBulkErrorResponse: - properties: - SipPeerTelephoneNumberMoveResponse: - $ref: '#/components/schemas/ResponseStatus' - type: object - SipPeerTelephoneNumberBulkResponse: - properties: - SipPeerTelephoneNumberMoveResponse: - $ref: '#/components/schemas/SipPeerTelephoneNumberBulk' - type: object SipPeerTelephoneNumberResponse: properties: SipPeerTelephoneNumber: @@ -11789,21 +12479,6 @@ components: Name: type: string type: object - SiteOrdersResponse: - properties: - ResponseSelectWrapper: - properties: - ListOrderIdUserIdDate: - properties: - OrderIdUserIdDate: - items: - $ref: '#/components/schemas/OrderSummary' - type: array - TotalCount: - type: integer - type: object - type: object - type: object SitePayload: properties: Address: @@ -11961,15 +12636,6 @@ components: type: integer title: HttpSettings type: object - StateSearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - StateSearchAndOrderType: - $ref: '#/components/schemas/StateSearchAndOrderType' - type: object - xml: - name: Order StateSearchAndOrderResponse: properties: order: @@ -12001,6 +12667,15 @@ components: type: object xml: name: StateSearchAndOrderType + StateSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + StateSearchAndOrderType: + $ref: '#/components/schemas/StateSearchAndOrderType' + type: object + xml: + name: Order StateWithCount: properties: Count: @@ -12171,7 +12846,6 @@ components: - lsrorders - e911s - tnoptions - - externalTns - lidb - bulkPortins - importtnorders @@ -12219,6 +12893,43 @@ components: type: array type: object type: object + TNDetailDisabled: + properties: + resultCount: + example: 1 + type: integer + xml: + name: ResultCount + telephoneNumberList: + items: + example: '+17722029845' + type: string + xml: + name: TelephoneNumber + type: array + xml: + name: TelephoneNumberList + wrapped: true + title: TN Detail Disabled + type: object + TNDetailEnabled: + properties: + resultCount: + example: 1 + type: integer + xml: + name: ResultCount + telephoneNumberDetailList: + items: + oneOf: + - $ref: '#/components/schemas/NANPATNDetail' + - $ref: '#/components/schemas/OtherTNDetail' + type: array + xml: + name: TelephoneNumberDetailList + wrapped: true + title: TN Detail Enabled + type: object TNSipPeersResponse: properties: SipPeers: @@ -12316,7 +13027,7 @@ components: TelephoneNumber: properties: TelephoneNumber: - description: Simple Telephone Number. + description: Telephone Number in E.164 format. type: string type: object TelephoneNumberAvailableNnRoutes: @@ -13391,16 +14102,16 @@ components: OrderResponse: oneOf: - $ref: '#/components/schemas/ExistingTelephoneNumberOrder' - - $ref: '#/components/schemas/RateCenterSearchAndOrder' - - $ref: '#/components/schemas/AreaCodeSearchAndOrder' - - $ref: '#/components/schemas/NPANXXSearchAndOrder' - - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder' - - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder' - - $ref: '#/components/schemas/LATASearchAndOrder' - - $ref: '#/components/schemas/ZIPSearchAndOrder' - - $ref: '#/components/schemas/CitySearchAndOrder' - - $ref: '#/components/schemas/StateSearchAndOrder' - - $ref: '#/components/schemas/CombinedSearchAndOrder' + - $ref: '#/components/schemas/RateCenterSearchAndOrder_NANPA' + - $ref: '#/components/schemas/AreaCodeSearchAndOrder_NANPA' + - $ref: '#/components/schemas/NPANXXSearchAndOrder_NANPA' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder_NANPA' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder_NANPA' + - $ref: '#/components/schemas/LATASearchAndOrder_NANPA' + - $ref: '#/components/schemas/ZIPSearchAndOrder_NANPA' + - $ref: '#/components/schemas/CitySearchAndOrder_NANPA' + - $ref: '#/components/schemas/StateSearchAndOrder_NANPA' + - $ref: '#/components/schemas/CombinedSearchAndOrder_NANPA' xml: name: OrderResponse type: object @@ -13464,16 +14175,16 @@ components: Order: oneOf: - $ref: '#/components/schemas/ExistingTelephoneNumberOrder' - - $ref: '#/components/schemas/RateCenterSearchAndOrder' - - $ref: '#/components/schemas/AreaCodeSearchAndOrder' - - $ref: '#/components/schemas/NPANXXSearchAndOrder' - - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder' - - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder' - - $ref: '#/components/schemas/LATASearchAndOrder' - - $ref: '#/components/schemas/ZIPSearchAndOrder' - - $ref: '#/components/schemas/CitySearchAndOrder' - - $ref: '#/components/schemas/StateSearchAndOrder' - - $ref: '#/components/schemas/CombinedSearchAndOrder' + - $ref: '#/components/schemas/RateCenterSearchAndOrder_NANPA' + - $ref: '#/components/schemas/AreaCodeSearchAndOrder_NANPA' + - $ref: '#/components/schemas/NPANXXSearchAndOrder_NANPA' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder_NANPA' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder_NANPA' + - $ref: '#/components/schemas/LATASearchAndOrder_NANPA' + - $ref: '#/components/schemas/ZIPSearchAndOrder_NANPA' + - $ref: '#/components/schemas/CitySearchAndOrder_NANPA' + - $ref: '#/components/schemas/StateSearchAndOrder_NANPA' + - $ref: '#/components/schemas/CombinedSearchAndOrder_NANPA' OrderCompleteDate: type: string OrderStatus: @@ -13704,15 +14415,6 @@ components: TerminationSettings: $ref: '#/components/schemas/TollFreeSettings' type: object - TollFreeVanitySearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - TollFreeVanitySearchAndOrderType: - $ref: '#/components/schemas/TollFreeVanitySearchAndOrderType' - type: object - xml: - name: Order TollFreeVanitySearchAndOrderResponse: properties: order: @@ -13744,12 +14446,12 @@ components: type: object xml: name: TollFreeVanitySearchAndOrderType - TollFreeWildCharSearchAndOrder: + TollFreeVanitySearchAndOrder_NANPA: allOf: - $ref: '#/components/schemas/orderMetadata' - properties: - TollFreeWildCharSearchAndOrderType: - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrderType' + TollFreeVanitySearchAndOrderType: + $ref: '#/components/schemas/TollFreeVanitySearchAndOrderType' type: object xml: name: Order @@ -13784,6 +14486,15 @@ components: type: object xml: name: TollFreeWildCharSearchAndOrderType + TollFreeWildCharSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + TollFreeWildCharSearchAndOrderType: + $ref: '#/components/schemas/TollFreeWildCharSearchAndOrderType' + type: object + xml: + name: Order Tpas: items: $ref: '#/components/schemas/Tpa' @@ -13795,6 +14506,13 @@ components: Ratio: type: integer type: object + TypeOfAddress: + enum: + - WORLDWIDE + - NATIONAL + - LOCAL + example: WORLDWIDE + type: string UcTrunkingCloudSettings: properties: BiDirectionalTrunks: @@ -13977,15 +14695,6 @@ components: type: string title: WirelessInfo type: object - ZIPSearchAndOrder: - allOf: - - $ref: '#/components/schemas/orderMetadata' - - properties: - ZIPSearchAndOrderType: - $ref: '#/components/schemas/ZIPSearchAndOrderType' - type: object - xml: - name: Order ZIPSearchAndOrderResponse: properties: order: @@ -14017,6 +14726,15 @@ components: type: object xml: name: ZIPSearchAndOrderType + ZIPSearchAndOrder_NANPA: + allOf: + - $ref: '#/components/schemas/orderMetadata' + - properties: + ZIPSearchAndOrderType: + $ref: '#/components/schemas/ZIPSearchAndOrderType' + type: object + xml: + name: Order Zone: properties: Id: @@ -14030,6 +14748,17 @@ components: description: User's account ID example: '1234567' type: string + additionalDetails: + properties: + comment: + description: Comment + example: Updating regulations + type: string + xml: + name: Comment + type: object + xml: + name: AdditionalDetails address: nullable: false properties: @@ -14080,6 +14809,115 @@ components: - zip - url type: object + addressFieldSchema: + properties: + changeable: + description: The address field value can be updated or not + example: false + title: Field Changeable + type: boolean + fieldName: + description: The name of the address field + example: addressLine1 + title: Field Name + type: string + maxLength: + description: The legth of the address field + example: 256 + title: Field Length + type: integer + required: + description: The address field is required or optional + example: true + title: Field Required + type: boolean + type: + description: The data type of the address field + example: string + title: Field Data Type + type: string + usedBy: + items: + properties: + feature: + description: The name of the feature that this address could be used for + enum: + - EMERGENCY + - PORTING + - REQUIREMENTS_PACKAGE + example: EMERGENCY + title: Feature Name + type: string + required: + description: The address field is required or optional for this feature + example: true + title: Field Required + type: boolean + type: object + title: Feature Specific Requirements + type: array + title: Country Specific Address Fields Schema + type: object + addressId: + description: Address Id + example: daa9dd0f-de97-4103-8530-b31bf4be8fc0 + title: Address Id + type: string + addressLinks: + items: + oneOf: + - $ref: '#/components/schemas/selfLink' + title: Links + type: array + addressResponse: + properties: + addressId: + $ref: '#/components/schemas/addressId' + addressLine1: + description: The number and street address of the address. + example: 14111 NE 145th St + title: Address Line1 + type: string + addressLine2: + description: The number and street address of the address. + example: Apt. 8 + title: Address Line2 + type: string + city: + $ref: '#/components/schemas/city' + countryCodeA3: + $ref: '#/components/schemas/countryCodeA3' + createdDateTime: + $ref: '#/components/schemas/createdDateTime' + customReference: + $ref: '#/components/schemas/customReference' + isHidden: + $ref: '#/components/schemas/isHidden' + postalCode: + $ref: '#/components/schemas/postalCode' + state: + description: The state or region of the address. + example: WA + title: State + type: string + updatedDateTime: + $ref: '#/components/schemas/updatedDateTime' + title: '=Address Response' + type: object + areaCode: + description: The 1 to 6 digit area code associated with the phone number. + example: '435' + title: Area Code + type: string + xml: + name: AreaCode + city: + description: The city of the address. + example: Raleigh + title: City + type: string + xml: + name: City contact: nullable: false properties: @@ -14103,6 +14941,158 @@ components: - email - phoneNumber type: object + countryCodeA3: + description: Country code of the address in ISO 3166-1 alpha-3 format. + example: USA + title: Country Code + type: string + xml: + name: CountryCodeA3 + countryCoverage: + properties: + countryCodeA3: + $ref: '#/components/schemas/countryCodeA3' + phoneNumberType: + $ref: '#/components/schemas/phoneNumberType' + regions: + items: + $ref: '#/components/schemas/region' + type: array + xml: + name: Regions + wrapped: true + type: object + xml: + name: CountryCoverage + countryCoverages: + items: + $ref: '#/components/schemas/countryCoverage' + type: array + xml: + name: CountryCoverages + wrapped: true + countrySetting: + properties: + additionalDetails: + $ref: '#/components/schemas/additionalDetails' + countryCodeA3: + $ref: '#/components/schemas/countryCodeA3' + features: + description: List of features configured for the specified countryCodeA3 + items: + properties: + featureName: + description: Feature Name + example: Ordering + type: string + xml: + name: FeatureName + isDisabled: + description: Feature Status + example: true + type: boolean + xml: + name: IsDisabled + type: object + xml: + name: Feature + type: array + xml: + name: Features + wrapped: true + phoneNumberType: + $ref: '#/components/schemas/phoneNumberType' + type: object + xml: + name: CountrySetting + countrySettings: + items: + $ref: '#/components/schemas/countrySetting' + type: array + xml: + name: CountrySettings + wrapped: true + createAddressRequest: + properties: + addressLine1: + description: The number and street address of the address. + example: 14111 NE 145th St + title: Address Line1 + type: string + addressLine2: + description: The number and street address of the address. + example: Apt. 8 + title: Address Line2 + type: string + city: + $ref: '#/components/schemas/city' + countryCodeA3: + $ref: '#/components/schemas/countryCodeA3' + customReference: + $ref: '#/components/schemas/customReference' + isHidden: + $ref: '#/components/schemas/isHidden' + postalCode: + $ref: '#/components/schemas/postalCode' + state: + description: The state or region of the address. + example: WA + title: State + type: string + title: Create Address Request + type: object + createUpdateAddressLink: + properties: + href: + description: URI of the link. + example: /accounts/{accountId}/addresses/{addressId} + type: string + method: + description: HTTP method to be used. + example: GET + type: string + rel: + description: Specifies the link to get the updated or created address. + example: RelatedResource + type: string + title: Create Address Link + type: object + createUpdateAddressLinks: + items: + oneOf: + - $ref: '#/components/schemas/selfLink' + - $ref: '#/components/schemas/createUpdateAddressLink' + title: Links + type: array + createUpdateAddressResponse: + properties: + data: + properties: + address: + $ref: '#/components/schemas/addressResponse' + type: object + errors: + example: [] + items: + $ref: '#/components/schemas/error' + type: array + links: + $ref: '#/components/schemas/createUpdateAddressLinks' + title: Update Address Response + type: object + createdDateTime: + description: The created date time in ISO 8601 format. + example: '2015-03-11T04:09:25.399Z' + type: string + customReference: + description: >- + Customer reference. It can be used for your own reference, e.g. to + uniquely identify one of your customers. + example: home_office + maxLength: 64 + minLength: 1 + title: Customer Reference + type: string denialReasonDescription: description: Denial reason explanation example: Disallowed Content - Gambling @@ -14119,6 +15109,65 @@ components: pattern: >- ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ type: string + error: + properties: + code: + description: >- + An application-specific error code for services with extensive error + scenarios to supplement `description`. + example: 51130 + format: int32 + minimum: 4 + type: integer + description: + description: >- + A human-readable explanation that SHOULD be specific to this + occurrence of the problem. + example: There was an issue with a field in your request body + type: string + id: + description: A unique identifier for this particular instance of this problem. + example: optional-error-id + type: string + meta: + description: >- + A meta object containing application-specific information or + non-standard metadata about the error. + type: object + source: + $ref: '#/components/schemas/errorSource' + type: + description: >- + A short, human-readable summary of the problem that SHOULD NOT + change from occurrence to occurrence of the problem. + example: REQUEST_ERROR + type: string + required: + - description + title: Error + type: object + errorSource: + properties: + field: + description: A string indicating which request body field caused the error. + example: someField + type: string + header: + description: A string indicating which header field caused the error. + example: someHeader + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: someParameter + type: string + reference: + description: >- + A string that references a resource ID or path to the resource (or + non-existent resource) causing the error. + example: /some/reference + type: string + title: Error Source + type: object failureWebhookRequest: properties: accountId: @@ -14163,6 +15212,56 @@ components: type: string type: object type: object + genericAddressResponse: + properties: + data: + properties: + address: + $ref: '#/components/schemas/addressResponse' + type: object + errors: + example: [] + items: + $ref: '#/components/schemas/error' + type: array + links: + $ref: '#/components/schemas/addressLinks' + title: Address Response + type: object + genericError: + properties: + errors: + items: + $ref: '#/components/schemas/error' + nullable: true + type: array + required: + - errors + title: Generic Error + type: object + getAddressFieldsResponse: + properties: + data: + properties: + addressFields: + items: + $ref: '#/components/schemas/addressFieldSchema' + type: array + type: object + errors: + example: [] + items: + $ref: '#/components/schemas/error' + type: array + title: Get Address Fields Response + type: object + isHidden: + description: >- + Hide Address. It can be used to hide the address when it is no longer + needed. + example: false + title: Hide Address + type: boolean jsonPatch: items: $ref: '#/components/schemas/jsonPatchItem' @@ -14193,6 +15292,64 @@ components: - op - path type: object + listAddressesLinks: + items: + oneOf: + - $ref: '#/components/schemas/selfLink' + - $ref: '#/components/schemas/listPrevPageAddressesLink' + - $ref: '#/components/schemas/listNextPageAddressesLink' + title: Links + type: array + listAddressesResponse: + properties: + data: + properties: + addresses: + items: + $ref: '#/components/schemas/addressResponse' + type: array + type: object + errors: + example: [] + items: + $ref: '#/components/schemas/error' + type: array + links: + $ref: '#/components/schemas/listAddressesLinks' + title: List Addresses Response + type: object + listNextPageAddressesLink: + properties: + href: + description: URI of the link. + example: /accounts/{accountId}/addresses?afterCursor={cursorId} + type: string + method: + description: HTTP method to be used. + example: GET + type: string + rel: + description: Specifies the link to next page + example: RelatedResource + type: string + title: Address Link for Next Page + type: object + listPrevPageAddressesLink: + properties: + href: + description: URI of the link. + example: /accounts/{accountId}/addresses?beforeCursor={cursorId} + type: string + method: + description: HTTP method to be used. + example: GET + type: string + rel: + description: Specifies the link to previous page + example: RelatedResource + type: string + title: Address Link for Previous Page + type: object lnpPortInfoForGivenStatus: properties: ActualFOCDate: @@ -14337,6 +15494,136 @@ components: name: OrderCreateDate type: object type: object + phoneNumberType: + description: Phone number type + enum: + - GEOGRAPHIC + - NATIONAL + - MOBILE + - TOLL_FREE + - SHARED_COST + example: MOBILE + title: Phone Number Type + type: string + xml: + name: PhoneNumberType + portingLosingCarriersResponseSchema: + properties: + data: + properties: + losingCarriers: + items: + properties: + name: + description: The losing carrier name. + example: Losing Carrier 1 + title: Losing Carrier Name + type: string + type: object + type: array + type: object + errors: + example: [] + items: + $ref: '#/components/schemas/error' + type: array + links: + $ref: '#/components/schemas/selfLink' + title: List Addresses Response + type: object + postalCode: + description: The postal code of the address. + example: '98072' + title: Postal Code + type: string + product: + properties: + features: + items: + description: Feature Name + example: Ordering + type: string + xml: + name: Feature + type: array + xml: + name: Features + wrapped: true + name: + description: Product Name + example: NumberManagement + type: string + xml: + name: Name + type: object + xml: + name: Product + productWithCountrySettings: + properties: + countrySettings: + $ref: '#/components/schemas/countrySettings' + features: + items: + description: Feature Name + example: Ordering + type: string + xml: + name: Feature + type: array + xml: + name: Features + wrapped: true + name: + description: Product Name + example: NumberManagement + type: string + xml: + name: Name + type: object + xml: + name: Product + region: + properties: + areaCode: + $ref: '#/components/schemas/areaCode' + city: + $ref: '#/components/schemas/city' + type: object + xml: + name: Region + responseStatus: + properties: + description: + description: 'Detailed explanation about error ' + example: A supplied phoneNumberType within '[SPECIALLL]' is invalid. + type: string + xml: + name: Description + errorCode: + description: Numeric designation of corresponding error + example: 4010 + type: integer + xml: + name: ErrorCode + type: object + xml: + name: ResponseStatus + selfLink: + properties: + href: + description: URI of the link. + example: /self/uri + type: string + method: + description: HTTP method to be used. + example: GET + type: string + rel: + description: Specifies the relationship between this link and the resource. + example: SelfResource + type: string + title: Self Link + type: object shortCode: description: Short code registration. properties: @@ -14884,52 +16171,6 @@ components: - is required - can not be empty type: object - telephoneNumberDetail: - description: Returned when `enableTnDetail=True` - properties: - city: - example: MICCO - type: string - xml: - name: City - fullNumber: - example: 17722029845 - type: string - xml: - name: FullNumber - lata: - example: 46018 - type: number - xml: - name: LATA - rateCenter: - example: SEBASTIAN - type: string - xml: - name: RateCenter - state: - example: FL - type: string - xml: - name: State - tier: - example: 0 - type: number - xml: - name: Tier - vendorId: - example: 49 - type: number - xml: - name: VendorId - vendorName: - example: Bandwidth CLEC - type: string - xml: - name: VendorName - type: object - xml: - name: TelephoneNumberDetail tfPhoneNumber: description: Toll-free telephone number in E.164 format example: '+18005555555' @@ -15022,6 +16263,40 @@ components: example: abc-d8569gh type: string type: object + unsupportedFeatures: + description: Excluded Features + items: + properties: + addressCriteria: + items: + properties: + description: + description: >- + A human-readable explanation that SHOULD be specific to this + occurrence of the problem. + example: 'missing fields: addressLine2' + type: string + type: object + type: array + featureName: + description: A unique identifier for feature. + example: EMERGENCY + type: string + type: object + title: Excluded Features + type: array + updateAddressRequest: + properties: + customReference: + $ref: '#/components/schemas/customReference' + isHidden: + $ref: '#/components/schemas/isHidden' + title: Update Address Request + type: object + updatedDateTime: + description: The updated date time in ISO 8601 format. + example: '2015-03-11T04:09:25.399Z' + type: string useCase: example: 2FA maxLength: 500 @@ -15042,6 +16317,47 @@ components: items: type: string type: array + validateAddressLink: + properties: + href: + description: URI of the link. + example: /accounts/{accountId}/addresses + type: string + method: + description: HTTP method to be used. + example: POST + type: string + rel: + description: Specifies the link to create the address. + example: RelatedResource + type: string + title: Validate Address Link + type: object + validateAddressLinks: + items: + oneOf: + - $ref: '#/components/schemas/selfLink' + - $ref: '#/components/schemas/validateAddressLink' + title: Links + type: array + validateAddressResponse: + properties: + data: + properties: + address: + $ref: '#/components/schemas/createAddressRequest' + unsupportedFeatures: + $ref: '#/components/schemas/unsupportedFeatures' + type: object + errors: + example: [] + items: + $ref: '#/components/schemas/error' + type: array + links: + $ref: '#/components/schemas/validateAddressLinks' + title: Validate Address Response + type: object verificationRequest: properties: additionalInformation: @@ -15196,8 +16512,11 @@ info: Bandwidth's Account and Number Management API - For the previous documentation visit - [v2.dev.bandwidth.com](https://v2.dev.bandwidth.com/numbers/apiReference.html). + ## Early Access Feature + + The V2 APIs are still in early access phase and are not ready for general + use. Please contact your Bandwidth Account Manager or Bandwidth Support to + request access to these APIs. ### Disclaimer @@ -15290,114 +16609,248 @@ paths: summary: Retrieve account tags: - Account - /accounts/{accountId}/addresses: + /accounts/{accountId}/activationRequirements: get: - description: GET is used to retrieve all addresses. - operationId: GetAllAddresses - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: >- - Search criterion for address by its locationid. Cannot be combined - with type. Always returns E911 addresses. - example: 47950147-9c58-407c-bcc4-e88743b20db5 - in: query - name: e911locationid - required: false - schema: - type: string - - description: Search criterion for addresses by their type. - example: e911 - in: query - name: type - required: true - schema: - type: string - - description: >- - An ID of the first element in a page. This value will indicate the - first value, not the page number, of the initial entry in the page - being requested.
      It can be an id of address. The initial page is - tagged with the ID `1`. - example: '3' - in: query - name: page - required: false - schema: - default: '1' - type: string - - description: The number of items to include in a page. - example: 5000 - in: query - name: size - required: false - schema: - default: 500 - type: integer - - description: The text to search simultaneously through e911locationIds. - example: name - in: query - name: suggestions - required: false - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 1 - - Link=<http://admin.localhost:8080/api/accounts/8000259/addresses?type=e911&page=1&size=500>;rel="first"; - Link=<http://localhost:8080/api/accounts/8000259/addresses?type=E911&page=501&size=500>;rel="next"; - - -
      - 207 - - - Elmastar - AlternateStar - - - Carpinteriaaly - NY - 93019 - - - United States - E911 - 2 - VALID -
      -
      -
      - schema: - $ref: '#/components/schemas/AddressesResponseWrapper' + description: >- + Some numbers have to be activated before the service can be enabled by + Bandwidth. Activating a number is done by providing an activation that + links to the number, and a proof of residency if required. This API + provides all countries and number types that need activation. + operationId: ListActivationRequirements + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/countryCodeA3QueryParam' + - $ref: '#/components/parameters/phoneNumberTypeQueryParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + BEL + GEOGRAPHIC + WORLDWIDE + false + true + + + ITA + GEOGRAPHIC + WORLDWIDE + false + true + + + ZAF + GEOGRAPHIC + WORLDWIDE + false + true + + + TUR + GEOGRAPHIC + WORLDWIDE + false + true + + + + schema: + $ref: '#/components/schemas/ActivationRequirementResponse' description: >- - OK - the addresses retrieval request will return a list of all - addresses having specified type. + This response returns the list of cities, along with the Rate + Centers that serve those Activation Requirements. If available is + specified then the number of TNs available in that city / RC + combination is also included. '404': content: application/xml: examples: - example: + AccountNotFound: + description: >- + Below is an example of response API will produce when given + account is not found or locked. value: |- - - - The resource does not exist - - + + + 4022 + Account '2' does not exist or is locked + + + GlobalServicesNotEnabled: + description: >- + Below is an example of response API will produce when Global + Services are not enabled for an account. + value: |- + + + + 4026 + Global Services are currently disabled for the account. Please contact support if you believe Global Services should be enabled. + + schema: - $ref: '#/components/schemas/AddressesResponseNotFound' + $ref: '#/components/schemas/ActivationRequirementErrorResponse' description: >- - Not Found - if the account specified does not exist or is locked or - there are no addresses for specified search criteria it will result - in a not found. - summary: Retrieve all addresses + This error response is returned when Activation Requirements can not + be fetched for given customer/account because Global Services are + not enabled. In order to get activation requirement information, + Global Services setting must be enabled for the account. + summary: List Activation Requirements + tags: + - Compliance + /accounts/{accountId}/addresses: + get: + description: >- + List all addresses. The results are sorted by last updated time in + reverse chronological order by default without any query filters. + operationId: listAddresses + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/customReferenceQueryParam_eq_startsWith' + - $ref: '#/components/parameters/countryCodeA3QueryParam_eq' + - $ref: '#/components/parameters/cityQueryParam_eq_startsWith' + - $ref: '#/components/parameters/postalCodeQueryParam_eq_startsWith' + - $ref: '#/components/parameters/isHiddenQueryParam_eq' + - $ref: '#/components/parameters/beforeCursorQueryParam_eq' + - $ref: '#/components/parameters/afterCursorQueryParam_eq' + - $ref: '#/components/parameters/limitQueryParam_eq' + responses: + '200': + $ref: '#/components/responses/listAddressesResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + summary: List Addresses + tags: + - Addresses + post: + description: >- + Create an address. Use GET /adddresses/fields for a full list of country + specific address fields. + operationId: addAddress + requestBody: + $ref: '#/components/requestBodies/addAddressRequest' + responses: + '201': + $ref: '#/components/responses/createAddressResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + summary: Add Address + tags: + - Addresses + /accounts/{accountId}/addresses/validator: + post: + description: >- + Returns features that will NOT work for the entered address. Please note + that if a feature is absent from unsupportedFeatures, it does not + guarantee that it will pass validation and can be used. + operationId: validateAddress + requestBody: + $ref: '#/components/requestBodies/addAddressRequest' + responses: + '200': + $ref: '#/components/responses/validateAddressResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + summary: Validate Address + tags: + - Addresses + /accounts/{accountId}/addresses/{addressId}: + get: + description: Get an address. + operationId: getAddress + parameters: + - $ref: '#/components/parameters/addressIdPathParam' + responses: + '200': + $ref: '#/components/responses/getAddressResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + summary: Get Address + tags: + - Addresses + patch: + description: >- + Update an address. Use GET /adddresses/fields for a full list of country + specific address fields that can be updated. + operationId: updateAddress + parameters: + - $ref: '#/components/parameters/addressIdPathParam' + requestBody: + $ref: '#/components/requestBodies/updateAddressRequest' + responses: + '200': + $ref: '#/components/responses/updateAddressResponse' + '400': + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + summary: Update Address tags: - Addresses /accounts/{accountId}/aeuis: @@ -16115,7 +17568,7 @@ paths: name: areaCode required: false schema: - type: integer + type: string - description: Returns only the NPA NXX information within the specified state. example: NC in: query @@ -16178,17 +17631,118 @@ paths: $ref: >- #/components/schemas/SearchResultForAvailableNpaNxxErrorWrapper description: There are no phone numbers within the specified scope. - summary: Retrieves available Npa-Nxx tns + summary: Retrieves available Npa-Nxx tns [NANPA] tags: - Available Tns /accounts/{accountId}/availableNumbers: get: - description: |- + description: >- Retrieves the phone numbers according to the input parameters. -

      In this table are presented combinations of path parameters for different type of search:

      Search TypeRequired ParametersCombinational ParametersOptional Parameters
      Area CodeareaCoderateCenter (state required), city (state required), state, lata, zipquantity, enableTNDetail, protected
      NPA-NXXnpaNxxrateCenter (state required), city (state required), state, lata, zip, orderByquantity, enableTNDetail, protected
      NPA-NXX with Local Calling AreanpaNxxquantity, LCA, enableTNDetail, protected
      NPA-NXX-XnpaNxxxrateCenter (state required), city (state required), state, lata, zip, orderByquantity, enableTNDetail, protected
      NPA-NXX-X with Local Calling AreanpaNxxxrateCenter (state required), city (state required), state, lata, zipquantity, LCA, enableTNDetail, protected
      RateCenterrateCenter, statecity, areaCode/npaNxx/npaNxxx, lata, zip, orderByquantity, enableTNDetail, protected
      RateCenter with Local Calling ArearateCenter, statequantity, LCA, enableTNDetail, protected
      StatestaterateCenter, city, areaCode/npaNxx/npaNxxx, lata, zipquantity, enableTNDetail, protected
      Citystate, cityrateCenter, state, areaCode/npaNxx/npaNxxx, lata, zip, orderByquantity, enableTNDetail, protected
      Zip CodeziprateCenter (state required), city (state required), state, areaCode/npaNxx/npaNxxx, lata, orderByquantity, enableTNDetail, protected
      LATAlatarateCenter (state required), city (state required), state, areaCode/npaNxx/npaNxxx, zipquantity, enableTNDetail, protected
      Local VanitylocalVanitystate, areaCodeendsIn, quantity, protected, enableTNdetails
      TollFree VanitytollFreeVanityorderByquantity
      TollFree WildCardtollFreeWildCardPatternorderByquantity
      + + + In this table are presented combinations of path parameters for non US + and Canadian countries: + + | Search | Required Parameters | Combinational Parameters | Optional + Parameters | + + |:-------|:--------------------|:-------------------------|:--------------------| + + |Phone Number Type|phoneNumberType|areaCode, city, features|quantity, + enableTNDetail| + + |Area Code|areaCode|phoneNumberType, city, features|quantity, + enableTNDetail| + + |City|city|phoneNumberType, areaCode, features|quantity, enableTNDetail| + + |Product Features|features|phoneNumberType, areaCode, city|quantity, + enableTNDetail| + + + In this table are presented combinations of path parameters for + different type of search when countryCodeA3 is configured, or defaulted, + to USA and/or CAN: + + | Search | Required Parameters | Combinational Parameters | Optional + Parameters | + + |:-------|:--------------------|:-------------------------|:--------------------| + + |Area Code|areaCode|rateCenter (state required), city (state required), + state, lata, zip|quantity, enableTNDetail, protected| + + |NPA-NXX|npaNxx|rateCenter (state required), city (state required), + state, lata, zip, orderBy|quantity, enableTNDetail, protected| + + |NPA-NXX with Local Calling Area|npaNxx||quantity, LCA, enableTNDetail, + protected| + + |NPA-NXX-X|npaNxxx|rateCenter (state required), city (state required), + state, lata, zip, orderBy|quantity, enableTNDetail, protected| + + |NPA-NXX-X with Local Calling Area|npaNxxx|rateCenter (state required), + city (state required), state, lata, zip|quantity, LCA, enableTNDetail, + protected| + + |RateCenter|rateCenter, state|city, areaCode/npaNxx/npaNxxx, lata, zip, + orderBy|quantity, enableTNDetail, protected| + + |RateCenter with Local Calling Area|rateCenter, state||quantity, LCA, + enableTNDetail, protected| + + |State|state|rateCenter, city, areaCode/npaNxx/npaNxxx, lata, + zip|quantity, enableTNDetail, protected| + + |City|state, city|rateCenter, state, areaCode/npaNxx/npaNxxx, lata, zip, + orderBy|quantity, enableTNDetail, protected| + + |Zip Code|zip|rateCenter (state required), city (state required), state, + areaCode/npaNxx/npaNxxx, lata, orderBy|quantity, enableTNDetail, + protected| + + |LATA|lata|rateCenter (state required), city (state required), state, + areaCode/npaNxx/npaNxxx, zip|quantity, enableTNDetail, protected| + + |Local Vanity|localVanity|state, areaCode|endsIn, quantity, protected, + enableTNdetails| + + |TollFree Vanity|tollFreeVanity|orderBy|quantity| + + |TollFree WildCard|tollFreeWildCardPattern|orderBy|quantity| operationId: GetAvailableTns parameters: - $ref: '#/components/parameters/AccountIdPathParam' + - description: >- + Country code of the country in its ISO 3166-1 alpha-3 format. Note + that only one country code (i.e. USA, CAN, GBR etc.) is allowed when + configured by the user. The system defaults country code to search + for numbers in both United States and Canada (i.e. USA,CAN). + example: GBR + in: query + name: countryCodeA3 + required: false + schema: + default: USA,CAN + type: string + - $ref: '#/components/parameters/phoneNumberTypeQueryParam' + - $ref: '#/components/parameters/areaCodeQueryParam' + - $ref: '#/components/parameters/cityQueryParam' + - description: >- + The product features supported by number such as VOICE, + VOICE_OUTBOUND_NATIONAL, VOICE_OUTBOUND_INTERNATIONAL, + VOICE_OUTBOUND_TOLLFREE, EMERGENCY, MESSAGING_SMS. The query can be + used if you want to only list phone numbers that support certain + features. The system defaults to return phone numbers of all + features when the query parameter is not passed. Note that you can + specify multiple features by repeating the query parameter i.e. + features=VOICE&features=EMERGENCY. + example: VOICE + in: query + name: features + required: false + schema: + type: string - description: The desired quantity of requested numbers. example: 30 in: query @@ -16227,16 +17781,6 @@ paths: schema: default: false type: boolean - - description: >- -

      The 3-digit area code associated with the TN.

      • Allowed - number ranges are [2-9] for the first digit and [0-9] for both the - second and third digits.
      - example: 435 - in: query - name: areaCode - required: false - schema: - type: integer - description: >-

      The 6-digit prefix associated with the TN.

      • Allowed number ranges for NPA are [2-9] for the first digit and [0-9] for @@ -16273,15 +17817,6 @@ paths: required: false schema: type: string - - description: >- -

        The name of the city. NOTE: `State` becomes a required - parameter when searching by `city`.

        - example: RALEIGH - in: query - name: city - required: false - schema: - type: string - description:

        The two-letter abbreviation of the state the RateCenter is in

        example: NC in: query @@ -16332,27 +17867,157 @@ paths: responses: '200': content: + application/json: + examples: + NANPA TN Detail: + value: |- + { + "resultCount": 2, + "telephoneNumberDetailList": [ + { + "countryCodeA3": "USA", + "phoneNumberType": "GEOGRAPHIC", + "city": "CARY-RESEARCH TRIANGLE PARK", + "LATA": 426, + "rateCenter": "CARY-RTP", + "state": "NC", + "fullNumber": "+19193716651", + "tier": 0, + "vendorId": 49, + "vendorName": "Bandwidth CLEC" + }, + { + "countryCodeA3": "USA", + "phoneNumberType": "GEOGRAPHIC", + "city": "CARY-RESEARCH TRIANGLE PARK", + "LATA": 426, + "rateCenter": "CARY-RTP", + "state": "NC", + "fullNumber": "+19193716675", + "tier": 0, + "vendorId": 49, + "vendorName": "Bandwidth CLEC" + } + ] + } + Other TN Detail: + value: |- + { + "resultCount": 2, + "telephoneNumberDetailList": [ + { + "countryCodeA3": "NLD", + "phoneNumberType": "GEOGRAPHIC", + "city": "AMSTERDAM", + "areaCode": 20, + "tier": 0, + "fullNumber": "+131208908115" + }, + { + "countryCodeA3": "NLD", + "phoneNumberType": "NATIONAL", + "city": "AMSTERDAM", + "areaCode": 20, + "tier": 0, + "fullNumber": "+131208908116" + } + ] + } + TN Detail Disabled: + value: |- + { + "resultCount": 2, + "telephoneNumberList": [ + "+14354776112" + ] + } + schema: + $ref: '#/components/schemas/SearchResult' application/xml: examples: - example: + NANPA TN Detail: value: |- - 384 + 2 + + + USA + GEOGRAPHIC + CARY-RESEARCH TRIANGLE PARK + 426 + CARY-RTP + NC + +19193716651 + 0 + 49 + Bandwidth CLEC + + + USA + GEOGRAPHIC + CARY-RESEARCH TRIANGLE PARK + 426 + CARY-RTP + NC + +19193716675 + 0 + 49 + Bandwidth CLEC + + + + Other TN Detail: + value: |- + + + 2 + + + NLD + GEOGRAPHIC + AMSTERDAM + 20 + 0 + +31208908115 + + + NLD + NATIONAL + AMSTERDAM + 20 + 0 + +31208908116 + + + + TN Detail Disabled: + value: |- + + + 2 +14354776112 - +14357095160 schema: $ref: '#/components/schemas/SearchResult' - description: >- -

        A list of available numbers is provided. Additional information - is available if the queryParameter enableTNDetail is true. If no - numbers are available an empty SearchResult element is returned.

        + description: Created '400': content: + application/json: + examples: + example: + value: |- + { + "error": { + "code": 4010, + "description": "One of more required search parameters are null or empty, please refer to the api documentation" + } + } + schema: + $ref: '#/components/schemas/SearchResultError' application/xml: examples: example: @@ -16365,204 +18030,11 @@ paths: schema: - $ref: '#/components/schemas/SearchResultErrorWrapper' + $ref: '#/components/schemas/SearchResultError' description:

        Invalid/missing input parameter

        summary: Retrieve available tns tags: - Available Tns - /accounts/{accountId}/bdrs: - post: - deprecated: true - description: >- -

        Note - this API is being replaced with the /billingreports API - - we strongly recommend that you use that endpoint.

        This API - allows the retrieval of a ZIP file containing BDR records for a - specified date range. These BDR records are delivered as a ZIP - compressed comma separated values (CSV) file. The general flow of the - API calls required to retrieve these records is:

        1. POST a - request to the /bdrs resource, describing the date range for which the - BDR records are wished. This will initiate the construction of the zip - file.
        2. Examine the response from the POST. If the payload is - understandable and valid then a 202 accepted HTTP result code will be - returned indicating that the response file is being created.
        3. -
        4. Retrieve the Location Header from the Response to the POST. This - location header will contain the resource ID for the collection of BDRs - that will be returned once complete. Note that the fact that the ID has - been issued does not mean that the ZIP file is complete.
        5. -
        6. Interrogate the resource ID to check the status of the request. If a - 303 See Other response is received then the Location Header will contain - the resource path to the file. A typical browser response will be to - download the file. If a 200 OK is returned then the request is - considered valid, but the file is not ready for distribution.
        7. -
        8. Fetching the file can be done by issuing a GET to the resources path - in the Location Header mentioned above
        - operationId: CreateBDR - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - content: - application/xml: - examples: - example: - value: |- - - - 2015-04-01 - 2015-04-30 - - schema: - $ref: '#/components/schemas/Bdr' - responses: - '202': - content: - application/xml: - examples: - example: - value: |- - - - Your BDR archive is currently being constructed - - schema: - $ref: '#/components/schemas/BdrCreationResponse' - description: > - A 202 Accepted means that the request has been received and will be - processed. Processing the request takes time, so this does not - indicate that the information is available, it simply indicates that - the request has started processing. - - The response also includes header information in the Location Header - that can be used for retrieving the state of the request. - - An informative payload is also included in success and failure - cases. - '400': - content: - application/xml: - examples: - example: - value: |- - - - - 15501 - Invalid date range. Start date 2015-06-01 must be before end date 2015-04-30 - - - schema: - $ref: '#/components/schemas/BdrCreationErrorResponse' - description: > - A 400 response indicates that there was an error in processing the - payload, perhaps something like incorrectly formatted or chosen - dates. - summary: Create BDR in range - tags: - - Reports - /accounts/{accountId}/bdrs/{bdrid}: - get: - deprecated: true - description: >- -

        The bdr id resource will query the status of the bdr file that is - being generated. There are essentially two responses...

        • not - yet ready
        • ready, in which case the request is redirected to the - URL to actually download the file.

        A GET on the BDR ID will - return a still processing indication if the file creation has not - completed, or will redirect to the file to be downloaded.

        - operationId: GetBDRStatus - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: '' - in: path - name: bdrid - required: true - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - The requested BDR archive is still being constructed, please check back later - - schema: - $ref: '#/components/schemas/BdrRetrievalResponse' - description: > - A 200 OK means that the request is valid, but that the file is not - yet ready. The payload indicates the status. - '303': - description: > - A 303 response indicates that the file is ready. The 303 should - redirect the request to the URL in the Location header, which will, - in most cases, initiate the file download. - '400': - content: - application/xml: - examples: - example: - description: example - value: |- - - - - 1008 - '44a90e00-a7b6asdfsdafasdfdasf-6659-9112-e7f5dfa48231' is not a valid UUID - - - schema: - $ref: '#/components/schemas/BdrRetrievalErrorResponse' - description: | - A 400 indicates that the BDR id is malformed.

        - '404': - content: - application/xml: - examples: - example: - description: example - value: |- - - - - 15001 - BDR archive was not found - - - schema: - $ref: '#/components/schemas/BdrRetrievalErrorResponse' - description: | - A 404 indicates that the BDR id cannot be found. - summary: Retrieve BDR status or redirect to download - tags: - - Reports - /accounts/{accountId}/bdrs/{bdrid}/file: - get: - deprecated: true - description: >- - A GET on the /file resource subtending a BDR ID will cause the download - of the file. Executing this resource path within a browser will cause - the download of the file. - operationId: DownloadBDR - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: '' - in: path - name: bdrid - required: true - schema: - type: string - responses: - '200': - content: - application/xml: {} - description: >- - A 200 OK indicates that the request for the file download was - accepted and will be processed. - summary: Download BDR - tags: - - Reports /accounts/{accountId}/billingreports: get: description: >- @@ -19674,43 +21146,10 @@ paths: operationId: GetDisconnectedTns parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: >- - The first disconnected number on the desired page. `1` is used as a - convention for the first disconnected number in the collection. - in: query - name: page - required: true - schema: - default: '1' - type: string - - description: The number of records that should be returned by the query - example: 30 - in: query - name: size - required: true - schema: - default: 300 - maximum: 5000 - minimum: 1 - type: integer - - description: >- - The starting date of a search in yy-mm-dd format. startdate and - enddate must be used as a pair. - example: 22-10-31 - in: query - name: startdate - required: false - schema: - type: string - - description: >- - The ending date of a search in yy-mm-dd format. startdate and - enddate must be used as a pair. - example: 22-11-31 - in: query - name: enddate - required: false - schema: - type: string + - $ref: '#/components/parameters/pageQueryParam' + - $ref: '#/components/parameters/sizeQueryParam' + - $ref: '#/components/parameters/startdateQueryParam' + - $ref: '#/components/parameters/enddateQueryParam' responses: '200': content: @@ -19739,24 +21178,8 @@ paths: operationId: GetTotalNumberDisconnects parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: >- - The starting date of a search in yy-mm-dd format. startdate and - enddate must be used as a pair. - example: 22-10-31 - in: query - name: startdate - required: false - schema: - type: string - - description: >- - The end date of a search in yy-mm-dd format. startdate and enddate - must be used as a pair. - example: 22-11-31 - in: query - name: enddate - required: false - schema: - type: string + - $ref: '#/components/parameters/startdateQueryParam' + - $ref: '#/components/parameters/enddateQueryParam' responses: '200': content: @@ -19784,27 +21207,10 @@ paths: operationId: ReadDisconnectOrders parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: >- - The disconnect order-id of the first record on the page. "1" is - used as a convention for the first disconnect order in the - collection - example: 59e69657-44d2-4e7e-90f8-777988be4aef - in: query - name: page - required: false - schema: - default: '1' - type: string - - description: The number of records that should be returned by the query - example: 30 - in: query - name: size - required: false - schema: - default: 300 - maximum: 5000 - minimum: 1 - type: integer + - $ref: '#/components/parameters/pageQueryParam' + - $ref: '#/components/parameters/sizeQueryParam' + - $ref: '#/components/parameters/startdateQueryParam' + - $ref: '#/components/parameters/enddateQueryParam' - description: The user ID associated with disconnected phone numbers example: jbm in: query @@ -19819,24 +21225,6 @@ paths: required: false schema: type: string - - description: >- - Retrieves all phone numbers disconnected after this date. The start - date also requires the end date to be specified. - example: 22-10-31 - in: query - name: startdate - required: false - schema: - type: string - - description: >- - Retrieves all phone numbers disconnected before this date. The end - date also requires the start date to be specified. - example: 22-11-31 - in: query - name: enddate - required: false - schema: - type: string responses: '200': content: @@ -19898,9 +21286,24 @@ paths: - Disconnecting Numbers post: description: >- - Use this method to disconnect telephone numbers from the account. Please - visit Guides and - Tutorials + Use this method to disconnect telephone numbers from the account. + + + In this table are presented capabilities that are not universally + available. The following request parameters are only allowed for numbers + from specific region/country and users of specific type: + + | Number Region | User Scope | Request Parameter | + + |:--------------|:-----------|:------------------| + + |NANPA|-|Protected| + + |-|Bandwidth Internal|DisconnectMode = "PURGE"| + + + Please visit Guides and + Tutorials for more details. operationId: CreateDisconnectOrder parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -20908,6 +22311,107 @@ paths: summary: Fetch DLDA order history tags: - DLDA + /accounts/{accountId}/e911Addresses: + get: + description: GET is used to retrieve all e911 addresses. + operationId: GetAllE911Addresses + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: Search criterion for e911 address by its locationid. + example: 47950147-9c58-407c-bcc4-e88743b20db5 + in: query + name: e911locationid + required: false + schema: + type: string + - description: >- + An ID of the first element in a page. This value will indicate the + first value, not the page number, of the initial entry in the page + being requested.
        It can be an id of address. The initial page is + tagged with the ID `1`. + example: '3' + in: query + name: page + required: false + schema: + default: '1' + type: string + - description: The number of items to include in a page. + example: 5000 + in: query + name: size + required: false + schema: + default: 500 + type: integer + - description: The text to search simultaneously through e911locationIds. + example: name + in: query + name: suggestions + required: false + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 1 + + Link=<http://admin.localhost:8080/api/accounts/8000259/addresses?page=1&size=500>;rel="first"; + Link=<http://localhost:8080/api/accounts/8000259/addresses?page=501&size=500>;rel="next"; + + +
        + 207 + + + Elmastar + AlternateStar + + + Carpinteriaaly + NY + 93019 + + + United States + E911 + 2 + VALID +
        +
        +
        + schema: + $ref: '#/components/schemas/AddressesResponseWrapper' + description: >- + OK - the addresses retrieval request will return a list of all + addresses having specified search criteria. + '404': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/AddressesResponseNotFound' + description: >- + Not Found - if the account specified does not exist or is locked or + there are no addresses for specified search criteria it will result + in a not found. + summary: List E911 addresses [NANPA] + tags: + - Addresses /accounts/{accountId}/e911s: get: description: >- @@ -23648,358 +25152,6 @@ paths: summary: Update emergency notification recipient tags: - Emergency Notification - /accounts/{accountId}/externalTns: - get: - description: >- -

        Retrieve a list of the externalTns orders that are associated with - the account.

        A maximum of 1,000 orders can be retrieved per - request. If no date range or specific query parameter (marked by * below) is provided, the order results will be - limited to the last two years.

        - operationId: ListExternalTnsOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: The status of the TN Option order being searched for. - example: PARTIAL - in: query - name: status - required: false - schema: - items: - type: string - type: array - - description: A Telephone Number (TN) that is referenced in the order. - example: '+19199918388' - in: query - name: tn - required: true - schema: - type: string - - description: >- - The Customer Order ID is an ID assigned by the account owner to - provide a reference number for the TN Option order. - example: ABCCorp12345 - in: query - name: customerOrderId - required: true - schema: - type: string - - description: >- - Checks the order's creation date against this value. Orders that - have a creation date after this date will be included. Format is - yyyy-MM-dd. - example: '2013-10-22' - in: query - name: createdDateFrom - required: false - schema: - type: string - - description: >- - Checks the order's creation date against this value. Orders that - have a creation date before this date will be included. Format is - yyyy-MM-dd. - example: '2013-10-25' - in: query - name: createdDateTo - required: false - schema: - type: string - - description: >- - This search parameter represents the internal Bandwidth Dashboard - API ID that has been assigned to the TN Option Order. This - parameter is the first few characters of the internal ID - the - entire ID does not need to be specified. - example: ed1c0bed-e2 - in: query - name: orderIdFragment - required: true - schema: - type: string - - description: >- - Whether or not the results should be restricted to IMPORT or REMOVE - orders. - example: REMOVE - in: query - name: action - required: false - schema: - type: string - - description: >- - Whether or not the results should be restricted to CARRIER or - SUBSCRIBER orders. - example: SUBSCRIBER - in: query - name: loaType - required: false - schema: - default: ALL - type: string - - description: >- - For Date-based searches, the starting date of a date range - (inclusive) that will be used to find External Tn Orders that were - modified within the date range. It is in the form yyyy-MM-dd. - example: '2013-10-22' - in: query - name: modifiedDateFrom - required: false - schema: - type: string - - description: >- - For Date-based searches, the ending date of a date range (inclusive) - that will be used to find External Tn Orders that were modified - within the date range. It is in the form yyyy-MM-dd. - example: '2013-10-25' - in: query - name: modifiedDateTo - required: false - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 2 - - 2018-01-09T02:58:04.615Z - 9900012 - sjm - bf1305b8-8998-1111-2222-51ba3ce52d4e - 2018-01-09T02:58:05.298Z - 65487 - - +12106078250 - +12109678273 - +12109678331 - +12109678337 - +12266401468 - - IMPORT - SUBSCRIBER - PARTIAL - - - 13552 - Telephone numbers already exist. - - +12262665583 - - - - 885544 - - - 2018-01-09T02:58:04.609Z - 9900012 - sjm - b63d342b-9400-4da9-1111-ca7a3889e5ec - 2018-01-09T02:58:04.962Z - 12345 - - +13068035413 - +13068035414 - +13437003595 - +14387977665 - - IMPORT - PARTIAL - - - 13552 - Telephone numbers already exist. - - +14387977665 - +15817036252 - - - - 666555 - - - schema: - $ref: '#/components/schemas/ExternalTnsOrders' - description: >- - The descriptive payload for the externalTns Orders query provides - information about the externalTns Orders found by the query, - including the data associated with the order, the state of the - order, and a list of the successfully uploaded Telephone Numbers, - and descriptions of any encountered errors. - '404': - content: - application/xml: - schema: - $ref: '#/components/schemas/ExternalTnsOrdersError' - description: No externalTns orders can be found that match the query parameters. - summary: List external tns orders - tags: - - External Tn - post: - description: >- -

        Create a externalTns order to add or remove telephone numbers - provided by the customer from the Bandwidth network.

        Note: the - attempt to import a telephone number that is already present in the - account will not create an error, but will reset all of the - attributes of that telephone number in the Dashboard system as if the - telephone number was being imported for the first time.

        - operationId: CreateExternalTnsOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - content: - application/xml: - examples: - example: - value: |- - - - ICPA123ABC - 743 - 303716 - [ IMPORT | REMOVE ] - [ CARRIER | SUBSCRIBER ] - - +19199918388 - +14158714245 - +14352154439 - +14352154466 - - - schema: - $ref: '#/components/schemas/ExternalTnsOrderRequest' - responses: - '201': - content: - application/xml: - examples: - example: - value: |- - - - - SJM000001 - 2018-01-20T02:59:54.000Z - 9900012 - smckinnon - b05de7e6-0cab-4c83-81bb-9379cba8efd0 - 2018-01-20T02:59:54.000Z - 202 - 520565 - - +19199918388 - +14158714245 - +14352154439 - +14352154466 - - IMPORT - CARRIER - RECEIVED - - - - schema: - $ref: '#/components/schemas/ExternalTnsOrderResponse' - description: A 201 response indicates that an order has been created. - '400': - content: - application/xml: - examples: - example: - value: |- - - - - 5081 - Action is absent or invalid. Possible values IMPORT, REMOVE - - - schema: - $ref: '#/components/schemas/ExternalTnsOrderErrorResponse' - description: >- - Bad Request - Indicates that the order could not be created. Error - text and an error code will be provided in the ErrorList element. - summary: Create external tns order - tags: - - External Tn - /accounts/{accountId}/externalTns/{orderId}: - get: - description:

        Retrieve information about a externalTns order with specified ID.

        - operationId: GetExternalTnsOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: '' - in: path - name: orderId - required: true - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 2016-01-15T11:36:52.727Z - 1 - jbm - 65e03a35-6b97-48a5-8126-f47bad02df2a - 2018-01-10T05:20:47.661Z - PARTIAL - ICPA123ABC - 743 - 303716 - [ IMPORT | REMOVE ] - [ CARRIER | SUBSCRIBER ] - - +19199918388 - +14158714245 - +14352154439 - +14352154466 - - - - [int] - [string] - - +19199918388 - - - - - schema: - $ref: '#/components/schemas/ExternalTnsOrderResponse' - description: >- -

        The descriptive payload for the externalTns query provides a - broad range of information about the externalTns order identified in - the URL. Included amongst the information - is...

        • ErrorList - the errors discovered with codes and - explanations
        • ProcessingStatus(RECEIVED, PROCESSING, - COMPLETE, PARTIAL, FAILED) - the overall status of the - order
        - '404': - content: - application/xml: - examples: - example: - value: |- - - - - The resource does not exist - - - schema: - $ref: '#/components/schemas/ExternalTnsOrderErrorResponse' - description:

        NOT FOUND - the order id does not exist in the system

        - summary: Retrieve external tns order - tags: - - External Tn /accounts/{accountId}/geocodeRequest: post: description: >- @@ -24163,7 +25315,7 @@ paths: description: >-

        Service unavailable - for some reason service is temporary unavailable.

        - summary: Validate address + summary: Validate E911 address [NANPA] tags: - Addresses /accounts/{accountId}/hosts: @@ -24229,9 +25381,9 @@ paths: /accounts/{accountId}/importTnChecker: post: description: >- -

        Request portability information on a set of TNs. SipPeerId is an + Request importability information on a set of TNs. SipPeerId is an optional value. If SipPeerId is not specified, the id of the default - Sip-Peer for the provided SiteId will be used.

        + Sip-Peer for the provided SiteId will be used. operationId: CreateRequestImportTnChecker parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -24292,11 +25444,11 @@ paths: 7201 - +161746052083 is not a valid NANPA telephone number. + +161746052083 is not a valid NANP telephone number. 7201 - +161746052082 is not a valid NANPA telephone number. + +161746052082 is not a valid NANP telephone number. schema: @@ -24307,84 +25459,37 @@ paths: empty.
      • List of TNs is more than 5000 TNs.
      • The account does not have the necessary (IMPORT_TNS) flag.
      • TNs are invalid (they are not actual TNs, and there are duplicates).
      - summary: Check Tns hostability + summary: Check Tns importability tags: - Hosted Messaging - /accounts/{accountId}/importTnOrders: + /accounts/{accountId}/importTnOrders/messaging: get: description: > Retrieves the importtnorders requests for the given account ID. A maximum of 1,000 orders can be retrieved per request. If no date range - or specific query parameter (marked by * below) - is provided, the order results will be limited to the last two years. - operationId: ReadImportTnOrders + or required query parameter is provided, the order results will be + limited to the last two years. + + + In this table are presented capabilities that are not universally + available. The following request query parameters are only allowed for + numbers from specific region/country: + + | Number Region | Request Query Parameter | + + |:--------------|:------------------------| + + |NANP|loaType| + operationId: ReadImportMessagingTnOrders parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: The status of the importTnOrder being searched for. - example: PARTIAL - in: query - name: status - required: false - schema: - items: - type: string - type: array - - description: A Telephone Number (TN) that is referenced in the order - example: '+19199918388' - in: query - name: tn - required: true - schema: - type: string - - description: >- - The Customer Order ID is an ID assigned by the account owner to - provide a reference number for the importTnOrder. - example: ABCCorp12345 - in: query - name: customerOrderId - required: true - schema: - type: string - - description: >- - Checks the order's creation date against this value. Orders that - have a creation date after this date will be included. Format is - yyyy-MM-dd - example: '2013-10-22' - in: query - name: createdDateFrom - required: false - schema: - type: string - - description: >- - Checks the order's creation date against this value. Orders that - have a creation date before this date will be included. Format is - yyyy-MM-dd - example: '2013-10-25' - in: query - name: createdDateTo - required: false - schema: - type: string - - description: >- - For Date-based searches, the starting date of a date range - (inclusive) that will be used to find Import Tn Orders that were - modified within the date range. It is in the form yyyy-MM-dd. - example: '2013-10-22' - in: query - name: modifiedDateFrom - required: false - schema: - type: string - - description: >- - For Date-based searches, the ending date of a date range (inclusive) - that will be used to find Import Tn Orders that were modified within - the date range. It is in the form yyyy-MM-dd. - example: '2013-10-25' - in: query - name: modifiedDateTo - required: false - schema: - type: string + - $ref: '#/components/parameters/StatusQueryParam' + - $ref: '#/components/parameters/TnQueryParam' + - $ref: '#/components/parameters/CustomerOrderIdQueryParam' + - $ref: '#/components/parameters/CreatedDateFromQueryParam' + - $ref: '#/components/parameters/CreatedDateToQueryParam' + - $ref: '#/components/parameters/ModifiedDateFromQueryParam' + - $ref: '#/components/parameters/ModifiedDateToQueryParam' - description: Indentify the LoaType on TNs. example: SUBSCRIBER in: query @@ -24438,7 +25543,7 @@ paths: associated with the order, the state of the order, and a list of the successfully imported Telephone Numbers, and descriptions of any encountered errors. - summary: List Import Tn orders + summary: List Import Messaging Tn orders tags: - Hosted Messaging post: @@ -24451,7 +25556,21 @@ paths: the telephone numbers were successfully imported and "PARTIAL" if some of the telephone numbers were imported. A failed order with will have a staus of "FAILED" and no telephone numbers would have been imported. - operationId: CreateImportTnOrder + + + The following request parameters are only required for numbers from + specific region/country: + + | Number Region | Request Parameter | + + |:--------------|:------------------------| + + |NANP|LoaAuthorizingPerson| + + |NANP|LoaType| + + |NANP|Subscriber| + operationId: CreateImportMessagingTnOrder parameters: - $ref: '#/components/parameters/AccountIdPathParam' requestBody: @@ -24462,28 +25581,28 @@ paths: value: |- - ICPA123ABC + ICPA123ABC 743 - 303716 - - ABC Inc. - - 11235 - Back - Denver - CO - 27541 - Canyon - - - The Authguy - CARRIER - - +19199918388 - +14158714245 - +14352154439 - +14352154466 - + 303716 + + ABC Inc. + + 11235 + Back + Denver + CO + 27541 + Canyon + + + The Authguy + CARRIER + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + schema: $ref: '#/components/schemas/ImportTnOrderRequest' @@ -24557,426 +25676,16 @@ paths: The order failed; one of the input parameters is invalid. The error text and an error code will be provided in the ErrorList element.

      - summary: Import Tn order + summary: Import Messaging Tn order tags: - Hosted Messaging - /accounts/{accountId}/importTnOrders/voice: - get: - description: > - Retrieves the ImportVoiceTnOrder requests for the given account ID. A - maximum of 1,000 orders can be retrieved per request. If no date range - or specific query parameter (marked by * below) - is provided, the order results will be limited to the last two years. - operationId: ReadImportVoiceTnOrders - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/StatusQueryParam' - - $ref: '#/components/parameters/TnQueryParam' - - $ref: '#/components/parameters/CustomerOrderIdQueryParam' - - $ref: '#/components/parameters/CreatedDateFromQueryParam' - - $ref: '#/components/parameters/CreatedDateToQueryParam' - - $ref: '#/components/parameters/ModifiedDateFromQueryParam' - - $ref: '#/components/parameters/ModifiedDateToQueryParam' - - $ref: '#/components/parameters/SipPeerIdQueryParam' - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 2 - - 14 - 1 - CustomerOrderId - systemUser - 2019-01-24T11:08:09.770Z - 2019-01-24T11:08:09.770Z - import_voice_tn_orders - COMPLETE - 211a103c-5f9c-4117-8833-c574bdc390fd - - - 14 - 2 - CustomerOrderId - systemUser - 2019-01-24T10:43:16.934Z - 2019-01-24T10:43:16.934Z - import_voice_tn_orders - PARTIAL - 8dc32f09-2329-4c73-b702-526f46b02712 - - - schema: - $ref: '#/components/schemas/ImportVoiceTnOrdersResponseList' - description: >- - The descriptive payload for the importVoiceTnOrders query provides - information about the orders found by the query, including the data - associated with the order, the state of the order, and a list of the - successfully imported Telephone Numbers, and descriptions of any - encountered errors. - summary: List Import Voice Tn orders - tags: - - Hosted Voice - post: - description: >- - Creates an ImportVoiceTnOrders request to add numbers under the given - site ID and sipPeer ID as specified in the body. - - A successfully submitted order will have a status of "RECEIVED". A - successfully completed order will have a status of "COMPLETE" if all of - the telephone numbers were successfully imported and "PARTIAL" if some - of the telephone numbers were imported. A failed order with will have a - staus of "FAILED" and no telephone numbers would have been imported. - operationId: CreateVoiceImportTnOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - content: - application/xml: - examples: - example: - value: |- - - - ICPA123ABC - 743 - 303716 - - +19199918388 - +14158714245 - +14352154439 - +14352154466 - - - schema: - $ref: '#/components/schemas/ImportVoiceTnOrderRequest' - responses: - '201': - content: - application/xml: - examples: - example: - value: |- - - - - SJM000001 - 2018-01-20T02:59:54.000Z - 9900012 - smckinnon - b05de7e6-0cab-4c83-81bb-9379cba8efd0 - 2018-01-20T02:59:54.000Z - 202 - 520565 - - +19199918388 - +14158714245 - +14352154439 - +14352154466 - - PROCESSING - - - - schema: - $ref: '#/components/schemas/ImportVoiceTnOrderResponse' - description: >- - The order has been created and an order ID will be specified in the - payload and in the header. - '400': - content: - application/xml: - examples: - example: - value: |- - - - FAILED - - 7309 - The site id was not supplied or is invalid. - - - 7312 - The sippeer id is invalid. - - - schema: - $ref: '#/components/schemas/ImportVoiceTnOrderError' - description: >- - The order failed; one of the input parameters is invalid. The error - text and an error code will be provided in the ErrorList - element.

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -

      - ErrorCode -

      -
      -

      - Description -

      -
      -

      - 25010 -

      -
      -

      - The account does not have permission to use the endpoint requested, please contact support if you believe you should have permission. -

      -
      -

      - 5052 -

      -
      -

      - Customer order ID is invalid. Only alphanumeric values, dashes and spaces are allowed. Max length is 255 characters. -

      -

      - 1003 -

      -
      -

      - SiteId is required. -

      -
      -

      - 5073 -

      -
      -

      - Telephone number is required. -

      -
      -

      - 5095 -

      -
      -

      - The count of telephone numbers in order exceeds the maximum size of 5000. -

      -
      -

      - 1003 -

      -
      -

      - TelephoneNumbers is required. -

      -

      - 5070 -

      -
      -

      - Telephone number is invalid. -

      -

      - 5093 -

      -
      -

      - Order cannot contain duplicate telephone numbers. -

      - summary: Import Voice Tn order - tags: - - Hosted Voice - /accounts/{accountId}/importTnOrders/voice/{orderId}: - get: - description: Retrieve information about a importVoiceTnOrder with specified ID. - operationId: ReadImportVoiceTnOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/OrderIdPathParam' - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 2018-01-09T02:58:04.615Z - 9900012 - sjm - bf1305b8-8998-1111-2222-51ba3ce52d4e - 2018-01-09T02:58:05.298Z - 65487 - 885544 - - +12106078250 - +12109678273 - +12109678331 - +12109678337 - +12266401468 - - PARTIAL - - - 7518 - Telephone Number Not Active. - - +12262665583 - - - - - schema: - $ref: '#/components/schemas/ImportVoiceTnOrderResponse' - description: >- - The information has been successfully retrieved and displayed in the - payload. - - - - - - - - - - - - - - - - - - -
      -

      - ErrorCode -

      -
      -

      - Description -

      -
      -

      - 19014 -

      -
      -

      - Numbers cannot be imported by this account at this time. -

      -
      -

      - 5061 -

      -
      -

      - The SiteId submitted is invalid. -

      -

      - 5023 -

      -
      -

      - SIP peer submitted is invalid. -

      -
      - summary: Fetch Import Voice Tn order status - tags: - - Hosted Voice - /accounts/{accountId}/importTnOrders/voice/{orderId}/history: - get: - description: Retrieves the history of the specified importVoiceTnOrder. - operationId: ReadImportVoiceTnOrderHistory - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/OrderIdPathParam' - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - - 2015-06-16T14:03:10.225Z - Import Voice TN order is received. - admin - RECEIVED - - - 2015-06-16T14:03:10.330Z - Import TN order is processing. - admin - PROCESSING - - - 2015-06-16T14:03:10.789Z - Import Voice TN order is partial. - admin - PARTIAL - - - schema: - $ref: '#/components/schemas/OrderHistoryWrapper' - description: >- - The history has been successfully retrieved and displayed in the - payload. - summary: Fetch Import Voice Tn order history - tags: - - Hosted Voice - /accounts/{accountId}/importTnOrders/{orderId}: + /accounts/{accountId}/importTnOrders/messaging/{orderId}: get: description: Retrieve information about a importTnOrder with specified ID. - operationId: ReadImportTnOrder + operationId: ReadImportMessagingTnOrder parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID - example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 - in: path - name: orderId - required: true - schema: - type: string + - $ref: '#/components/parameters/OrderIdPathParam' responses: '200': content: @@ -25029,22 +25738,16 @@ paths: description: >- The information has been successfully retrieved and displayed in the payload. - summary: Fetch Import Tn order status + summary: Fetch Import Messaging Tn order status tags: - Hosted Messaging - /accounts/{accountId}/importTnOrders/{orderId}/history: + /accounts/{accountId}/importTnOrders/messaging/{orderId}/history: get: description: Retrieves the history of the specified importTnOrder. - operationId: ReadImportTnOrderHistory + operationId: ReadImportMessagingTnOrderHistory parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID - example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 - in: path - name: orderId - required: true - schema: - type: string + - $ref: '#/components/parameters/OrderIdPathParam' responses: '200': content: @@ -25078,18 +25781,18 @@ paths: description: >- The history has been successfully retrieved and displayed in the payload. - summary: Fetch Import Tn order history + summary: Fetch Import Messaging Tn order history tags: - Hosted Messaging - /accounts/{accountId}/importTnOrders/{orderId}/loas: + /accounts/{accountId}/importTnOrders/messaging/{orderId}/loas: get: description: >- Retrieves the list of the loa (and other) files associated with the order. - operationId: ReadImportTnOrderLoas + operationId: ReadImportMessagingTnOrderLoas parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25129,7 +25832,7 @@ paths: description: >- The list of all files is being returned. This response includes the case where the list is empty. - summary: Fetch Import Tn order loas + summary: Fetch Import Messaging Tn order loas [NANP] tags: - Hosted Messaging post: @@ -25171,10 +25874,10 @@ paths:
    • application/vnd.openxmlformats-officedocument.wordprocessingml.document
    - operationId: CreateImportTnOrderLoas + operationId: CreateImportMessagingTnOrderLoas parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25226,16 +25929,16 @@ paths: on the identified resource. '400': description: A 400 indicates that the requested upload failed. - summary: Import Tn order loas + summary: Import Messaging Tn order loas [NANP] tags: - Hosted Messaging - /accounts/{accountId}/importTnOrders/{orderId}/loas/{fileId}: + /accounts/{accountId}/importTnOrders/messaging/{orderId}/loas/{fileId}: delete: description: Deletes the file associated with the order - operationId: DeleteImportTnOrderLoasFile + operationId: DeleteImportMessagingTnOrderLoasFile parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25256,15 +25959,15 @@ paths: description: >- a 404 indicates that the indicated file was not found in conjunction with the order id. - summary: Removing Import Tn order loas file + summary: Removing Import Messaging Tn order loas file [NANP] tags: - Hosted Messaging get: description: Retrieves the file associated with the order. - operationId: ReadImportTnOrderLoasFile + operationId: ReadImportMessagingTnOrderLoasFile parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25291,17 +25994,17 @@ paths: description: >- a 404 indicates that the indicated file was not found in conjunction with the order id. - summary: Fetch Import Tn order loas file + summary: Fetch Import Messaging Tn order loas file [NANP] tags: - Hosted Messaging put: description: >- A PUT on the filename will update / replace the identified file id. The format of the PUT is identical to that of the POST. - operationId: UpdateImportTnOrderLoasFile + operationId: UpdateImportMessagingTnOrderLoasFile parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25340,16 +26043,16 @@ paths: description: A 400 indicates that the requested upload failed. '404': description: A 404 indicates that the file was not available for replacement. - summary: Updating Import Tn order loas file + summary: Updating Import Messaging Tn order loas file [NANP] tags: - Hosted Messaging - /accounts/{accountId}/importTnOrders/{orderId}/loas/{fileId}/metadata: + /accounts/{accountId}/importTnOrders/messaging/{orderId}/loas/{fileId}/metadata: delete: description: Deletes the metadata previously associated with the identified file. - operationId: RemoveImportTnOrderLoasFileMetadata + operationId: RemoveImportMessagingTnOrderLoasFileMetadata parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25372,15 +26075,15 @@ paths: description: >- A 404 indicates that the indicated file was not found in conjunction with the order id.cd - summary: Removing Import Tn order loas file metadata + summary: Removing Import Messaging Tn order loas file metadata [NANP] tags: - Hosted Messaging get: description: Retrieves the metadata associated with the file. - operationId: ReadImportTnOrderLoasFileMetadata + operationId: ReadImportMessagingTnOrderLoasFileMetadata parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25413,7 +26116,7 @@ paths: description: >- a 404 indicates that the indicated file was not found in conjunction with the order id. - summary: Fetch Import Tn order loas file metadata + summary: Fetch Import Messaging Tn order loas file metadata [NANP] tags: - Hosted Messaging put: @@ -25421,10 +26124,10 @@ paths: Associate metadata with the file named in the resource path. This will describe the file, and declare the data that is contained in the file, selected from a list of [LOA | INVOICE | CSR | OTHER]. - operationId: UpdateImportTnOrderLoasFileMetadata + operationId: UpdateImportMessagingTnOrderLoasFileMetadata parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: Import Tn order's ID + - description: Import Messaging Tn order's ID example: 093a9f9b-1a78-4e47-b6e2-776a484596f4 in: path name: orderId @@ -25462,9 +26165,412 @@ paths: file. '400': description: Some error has occured as a result of the attempt. - summary: Updating Import Tn order loas file metadata + summary: Updating Import Messaging Tn order loas file metadata [NANP] tags: - Hosted Messaging + /accounts/{accountId}/importTnOrders/voice: + get: + description: > + Retrieves the ImportVoiceTnOrder requests for the given account ID. A + maximum of 1,000 orders can be retrieved per request. If no date range + or specific query parameter (marked by * below) + is provided, the order results will be limited to the last two years. + operationId: ReadImportVoiceTnOrders + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/StatusQueryParam' + - $ref: '#/components/parameters/TnQueryParam' + - $ref: '#/components/parameters/CustomerOrderIdQueryParam' + - $ref: '#/components/parameters/CreatedDateFromQueryParam' + - $ref: '#/components/parameters/CreatedDateToQueryParam' + - $ref: '#/components/parameters/ModifiedDateFromQueryParam' + - $ref: '#/components/parameters/ModifiedDateToQueryParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2 + + 14 + 1 + CustomerOrderId + systemUser + 2019-01-24T11:08:09.770Z + 2019-01-24T11:08:09.770Z + import_voice_tn_orders + COMPLETE + 211a103c-5f9c-4117-8833-c574bdc390fd + + + 14 + 2 + CustomerOrderId + systemUser + 2019-01-24T10:43:16.934Z + 2019-01-24T10:43:16.934Z + import_voice_tn_orders + PARTIAL + 8dc32f09-2329-4c73-b702-526f46b02712 + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrdersResponseList' + description: >- + The descriptive payload for the importVoiceTnOrders query provides + information about the orders found by the query, including the data + associated with the order, the state of the order, and a list of the + successfully imported Telephone Numbers, and descriptions of any + encountered errors. + summary: List Import Voice Tn orders + tags: + - Hosted Voice + post: + description: >- + Creates an ImportVoiceTnOrders request to add numbers under the given + site ID and sipPeer ID as specified in the body. + + A successfully submitted order will have a status of "RECEIVED". A + successfully completed order will have a status of "COMPLETE" if all of + the telephone numbers were successfully imported and "PARTIAL" if some + of the telephone numbers were imported. A failed order with will have a + staus of "FAILED" and no telephone numbers would have been imported. + operationId: CreateImportVoiceTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + requestBody: + content: + application/xml: + examples: + example: + value: |- + + + ICPA123ABC + 743 + 303716 + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderRequest' + responses: + '201': + content: + application/xml: + examples: + example: + value: |- + + + + SJM000001 + 2018-01-20T02:59:54.000Z + 9900012 + smckinnon + b05de7e6-0cab-4c83-81bb-9379cba8efd0 + 2018-01-20T02:59:54.000Z + 202 + 520565 + + +19199918388 + +14158714245 + +14352154439 + +14352154466 + + PROCESSING + + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderResponse' + description: >- + The order has been created and an order ID will be specified in the + payload and in the header. + '400': + content: + application/xml: + examples: + example: + value: |- + + + FAILED + + 7309 + The site id was not supplied or is invalid. + + + 7312 + The sippeer id is invalid. + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderError' + description: >- + The order failed; one of the input parameters is invalid. The error + text and an error code will be provided in the ErrorList + element.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    + ErrorCode +

    +
    +

    + Description +

    +
    +

    + 25010 +

    +
    +

    + The account does not have permission to use the endpoint requested, please contact support if you believe you should have permission. +

    +
    +

    + 5052 +

    +
    +

    + Customer order ID is invalid. Only alphanumeric values, dashes and spaces are allowed. Max length is 255 characters. +

    +

    + 1003 +

    +
    +

    + SiteId is required. +

    +
    +

    + 5073 +

    +
    +

    + Telephone number is required. +

    +
    +

    + 5095 +

    +
    +

    + The count of telephone numbers in order exceeds the maximum size of 5000. +

    +
    +

    + 1003 +

    +
    +

    + TelephoneNumbers is required. +

    +

    + 5070 +

    +
    +

    + Telephone number is invalid. +

    +

    + 5093 +

    +
    +

    + Order cannot contain duplicate telephone numbers. +

    + summary: Import Voice Tn order + tags: + - Hosted Voice + /accounts/{accountId}/importTnOrders/voice/{orderId}: + get: + description: Retrieve information about a importVoiceTnOrder with specified ID. + operationId: ReadImportVoiceTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + 65487 + 885544 + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/ImportVoiceTnOrderResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload. + + + + + + + + + + + + + + + + + + +
    +

    + ErrorCode +

    +
    +

    + Description +

    +
    +

    + 19014 +

    +
    +

    + Numbers cannot be imported by this account at this time. +

    +
    +

    + 5061 +

    +
    +

    + The SiteId submitted is invalid. +

    +

    + 5023 +

    +
    +

    + SIP peer submitted is invalid. +

    +
    + summary: Fetch Import Voice Tn order status + tags: + - Hosted Voice + /accounts/{accountId}/importTnOrders/voice/{orderId}/history: + get: + description: Retrieves the history of the specified importVoiceTnOrder. + operationId: ReadImportVoiceTnOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2015-06-16T14:03:10.225Z + Import Voice TN order is received. + admin + RECEIVED + + + 2015-06-16T14:03:10.330Z + Import TN order is processing. + admin + PROCESSING + + + 2015-06-16T14:03:10.789Z + Import Voice TN order is partial. + admin + PARTIAL + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload. + summary: Fetch Import Voice Tn order history + tags: + - Hosted Voice /accounts/{accountId}/importToAccount: get: description: > @@ -25566,48 +26672,6 @@ paths: summary: List Import to Account orders tags: - Import Tn to Account - post: - description: > - Import a large number of previously ported or otherwise acquired numbers - into the account - operationId: CreateImportToAccountOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - requestBody: - content: - application/xml: - examples: - example: - value: "\n\n\t\n\t\t10D\n\t\t\n\t\t\t+14158714244\n\t\t\t+16105330709\n\t\t\n\t\tNOCHARGE\n\t\tAvailable\n\t\t\n\t\t\tProtected\n\t\t\n\t\tLevel 3\n\t\tTestId1234\n\t\t2\n\t\n\t1\n\t12345\n\t" - schema: - $ref: '#/components/schemas/ImportToAccountOrderRequest' - responses: - '201': - content: - application/xml: - examples: - example: - value: "\n\n\t\n\t\tc5986599-3a7c-4eed-a5c4-9121c17d54ab\n\t\t2014-04-01T21:54:18.796Z\n\t\t\n\t\t\tSJM00001\n\t\t\t2\n\t\t\tNOCHARGE\n\t\t\t10D\n\t\t\tAvailable\n\t\t\t\n\t\t\t\tProtected\n\t\t\t\n\t\t\t\n\t\t\t\t+14158714245\n\t\t\t\t+16105330710\n\t\t\t\n\t\t\tLevel 3\n\t\t\n\t\t743\n\t\t12345\n\t\n\t" - schema: - $ref: '#/components/schemas/ImportToAccountNumberOrderResponse' - description: >- - The order has been created and an order ID will be specified in the - payload and in the header. - '400': - content: - application/xml: - examples: - example: - value: "\n\n\t \n\t\t \n\t\t\t 7309\n\t\t\t The site id was not supplied or is invalid.\n\t\t \n\t\t \n\t\t\t 7312\n\t\t\t The sippeer id is invalid.\n\t\t \n\t \n " - schema: - $ref: '#/components/schemas/ImportToAccountNumberOrderErrorResponse' - description: >- - The order failed; one of the input parameters is invalid. The error - text and an error code will be provided in the ErrorList - element.

    - summary: Import to Account order - tags: - - Import Tn to Account /accounts/{accountId}/importToAccount/batches: get: description: >- @@ -25726,41 +26790,67 @@ paths: get: description: >- Retrieves a list of in-service phone numbers associated with the account - ID + ID. + + + In this table are presented capabilities that are not universally + available. The following request query parameters are only allowed for + numbers from specific region/country: + + | Number Region | Request Query Parameter | + + |:--------------|:------------------------| + + |NANPA|city| + + |NANPA|tier| + + |NANPA|npaNxx| + + |NANPA|npaNxxx| + + |NANPA|lata| + + |NANPA|state| + + |NANPA|ratecenter| + + + When the query parameters listed in the table above are passed, only + inservice the North American Numbering Plan phone numbers from are + returned. operationId: ReadInserviceTns parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: The `page` to fetch in a paginated collection - example: 1 - in: query - name: page - required: false - schema: - default: 1 - type: integer - - description: The number of TNs to retrieve - example: 300 - in: query - name: size - required: false - schema: - default: 300 - type: integer + - $ref: '#/components/parameters/pageQueryParam' + - $ref: '#/components/parameters/sizeQueryParam' + - $ref: '#/components/parameters/startdateQueryParam' + - $ref: '#/components/parameters/enddateQueryParam' + - $ref: '#/components/parameters/countryCodeA3QueryParam' + - $ref: '#/components/parameters/phoneNumberTypeQueryParam' + - $ref: '#/components/parameters/areaCodeQueryParam' + - $ref: '#/components/parameters/cityQueryParam' + - $ref: '#/components/parameters/tierQueryParam' - description: >- - An Area Code search filter - all returned TNs will be in the entered - Area Code - example: 919 +

    The 6-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXX are [2-9] for the first digit and [0-9] for both the second and + third digits.
    + example: 919859 in: query - name: areacode + name: npaNxx required: false schema: type: integer - description: >- - An NPA NXX search filter - all returned TNs will be in the entered - NPA NXX dial plan - example: 919859 +

    The 7-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXXX are [2-9] for the first digit and [0-9] the rest of the (X) + digits.
    in: query - name: npanxx + name: npaNxxx required: false schema: type: integer @@ -25793,24 +26883,6 @@ paths: required: false schema: type: string - - description: >- - The starting date of a date range that will filter numbers based on - activation or other change date. - example: yy-mm-dd - in: query - name: startdate - required: false - schema: - format: date - type: string - - description: The ending date of a date range - example: yy-mm-dd - in: query - name: enddate - required: false - schema: - format: date - type: string responses: '200': content: @@ -25824,9 +26896,10 @@ paths: 59 ( a link goes here ) + ( a link goes here ) - 59 + 15 +18043024183 +18042121778 +18042146066 @@ -25836,7 +26909,6 @@ paths: +18043326094 +18042121771 +18043024182 - +18043814900 +18047672642 +18043024368 @@ -26824,7 +27896,7 @@ paths: 0 team_ua FAILED - 919238466 + +19192384661 ATT-011515-324234%$ Jim Hopkins @@ -27940,25 +29012,10 @@ paths: operationId: ListOrders parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: >- - All Order retrievals must be paginated, using page and size - indicators. The page parameter contains the order-id that is to - start the page, or "1" in the case of the first page - example: cbdcfc94-81b1-4ce9-8b6d-f8d6b85381ba - in: query - name: page - required: true - schema: - type: string - - description: >- - The size parameter indicates the number of orders to return in the - payload - example: 20 - in: query - name: size - required: true - schema: - type: integer + - $ref: '#/components/parameters/pageQueryParam' + - $ref: '#/components/parameters/sizeQueryParam' + - $ref: '#/components/parameters/startdateQueryParam' + - $ref: '#/components/parameters/enddateQueryParam' - description: The order ID that the Customer / Account assigned to the Order example: ORD12345 in: query @@ -27980,26 +29037,6 @@ paths: required: false schema: type: string - - description: >- - The first day of the search date range for a date-range-limited - search of net number orders. The format is YY-MM-DD - example: 13-12-15 - in: query - name: startdate - required: false - schema: - format: date - type: string - - description: >- - The last day of the search date range for a date-range-limited - search of net number orders. The format is YY-MM-DD - example: 13-12-31 - in: query - name: enddate - required: false - schema: - format: date - type: string responses: '200': content: @@ -28115,7 +29152,47 @@ paths: the Bandwidth Dashboard API to the request. A well-formed POST on the /orders resource will create an order record, and return an order-id string that can be used to uniquely identify the new number order - request.

    Please visit Please visit Guides and Tutorials to learn more.

    operationId: CreateOrder @@ -28125,7 +29202,7 @@ paths: content: application/xml: examples: - AreaCodeSearchAndOrderType: + AreaCodeSearchAndOrderType [NANPA]: description: >- Allowed ranges ~ [2-9] for the first digit and [0, 9] for both the second and third digits. @@ -28142,7 +29219,7 @@ paths: true 743 - CitySearchAndOrderType: + CitySearchAndOrderType [NANPA]: description: Specify the City and State to be ordered from. value: |- @@ -28158,36 +29235,7 @@ paths: true 743 - CombinedSearchAndOrderType: - description: >- - Specify the any combination of: AreaCode, RateCenter, State, - NpaNxx, NpaNxxX, Lata, City, Zip. But with following - limitations: AreaCode, NpaNxx and NpaNxxX are mutually - exclusive, LCA search is supported only for one of the - following criteria: NpaNxx, NpaNxxX, RateCenter and State. If - City or RateCenter is specified, then State is required. - value: |- - - - 123456789 - Area Code Order - false - - 1 - 617 - RALEIGH - NC - 919439 - 9194391 - 224 - RALEIGH - 27606 - false - - true - 743 - - CombinedSearchAndOrderType (local vanity): + CombinedSearchAndOrderType (local vanity) [NANPA]: description: >- Specify AreaCode and LocalVanity to order telephone numbers matching a specific alphanumeric pattern between 4 and 7 @@ -28209,7 +29257,7 @@ paths: 743 - CombinedSearchAndOrderType (protected status): + CombinedSearchAndOrderType (protected status) [NANPA]: description: CombinedSearchAndOrderType with established Protected status value: |- @@ -28232,6 +29280,35 @@ paths: true 743 + CombinedSearchAndOrderType [NANPA]: + description: >- + Specify the any combination of: AreaCode, RateCenter, State, + NpaNxx, NpaNxxX, Lata, City, Zip. But with following + limitations: AreaCode, NpaNxx and NpaNxxX are mutually + exclusive, LCA search is supported only for one of the + following criteria: NpaNxx, NpaNxxX, RateCenter and State. If + City or RateCenter is specified, then State is required. + value: |- + + + 123456789 + Area Code Order + false + + 1 + 617 + RALEIGH + NC + 919439 + 9194391 + 224 + RALEIGH + 27606 + false + + true + 743 + ExistingTelephoneNumberOrderType: description: >- Order a set of numbers known to be available. This often @@ -28273,7 +29350,7 @@ paths: 518824 - LATASearchAndOrderType: + LATASearchAndOrderType [NANPA]: description: Specify the LATA to order telephone numbers from. value: |- @@ -28288,7 +29365,7 @@ paths: true 743 - NPANXXSearchAndOrderType: + NPANXXSearchAndOrderType [NANPA]: description: >- Specify the NpaNxx combination to be ordered. Valid Npa values ~ [2-9] for the first digit, and [0-9] for both the second and @@ -28316,7 +29393,7 @@ paths: true 743 - RateCenterSearchAndOrderType: + RateCenterSearchAndOrderType [NANPA]: description: Specify the Rate Center and the State. value: |- @@ -28332,7 +29409,7 @@ paths: true 743 - StateSearchAndOrderType: + StateSearchAndOrderType [NANPA]: description: Specify the State to be searched for telephone numbers. value: |- @@ -28347,7 +29424,7 @@ paths: true 743 - TollFreeVanitySearchAndOrderType: + TollFreeVanitySearchAndOrderType [NANPA]: description: >- Specify a Toll Free Vanity search, where the numbers ordered match a specific alphanumeric pattern between 4 and 7 @@ -28365,7 +29442,7 @@ paths: true 743 - TollFreeWildCharSearchAndOrderType: + TollFreeWildCharSearchAndOrderType [NANPA]: description: >- Specify the Toll Free wild card pattern. To be ordered, comprised of 3 digits beginning with '8'. Examples are 8**, @@ -28383,7 +29460,7 @@ paths: true 743 - ZIPSearchAndOrderType: + ZIPSearchAndOrderType [NANPA]: description: Specify the Zip Code to be ordered from. value: |- @@ -28401,16 +29478,16 @@ paths: schema: oneOf: - $ref: '#/components/schemas/ExistingTelephoneNumberOrder' - - $ref: '#/components/schemas/RateCenterSearchAndOrder' - - $ref: '#/components/schemas/AreaCodeSearchAndOrder' - - $ref: '#/components/schemas/NPANXXSearchAndOrder' - - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder' - - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder' - - $ref: '#/components/schemas/LATASearchAndOrder' - - $ref: '#/components/schemas/ZIPSearchAndOrder' - - $ref: '#/components/schemas/CitySearchAndOrder' - - $ref: '#/components/schemas/StateSearchAndOrder' - - $ref: '#/components/schemas/CombinedSearchAndOrder' + - $ref: '#/components/schemas/RateCenterSearchAndOrder_NANPA' + - $ref: '#/components/schemas/AreaCodeSearchAndOrder_NANPA' + - $ref: '#/components/schemas/NPANXXSearchAndOrder_NANPA' + - $ref: '#/components/schemas/TollFreeWildCharSearchAndOrder_NANPA' + - $ref: '#/components/schemas/TollFreeVanitySearchAndOrder_NANPA' + - $ref: '#/components/schemas/LATASearchAndOrder_NANPA' + - $ref: '#/components/schemas/ZIPSearchAndOrder_NANPA' + - $ref: '#/components/schemas/CitySearchAndOrder_NANPA' + - $ref: '#/components/schemas/StateSearchAndOrder_NANPA' + - $ref: '#/components/schemas/CombinedSearchAndOrder_NANPA' responses: '201': content: @@ -28586,7 +29663,7 @@ paths: - Orders put: description: >- - With the introduction of Backorder capabilities, new number orders may + For orders that support Backorder capabilities, new number orders may stay in backordered state while the order is filled. While in this state it is possible to update the modifiable fields in the record, as well as to request that backorder processing of the order be ended. @@ -28695,7 +29772,7 @@ paths: schema: $ref: '#/components/schemas/TelephoneDetailsAreaCodes' description: '' - summary: List Telephone Number order area codes + summary: List Telephone Number order area codes [NANPA] tags: - Orders /accounts/{accountId}/orders/{orderId}/history: @@ -28993,7 +30070,7 @@ paths: schema: $ref: '#/components/schemas/TelephoneDetailsNpaNxx' description: '' - summary: List Telephone Number order Npa-Nxx + summary: List Telephone Number order Npa-Nxx [NANPA] tags: - Orders /accounts/{accountId}/orders/{orderId}/tns: @@ -29235,7 +30312,7 @@ paths: content: application/xml: examples: - Portins in FOC: + Portins containing NANP numbers: description: List of portin orders with FOC processing status value: |- @@ -29283,7 +30360,35 @@ paths: 979E019287CDF6A1 - RespOrg exception toll-free portin order: + Portins containing non-NANP numbers: + description: List containing a single portin order with global numbers + value: |- + + + 2 + + Link=<https://test.dashboard.bandwidth.com:443/v1.0/accounts/9900012/portins?page=1&size=10&date=2020-01-15&status=foc>;rel="first"; + + + 9900012 + 1 + gforrest + 2023-03-29T19:06:10.085Z + 2023-03-29T19:06:10.085Z + b2190bcc-0272-4a51-ba56-7c3d628e8706 + port_in + 2023-04-01T01:00:00.000Z + WandEDemo + 1290 + SFR + SUBMITTED + 2023-03-29 + ?? + ?? + 979E019287CDF6A1 + + + RespOrg exception toll-free order containing NANP numbers: description: >- List containing a single RespOrg exception toll-free portin order @@ -29320,7 +30425,7 @@ paths: tags: - Porting post: - description: >- + description: > Creates a port-in order for the specified telephone number(s) and account number.
    Please visit How to Create @@ -29335,28 +30440,121 @@ paths: content: application/xml: examples: - Automated Toll-Free Port-in: + Automated NANP Toll-Free Port-in: value: "\n\n\tMy order id\n\t2021-06-16Z\n\t2439\n\t23432\n\tThe Authgal\n\tJYT01\n\t\n\t\t+18774809871\n\t\n" - Regular Port-in: - value: "\n\n\t2016-03-25T21:15:00.000Z\n\tX455\n\t+19195551234\n\t+19175131245\n\t SITE ID \n\t SIPPEER ID \n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\n\t\n\tThe Authguy\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t\n\t\t+19194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n\tDRAFT\n" + Global Port-in, Business Subscriber: + value: |- + + + 2023-09-01 + 13078 + 553906 + British Telecom + + BUSINESS + Acme, Inc. + IE1234567T + ba4bb1f3-4358-4a46-883f-6376539ff94e + + + +3237470444 + + myOrder + + Global Port-in, Residential Subscriber: + value: |- + + + 2023-09-01 + 13078 + 553906 + British Telecom + + RESIDENTIAL + Jane + Doe + M + ba4bb1f3-4358-4a46-883f-6376539ff94e + + + +3237470444 + + myOrder + + On-net NANP Port-in: + value: "\n\n\t2016-03-25T21:15:00.000Z\n\tX455\n\t+19195551234\n\t+19175131245\n\t2439\n\t23432\n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\n\t\n\tThe Authguy\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t\n\t\t+19194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n\tDRAFT\n" schema: oneOf: - - $ref: '#/components/schemas/OnNetLnpOrderRequest' - - $ref: '#/components/schemas/ManualTollFreeLnpOrderRequest' - - $ref: '#/components/schemas/AutomatedTollFreeLnpOrderRequest' - - $ref: '#/components/schemas/OffNetLnpOrderRequest' - - $ref: '#/components/schemas/InternalLnpOrderRequest' + - $ref: '#/components/schemas/OnNetNANPLnpOrderRequest' + - $ref: '#/components/schemas/ManualNANPTollFreeLnpOrderRequest' + - $ref: '#/components/schemas/AutomatedNANPTollFreeLnpOrderRequest' + - $ref: '#/components/schemas/OffNetNANPLnpOrderRequest' + - $ref: '#/components/schemas/InternalNANPLnpOrderRequest' + - $ref: '#/components/schemas/ManualGlobalLnpOrderRequest' responses: '201': content: application/xml: examples: - Automated Toll-Free Order Response: + Automated NANP Toll-Free Port-in Order Response: value: "\n\n\t03f194d5-3932-4e9f-8ba1-03ef767985e5\n\t\n\t\t201\n\t\tOrder request received. Please use the order id to check the status of your order later.\n\t\n\tVALIDATE_TFNS\n\t2016-03-25T21:15:00.000Z\n\tThe Authguy\n\t\n\t\t+18774809871\n\t\n\tPROCESSING\n\tPHASE_1_TOLLFREE\n\tJYT01\n" - Regular Order Response: + Global Port-in Order Response, Business Subscriber: + value: |- + + + 03f194d5-3932-4e9f-8ba1-03ef767985e5 + + 201 + Order request received. Please use the order id to check the status of your order later. + + 2023-09-01 + The Authguy + + BUSINESS + Acme, Inc. + IE1234567T + ba4bb1f3-4358-4a46-883f-6376539ff94e + + 13078 + 553906 + British Telecom + + +3237470444 + + myOrder + + Global Port-in Order Response, Residential Subscriber: + value: |- + + + 03f194d5-3932-4e9f-8ba1-03ef767985e5 + + 201 + Order request received. Please use the order id to check the status of your order later. + + 2023-09-01 + The Authguy + + RESIDENTIAL + Jane + Doe + M + ba4bb1f3-4358-4a46-883f-6376539ff94e + + 13078 + 553906 + British Telecom + + +3237470444 + + myOrder + + On-net NANP Port-in Order Response: value: "\n\n\t03f194d5-3932-4e9f-8ba1-03ef767985e5\n\t\n\t\t201\n\t\tOrder request received. Please use the order id to check the status of your order later.\n\t\n\tPENDING_DOCUMENTS\n\t2016-03-25T21:15:00.000Z\n\tThe Authguy\n\t\n\t\tBUSINESS\n\t\tFirst\n\t\tLast\n\t\t\n\t\t\t11235\n\t\t\tBack\n\t\t\tDenver\n\t\t\tCO\n\t\t\t27541\n\t\t\tCanyon\n\t\t\tUnited States\n\t\t\n\t\n\t\n\t\t771297665AABC\n\t\t1234\n\t\n\t\n\t\tProtected\n\t\tExternal\n\t\tImported\n\t\n\t+19195551234\n\t+19175131245\n\t SITE ID \n\t SIPPEER ID \n\t\n\t\t+19194809871\n\t\n\tmyOrder\n\ttrue\n\ttrue\n" schema: - $ref: '#/components/schemas/LnpOrderResponse' + oneOf: + - $ref: '#/components/schemas/LnpOrderResponse' + - $ref: '#/components/schemas/ManualGlobalLnpOrderResponse' description: >- The order has been created and an order ID is specified in the payload and in the header. @@ -29574,6 +30772,40 @@ paths: content: application/xml: examples: + Manual Global Port-in in SUBMITTED state: + value: |- + + + SUBMITTED + 2023-06-30T00:00:00Z + + BUSINESS + Acme, Inc + IE1234567T + ba4bb1f3-4358-4a46-883f-6376539ff94e + + + +441171261486 + +441171261487 + +441171261488 + +441171261489 + +441171261580 + + 9912829 + 13078 + 553906 + British Telecom + International porting vendor + 2023-06-23T20:02:20.042Z + 2023-06-23T20:02:21.000Z + systemUser + systemUser + port-001 + PORTIN + MANUAL + GBR + GEOGRAPHIC + Port-in in CANCELLED state: value: |- @@ -29672,6 +30904,7 @@ paths: oneOf: - $ref: '#/components/schemas/LnpOrderResponse' - $ref: '#/components/schemas/LnpOrderResponseAutomatedTollFree' + - $ref: '#/components/schemas/ManualGlobalLnpOrderResponse' description: >- The information has been successfully retrieved and displayed in the payload. @@ -29730,6 +30963,27 @@ paths: TestName TestLastName JYT01 + Manual Global Request: + value: |- + + + port-001 + 2023-09-01 + 13078 + 553906 + + +441171261486 + +441171261487 + +441171261488 + + British Telecom + + BUSINESS + Acme, Inc. + IE1234567T + ba4bb1f3-4358-4a46-883f-6376539ff94e + + Regular Request: value: |- @@ -29803,13 +31057,18 @@ paths: - properties: LnpOrderSupp: $ref: '#/components/schemas/LnpOrderSuppAutomatedOnNetWireless' - title: Automated On-Net wireless to wireless + title: Automated On-Net (wireless to wireless) type: object - properties: LnpOrderSupp: $ref: '#/components/schemas/LnpOrderSuppInternal' title: Internal type: object + - properties: + LnpOrderSupp: + $ref: '#/components/schemas/LnpOrderSuppGlobalManual' + title: Manual Global + type: object responses: '200': content: @@ -29836,6 +31095,18 @@ paths: TestName TestLastName JYT01 + Manual Global Response: + value: |- + + + de654fe7-d4ba-4d67-9064-5caa2292b25b + + 200 + Supp request received. Please use the order id to check the status of your order later. + + + REQUESTED_SUPP + Simple Order Response: value: |- @@ -29852,7 +31123,9 @@ paths: false schema: - $ref: '#/components/schemas/LnpOrderPutResponse' + oneOf: + - $ref: '#/components/schemas/LnpOrderPutResponse' + - $ref: '#/components/schemas/ManualGlobalLnpOrderPutResponse' description: >- The order has been successfully updated. The payload includes the fields that were included @@ -31349,10 +32622,96 @@ paths: responses: '200': content: + application/json: + examples: + example: + value: |- + { + "products": [ + { + "name": "Termination", + "features": [ + "TermHttpVoice" + ] + }, + { + "name": "TollFree" + }, + { + "name": "Origination", + "features": [ + "CallForwarding", + "DlDa", + "CNAM" + ] + }, + { + "name": "MESSAGING", + "features": [ + "SMS", + "MMS", + "HTTPV2", + "TollFree" + ] + }, + { + "name": "NumberManagement", + "features": [ + "Ordering", + "LNP", + "HostedTNS", + "IMPORT_TNS", + "HostedVoice", + "TN_ASSIGNMENT", + "RESERVATION", + "LSR" + ] + "countrySettings": [ + { + "countryCodeA3": "FRA", + "phoneNumberType": "GEOGRAPHIC", + "features": [ + { + "featureName": "LNP", + "isDisabled": true + }, + { + "featureName": "Ordering", + "isDisabled": true + } + ] + }, + { + "countryCodeA3": "DEU", + "phoneNumberType": "NATIONAL", + "features": [ + { + "featureName": "HostedTNS", + "isDisabled": true + }, + { + "featureName": "IMPORT_TNS", + "isDisabled": true + }, + { + "featureName": "HostedVoice", + "isDisabled": true + }, + { + "featureName": "Ordering", + "isDisabled": false + } + ] + } + ] + } + ] + } + schema: + $ref: '#/components/schemas/AccountProductsResponse' application/xml: examples: example: - description: example value: |- @@ -31363,9 +32722,6 @@ paths: TermHttpVoice - - VirtualInventory - TollFree @@ -31375,7 +32731,6 @@ paths: CallForwarding DlDa CNAM - OrigHttpVoice @@ -31383,7 +32738,6 @@ paths: SMS MMS - HTTP HTTPV2 TollFree @@ -31391,14 +32745,53 @@ paths: NumberManagement - ORDERING + Ordering LNP - EXTERNAL_TNS - PROTECTED_TNS + HostedTNS + IMPORT_TNS + HostedVoice TN_ASSIGNMENT RESERVATION LSR + + + FRA + GEOGRAPHIC + + + LNP + true + + + Ordering + true + + + + + DEU + NATIONAL + + + HostedTNS + true + + + IMPORT_TNS + true + + + HostedVoice + true + + + Ordering + true + + + + @@ -33016,11 +34409,11 @@ paths: summary: Update Realm tags: - Sip Registrar - /accounts/{accountId}/removeImportedTnOrders: + /accounts/{accountId}/removeImportedTnOrders/messaging: get: description: >- - Retrieves the Remove Imported Tn Orders requests for the given account - ID. + Retrieves the Remove Imported Messaging Tn Orders requests for the given + account ID. A maximum of 1,000 orders can be retrieved per request. If no date range or specific query parameter as required is provided, the order results @@ -33028,76 +34421,13 @@ paths: operationId: ListRemoveImportedTnOrders parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: The status of the Remove Imported Tn Orders being searched for - example: PARTIAL - in: query - name: status - required: false - schema: - items: - enum: - - PROCESSING - - COMPLETE - - PARTIAL - - FAILED - type: string - type: array - - description: A Telephone Number (TN) that is referenced in the order - example: '+19199918388' - in: query - name: tn - required: true - schema: - type: string - - description: >- - The Customer Order Id is an Id assigned by the account owner to - provide a reference number for the Remove Imported Tn Order - example: ABCCorp12345 - in: query - name: customerOrderId - required: true - schema: - type: string - - description: >- - Checks the order's creation date against this value. Orders that - have a creation date after this date will be included. Format is - yyyy-MM-dd - example: '2022-04-19' - in: query - name: createdDateFrom - required: false - schema: - type: string - - description: >- - Checks the order's creation date against this value. Orders that - have a creation date before this date will be included. Format is - yyyy-MM-dd - example: '2022-04-19' - in: query - name: createdDateTo - required: false - schema: - type: string - - description: >- - For Date-based searches, the starting date of a date range - (inclusive) that will be used to find Remove Imported Tn Orders that - were modified within the date range. It is in the form yyyy-MM-dd - example: '2022-04-19' - in: query - name: modifiedDateFrom - required: false - schema: - type: string - - description: >- - For Date-based searches, the ending date of a date range (inclusive) - that will be used to find Remove Imported Tn Orders that were - modified within the date range. It is in the form yyyy-MM-dd - example: '2022-04-19' - in: query - name: modifiedDateTo - required: false - schema: - type: string + - $ref: '#/components/parameters/StatusQueryParam' + - $ref: '#/components/parameters/TnQueryParam' + - $ref: '#/components/parameters/CustomerOrderIdQueryParam' + - $ref: '#/components/parameters/CreatedDateFromQueryParam' + - $ref: '#/components/parameters/CreatedDateToQueryParam' + - $ref: '#/components/parameters/ModifiedDateFromQueryParam' + - $ref: '#/components/parameters/ModifiedDateToQueryParam' responses: '200': content: @@ -33134,23 +34464,24 @@ paths: schema: $ref: '#/components/schemas/RemoveImportedTnOrders' description: >- - The descriptive payload for the Remove Imported Tn Orders query - provides information about the orders found by the query, including - the data associated with the order, the state of the order, and a - list of the successfully removed Telephone Numbers, and descriptions - of any encountered errors - summary: List Remove Imported Tn Orders + The descriptive payload for the Remove Imported Messaging Tn Orders + query provides information about the orders found by the query, + including the data associated with the order, the state of the + order, and a list of the successfully removed Telephone Numbers, and + descriptions of any encountered errors + summary: List Remove Imported Messaging Tn Orders tags: - Hosted Messaging post: description: >- - Creates a Remove Imported Tn Orders request to remove imported telephone - numbers from the given site ID and sippeer ID as specified in the body. - A successfully submitted order will have a status of "PROCESSING". A - successfully completed order will have a status of "COMPLETE" if all of - the telephone numbers were successfully removed and "PARTIAL" if some - of the telephone numbers were removed. A failed order with will have a - status of "FAILED" and no telephone numbers would have been removed + Creates a Remove Imported Messaging Tn Orders request to remove imported + telephone numbers from the given site ID and sippeer ID as specified in + the body. A successfully submitted order will have a status of + "PROCESSING". A successfully completed order will have a status of + "COMPLETE" if all of the telephone numbers were successfully removed + and "PARTIAL" if some of the telephone numbers were removed. A failed + order with will have a status of "FAILED" and no telephone numbers would + have been removed operationId: CreateRemoveImportedTnOrder parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -33220,7 +34551,136 @@ paths: description: >- The order failed. One of the input parameters is invalid. The error text and an error code will be provided in the ErrorList element - summary: Create Remove Imported Tn Order + summary: Create Remove Imported Messaging Tn Order + tags: + - Hosted Messaging + /accounts/{accountId}/removeImportedTnOrders/messaging/{orderId}: + get: + description: Retrieve information about a removeImportedTnOrder with specified ID + operationId: RetrieveRemoveImportedTnOrder + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - $ref: '#/components/parameters/OrderIdPathParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + 2018-01-09T02:58:04.615Z + 9900012 + sjm + bf1305b8-8998-1111-2222-51ba3ce52d4e + 2018-01-09T02:58:05.298Z + + +12106078250 + +12109678273 + +12109678331 + +12109678337 + +12266401468 + + PARTIAL + + + 7518 + Telephone Number Not Active. + + +12262665583 + + + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersResponse' + description: >- + The information has been successfully retrieved and displayed in the + payload + '400': + content: + application/xml: + examples: + example: + value: |- + + + + The resource does not exist + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersHistoryResponse' + description: Order id is not valid + summary: Retrieve Remove Imported Messaging Tn Order + tags: + - Hosted Messaging + /accounts/{accountId}/removeImportedTnOrders/messaging/{orderId}/history: + get: + description: >- + Retrieves the history of the specified Remove Imported Messaging Tn + Order + operationId: RetrieveRemoveImportedTnOrderHistory + parameters: + - $ref: '#/components/parameters/AccountIdPathParam' + - description: ID of `RemoveImportedTnOrder` to retrieve history + example: bf1305b8-8998-1111-2222-51ba3ce52d4e + in: path + name: orderId + required: true + schema: + type: string + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + 2015-06-16T14:03:10.225Z + Remove Imported TN order is received. + admin + RECEIVED + + + 2015-06-16T14:03:10.330Z + Remove Imported TN order is processing. + admin + PROCESSING + + + 2015-06-16T14:03:10.789Z + Remove Imported TN order is partial. + admin + PARTIAL + + + schema: + $ref: '#/components/schemas/OrderHistoryWrapper' + description: >- + The history has been successfully retrieved and displayed in the + payload + '400': + content: + application/xml: + examples: + example: + value: |- + + + + 1008 + 'some_invalid_uuid' is not a valid UUID + + + schema: + $ref: '#/components/schemas/RemoveImportedTnOrdersHistoryResponse' + description: Order id is not valid + summary: Retrieve Remove Imported Messaging Tn Order history tags: - Hosted Messaging /accounts/{accountId}/removeImportedTnOrders/voice: @@ -33242,7 +34702,6 @@ paths: - $ref: '#/components/parameters/CreatedDateToQueryParam' - $ref: '#/components/parameters/ModifiedDateFromQueryParam' - $ref: '#/components/parameters/ModifiedDateToQueryParam' - - $ref: '#/components/parameters/SipPeerIdQueryParam' responses: '200': content: @@ -33585,140 +35044,6 @@ paths: summary: Retrieve Remove Imported Voice Tn Order history tags: - Hosted Voice - /accounts/{accountId}/removeImportedTnOrders/{orderId}: - get: - description: Retrieve information about a removeImportedTnOrder with specified ID - operationId: RetrieveRemoveImportedTnOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: ID of `RemoveImportedTnOrder` to retrieve - example: bf1305b8-8998-1111-2222-51ba3ce52d4e - in: path - name: orderId - required: true - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 2018-01-09T02:58:04.615Z - 9900012 - sjm - bf1305b8-8998-1111-2222-51ba3ce52d4e - 2018-01-09T02:58:05.298Z - - +12106078250 - +12109678273 - +12109678331 - +12109678337 - +12266401468 - - PARTIAL - - - 7518 - Telephone Number Not Active. - - +12262665583 - - - - - schema: - $ref: '#/components/schemas/RemoveImportedTnOrdersResponse' - description: >- - The information has been successfully retrieved and displayed in the - payload - '400': - content: - application/xml: - examples: - example: - value: |- - - - - 1008 - 'some_invalid_uuid' is not a valid UUID - - - schema: - $ref: '#/components/schemas/RemoveImportedTnOrdersHistoryResponse' - description: Order id is not valid - summary: Retrieve Remove Imported Tn Order - tags: - - Hosted Messaging - /accounts/{accountId}/removeImportedTnOrders/{orderId}/history: - get: - description: Retrieves the history of the specified Remove Imported Tn Order - operationId: RetrieveRemoveImportedTnOrderHistory - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: ID of `RemoveImportedTnOrder` to retrieve history - example: bf1305b8-8998-1111-2222-51ba3ce52d4e - in: path - name: orderId - required: true - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - - 2015-06-16T14:03:10.225Z - Remove Imported TN order is received. - admin - RECEIVED - - - 2015-06-16T14:03:10.330Z - Remove Imported TN order is processing. - admin - PROCESSING - - - 2015-06-16T14:03:10.789Z - Remove Imported TN order is partial. - admin - PARTIAL - - - schema: - $ref: '#/components/schemas/OrderHistoryWrapper' - description: >- - The history has been successfully retrieved and displayed in the - payload - '400': - content: - application/xml: - examples: - example: - value: |- - - - - 1008 - 'some_invalid_uuid' is not a valid UUID - - - schema: - $ref: '#/components/schemas/RemoveImportedTnOrdersHistoryResponse' - description: Order id is not valid - summary: Retrieve Remove Imported Tn Order history - tags: - - Hosted Messaging /accounts/{accountId}/reports: get: description: >- @@ -33729,6 +35054,43 @@ paths: and creation of an instance of the report. Items of this list are sorted by display priority in ascending order and alphabetically by name within priority groups (display priority is displayed only for admin endpoint) + + + In this table are presented valid report types. Some are applicable + universally, and some are only applicable for numbers of specific + region. + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Report TypeReport IDReport NameDescriptionNumber Region
    Numbers37Bandwidth Phone Number InventoryA list of all telephone numbers in 'Available' status at the time that the report was compiledNANPA
    Numbers4Phone Number InventoryA list of all phone numbers associated with an account
    Numbers34End-User Phone Number AssignmentA list of phone numbers and their end-user assignment statusesNANPA
    Numbers50Protected Phone NumbersThis report will provide a simple report that lists all of the protected TNs on an account, as well as their status.NANPA
    Voice Enabled Numbers2Voice Phone Number DetailsComplete information about all phone numbers within the report’s scope
    Voice Enabled Numbers65Phone Number Route PlanThis report lists all of the route plans that are active for the indicated accountNANPA
    Voice Enabled Numbers48Phone Number UtilizationThis account report will provide insight into the current utilization and assignment data associated with the Bandwidth Dashboard TN inventoryNANPA
    Voice Enabled Numbers47Under-Utilized and Unassigned Phone NumbersThis report will list all of the Telephone Numbers that appear to be under-utilized and unassigned.NANPA
    Messaging Enabled Numbers67Messaging Phone Number DetailsDetails of phone numbers with active messaging for particular snapshot date
    Messaging Enabled Numbers31External Phone Number DetailsComplete information about customer provided phone numbers within the report’s scopeNANPA
    Emergency Enabled Numbers6Emergency Services Phone Number DetailsEmergency Service information associated with phone numbers within the report’s scopeNANPA
    Emergency Enabled Numbers36Alternate Caller ID E911 ReportE911 detail information for accounts that use an alternative identifier for the end userNANPA
    Emergency Enabled Numbers42E911 Dynamic Location Routing AddressesA list of all E911 addresses provisioned to an account. The list of addresses shown are only for Dynamic Location Routing-enabled accounts.NANPA
    Orders59New Number OrdersPhone number details for historic or current new number orders
    Orders30Disconnect OrdersInformation about all phone numbers that have been disconnected from the account
    Orders14Port-in OrdersPhone number details for historic or current port-in orders
    Orders8Port-out OrdersPhone number details for historic or current port-out orders
    Account16UC Account SummaryDetailed account information for a given UC accountNANPA
    Users24User InformationInformation about all active and inactive users for a given account
    + + + When reports tagged NANPA in table above are retrieved, only the North + American Numbering Plan phone numbers from are returned in the report. operationId: ListReports parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -35554,105 +36916,100 @@ paths: get: description: >- Retrieves all the telephone numbers currently in-service for the given - Site + Site. + + + In this table are presented capabilities that are not universally + available. The following request query parameters are only allowed for + numbers from specific region/country: + + | Number Region | Request Query Parameter | + + |:--------------|:------------------------| + + |NANPA|city| + + |NANPA|tier| + + |NANPA|npaNxx| + + |NANPA|npaNxxx| + + |NANPA|lata| + + |NANPA|state| + + |NANPA|ratecenter| + + + When the query parameters listed in the table above are passed, only + inservice the North American Numbering Plan phone numbers from are + returned. operationId: RetrieveSiteInserviceNumbers parameters: - $ref: '#/components/parameters/AccountIdPathParam' - - description: ID of the Site to retrieve all INSERVICE numbers - example: '407' - in: path - name: siteId - required: true - schema: - type: string + - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/pageQueryParam' + - $ref: '#/components/parameters/sizeQueryParam' + - $ref: '#/components/parameters/startdateQueryParam' + - $ref: '#/components/parameters/enddateQueryParam' + - $ref: '#/components/parameters/countryCodeA3QueryParam' + - $ref: '#/components/parameters/phoneNumberTypeQueryParam' + - $ref: '#/components/parameters/areaCodeQueryParam' + - $ref: '#/components/parameters/cityQueryParam' + - $ref: '#/components/parameters/tierQueryParam' - description: >- - The first in-service number displayed on the page. "1" is used as a - convention for the first number on the list. - example: 15555551845 +

    The 6-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXX are [2-9] for the first digit and [0-9] for both the second and + third digits.
    + example: 919859 in: query - name: page + name: npaNxx required: false schema: - default: 1 type: integer - - description: The count of in-service numbers displayed on the page. - example: 30 + - description: >- +

    The 7-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXXX are [2-9] for the first digit and [0-9] the rest of the (X) + digits.
    in: query - name: size + name: npaNxxx required: false schema: - default: 300 type: integer - - description: A maximum five-digit number - example: 371 + - description: >- + A Rate Center search filter - all returned TNs will be in the + entered Rate Center. Typically this is a 3 or 5 digit value. + example: 435 in: query name: lata required: false schema: type: integer - - description: '' - example: 1 - in: query - name: tier - required: false - schema: - type: integer - - description: '' - example: ST GEORGE + - description: >- + A Rate Center search filter - all returned TNs will be in the + entered Rate Center. This `ratecenter` must be combined with a + `state` in the query. If State is not included in the query then + the query will fail. + example: PLANO in: query name: rateCenter required: false schema: type: string - - description: '' - example: Raleigh - in: query - name: city - required: false - schema: - type: string - - description: A two-letter representation of the State - example: NC + - description: >- + A State search filter - all returned TNs will be in the entered + State. This is a 2-character State or Province abbreviation. + example: TX in: query name: state required: false schema: type: string - - description: '' - example: '435' - in: query - name: areaCode - required: false - schema: - type: string - - description: '' - example: '435215' - in: query - name: npaNxx - required: false - schema: - type: string - - description: '' - example: '4352154' - in: query - name: npaNxxx - required: false - schema: - type: string - - description: Startdate and Enddate must be together - example: 12-01-01 - in: query - name: startdate - required: false - schema: - type: string - - description: Startdate and Enddate must be together - example: 14-01-01 - in: query - name: enddate - required: false - schema: - type: string responses: '200': content: @@ -35684,214 +37041,6 @@ paths: summary: Retrieve Site in-service numbers tags: - In-service Numbers - /accounts/{accountId}/sites/{siteId}/orders: - get: - description: Retrieves all orders associated with the given Site - operationId: RetrieveSiteOrders - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: ID of the Site to retrieve associated Orders - example: '407' - in: path - name: siteId - required: true - schema: - type: string - - description: Sets the amount of responses per page - example: 30 - in: query - name: size - required: true - schema: - type: integer - - description: >- - The first orders ID to show on the page. "1" is used as a convention - for the first page - example: 1 - in: query - name: page - required: true - schema: - type: integer - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - - 47 - - Link=<https://dashboard.bandwidth.com/api/accounts/12346099/sites/743/orders?page=1&size=30>;rel="first"; - Link=<https://dashboard.bandwidth.com/api/accounts/12346099/sites/743/orders?page=fa7bc01a-cb4d-4eae-9621-560020f45105&size=30>;rel="next"; - - - 1 - jbm - 2014-01-06T19:09:44.027Z - new_number - 2014-01-06T19:09:43.695Z - 13c97416-9eee-4da3-aff8-ba85d1297ef2 - COMPLETE - - - - VA - 1 - - - - - 1 - GLOUCESTER - - - - - GLOUCESTER - 1 - - - - - 0 - 1 - - - - - 49 - Bandwidth CLEC - 1 - - - - - - - schema: - $ref: '#/components/schemas/SiteOrdersResponse' - description: '' - '404': - content: - application/xml: - examples: - example: - value: |- - - - Link=<https://dashboard.bandwidth.com/api/accounts/12346099/sites/3013/orders?page=1&size=300>;rel="first"; - - description: >- - Orders cannot be found for that Site. Possible explanations: - -
    • There are no orders associated with that Site.
    • The - given parameters are invalid.
    - summary: Retrieve Site Orders - tags: - - Orders - /accounts/{accountId}/sites/{siteId}/orders/{orderId}: - get: - description: Retrieves order information associated with the given Site - operationId: RetrieveSiteOrder - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: Site ID of the order - example: '407' - in: path - name: siteId - required: true - schema: - type: string - - description: ID of the Order to retrieve - example: ca8065d1-ec1a-43da-af40-1dcee43becb5 - in: path - name: orderId - required: true - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 1 - jbm - 2014-01-06T19:09:44.027Z - 2014-01-06T19:09:44.041Z - - 123456789 - Area Code Order - 2014-01-06T19:09:43.695Z - 303716 - 743 - false - - 804 - 1 - - true - 743 - - COMPLETE - - - +18042105666 - - - 0 - - schema: - $ref: '#/components/schemas/TnOrderUpdatedResponse' - description: A successful result that contains the response data - summary: Retrieve Site Order - tags: - - Orders - /accounts/{accountId}/sites/{siteId}/orders/{orderId}/tns: - get: - description: Retrieves order TNs associated with the given Site - operationId: RetrieveSiteOrderTns - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - description: Site ID of the order - example: '407' - in: path - name: siteId - required: true - schema: - type: string - - description: ID of the Order to retrieve a list of TNs - example: ca8065d1-ec1a-43da-af40-1dcee43becb5 - in: path - name: orderId - required: true - schema: - type: string - responses: - '200': - content: - application/xml: - examples: - example: - value: |- - - - 1 - +18042105666 - - schema: - $ref: '#/components/schemas/OrderTelephoneNumbersResponse' - description: A successful result that contains the response data - summary: Retrieve Order TNs of Site - tags: - - Tns /accounts/{accountId}/sites/{siteId}/portins: get: description: Retrieves Port-in orders associated with the given Site @@ -36744,45 +37893,6 @@ paths: summary: Update Sip Peer tags: - SipPeer Management - /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/movetns: - post: - description: >- - The POST method moves all telephone numbers specified in the body to the - given SIP peer.
    The source SIP peer is determined by the Telephone - Number, i.e. the PUT method can move multiple numbers from different - source SIP peers.
    The destination SIP peer is specified in the - URL.
    NOTE: only a maximum of 5000 Telephone Numbers can be moved in - one operation. - operationId: CreateSipPeerTelephoneNumberBulk - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/SiteIdPathParam' - - $ref: '#/components/parameters/SipPeerIdPathParam' - requestBody: - content: - application/xml: - schema: - $ref: '#/components/schemas/SipPeerTelephoneNumberBulk' - responses: - '200': - content: - application/xml: - schema: - $ref: '#/components/schemas/SipPeerTelephoneNumberBulkResponse' - description: The request has been successfully received. - '400': - content: - application/xml: - schema: - $ref: '#/components/schemas/SipPeerTelephoneNumberBulkErrorResponse' - description: >- - Bad Request. Possible errors in response:
    • Shared TNs with - messaging cannot be moved to a sippeer without the SMS feature - enabled.
    • Shared TNs with voice cannot be moved to a - sippeer with the SMS feature enabled.
    - summary: Move bulk tns to sipper - tags: - - Move Tns /accounts/{accountId}/sites/{siteId}/sippeers/{sipPeerId}/products: get: description: A list of products associated with a Sip Peer @@ -38340,6 +39450,8 @@ paths: parameters: - $ref: '#/components/parameters/AccountIdPathParam' - $ref: '#/components/parameters/SiteIdPathParam' + - $ref: '#/components/parameters/SipPeerTnsPageQueryParam' + - $ref: '#/components/parameters/SipPeerTnsSizeQueryParam' - description: ID of the Sip Peer to retrieve TNs information example: '500017' in: path @@ -38366,6 +39478,10 @@ paths: value: |- + + ( a link goes here ) + ( a link goes here ) + +12052160148 @@ -38401,7 +39517,7 @@ paths: - Tns /accounts/{accountId}/sites/{siteId}/sippeers/{sippeerId}/tns/{tn}: get: - description: Retrieve information about telephone number on Sip Peer + description: Retrieve information about telephone number on Sip Peer. operationId: ReadSipPeerTn parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -38413,7 +39529,7 @@ paths: required: true schema: type: string - - description: A 10 Digit Telephone Number + - description: A E.164 Telephone Number example: '+15209072451' in: path name: tn @@ -38450,7 +39566,25 @@ paths: tags: - Tns put: - description: Update settings for a TN allocated to their account + description: >- + Update settings for a TN allocated to their account. + + + In this table are presented capabilities that are not universally + available. The following request body parameters are only allowed for + numbers from specific region/country: + + | Number Region | Request Query Parameter | + + |:--------------|:------------------------| + + |NANPA|TnAttributes| + + |NANPA|CallingNameDisplay| + + + When these request body parameters are provided, only North American + Numbering Plan phone numbers are allowed and updated. operationId: UpdateSipPeerTnSettings parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -38462,7 +39596,7 @@ paths: required: true schema: type: string - - description: A 10 Digit Telephone Number to update + - description: A E.164 Telephone Number example: '+15209072451' in: path name: tn @@ -38478,7 +39612,6 @@ paths: +12052160156 - 10digit 10digit false +17042661720 @@ -38584,6 +39717,8 @@ paths: enum: - CNAM - LIDB + - DLDA + - DA type: string type: array responses: @@ -38596,9 +39731,11 @@ paths: - 4 - 4 - 0 + 10004 + 4 + 0 + 9999 + 0 schema: @@ -38731,6 +39868,7 @@ paths: iris + E164 @@ -38753,6 +39891,7 @@ paths: iris + E164 @@ -38886,6 +40025,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + E164 eventEmailSubscription: @@ -38915,6 +40055,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + E164 orderEmailSubscription: @@ -39042,6 +40183,7 @@ paths: http://customer.com:8087/path/BandwidthHandler +14283455101 200 OK + E164 @@ -39073,6 +40215,7 @@ paths: http://customer.com:8087/path/BandwidthHandler +14283455101 200 OK + E164 @@ -39138,6 +40281,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + E164 eventEmailSubscription: @@ -39167,6 +40311,7 @@ paths: LS0tLS1CRUdJTiBDRVJUSU [...] kQgQ0VSVElGSUNBVEUtLS0tLQ0K + E164 orderEmailSubscription: @@ -39623,72 +40768,203 @@ paths: tags: - Tn Option post: - description: >- - Create TN Option order to assign line features to the telephone - number.

    Attribute description:
    • for A2pSettings - attribute
    • Number - attributeAction valueDescription of - action
      LongCodesystemDefaultRemoves - the per-TN A2P attributes, and it reverts to the Location/SIP Peer - characteristics. Any values for Class or Campaign ID are not - valid
      LongCodeasSpecifiedSets - the message class and campaign ID - this is the default if - unspecified
      LongCodeoffWill - set the TN as a 'P' TN. Any values for Class or Campaign ID are not - valid
      LongCodedeleteWill - delete the campaign ID from TN. Any values for Class or Campaign ID are - not valid
      LongCodeunchangedDo - nothing with respect to - A2P
      TollFreesystemDefaultRemoves - the per-TN A2P attributes, and it reverts to the Location/SIP Peer - characteristics. Any values for Class or Campaign ID are not - valid
      TollFreeasSpecifiedSets - the message class and campaign ID - this is the default if - unspecified
      TollFreeoffIf the - Togglz value is set to 'on' this is invalid for Toll Free telephone - numbers. Any values for Class or Campaign ID in the payload are invalid. - If the Togglz value is set to off this behaves like and A2P TN, where - the characteristics of the TNs is set to - 'P'
      TollFreeunchangedDo - nothing with respect to A2P
    • for Origination - Route plan attribute
    • Action - valueDescription of - action
      asSpecifiedCreates/updates the - origination route plan for the TN with route plan details provided in - the request
      offRemoves the origination route - plan for the TN. Route list is the request must be - empty
      unchangedDoesn't update/create the - origination route plan, even when route plan details exist in the - request
      • Origination route plan is - validated against CallForward and RewriteUser
        • Route plan and CallForward cannot co-exist. Order is - accepted but will respond with error messages on GET.
        • Route plan and RewriteUser cannot co-exist. Order is - accepted but will respond with error messages on - GET.
    • for Pindrop Enabled attribute
    • Action valueDescription of - action
      trueEnables Pindrop integration on each - phone number in the option - group
      falseExplicitly disables Pindrop - integration on each phone number in the option - group
    • for Call Verification Enabled - attribute
    • Action - valueDescription of - action
      trueEnables Call Verification on each - phone number in the option - group
      falseExplicitly disables Call - Verification on each phone number in the option - group
    • for other attribute
      • systemDefault - implies that the element profile - value should be removed so that the TN changes back to the default - system behavior;
      • unchanged - the value - should remain unchanged - implies a read before write model.
      • Leaving the element out of the payload is equivalent to - unchanged.
    + description: > + Create TN Option order to assign line features to the telephone number. + + + The two data elements in the submission are - + +
      +
    • TnOptionGroups - A list of TnOptionGroup objects, which contain list of telephone numbers and set of TN options you want to assign to all TNs in the list.
    • +
    • CustomerOrderId - Optional value for Id set by customer. Only alphanumeric values, dashes and spaces are allowed. Max length is 40 characters.
    • +
    + + + In this table are presented valid attributes for TnOptionGroup object. + Some are applicable universally, and some are only applicable for + numbers of specific region. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    AttributeProductNumber Region
    TelephoneNumbers
    PortOutPasscodeNumbersNANPA
    ProtectedNumbersNANPA
    OriginationRoutePlanVoice
    NumberFormatVoice
    RPIDFormatVoice
    RewriteUserVoice
    CallForwardVoice
    FinalDestinationURIVoice
    PindropEnabledVoiceNANPA
    ESPIDVoiceNANPA
    CallingNameDisplayVoiceNANPA
    SmsMessaging
    A2pSettingsMessagingNANPA
    NNIDMessagingNANPA
    + + + When attributes tagged NANPA are passed in request body, only North + American Numbering Plan phone numbers are allowed and updated. + + + The values for each TnOptionGroup object attribute are: + +
      +
    • for TelephoneNumbers attribute
    • +
        +
      • A list of TelephoneNumber as Array of strings
      • +
          +
        • An E.164 formatted telephone number string. Assumes NANPA 10 digit format number if string is not E.164 formatted.
        • +
        +
      +
    • for PortOutPasscode attribute
    • +
        +
      • [ string | unchanged | systemDefault]
      • +
      +
    • for Protected attribute
    • +
        +
      • [ true | false | unchanged | systemDefault]
      • +
      +
    • for NumberFormat attribute
    • +
        +
      • [ 10digit | 11digit | e164 | unchanged | systemDefault ]
      • +
      +
    • for RPIDFormat attribute
    • +
        +
      • [ 10digit | 11digit | e164 | unchanged | systemDefault ]
      • +
      +
    • for RewriteUser attribute
    • +
        +
      • [ string | unchanged | systemDefault]
      • +
      +
    • for CallingNameDisplay attribute
    • +
        +
      • [ on | off | unchanged | systemDefault ]
      • +
      +
    • for Sms attribute
    • +
        +
      • [ on | off | unchanged]
      • +
      +
    • for NNID attribute
    • +
        +
      • [ integer | unchanged | systemDefault ]
      • +
      +
    • for ESPID attribute
    • +
        +
      • [ string | unchanged | systemDefault ]
      • +
      +
    • for CallForward attribute
    • +
        +
      • [ string | unchanged | systemDefault ]
      • +
          +
        • An E.164 formatted telephone number string. Assumes NANPA 10 digit format number if string is not E.164 formatted.
        • +
        +
      +
    • for FinalDestinationURI attribute
    • +
        +
      • [ string | unchanged | systemDefault]
      • +
          +
        • An E.164 formatted telephone number string. Assumes NANPA 10 digit format number if string is not E.164 formatted.
        • +
        • a SIP URI ( without the sip: prefix )
        • +
            +
          • in the form address-string@host IP:port, where
          • +
          • the host IP is an IPv4 address in the standard numerical n.n.n.n. form, and
          • +
          • the port is numeric, and optional
          • +
          • containing [a-z,A-Z,0-9], with ':', '.' and '@' to delimit the components of the overall string, and
          • +
          • less than 60 characters long.
          • +
          +
        +
      +
    • for all the above attribute
    • +
        +
      • systemDefault - implies that the element profile value should be removed so that the TN changes back to the default system behavior;
      • +
      • unchanged - the value should remain unchanged - implies a read before write model.
      • +
      • Leaving the element out of the payload is equivalent to unchanged.
      • +
      +
    • for A2pSettings attribute
    • +
      Number attributeAction valueDescription of action
      LongCodesystemDefaultRemoves the per-TN A2P attributes, and it reverts to the Location/SIP Peer characteristics. Any values for Class or Campaign ID are not valid
      LongCodeasSpecifiedSets the message class and campaign ID - this is the default if unspecified
      LongCodeoffWill set the TN as a ''P'' TN. Any values for Class or Campaign ID are not valid
      LongCodedeleteWill delete the campaign ID from TN. Any values for Class or Campaign ID are not valid
      LongCodeunchangedDo nothing with respect to A2P
      TollFreesystemDefaultRemoves the per-TN A2P attributes, and it reverts to the Location/SIP Peer characteristics. Any values for Class or Campaign ID are not valid
      TollFreeasSpecifiedSets the message class and campaign ID - this is the default if unspecified
      TollFreeoffIf the Togglz value is set to ''on'' this is invalid for Toll Free telephone numbers. Any values for Class or Campaign ID in the payload are invalid. If the Togglz value is set to off this behaves like and A2P TN, where the characteristics of the TNs is set to ''P''
      TollFreeunchangedDo nothing with respect to A2P
      +
    • for Origination Route plan attribute
    • +
      Action valueDescription of action
      asSpecifiedCreates/updates the origination route plan for the TN with route plan details provided in the request
      offRemoves the origination route plan for the TN. Route list is the request must be empty
      unchangedDoesn''t update/create the origination route plan, even when route plan details exist in the request
      +
        +
      • Origination route plan is validated against CallForward and RewriteUser
      • +
          +
        • Route plan and CallForward cannot co-exist. Order is accepted but will respond with error messages on GET.
        • +
        • Route plan and RewriteUser cannot co-exist. Order is accepted but will respond with error messages on GET.
        • +
        +
      +
    • for Pindrop Enabled attribute
    • +
      Action valueDescription of action
      trueEnables Pindrop integration on each phone number in the option group
      falseExplicitly disables Pindrop integration on each phone number in the option group
      +
    operationId: CreateTnOptionOrder parameters: - $ref: '#/components/parameters/AccountIdPathParam' @@ -41189,81 +42465,34 @@ paths: summary: Retrieve the total number of seats on account tags: - Account - /accounts/{accountId}/{orderType}/{orderId}/adminparameters: - delete: - description: Remove order admin parameters - operationId: RemoveOrderAdminParameters - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/OrderTypePathParam' - - $ref: '#/components/parameters/OrderIdPathParam' - responses: - '200': - content: - application/xml: - schema: - $ref: '#/components/schemas/AdminParametersResponse' - description: Order admin parameters have been successfully deleted/cancelled - '400': - content: - application/xml: - schema: - $ref: '#/components/schemas/AdminParametersErrorResponse' - description: >- - Order id is invalid, order does not exist or the port-in order is - already processed, and therefore cannot be deleted - summary: Remove Order Admin Parameters - tags: - - Orders + /addresses/fields: get: - description: Get order admin parameters - operationId: GetOrderAdminParameters - parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/OrderTypePathParam' - - $ref: '#/components/parameters/OrderIdPathParam' - responses: - '200': - content: - application/xml: - schema: - $ref: '#/components/schemas/AdminParametersResponse' - description: >- - The information has been successfully retrieved and displayed in the - payload - summary: Get Order Admin Parameters - tags: - - Orders - put: - description: Update order admin parameters - operationId: UpdateOrderAdminParameters + description: >- + Get a list of address fields that is supported per country and feature + specific requirements. + operationId: getAddressFields parameters: - - $ref: '#/components/parameters/AccountIdPathParam' - - $ref: '#/components/parameters/OrderTypePathParam' - - $ref: '#/components/parameters/OrderIdPathParam' - requestBody: - content: - application/xml: - schema: - $ref: '#/components/schemas/AdminParametersRequest' + - $ref: '#/components/parameters/countryCodeA3RequiredQueryParam' responses: '200': - content: - application/xml: - schema: - $ref: '#/components/schemas/AdminParametersResponse' - description: >- - The information has been successfully retrieved and displayed in the - payload + $ref: '#/components/responses/getAddressFieldsResponse' '400': - content: - application/xml: - schema: - $ref: '#/components/schemas/AdminParametersErrorResponse' - description: Wrong input - summary: Update Order Admin Parameters + $ref: '#/components/responses/badRequestError' + '401': + $ref: '#/components/responses/unauthorizedError' + '403': + $ref: '#/components/responses/forbiddenError' + '404': + $ref: '#/components/responses/notFoundError' + '405': + $ref: '#/components/responses/notAllowedError' + '429': + $ref: '#/components/responses/tooManyRequestsError' + '500': + $ref: '#/components/responses/internalServerError' + summary: Get Address Fields tags: - - Orders + - Addresses /admin/data/a2pClasses: get: description: Retrieves A2P Classes. @@ -42216,9 +43445,98 @@ paths: Centers that serve those Cities. If 'available' is specified then the number of TNs available in that city / RC combination is also included. - summary: List Cities + summary: List Cities [NANPA] tags: - - Cities + - Coverage + /coverage/countries: + get: + description: >- + Get countries, number types and cities in Bandwidth's available phone + number inventory. This endpoint is only applicable for non-NANPA number + inventory. Please use `/cities` endpoint for Banwidth's NANPA available + phone number inventory coverage. + operationId: countryCoverage + parameters: + - $ref: '#/components/parameters/countryCodeA3QueryParam' + - $ref: '#/components/parameters/phoneNumberTypeQueryParam' + - $ref: '#/components/parameters/cityQueryParam' + - $ref: '#/components/parameters/areaCodeQueryParam' + responses: + '200': + content: + application/json: + examples: + example: + value: |- + { + "countryCoverages": [ + { + "countryCodeA3": "USA", + "phoneNumberType": "MOBILE", + "regions": [ + { + "city": "Woodinville", + "areaCode": "435" + } + ] + } + ] + } + schema: + $ref: '#/components/schemas/CountryCoverageResponseSuccess' + application/xml: + examples: + example: + value: |- + + + + + USA + MOBILE + + + Woodinville + 435 + + + + + + schema: + $ref: '#/components/schemas/CountryCoverageResponseSuccess' + description: Created + '400': + content: + application/json: + examples: + example: + value: |- + { + "responseStatus": { + "errorCode": 4010, + "description": "A supplied phoneNumberType within '[SPECIALLL]' is invalid." + } + } + schema: + $ref: '#/components/schemas/CountryCoverageResponseError' + application/xml: + examples: + example: + value: |- + + + + 4010 + A supplied phoneNumberType within '[SPECIALLL]' is invalid. + + + schema: + $ref: '#/components/schemas/CountryCoverageResponseError' + description: Bad Request + summary: List Country Coverage + tags: + - Coverage /coveredRateCenters: get: description: >- @@ -42556,6 +43874,27 @@ paths: summary: Retrieve Covered Rate Centers tags: - Rate Centers + /porting/losingCarriers: + get: + description: > +

    List losing carriers that a number can be ported from. This endpoint + is only relevant for non-NANP number portin orders, which require a + losing carrier to be specified.

    + operationId: portingLosingCarriers + parameters: + - $ref: '#/components/parameters/countryCodeA3QueryParam_eq' + - $ref: '#/components/parameters/phoneNumberTypeQueryParam_eq' + - $ref: '#/components/parameters/areaCodeQueryParam_eq' + responses: + '200': + $ref: '#/components/responses/listOfLosingCarriersResponse' + '400': + $ref: '#/components/responses/badRequestError' + '502': + $ref: '#/components/responses/internalServerError' + summary: List losing carriers + tags: + - Porting /rateCenters: get: description: >- @@ -42721,34 +44060,97 @@ paths: summary: List Rate Centers tags: - Rate Centers + /restrictions: + get: + description: >- + Information about how services work in various countries and which + restrictions and rules apply. Please consult this information before + buying and configuring your numbers. + operationId: ListRestrictions + parameters: + - $ref: '#/components/parameters/countryCodeA3QueryParam' + responses: + '200': + content: + application/xml: + examples: + example: + value: |- + + + + + BEL + LEGAL + Number portability + Lorem ipsum + + + BEL + PURCHASE + Address or identification requirements + Lorem ipsum + + + BEL + SERVICE + Compatibility issues + Lorem ipsum + + + + schema: + $ref: '#/components/schemas/RestrictionResponse' + description: >- + This response returns the list of cities, along with the Rate + Centers that serve those Restrictions. If 'available' is specified + then the number of TNs available in that city / RC combination is + also included. + summary: List Restrictions + tags: + - Compliance /tns: get: description: >- Retrieve information about one or more Telephone Numbers (TNs), where the TNs are chosen based on the search parameters provided in the API Call. + + + In this table are presented capabilities that are not universally + available. The following request query parameters are only allowed for + numbers from specific region/country: + + | Number Region | Request Query Parameter | + + |:--------------|:------------------------| + + |NANPA|city| + + |NANPA|tier| + + |NANPA|npaNxx| + + |NANPA|npaNxxx| + + |NANPA|lata| + + |NANPA|state| + + |NANPA|ratecenter| + + + When the query parameters listed in the table above are passed, only + North American Numbering Plan phone numbers from are returned. operationId: ListTnsByGet parameters: - - description: >- - An ID of the first element in a page. This value will indicate the - first value, not the count, of the initial entry in the page being - requested. Note in the example that the page is the TN that begins - the page. The initial page is tagged with the ID "1" - example: '5' - in: query - name: page - required: true - schema: - default: '1' - type: string - - description: The number of items to include in a page. - example: 250 - in: query - name: size - required: true - schema: - default: 500 - type: integer + - $ref: '#/components/parameters/pageQueryParam' + - $ref: '#/components/parameters/sizeQueryParam' + - $ref: '#/components/parameters/countryCodeA3QueryParam' + - $ref: '#/components/parameters/phoneNumberTypeQueryParam' + - $ref: '#/components/parameters/areaCodeQueryParam' + - $ref: '#/components/parameters/cityQueryParam' + - $ref: '#/components/parameters/tierQueryParam' - description: The internal account id assigned to the customer that "owns" the TN. example: 5000125 in: query @@ -42756,18 +44158,7 @@ paths: required: false schema: type: integer - - description: >- - The geographic city most likely to serve the Telephone Number. City - and other geographic data is determined statistically, and is not as - reliable as Rate Center information for pinpointing the service - location of a TN. - example: CARY - in: query - name: city - required: false - schema: - type: string - - description: A 10 Digit TN. + - description: A E.164 TN. example: '+19199918388' in: query name: fullNumber @@ -42783,75 +44174,69 @@ paths: required: false schema: type: string - - description: >- - The LATA (Local Access Transport Area) that the TN is served from, - typically 3 digits (5 in FLA). - example: 423 - in: query - name: lata - required: false - schema: - type: integer - - description: The first 3 digits of a 10 Digit NA Telephone Number, the Area Code. - example: '919' + - description: A service type value to filter the TNs returned in the payload. + example: E911 in: query - name: npa + name: service required: false schema: + enum: + - E911 + - Voice + - Hosted_E911 type: string - - description: The first 6 digits of a 10 Digit NA Telephone Number. - example: '919991' + - description: >- +

    The 6-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXX are [2-9] for the first digit and [0-9] for both the second and + third digits.
    + example: 919859 in: query name: npaNxx required: false schema: - type: string - - description: The first 7 digits of a 10 Digit NA Telephone Number. - example: '9199918' + type: integer + - description: >- +

    The 7-digit prefix associated with the TN.

    • Allowed + number ranges for NPA are [2-9] for the first digit and [0-9] for + both the second and third digits.
    • Allowed number ranges for + NXXX are [2-9] for the first digit and [0-9] the rest of the (X) + digits.
    in: query - name: npaNxxX + name: npaNxxx required: false schema: - type: string - - description: A service type value to filter the TNs returned in the payload. - example: E911 + type: integer + - description: >- + A Rate Center search filter - all returned TNs will be in the + entered Rate Center. Typically this is a 3 or 5 digit value. + example: 435 in: query - name: service + name: lata required: false schema: - enum: - - E911 - - Voice - - Hosted_E911 - type: string + type: integer - description: >- - The Rate Center designation that the number is served from. If not - combined with a State search the results will span states. - example: RALEIGH + A Rate Center search filter - all returned TNs will be in the + entered Rate Center. This `ratecenter` must be combined with a + `state` in the query. If State is not included in the query then + the query will fail. + example: PLANO in: query name: rateCenter required: false schema: type: string - description: >- - A 2 character State or Province designation - TX for Texas for - example. + A State search filter - all returned TNs will be in the entered + State. This is a 2-character State or Province abbreviation. example: TX in: query name: state required: false schema: type: string - - description: >- - A service tier indicating the the vendor class that the TN is - associated with. Tier indicates whether the TN is on-net, domestic - offnet, Canadian, etc. - example: 5 - in: query - name: tier - required: false - schema: - type: integer responses: '200': content: @@ -42943,10 +44328,8 @@ paths: $ref: '#/components/schemas/TelephoneNumbersHistoryResponse' description: >- The descriptive payload for the TNs query provides information about - the TN(s) that were found in the Query. Information about the City, - State, LATA, Rate Center, Tier, Vendor, Status, Owning Account and - Last Modified Date is provided for each TN in the payload. Links to - assist in pagination are also provided. + the TN(s) that were found in the Query. Links to assist in + pagination are also provided. '400': content: application/xml: @@ -42973,8 +44356,49 @@ paths: description: >- Retrieve information about one or more Telephone Numbers (TNs), where the TNs are specified in POST body. + + + In this table are presented capabilities that are not universally + available. The following request query parameters are only allowed for + numbers from specific region/country: + + | Number Region | Request Query Parameter | + + |:--------------|:------------------------| + + |NANPA|city| + + |NANPA|tier| + + |NANPA|npaNxx| + + |NANPA|npaNxxx| + + |NANPA|lata| + + |NANPA|state| + + |NANPA|ratecenter| + + + When the query parameters listed in the table above are passed, only + North American Numbering Plan phone numbers from are returned. operationId: ListTnsByPost - parameters: [] + parameters: + - description: A service type value to filter the TNs returned in the payload. + example: Voice + in: query + name: service + required: false + schema: + enum: + - Voice + - Hosted_Voice + - Messaging + - Hosted_Messaging + - E911 + - Hosted_E911 + type: string requestBody: content: application/xml: @@ -43097,13 +44521,10 @@ paths: $ref: '#/components/schemas/TelephoneNumbersHistoryResponse' description: >- The descriptive payload for the TNs query provides information about - the TN(s) that were found in the Query. Information about the City, - State, LATA, Rate Center, Tier, Vendor, Status, Owning Account and - Last Modified Date is provided for each TN in the payload. The - Payload also can contain where invalid or non-existing - on account(s) TNs are specified. Aging numbers will be displayed if - user has access to the previous accountId. Pagination doesn't work - in this case. + the TN(s) that were found in the Query. The Payload also can contain + where invalid or non-existing on account(s) TNs are + specified. Aging numbers will be displayed if user has access to the + previous accountId. Pagination doesn't work in this case. '400': content: application/xml: @@ -43167,12 +44588,14 @@ paths: is "protected" only the account owning the TN can order it, otherwise it should be generally available.
  • Aging: The TN is disconnected by the customer owning the TN. At this time, the TN - will go into aging for some period of time (typically 30 days) and - the customer owning the TN can order it again. If the allotted time - has passed and the TN is not ordered by the owning customer, the TN - will go back to Available.
  • PortInPendingFoc: TN is in FOC - and waiting for the FOC date.
  • Reserved: A TN is reserved by - a customer to order at a later time.
  • + will go into aging for some period of time and the customer owning + the TN can order it again. If the allotted time has passed and the + TN is not ordered by the owning customer, the TN will go back to + Available.
  • PortInPendingFoc: TN is in process of porting and + waiting for the porting completion date. The term FOC is short for + Firm Order Commitment and applies to NANPA number + ports.
  • Reserved: A TN is reserved by a customer to order at + a later time.
  • summary: Retrieve tn tags: - Tns @@ -43231,7 +44654,7 @@ paths: description: >- Bad Request - failed to get available NnRoutes information for the current phone number. - summary: Retrieve routes for that tn + summary: Retrieve routes for that tn [NANPA] tags: - Tns /tns/{tn}/e911: @@ -43272,7 +44695,7 @@ paths: schema: $ref: '#/components/schemas/TnE911AddressResponse' description: The e911 address have been successfully retrieved and displayed - summary: Retrieve e911 for that tn + summary: Retrieve e911 for that tn [NANPA] tags: - Tns /tns/{tn}/lata: @@ -43303,7 +44726,7 @@ paths: schema: $ref: '#/components/schemas/TelephoneNumberLataResponse' description: The lata have been successfully retrieved. - summary: Retrieve lata for that tn + summary: Retrieve lata for that tn [NANPA] tags: - Tns /tns/{tn}/lca: @@ -43352,7 +44775,7 @@ paths: schema: $ref: '#/components/schemas/NpaNxxRcLcaSearchResult' description: The LCAs have been successfully retrieved and displayed. - summary: Retrieve LCA for that tn + summary: Retrieve LCA for that tn [NANPA] tags: - Tns /tns/{tn}/ratecenter: @@ -43385,7 +44808,7 @@ paths: schema: $ref: '#/components/schemas/TelephoneNumberRateCenterResponse' description: The rate centers have been successfully retrieved and displayed. - summary: Retrieve rate center for that tn + summary: Retrieve rate center for that tn [NANPA] tags: - Tns /tns/{tn}/sippeers: @@ -43451,8 +44874,28 @@ paths: /tns/{tn}/tndetails: get: description: >- - Retrieves detailed information about the phone number. TnAttributes - - Does this telephone number is protected or not. + Retrieves detailed information about the phone number. + + + In this table are presented capabilities that are not universally + available. The following response body attributes are only returned for + numbers from specific region/country: + + | Number Region | Response Body Attributes | + + |:--------------|:------------------------| + + |NANPA|LATA| + + |NANPA|State| + + |NANPA|RateCenter| + + |NANPA|E911| + + + These parameters are only applicable and hence returned in response body + for North American Numbering Plan phone numbers. operationId: RetrieveTnDetails parameters: - description: '' @@ -43467,35 +44910,6 @@ paths: content: application/xml: examples: - Non-NANP details: - value: |- - - - - +33140289562 - FR - geographic - 49 - Bandwidth CLEC - true - Inservice - 12345678 - - 123 - site - - - 500001 - sippeer - false - - - Voice - - 2020-03-03T15:30:07.000Z - 2020-03-03T15:30:07.518Z - - Shared TN details: value: |- @@ -43829,8 +45243,7 @@ paths: $ref: '#/components/schemas/TelephoneNumberDetailHistoryResponse' description: >- OK - the detailed information about the phone number has been - successfully retrieved and displayed.
    TnAttributes is not - required in the response. + successfully retrieved and displayed. '400': content: application/xml: @@ -43902,7 +45315,8 @@ tags: url: /docs/numbers/porting/port-ins/bulkPortIns name: Bulk Port-In - name: Callbacks - - name: Cities + - name: Compliance + - name: Coverage - description: >- DLDA = Directory Listing and Directory Assistance. A DLDA resource associates a TN with a Street Address. This gets updated in a Network @@ -43933,7 +45347,6 @@ tags: description: Emergency notification guide url: /docs/emergency/dashboard/notifications/ name: Emergency Notification - - name: External Tn - name: Hosted Messaging - name: Hosted Voice - name: Import Tn to Account diff --git a/site/specs/phone-number-lookup.yml b/site/specs/phone-number-lookup.yml index 8f1ee46f9..ba3a07899 100644 --- a/site/specs/phone-number-lookup.yml +++ b/site/specs/phone-number-lookup.yml @@ -99,36 +99,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.phonenumberlookup.models.OrderRequest; - import com.bandwidth.phonenumberlookup.models.OrderResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - import java.util.ArrayList; - import java.util.List; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.PhoneNumberLookupApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .phoneNumberLookupBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - List numbers = new ArrayList<>(); - numbers.add("+15553334444"); + ApiClient defaultClient = Configuration.getDefaultApiClient(); - OrderRequest request = new OrderRequest(numbers); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + PhoneNumberLookupApi apiInstance = new PhoneNumberLookupApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + LookupRequest lookupRequest = new LookupRequest(); // LookupRequest | Phone number lookup request. try { - CompletableFuture> completableFuture = client.getPhoneNumberLookupClient().getAPIController().createLookupRequestAsync(ACCOUNT_ID, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + CreateLookupResponse result = apiInstance.createLookup(accountId, lookupRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PhoneNumberLookupApi#createLookup"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -213,40 +211,28 @@ paths: print(e.response_code) - lang: Ruby source: > - require 'bandwidth' - - include Bandwidth - - include Bandwidth::Voice - - - BW_USERNAME = "api-username" - - BW_PASSWORD = "api-password" - - BW_ACCOUNT_ID = "12345" - + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - phone_number_lookup_basic_auth_user_name: BW_USERNAME, - phone_number_lookup_basic_auth_password: BW_PASSWORD - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - phone_number_lookup_client = - bandwidth_client.phone_number_lookup_client.client + api_instance = Bandwidth::PhoneNumberLookupApi.new - body = OrderRequest.new + account_id = '12345' - body.tns = ["+15554443333"] + lookup_request = Bandwidth::LookupRequest.new({ tns: + ['+15554443333'] }) begin - result = phone_number_lookup_client.create_lookup_request(BW_ACCOUNT_ID, body) - puts result.data.request_id - rescue APIException => e - puts e.response_code + result = api_instance.create_lookup(account_id, lookup_request) + p result.request_id + rescue Bandwidth::ApiError => e + p "Error when calling PhoneNumberLookupApi->create_lookup: #{e}" end /accounts/{accountId}/tnlookup/{requestId}: get: @@ -315,30 +301,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.phonenumberlookup.models.OrderStatus; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.PhoneNumberLookupApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .phoneNumberLookupBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + ApiClient defaultClient = Configuration.getDefaultApiClient(); - String requestId = "8a358296-e188-4a3a-b974-8e4d12001dd8"; + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + PhoneNumberLookupApi apiInstance = new PhoneNumberLookupApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String requestId = "004223a0-8b17-41b1-bf81-20732adf5590"; // String | The phone number lookup request ID from Bandwidth. try { - CompletableFuture> completableFuture = client.getPhoneNumberLookupClient().getAPIController().getLookupRequestStatusAsync(ACCOUNT_ID, requestId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + LookupStatus result = apiInstance.getLookupStatus(accountId, requestId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling PhoneNumberLookupApi#getLookupStatus"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -415,39 +405,23 @@ paths: except APIException as e: print(e.response_code) - lang: Ruby - source: > - require 'bandwidth' - - include Bandwidth - - include Bandwidth::Voice - - - BW_USERNAME = "api-username" - - BW_PASSWORD = "api-password" - - BW_ACCOUNT_ID = "12345" - - - bandwidth_client = Bandwidth::Client.new( - phone_number_lookup_basic_auth_user_name: BW_USERNAME, - phone_number_lookup_basic_auth_password: BW_PASSWORD - ) - - - phone_number_lookup_client = - bandwidth_client.phone_number_lookup_client.client - + source: | + require 'bandwidth-sdk' - request_id = "1234-abcd" + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end + api_instance = Bandwidth::PhoneNumberLookupApi.new + account_id = '12345' + request_id = '004223a0-8b17-41b1-bf81-20732adf5590' begin - result = phone_number_lookup_client.get_lookup_request_status(BW_ACCOUNT_ID, request_id) - puts result.data.status - rescue APIException => e - puts e.response_code + result = api_instance.get_lookup_status(account_id, request_id) + p result.status + rescue Bandwidth::ApiError => e + p "Error when calling PhoneNumberLookupApi->get_lookup_status: #{e}" end components: schemas: diff --git a/site/specs/voice.yml b/site/specs/voice.yml index 7292ea8ff..1ebc18a31 100644 --- a/site/specs/voice.yml +++ b/site/specs/voice.yml @@ -145,41 +145,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.CreateCallRequest; - import com.bandwidth.voice.models.CreateCallResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.CallsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String voiceApplicationId = "1234-qwer"; - String to = "+15553334444"; - String from = "+15554443333"; - String baseUrl = "https://sample.com"; - String answerUrl = baseUrl.concat("/callbacks/answer"); - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - CreateCallRequest request = new CreateCallRequest(); - request.setApplicationId(voiceApplicationId); - request.setTo(to); - request.setFrom(from); - request.setAnswerUrl(answerUrl); + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + CallsApi apiInstance = new CallsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + CreateCall createCall = new CreateCall(); // CreateCall | JSON object containing information to create an outbound call try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().createCallAsync(ACCOUNT_ID, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + CreateCallResponse result = apiInstance.createCall(accountId, createCall); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CallsApi#createCall"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -310,30 +304,76 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Voice + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" + api_instance = Bandwidth::CallsApi.new + account_id = '12345' + create_call = Bandwidth::CreateCall.new( + { + to: '+15553334444', + from: '+15554443333', + application_id: '1234-qwer', + answer_url: 'https://sample.com' + } ) - voice_client = bandwidth_client.voice_client.client - - body = CreateCallRequest.new - body.from = "+15554443333" - body.to = "+15553334444" - body.answer_url = "http://www.myapp.com/hello" - body.application_id = "7fc9698a-b04a-468b-9e8f-91238c0d0086" - begin - result = voice_client.create_call("12345", body) - puts result.data.call_id - rescue APIException => e - puts e.response_code + result = api_instance.create_call(account_id, create_call) + p result.call_id + rescue Bandwidth::ApiError => e + p "Error when calling CallsApi->create_call: #{e}" end + get: + tags: + - Calls + summary: Get Calls + description: >- + Returns a max of 10000 calls, sorted by `createdTime` from oldest to + newest. + + + **NOTE:** If the number of calls in the account is bigger than + `pageSize`, a `Link` header (with format `<{url}>; rel="next"`) will be + returned in the response. The url can be used to retrieve the next page + of call records. + + Also, call information is kept for 7 days after the calls are hung up. + If you attempt to retrieve information for a call that is older than 7 + days, you will get an empty array [] in response. + operationId: listCalls + parameters: + - $ref: '#/components/parameters/accountId' + - $ref: '#/components/parameters/to' + - $ref: '#/components/parameters/from' + - $ref: '#/components/parameters/minStartTimeCalls' + - $ref: '#/components/parameters/maxStartTimeCalls' + - $ref: '#/components/parameters/disconnectCause' + - $ref: '#/components/parameters/pageSizeCalls' + - $ref: '#/components/parameters/pageToken' + responses: + '200': + $ref: '#/components/responses/listCallsResponse' + '400': + $ref: '#/components/responses/voiceBadRequestError' + '401': + $ref: '#/components/responses/voiceUnauthorizedError' + '403': + $ref: '#/components/responses/voiceForbiddenError' + '404': + $ref: '#/components/responses/voiceNotFoundError' + '405': + $ref: '#/components/responses/voiceNotAllowedError' + '415': + $ref: '#/components/responses/voiceUnsupportedMediaTypeError' + '429': + $ref: '#/components/responses/voiceTooManyRequestsError' + '500': + $ref: '#/components/responses/voiceInternalServerError' /accounts/{accountId}/calls/{callId}: get: tags: @@ -414,31 +454,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.CallState; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.CallsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + CallsApi apiInstance = new CallsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getCallAsync(ACCOUNT_ID, callId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + CallState result = apiInstance.getCallState(accountId, callId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CallsApi#getCallState"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -525,26 +568,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client - - call_id = "c-1234" + api_instance = Bandwidth::CallsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - #result = voice_client.get_call("12345", call_id) - #puts result.data.state - puts "Method broke" - rescue APIException => e - puts e.response_code + result = api_instance.get_call_state(account_id, call_id) + p result.state + rescue Bandwidth::ApiError => e + p "Error when calling CallsApi->get_call_state: #{e}" end post: tags: @@ -642,34 +681,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.ModifyCallRequest; - import com.bandwidth.voice.models.StateEnum; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.CallsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - ModifyCallRequest request = new ModifyCallRequest(); - request.setState(StateEnum.COMPLETED); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + CallsApi apiInstance = new CallsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + UpdateCall updateCall = new UpdateCall(); // UpdateCall | JSON object containing information to redirect an existing call to a new BXML document try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyCallAsync(ACCOUNT_ID, callId, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.updateCall(accountId, callId, updateCall); + } catch (ApiException e) { + System.err.println("Exception when calling CallsApi#updateCall"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -780,28 +819,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client - - body = ModifyCallRequest.new - body.redirect_url = "http://www.myapp.com/new" - body.state = "active" + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - call_id = "c-1234" + api_instance = Bandwidth::CallsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + update_call = Bandwidth::UpdateCall.new begin - voice_client.modify_call("12345", call_id, body) - rescue APIException => e - puts e.response_code + api_instance.update_call(account_id, call_id, update_call) + rescue Bandwidth::ApiError => e + p "Error when calling CallsApi->update_call: #{e}" end /accounts/{accountId}/calls/{callId}/bxml: put: @@ -836,6 +869,62 @@ paths: $ref: '#/components/responses/voiceTooManyRequestsError' '500': $ref: '#/components/responses/voiceInternalServerError' + x-codeSamples: + - lang: Java + source: | + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.CallsApi; + + public class Sample { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + CallsApi apiInstance = new CallsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String body = "This is a test sentence. "; // String | + try { + apiInstance.updateCallBxml(accountId, callId, body); + } catch (ApiException e) { + System.err.println("Exception when calling CallsApi#updateCallBxml"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } + } + - lang: Ruby + source: | + require 'bandwidth-sdk' + + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end + + api_instance = Bandwidth::CallsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + body = ' + + This is a test sentence. + ' + + begin + api_instance.update_call_bxml(account_id, call_id, body) + rescue Bandwidth::ApiError => e + p "Error when calling CallsApi->update_call_bxml: #{e}" + end /accounts/{accountId}/conferences: get: tags: @@ -916,29 +1005,40 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.ConferenceState; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; import java.util.List; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String name = "my-custom-name"; // String | Filter results by the `name` field. + String minCreatedTime = "2022-06-21T19:13:21Z"; // String | Filter results to conferences which have a `createdTime` after or at `minCreatedTime` (in ISO8601 format). + String maxCreatedTime = "2022-06-21T19:13:21Z"; // String | Filter results to conferences which have a `createdTime` before or at `maxCreatedTime` (in ISO8601 format). + Integer pageSize = 1000; // Integer | Specifies the max number of conferences that will be returned. + String pageToken = "pageToken_example"; // String | Not intended for explicit use. To use pagination, follow the links in the `Link` header of the response, as indicated in the endpoint description. try { - CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getConferencesAsync(ACCOUNT_ID, null, null, null, null, null); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + List result = apiInstance.listConferences(accountId, name, minCreatedTime, maxCreatedTime, pageSize, pageToken); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#listConferences"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -1022,25 +1122,25 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + opts = { + min_created_time: '2022-06-21T19:13:21Z', + page_size: 500 + } begin - response = voice_client.get_conferences("12345") - if response.data.length > 0 - puts response.data[0].id - end - rescue APIException => e - puts e.response_code + result = api_instance.list_conferences(account_id, opts) + p result[0].id if result.length.positive? + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->list_conferences: #{e}" end /accounts/{accountId}/conferences/{conferenceId}: get: @@ -1113,31 +1213,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.ConferenceState; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Conference id is returned after successfully creating a conference. - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getConferenceAsync(ACCOUNT_ID, conferenceId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + Conference result = apiInstance.getConference(accountId, conferenceId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConference"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -1234,25 +1337,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client - - conference_id = "conf-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' begin - response = voice_client.get_conference("12345", conference_id) - print(response.data.name) - rescue APIException => e - puts e.response_code + result = api_instance.get_conference(account_id, conference_id) + p result.name + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->get_conference: #{e}" end post: tags: @@ -1343,33 +1443,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.*; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - ModifyConferenceRequest request = new ModifyConferenceRequest(); - request.setStatus(StatusEnum.COMPLETED); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + UpdateConference updateConference = new UpdateConference(); // UpdateConference | try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyConferenceAsync(ACCOUNT_ID, conferenceId, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.updateConference(accountId, conferenceId, updateConference); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#updateConference"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -1489,27 +1591,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + require 'bandwidth-sdk' - body = ModifyConferenceRequest.new - body.status = StatusEnum::ACTIVE + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - conference_id = "conf-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' + update_conference = Bandwidth::UpdateConference.new begin - voice_client.modify_conference("12345", conference_id, body) - rescue APIException => e - puts e.response_code + api_instance.update_conference(account_id, conference_id, update_conference) + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->update_conference: #{e}" end /accounts/{accountId}/conferences/{conferenceId}/bxml: put: @@ -1542,6 +1639,62 @@ paths: $ref: '#/components/responses/voiceTooManyRequestsError' '500': $ref: '#/components/responses/voiceInternalServerError' + x-codeSamples: + - lang: Java + source: | + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Sample { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + String body = ""; // String | + try { + apiInstance.updateConferenceBxml(accountId, conferenceId, body); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#updateConferenceBxml"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } + } + - lang: Ruby + source: | + require 'bandwidth-sdk' + + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end + + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' + body = ' + + + ' + + begin + api_instance.update_conference_bxml(account_id, conference_id, body) + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->update_conference_bxml: #{e}" + end /accounts/{accountId}/conferences/{conferenceId}/members/{memberId}: get: tags: @@ -1615,31 +1768,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.ConferenceMemberState; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; - String memberId = "c-95ac8d8d-b81437f5-4586-4d5b-9b46-29f8b3fe0aaf"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + String memberId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Conference Member ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getConferenceMemberAsync(ACCOUNT_ID, conferenceId, memberId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + ConferenceMember result = apiInstance.getConferenceMember(accountId, conferenceId, memberId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConferenceMember"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -1740,26 +1897,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - conference_id = "conf-1234" - member_id = "m-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' + member_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - response = voice_client.get_conference_member("12345", conference_id, member_id) - puts response.data.member_url - rescue APIException => e - puts e.response_code + result = api_instance.get_conference_member(account_id, conference_id, member_id) + p result.member_url + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->get_conference_member: #{e}" end put: tags: @@ -1852,34 +2006,36 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.*; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - ConferenceMemberState conferenceMemberState = new ConferenceMemberState(); - conferenceMemberState.setMute(true); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + String memberId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Conference Member ID. + UpdateConferenceMember updateConferenceMember = new UpdateConferenceMember(); // UpdateConferenceMember | try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyConferenceMemberAsync(ACCOUNT_ID, conferenceId, callId, conferenceMemberState); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.updateConferenceMember(accountId, conferenceId, memberId, updateConferenceMember); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#updateConferenceMember"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -2002,28 +2158,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + require 'bandwidth-sdk' - body = ConferenceMemberState.new - body.mute = true + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - conference_id = "conf-1234" - call_id = "c-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' + member_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + update_conference_member = Bandwidth::UpdateConferenceMember.new begin - voice_client.modify_conference_member("12345", conference_id, call_id, body) - rescue APIException => e - puts e.response_code + api_instance.update_conference_member(account_id, conference_id, member_id, update_conference_member) + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->update_conference_member: #{e}" end /accounts/{accountId}/conferences/{conferenceId}/recordings: get: @@ -2098,31 +2249,37 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.ConferenceRecordingMetadata; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; import java.util.List; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getConferenceRecordingsAsync(ACCOUNT_ID, conferenceId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + ConferenceRecordingMetadata result = apiInstance.getConferenceRecording(accountId, conferenceId, recordingId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConferenceRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -2222,27 +2379,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - conference_id = "conf-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' begin - response = voice_client.get_conference_recordings("12345", conference_id) - if response.data.length > 0 - puts response.body[0].name - end - rescue APIException => e - puts e.response_code + result = api_instance.list_conference_recordings(account_id, conference_id) + p result[0].name if result.length.positive? + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->list_conference_recordings: #{e}" end /accounts/{accountId}/conferences/{conferenceId}/recordings/{recordingId}: get: @@ -2317,31 +2469,36 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.CallRecordingMetadata; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getConferenceRecordingAsync(ACCOUNT_ID, conferenceId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + ConferenceRecordingMetadata result = apiInstance.getConferenceRecording(accountId, conferenceId, recordingId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConferenceRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -2442,26 +2599,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client - - conference_id = "conf-1234" - recording_id = "r-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - response = voice_client.get_conference_recording("12345", conference_id, recording_id) - puts response.body.application_id - rescue APIException => e - puts e.response_code + result = api_instance.get_conference_recording(account_id, conference_id, recording_id) + p result.application_id + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->get_conference_recording: #{e}" end /accounts/{accountId}/conferences/{conferenceId}/recordings/{recordingId}/media: get: @@ -2537,33 +2691,37 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.DynamicResponse; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.ConferencesApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import java.io.File; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Conference id is returned after successfully creating a conference. - String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + ConferencesApi apiInstance = new ConferencesApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getDownloadConferenceRecordingAsync(ACCOUNT_ID, conferenceId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + File result = apiInstance.downloadConferenceRecording(accountId, conferenceId, recordingId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#downloadConferenceRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -2659,30 +2817,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Voice - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: BW_USERNAME, - voice_basic_auth_password: BW_PASSWORD - ) - - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - conference_id = "conf-1234" - recording_id = "r-1234" + api_instance = Bandwidth::ConferencesApi.new + account_id = '12345' + conference_id = 'conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - result = voice_client.get_download_conference_recording(BW_ACCOUNT_ID, conference_id, recording_id) - downloaded_recording = result.data - rescue APIException => e - puts e.response_code + result = api_instance.download_conference_recording(account_id, conference_id, recording_id) + p result + rescue Bandwidth::ApiError => e + p "Error when calling ConferencesApi->download_conference_recording: #{e}" end /accounts/{accountId}/recordings: get: @@ -2764,29 +2915,40 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.*; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; import java.util.List; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String to = "%2b19195551234"; // String | Filter results by the `to` field. + String from = "%2b19195554321"; // String | Filter results by the `from` field. + String minStartTime = "2022-06-21T19:13:21Z"; // String | Filter results to recordings which have a `startTime` after or including `minStartTime` (in ISO8601 format). + String maxStartTime = "2022-06-21T19:13:21Z"; // String | Filter results to recordings which have a `startTime` before `maxStartTime` (in ISO8601 format). try { - CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getQueryCallRecordingsAsync(ACCOUNT_ID, null, null, null, null); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + List result = apiInstance.listAccountCallRecordings(accountId, to, from, minStartTime, maxStartTime); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#listAccountCallRecordings"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -2870,25 +3032,25 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Voice - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + opts = { + to: '%2b19195551234', + from: '%2b19195554321' + } begin - result = voice_client.get_query_call_recordings("12345") - if result.data.length > 0 - puts result.data[0].recording_id - end - rescue APIException => e - puts e.response_code + result = api_instance.list_account_call_recordings(account_id, opts) + p result[0].recording_id if result.length.positive? + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->list_account_call_recordings: #{e}" end /accounts/{accountId}/calls/{callId}/recording: put: @@ -2973,33 +3135,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.*; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - ModifyCallRecordingRequest recordingRequest = new ModifyCallRecordingRequest(); - recordingRequest.setState(State1Enum.PAUSED); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + UpdateCallRecording updateCallRecording = new UpdateCallRecording(); // UpdateCallRecording | try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyCallRecordingStateAsync(ACCOUNT_ID, callId, recordingRequest); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.updateCallRecordingState(accountId, callId, updateCallRecording); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#updateCallRecordingState"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -3106,28 +3270,30 @@ paths: except APIException as e: print(e.response_code) - lang: Ruby - source: | - require 'bandwidth' + source: > + require 'bandwidth-sdk' - include Bandwidth - include Bandwidth::Voice - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client - body = ModifyCallRecordingRequest.new - body.state = "paused" + api_instance = Bandwidth::RecordingsApi.new + + account_id = '12345' + + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + + update_call_recording = Bandwidth::UpdateCallRecording.new({ state: + Bandwidth::RecordingStateEnum::PAUSED }) - call_id = "c-1234" begin - voice_client.modify_call_recording_state("12345", call_id, body) - rescue APIException => e - puts e.response_code + api_instance.update_call_recording_state(account_id, call_id, update_call_recording) + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->update_call_recording_state: #{e}" end /accounts/{accountId}/calls/{callId}/recordings: get: @@ -3203,32 +3369,37 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.CallRecordingMetadata; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; import java.util.List; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. try { - CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getCallRecordingsAsync(ACCOUNT_ID, callId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + List result = apiInstance.listCallRecordings(accountId, callId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#listCallRecordings"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -3319,27 +3490,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - call_id = "c-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - response = voice_client.get_call_recordings("12345", call_id) - if response.data.length > 0 - puts response.data[0].media_url - end - rescue APIException => e - puts e.response_code + result = api_instance.list_call_recordings(account_id, call_id) + p result[0].media_url if result.length.positive? + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->list_call_recordings: #{e}" end /accounts/{accountId}/calls/{callId}/recordings/{recordingId}: get: @@ -3416,33 +3582,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.CallRecordingMetadata; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getCallRecordingAsync(ACCOUNT_ID, callId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + CallRecordingMetadata result = apiInstance.getCallRecording(accountId, callId, recordingId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#getCallRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -3532,26 +3700,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client - - call_id = "c-1234" - recording_id = "r-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - response = voice_client.get_call_recording("12345", call_id, recording_id) - puts response.data.application_id - rescue APIException => e - puts e.response_code + result = api_instance.get_call_recording(account_id, call_id, recording_id) + p result.application_id + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->get_call_recording: #{e}" end delete: tags: @@ -3635,32 +3800,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().deleteRecordingAsync(ACCOUNT_ID, callId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.deleteRecording(accountId, callId, recordingId); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#deleteRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -3749,25 +3916,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - call_id = "c-1234" - recording_id = "r-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - voice_client.delete_recording("12345", call_id, recording_id) - rescue APIException => e - puts e.response_code + api_instance.delete_recording(account_id, call_id, recording_id) + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->delete_recording: #{e}" end /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media: get: @@ -3844,33 +4008,38 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.DynamicResponse; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import java.io.File; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getDownloadCallRecordingAsync(ACCOUNT_ID, callId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + File result = apiInstance.downloadCallRecording(accountId, callId, recordingId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#downloadCallRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -3956,30 +4125,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: BW_USERNAME, - voice_basic_auth_password: BW_PASSWORD - ) + require 'bandwidth-sdk' - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - call_id = "c-1234" - recording_id = "r-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - result = voice_client.get_download_call_recording(BW_ACCOUNT_ID, call_id, recording_id) - downloaded_recording = result.data - rescue APIException => e - puts e.response_code + result = api_instance.download_call_recording(account_id, call_id, recording_id) + p result + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->download_call_recording: #{e}" end delete: tags: @@ -4055,32 +4217,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().deleteRecordingMediaAsync(ACCOUNT_ID, callId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.deleteRecordingMedia(accountId, callId, recordingId); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#deleteRecordingMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -4169,25 +4333,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + require 'bandwidth-sdk' - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - call_id = "c-1234" - recording_id = "r-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - voice_client.delete_recording_media("12345", call_id, recording_id) - rescue APIException => e - print(e.response_code) + api_instance.delete_recording_media(account_id, call_id, recording_id) + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->delete_recording_media: #{e}" end /accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription: get: @@ -4278,33 +4439,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.TranscriptionResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getCallTranscriptionAsync(ACCOUNT_ID, callId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + TranscriptionList result = apiInstance.getCallTranscription(accountId, callId, recordingId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#getCallTranscription"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -4394,26 +4557,23 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - call_id = "c-1234" - recording_id = "r-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - response = voice_client.get_call_transcription("12345", call_id, recording_id) - puts response.data.transcripts - rescue APIException => e - puts e.response_code + result = api_instance.get_call_transcription(account_id, call_id, recording_id) + p result.transcripts + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->get_call_transcription: #{e}" end post: tags: @@ -4514,34 +4674,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.*; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - TranscribeRecordingRequest request = new TranscribeRecordingRequest(); - request.setCallbackUrl("https://sample.com/callbacks/transcribe"); - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. + TranscribeRecording transcribeRecording = new TranscribeRecording(); // TranscribeRecording | try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().createTranscribeCallRecordingAsync(ACCOUNT_ID, callId, recordingId, request); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.transcribeCallRecording(accountId, callId, recordingId, transcribeRecording); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#transcribeCallRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -4651,31 +4812,25 @@ paths: except APIException as e: print(e.response_code) - lang: Ruby - source: |+ - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice - - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) - - voice_client = bandwidth_client.voice_client.client + source: | + require 'bandwidth-sdk' - call_id = "c-1234" - recording_id = "r-1234" + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - body = TranscribeRecordingRequest.new - body.callback_url = "https://callback-url.com" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + transcribe_recording = Bandwidth::TranscribeRecording.new begin - voice_client.create_transcribe_call_recording("12345", call_id, recording_id, body) - rescue APIException => e - puts e.response_code + api_instance.transcribe_call_recording(account_id, call_id, recording_id, transcribe_recording) + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->transcribe_call_recording: #{e}" end - delete: tags: - Recordings @@ -4757,32 +4912,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.model.*; + import com.bandwidth.sdk.api.RecordingsApi; public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - public static void main(String[] args) { - // Call id is returned after successfully creating a call. - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - // Recording id is returned after retrieving a recording from the call. - String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + ApiClient defaultClient = Configuration.getDefaultApiClient(); - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + // Configure HTTP basic authorization: Basic + HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); + Basic.setUsername("YOUR USERNAME"); + Basic.setPassword("YOUR PASSWORD"); + RecordingsApi apiInstance = new RecordingsApi(defaultClient); + String accountId = "9900000"; // String | Your Bandwidth Account ID. + String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID. + String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Recording ID. try { - CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().deleteCallTranscriptionAsync(ACCOUNT_ID, callId, recordingId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); + apiInstance.deleteCallTranscription(accountId, callId, recordingId); + } catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#deleteCallTranscription"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); } } } @@ -4870,25 +5027,22 @@ paths: print(e.response_code) - lang: Ruby source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::Voice + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: "api-username", - voice_basic_auth_password: "api-password" - ) + Bandwidth.configure do |config| + config.username = 'api-username' + config.password = 'api-password' + end - voice_client = bandwidth_client.voice_client.client - - call_id = "c-1234" - recording_id = "r-1234" + api_instance = Bandwidth::RecordingsApi.new + account_id = '12345' + call_id = 'c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' + recording_id = 'r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85' begin - voice_client.delete_call_transcription("12345", call_id, recording_id) - rescue APIException => e - puts e.response_code + api_instance.delete_call_transcription(account_id, call_id, recording_id) + rescue Bandwidth::ApiError => e + p "Error when calling RecordingsApi->delete_call_transcription: #{e}" end /accounts/{accountId}/statistics: get: @@ -7297,6 +7451,38 @@ components: default: 1000 description: Specifies the max number of conferences that will be returned. example: 500 + minStartTimeCalls: + name: minStartTime + in: query + required: false + schema: + type: string + description: >- + Filter results to calls which have a `startTime` after or including + `minStartTime` (in ISO8601 format). + example: '2022-06-21T19:13:21Z' + maxStartTimeCalls: + name: maxStartTime + in: query + required: false + schema: + type: string + description: >- + Filter results to calls which have a `startTime` before or including + `maxStartTime` (in ISO8601 format). + example: '2022-06-21T19:13:21Z' + pageSizeCalls: + name: pageSize + in: query + required: false + schema: + type: integer + format: int32 + minimum: 1 + maximum: 10000 + default: 1000 + description: Specifies the max number of calls that will be returned. + example: 500 pageToken: name: pageToken in: query @@ -7307,6 +7493,14 @@ components: Not intended for explicit use. To use pagination, follow the links in the `Link` header of the response, as indicated in the endpoint description. + disconnectCause: + name: disconnectCause + in: query + required: false + schema: + type: string + description: Filter results to calls with specified call Disconnect Cause. + example: hangup requestBodies: createCallRequest: description: JSON object containing information to create an outbound call @@ -7406,6 +7600,14 @@ components: application/json: schema: $ref: '#/components/schemas/callState' + listCallsResponse: + description: Calls retrieved successfully + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/callState' getStatisticsResponse: description: Statistics Found content: diff --git a/site/specs/webrtc.yml b/site/specs/webrtc.yml index 9be38445f..a18eb766c 100644 --- a/site/specs/webrtc.yml +++ b/site/specs/webrtc.yml @@ -39,175 +39,6 @@ paths: $ref: '#/components/responses/webrtcForbiddenError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/participants' \ - -X POST \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \ - -H 'Content-Type: application/json' \ - -d '{ - "callbackUrl": "https://example.com/callback", - "publishPermissions": [ - "VIDEO", - "AUDIO" - ], - "tag": "participant1", - "deviceApiVersion": "V3" - }' - - lang: C# - source: "\uFEFFusing System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Bandwidth.Standard;\nusing Bandwidth.Standard.Exceptions;\nusing Bandwidth.Standard.WebRtc.Models;\n\nclass Program\n{\n static async Task Main(string[] args)\n {\n var username = \"api-username\";\n var password = \"api-pasword\";\n var accountId = \"12345\";\n\n var client = new BandwidthClient.Builder()\n .WebRtcBasicAuthCredentials(username, password)\n .Build();\n\n var participant = new Participant()\n {\n PublishPermissions = new List() { PublishPermissionEnum.AUDIO, PublishPermissionEnum.VIDEO }\n };\n\n try\n {\n var response = await client.WebRtc.APIController.CreateParticipantAsync(accountId, participant);\n Console.WriteLine(response.Data);\n }\n catch (ApiException e)\n {\n Console.WriteLine(e.Message);\n }\n }\n}\n" - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.AccountsParticipantsResponse; - import com.bandwidth.webrtc.models.Participant; - import com.bandwidth.webrtc.models.PublishPermissionEnum; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - import java.util.Arrays; - import java.util.List; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - Participant participant = new Participant(); - List publishPermissions = Arrays.asList(PublishPermissionEnum.AUDIO, PublishPermissionEnum.VIDEO); - participant.setPublishPermissions(publishPermissions); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().createParticipantAsync(ACCOUNT_ID, participant); - } catch (Exception ex) { - System.out.println(ex.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - - const createParticipant = async function() { - try { - const response = await controller.createParticipant(accountId, { - callbackUrl: "http://www.myapp.com/new", - publishPermissions: ["AUDIO"] - }) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - createParticipant(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $body = new BandwidthLib\WebRtc\Models\Participant(); - $body->publishPermissions = array("AUDIO", "VIDEO"); - $body->deviceApiVersion = "V3"; - - try { - $response = $webRtcClient->createParticipant($BW_ACCOUNT_ID, $body); - print_r($response->getResult()->participant->id); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - from bandwidth.webrtc.models.participant import Participant - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - body = Participant() - body.publish_permissions = ["AUDIO", "VIDEO"] - body.device_api_version = "V3" - - try: - response = web_rtc_client.create_participant(BW_ACCOUNT_ID, body) - print(response.body.participant.id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - body = Participant.new - body.publish_permissions = ["AUDIO", "VIDEO"] - body.device_api_version = "V3" - - begin - response = web_rtc_client.create_participant(BW_ACCOUNT_ID, :body => body) - puts response.data.participant.id - rescue APIException => e - puts e.response_code - end /accounts/{accountId}/participants/{participantId}: get: tags: @@ -231,182 +62,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/participants/320e2af6-13ec-498d-8b51-daba52c37853' - \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: |- - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var participantId = "320e2af6-13ec-498d-8b51-daba52c37853"; - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - var response = await client.WebRtc.APIController.GetParticipantAsync(accountId, participantId); - Console.WriteLine(response.Data); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.Participant; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().getParticipantAsync(ACCOUNT_ID, participantId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const participantId = "320e2af6-13ec-498d-8b51-daba52c37853" - - const getParticipant = async function() { - try { - const response = await controller.getParticipant(accountId, participantId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - getParticipant(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $participantId = "1234-qwer"; - - try { - $response = $webRtcClient->getParticipant($BW_ACCOUNT_ID, $participantId); - print_r($response->getResult()->id); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - participant_id = "1234-abcd" - - try: - response = web_rtc_client.get_participant(BW_ACCOUNT_ID, participant_id) - print(response.body.id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - participant_id = "1234-abcd" - - begin - response = web_rtc_client.get_participant(BW_ACCOUNT_ID, participant_id) - puts response.data.id - rescue APIException => e - puts e.response_code - end delete: tags: - Participants @@ -429,177 +84,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/participants/320e2af6-13ec-498d-8b51-daba52c37853' - \ - -X DELETE \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var participantId = "320e2af6-13ec-498d-8b51-daba52c37853"; - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - await client.WebRtc.APIController.DeleteParticipantAsync(accountId, participantId); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - String participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().deleteParticipantAsync(ACCOUNT_ID, participantId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const participantId = "320e2af6-13ec-498d-8b51-daba52c37853" - - const deleteParticipant = async function() { - try { - const response = await controller.deleteParticipant(accountId, participantId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - deleteParticipant(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $participantId = "1234-abcd"; - - try { - $webRtcClient->deleteParticipant($BW_ACCOUNT_ID, $participantId); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - web_rtc_client = bandwidth_client.web_rtc_client.client - - participant_id = "1234-abcd" - - try: - web_rtc_client.delete_participant(BW_ACCOUNT_ID, participant_id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - participant_id = "1234-abcd" - - begin - web_rtc_client.delete_participant(BW_ACCOUNT_ID, participant_id) - rescue APIException => e - puts e.response_code - end /accounts/{accountId}/sessions: post: tags: @@ -624,193 +108,6 @@ paths: $ref: '#/components/responses/webrtcForbiddenError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: | - curl 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions' \ - -X POST \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \ - -H 'Content-Type: application/json' \ - -d '{ - "tag": "session1" - }' - - lang: C# - source: |- - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - var session = new Session() - { - Tag = "new-session" - }; - - try - { - var response = await client.WebRtc.APIController.CreateSessionAsync(accountId, session); - Console.WriteLine(response.Data); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - import com.bandwidth.*; - import com.bandwidth.webrtc.models.*; - import com.bandwidth.http.response.ApiResponse; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - Session session = new Session(); - session.setTag("new-session"); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().createSessionAsync(ACCOUNT_ID, session); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - - const createSession = async function() { - try { - const response = await controller.createSession(accountId, { - tag: '{"SessionName": "my_session"}' - }) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - createSession(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $body = new BandwidthLib\WebRtc\Models\Session(); - $body->tag = "tag"; - - try { - $response = $webRtcClient->createSession($BW_ACCOUNT_ID, $body); - print_r($response->getResult()->id); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - from bandwidth.webrtc.models.session import Session - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - web_rtc_client = bandwidth_client.web_rtc_client.client - - body = Session() - body.tag = "tag" - - try: - response = web_rtc_client.create_session(BW_ACCOUNT_ID, body) - print(response.body.id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - body = Session.new - body.tag = "tag" - - begin - response = web_rtc_client.create_session(BW_ACCOUNT_ID, :body => body) - puts response.data.id - rescue APIException => e - puts e.response_code - end /accounts/{accountId}/sessions/{sessionId}: get: tags: @@ -834,182 +131,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5' - \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - var response = await client.WebRtc.APIController.GetSessionAsync(accountId, sessionId); - Console.WriteLine(response.Data); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.Session; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().getSessionAsync(ACCOUNT_ID, sessionId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - - const getSession = async function() { - try { - const response = await controller.getSession(accountId, sessionId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - getSession(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $sessionId = "1234-qwer"; - - try { - $response = $webRtcClient->getSession($BW_ACCOUNT_ID, $sessionId); - print_r($response->getResult()->id); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - - try: - response = web_rtc_client.get_session(BW_ACCOUNT_ID, session_id) - print(response.body.id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - - begin - response = web_rtc_client.get_session(BW_ACCOUNT_ID, session_id) - print(response.data.id) - rescue APIException => e - print(e.response_code) - end delete: tags: - Sessions @@ -1032,178 +153,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5' - \ - -X DELETE \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - await client.WebRtc.APIController.DeleteSessionAsync(accountId, sessionId); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().deleteSessionAsync(ACCOUNT_ID, sessionId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - - const deleteSession = async function() { - try { - const response = await controller.deleteSession(accountId, sessionId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - deleteSession(); - - lang: PHP - source: |+ - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $sessionId = "1234-qwer"; - - try { - $webRtcClient->deleteSession($BW_ACCOUNT_ID, $sessionId); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - - try: - web_rtc_client.delete_session(BW_ACCOUNT_ID, session_id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - - begin - web_rtc_client.delete_session(BW_ACCOUNT_ID, session_id) - rescue APIException => e - puts e.response_code - end /accounts/{accountId}/sessions/{sessionId}/participants: get: tags: @@ -1229,183 +178,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5/participants' - \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - var response = await client.WebRtc.APIController.ListSessionParticipantsAsync(accountId, sessionId); - Console.WriteLine(response.Data); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.Participant; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - import java.util.List; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - try { - CompletableFuture>> completableFuture = client.getWebRtcClient().getAPIController().listSessionParticipantsAsync(ACCOUNT_ID, sessionId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - - const listSessionParticipants = async function() { - try { - const response = await controller.listSessionParticipants(accountId, sessionId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - listSessionParticipants(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $sessionId = "1234-qwer"; - - try { - $response = $webRtcClient->listSessionParticipants($BW_ACCOUNT_ID, $sessionId); - print_r($response->getResult()); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - - try: - response = web_rtc_client.list_session_participants(BW_ACCOUNT_ID, session_id) - print(response.body) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - - begin - response = web_rtc_client.list_session_participants(BW_ACCOUNT_ID, session_id) - puts response.end - rescue APIException => e - puts e.response_code - end /accounts/{accountId}/sessions/{sessionId}/participants/{participantId}: put: tags: @@ -1437,219 +209,6 @@ paths: $ref: '#/components/responses/webrtcConflictError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5/participants/568749d5-04d5-483d-adf5-deac7dd3d521' - \ - -X PUT \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \ - -H 'Content-Type: application/json' \ - -d '{ - "sessionId": "d8886aad-b956-4e1b-b2f4-d7c9f8162772", - "participants": [ - { - "participantId": "568749d5-04d5-483d-adf5-deac7dd3d521" - }, - { - "participantId": "0275e47f-dd21-4cf0-a1e1-dfdc719e73a7" - } - ] - }' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using System.Collections.Generic; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - var participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; // Returned via WebRTC's create participant request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - var subscriptions = new Subscriptions() - { - SessionId = sessionId - }; - - try - { - await client.WebRtc.APIController.AddParticipantToSessionAsync(accountId, sessionId, participantId, subscriptions); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.Subscriptions; - import com.bandwidth.webrtc.models.ParticipantSubscription; - - import java.util.ArrayList; - import java.util.List; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - String participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; // Returned via WebRTC's create participant request. - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - Subscriptions subscriptions = new Subscriptions(); - subscriptions.setSessionId(sessionId); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().addParticipantToSessionAsync(ACCOUNT_ID, sessionId, participantId, subscriptions); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - const participantId = "320e2af6-13ec-498d-8b51-daba52c37853" - const subscriptions = { - sessionId: sessionId - }; - - const addParticipantToSession = async function() { - try { - const response = await controller.addParticipantToSession(accountId, sessionId, participantId, subscriptions) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - addParticipantToSession(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $sessionId = "1234-abcd"; - $participantId = "4321-dcba"; - - $body = new BandwidthLib\WebRtc\Models\Subscriptions(); - $body->sessionId = $sessionId; - - try { - $webRtcClient->addParticipantToSession($BW_ACCOUNT_ID, $sessionId, $participantId, $body); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - participant_id = "4321-dcba" - subscriptions = {'sessionId': session_id} - - try: - web_rtc_client.add_participant_to_session(BW_ACCOUNT_ID, session_id, participant_id, subscriptions) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - participant_id = "4321-dcba" - - body = Subscriptions.new - body.session_id = session_id - - begin - web_rtc_client.add_participant_to_session(BW_ACCOUNT_ID, session_id, participant_id, body: body) - rescue APIException => e - puts e.response_code - end delete: tags: - Sessions @@ -1675,184 +234,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5/participants/568749d5-04d5-483d-adf5-deac7dd3d521' - \ - -X DELETE \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: |- - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - var participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; // Returned via WebRTC's create participant request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - await client.WebRtc.APIController.RemoveParticipantFromSessionAsync(accountId, sessionId, participantId); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; - String participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().removeParticipantFromSessionAsync(ACCOUNT_ID, sessionId, participantId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - const participantId = "320e2af6-13ec-498d-8b51-daba52c37853" - - const removeParticipantFromSession = async function() { - try { - const response = await controller.removeParticipantFromSession(accountId, sessionId, participantId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - removeParticipantFromSession(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $sessionId = "1234-abcd"; - $participantId = "4321-dcba"; - - try { - $webRtcClient->removeParticipantFromSession($BW_ACCOUNT_ID, $sessionId, $participantId); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - participant_id = "4312-dbca" - - try: - web_rtc_client.remove_participant_from_session(BW_ACCOUNT_ID, session_id, participant_id) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - session_id = "1234-abcd" - participant_id = "4312-dbca" - - begin - web_rtc_client.remove_participant_from_session(BW_ACCOUNT_ID, session_id, participant_id) - rescue APIException => e - puts e.response_code - end /accounts/{accountId}/sessions/{sessionId}/participants/{participantId}/subscriptions: get: tags: @@ -1879,188 +260,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5/participants/568749d5-04d5-483d-adf5-deac7dd3d521/subscriptions' - \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - var participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; // Returned via WebRTC's create participant request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - try - { - var response = await client.WebRtc.APIController.GetParticipantSubscriptionsAsync(accountId, sessionId, participantId); - Console.WriteLine(response.Data); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.Subscriptions; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; - String participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().getParticipantSubscriptionsAsync(ACCOUNT_ID, sessionId, participantId); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - const participantId = "320e2af6-13ec-498d-8b51-daba52c37853" - - const getParticipantSubscriptions = async function() { - try { - const response = await controller.getParticipantSubscriptions(accountId, sessionId, participantId) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - getParticipantSubscriptions(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $participantId = "1234-abcd"; - $sessionId = "4321-dcba"; - - try { - $response = $webRtcClient->getParticipantSubscriptions($BW_ACCOUNT_ID, $sessionId, $participantId); - print_r($response->getResult()); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - participant_id = "1234-abcd" - session_id = "4321-dcba" - - try: - response = web_rtc_client.get_participant_subscriptions(BW_ACCOUNT_ID, session_id, participant_id) - print(response.body) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: | - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - participant_id = "1234-abcd" - session_id = "4321-dcba" - - begin - response = web_rtc_client.get_participant_subscriptions(BW_ACCOUNT_ID, session_id, participant_id) - puts response.data - rescue APIException => e - puts e.response_code - end put: tags: - Sessions @@ -2096,224 +295,6 @@ paths: $ref: '#/components/responses/webrtcNotFoundError' '500': $ref: '#/components/responses/webrtcInternalServerError' - x-codeSamples: - - lang: cURL - source: > - curl - 'https://api.webrtc.bandwidth.com/v1/accounts/12345/sessions/75c21163-e110-41bc-bd76-1bb428ec85d5/participants/568749d5-04d5-483d-adf5-deac7dd3d521/subscriptions' - \ - -X PUT \ - -H 'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \ - -H 'Content-Type: application/json' \ - -d '{ - "sessionId": "d8886aad-b956-4e1b-b2f4-d7c9f8162772", - "participants": [ - { - "participantId": "568749d5-04d5-483d-adf5-deac7dd3d521" - }, - { - "participantId": "0275e47f-dd21-4cf0-a1e1-dfdc719e73a7" - } - ] - }' - - lang: C# - source: | - using System; - using System.Threading.Tasks; - using Bandwidth.Standard; - using Bandwidth.Standard.Exceptions; - using Bandwidth.Standard.WebRtc.Models; - - class Program - { - static async Task Main(string[] args) - { - var username = "api-username"; - var password = "api-pasword"; - var accountId = "12345"; - - var sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; // Returned via WebRTC's create session request. - var participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; // Returned via WebRTC's create participant request. - - var client = new BandwidthClient.Builder() - .WebRtcBasicAuthCredentials(username, password) - .Build(); - - var subscriptions = new Subscriptions() - { - SessionId = sessionId - }; - - try - { - await client.WebRtc.APIController.UpdateParticipantSubscriptionsAsync(accountId, sessionId, participantId, subscriptions); - } - catch (ApiException e) - { - Console.WriteLine(e.Message); - } - } - } - - lang: Java - source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.webrtc.models.Subscriptions; - - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.ExecutionException; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - - public static void main(String[] args) { - String sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5"; - String participantId = "568749d5-04d5-483d-adf5-deac7dd3d521"; - - BandwidthClient client = new BandwidthClient.Builder() - .webRtcBasicAuthCredentials(USERNAME, PASSWORD) - .build(); - - Subscriptions subscriptions = new Subscriptions(); - subscriptions.setSessionId(sessionId); - - try { - CompletableFuture> completableFuture = client.getWebRtcClient().getAPIController().updateParticipantSubscriptionsAsync(ACCOUNT_ID, sessionId, participantId, subscriptions); - System.out.println(completableFuture.get().getResult()); - } catch (InterruptedException | ExecutionException e) { - System.out.println(e.getMessage()); - } - } - } - - lang: Node.js - source: | - import { Client, ApiController } from '@bandwidth/webrtc'; - - const BW_USERNAME = "api-username"; - const BW_PASSWORD = "api-password"; - const BW_ACCOUNT_ID = "12345"; - - const client = new Client({ - basicAuthUserName: BW_USERNAME, - basicAuthPassword: BW_PASSWORD - }); - - const controller = new ApiController(client); - - const accountId = BW_ACCOUNT_ID; - const sessionId = "75c21163-e110-41bc-bd76-1bb428ec85d5" - const participantId = "320e2af6-13ec-498d-8b51-daba52c37853" - const body = { "sessionId": "75c21163-e110-41bc-bd76-1bb428ec85d5", - "participants": [{ - "participantId": "568749d5-04d5-483d-adf5-deac7dd3d521" - }, { - "participantId": "0275e47f-dd21-4cf0-a1e1-dfdc719e73a7" - }] - } - - const updateParticipantSubscriptions = async function() { - try { - const response = await controller.updateParticipantSubscriptions(accountId, sessionId, participantId, body) - console.log(response.body); - } catch(error) { - console.error(error); - } - } - - updateParticipantSubscriptions(); - - lang: PHP - source: | - $BW_USERNAME, - 'webRtcBasicAuthPassword' => $BW_PASSWORD, - ) - ); - $client = new BandwidthLib\BandwidthClient($config); - - $webRtcClient = $client->getWebRtc()->getClient(); - - $body = new BandwidthLib\WebRtc\Models\Subscriptions(); - $body->sessionId = "1234-abcd"; - - $sessionId = "1234-abcd"; - $participantId = "4321-dcba"; - - try { - $webRtcClient->updateParticipantSubscriptions($BW_ACCOUNT_ID, $sessionId, $participantId, $body); - } catch (BandwidthLib\APIException $e) { - print_r($e->getResponseCode()); - } - - lang: Python - source: | - from bandwidth.bandwidth_client import BandwidthClient - from bandwidth.exceptions.api_exception import APIException - from bandwidth.webrtc.models.subscriptions import Subscriptions - - import os - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = BandwidthClient( - web_rtc_basic_auth_user_name=BW_USERNAME, - web_rtc_basic_auth_password=BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - body = Subscriptions() - body.session_id = "1234-abcd" - - session_id = "1234-abcd" - participant_id = "4321-dcba" - - try: - web_rtc_client.update_participant_subscriptions(BW_ACCOUNT_ID, session_id, participant_id, body) - except APIException as e: - print(e.response_code) - - lang: Ruby - source: |+ - require 'bandwidth' - - include Bandwidth - include Bandwidth::WebRtc - - BW_USERNAME = "api-username" - BW_PASSWORD = "api-password" - BW_ACCOUNT_ID = "12345" - - bandwidth_client = Bandwidth::Client.new( - web_rtc_basic_auth_user_name: BW_USERNAME, - web_rtc_basic_auth_password: BW_PASSWORD - ) - - web_rtc_client = bandwidth_client.web_rtc_client.client - - body = Subscriptions.new - body.session_id = "1234-abcd" - - session_id = "1234-abcd" - participant_id = "4321-dcba" - - begin - web_rtc_client.update_participant_subscriptions(BW_ACCOUNT_ID, session_id, participant_id, :body => body) - #NOTE: This is currently improperly defined - rescue APIException => e - puts e.response_code - end - components: schemas: publishPermissionsEnum: From 5bdc0dc9e8e3d0e8caf37cf2ec36568c2315e45f Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 15:52:49 +0000 Subject: [PATCH 62/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 42 ++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index c2e06f3fc..fb944f09e 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -11,8 +11,10 @@ info: termsOfService: https://www.bandwidth.com/legal/terms-of-use-bandwidthcom-web-sites/ version: 1.0.0 servers: - - url: TODO - description: Production + - url: https://eng.dashboard.bandwidth.com/portal/report/aibridge + description: Development and test server. + - url: https://dashboard.bandwidth.com/portal/report/aibridge + description: Production server. paths: /accounts/{accountId}/aibridge/providers: get: @@ -544,7 +546,7 @@ components: links: type: array items: - $ref: '#/components/schemas/link' + $ref: '#/components/schemas/links' nullable: true data: oneOf: @@ -569,7 +571,7 @@ components: links: type: array items: - $ref: '#/components/schemas/link' + $ref: '#/components/schemas/links' nullable: true data: $ref: '#/components/schemas/botResponseData' @@ -590,7 +592,7 @@ components: links: type: array items: - $ref: '#/components/schemas/link' + $ref: '#/components/schemas/links' nullable: true data: oneOf: @@ -615,7 +617,7 @@ components: links: type: array items: - $ref: '#/components/schemas/link' + $ref: '#/components/schemas/links' nullable: true data: $ref: '#/components/schemas/botResponseData' @@ -636,7 +638,7 @@ components: links: type: array items: - $ref: '#/components/schemas/link' + $ref: '#/components/schemas/links' nullable: true data: properties: @@ -668,7 +670,7 @@ components: links: type: array items: - $ref: '#/components/schemas/link' + $ref: '#/components/schemas/links' nullable: true data: properties: @@ -1678,8 +1680,8 @@ components: message: type: string example: An optional metadata field - link: - title: Link + links: + title: Links type: object properties: href: @@ -1694,6 +1696,8 @@ components: type: string description: HTTP method to be used. example: GET + example: + $ref: '#/components/examples/linksExample' requestBodies: providerPostRequest: content: @@ -2578,6 +2582,24 @@ components: Unexpected internal server error. Contact Bandwidth Customer Support if this problem persists. errorCode: 500 + linksExample: + summary: An example of a links object in the aibridge reponse + value: + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: self + method: GET + - href: /providers + rel: create + method: POST + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: replace + method: PUT + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: update + method: PATCH + - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f + rel: delete + method: DELETE securitySchemes: Basic: type: http From b8c6c772abf351940241fbfee6833d190ee24265 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 16:21:07 +0000 Subject: [PATCH 63/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index fb944f09e..2ce1762d2 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -572,6 +572,8 @@ components: type: array items: $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' nullable: true data: $ref: '#/components/schemas/botResponseData' From a3b4674cdd8ab0dd17ad48392af8ec02096aaed0 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 16:29:30 +0000 Subject: [PATCH 64/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 2ce1762d2..7a1cbbed0 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -547,6 +547,8 @@ components: type: array items: $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' nullable: true data: oneOf: @@ -595,6 +597,8 @@ components: type: array items: $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' nullable: true data: oneOf: @@ -620,6 +624,8 @@ components: type: array items: $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' nullable: true data: $ref: '#/components/schemas/botResponseData' @@ -641,6 +647,8 @@ components: type: array items: $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' nullable: true data: properties: @@ -673,6 +681,8 @@ components: type: array items: $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' nullable: true data: properties: From 9c3f4fe9cc19a2ebcb7badf694ff178446ec996c Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 17:05:35 +0000 Subject: [PATCH 65/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 7a1cbbed0..1c0c63cfc 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -560,6 +560,8 @@ components: type: array items: $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' nullable: true required: - links @@ -610,6 +612,8 @@ components: type: array items: $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' nullable: true required: - links @@ -633,6 +637,8 @@ components: type: array items: $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' nullable: true required: - links @@ -667,6 +673,8 @@ components: type: array items: $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' nullable: true required: - links @@ -698,6 +706,8 @@ components: type: array items: $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' nullable: true required: - links @@ -2612,6 +2622,13 @@ components: - href: /providers/b64b5e72-a850-4f38-98d4-5022cacd3f0f rel: delete method: DELETE + errorsExample: + summary: An exmaple of an error object in the aibridge reponse + value: + - id: optional-error-id + type: resource-not-found + description: The resource specified cannot be found. + errorCode: 404 securitySchemes: Basic: type: http From 012f8ed17dceaa6aee4875e6007ea09dda744045 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 19:03:25 +0000 Subject: [PATCH 66/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 175 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 169 insertions(+), 6 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 1c0c63cfc..18308c2a1 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -585,6 +585,8 @@ components: type: array items: $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' nullable: true required: - links @@ -628,8 +630,8 @@ components: type: array items: $ref: '#/components/schemas/links' - example: - $ref: '#/components/examples/linksExample' + example: + $ref: '#/components/examples/linksExample' nullable: true data: $ref: '#/components/schemas/botResponseData' @@ -660,6 +662,8 @@ components: properties: totalCount: type: integer + example: + $ref: '#/components/examples/totalCountExample' providers: type: array items: @@ -668,6 +672,8 @@ components: - $ref: '#/components/schemas/googleCxProviderResponseData' - $ref: '#/components/schemas/awsProviderResponseData' - $ref: '#/components/schemas/cognigyProviderResponseData' + example: + $ref: '#/components/examples/providersExample' nullable: true errors: type: array @@ -697,6 +703,8 @@ components: totalCount: type: integer description: The total count of objects returned in the response. + example: + $ref: '#/components/examples/totalCountExample' bots: type: array items: @@ -739,6 +747,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProviderResponse' nullable: true @@ -764,6 +774,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleCxProviderResponse' nullable: true @@ -822,6 +834,8 @@ components: anyOf: - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' awsProvider: $ref: '#/components/schemas/awsProviderResponse' required: @@ -847,6 +861,8 @@ components: items: anyOf: - $ref: '#/components/schemas/bot' + example: + $ref: '#/components/examples/roleExample' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: @@ -873,6 +889,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProvider' example: @@ -900,6 +918,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleCxProvider' example: @@ -969,6 +989,8 @@ components: anyOf: - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' awsProvider: $ref: '#/components/schemas/awsProvider' required: @@ -994,6 +1016,8 @@ components: items: anyOf: - $ref: '#/components/schemas/bot' + example: + $ref: '#/components/examples/roleExample' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: @@ -1122,6 +1146,8 @@ components: - GOOGLE_CX - AWS - COGNIGY + example: + $ref: '#/components/examples/typeExample' updateProviderResponseData: type: object properties: @@ -1145,6 +1171,8 @@ components: - GOOGLE_CX - AWS - COGNIGY + example: + $ref: '#/components/examples/typeExample' updateProvider: type: object properties: @@ -1168,6 +1196,8 @@ components: - GOOGLE_CX - AWS - COGNIGY + example: + $ref: '#/components/examples/typeExample' credentials: oneOf: - $ref: '#/components/schemas/googleProviderCredentials' @@ -1184,30 +1214,36 @@ components: privateKey: type: string description: Private key for the Google account. + example: + $ref: '#/components/examples/privateKeyExample' clientEmail: type: string description: Email address for the Google account. + example: + $ref: '#/components/examples/clientEmailExample' required: - privateKey - clientEmail example: - privateKey: abc123 - clientEmail: johndoe@example.com + $ref: '#/components/examples/googleProviderCredentialsExample' awsProviderCredentials: type: object properties: accessKey: type: string description: Access key for the AWS account. + example: + $ref: '#/components/examples/accessKeyExample' secretKey: type: string description: Secret key for the AWS account. + example: + $ref: '#/components/examples/secretKeyExample' required: - accessKey - secretKey example: - accessKey: abc123 - secretKey: 456efg + $ref: '#/components/examples/awsProviderCredentialsExample' updateGoogleEsProvider: type: object properties: @@ -1222,6 +1258,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProvider' required: @@ -1244,6 +1282,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProvider' required: @@ -1298,6 +1338,8 @@ components: - $ref: '#/components/schemas/bot' - $ref: '#/components/schemas/tts' - $ref: '#/components/schemas/stt' + example: + $ref: '#/components/examples/roleExample' awsProvider: $ref: '#/components/schemas/awsProvider' required: @@ -1318,6 +1360,8 @@ components: items: anyOf: - $ref: '#/components/schemas/bot' + example: + $ref: '#/components/examples/roleExample' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: @@ -2629,6 +2673,125 @@ components: type: resource-not-found description: The resource specified cannot be found. errorCode: 404 + totalCountExample: + summary: Example of a total count number. + value: 10 + providersExample: + summary: Example of list of providers in list aibridge repsponses + value: + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0a + displayName: Google-ES Provider + type: GOOGLE_ES + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google-CX Provider + type: GOOGLE_CX + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + agentId: myagent + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r + displayName: AWS Provider + type: AWS + description: Aws provider description + awsProvider: + Region: us-west-1 + awsCredentials: + accessKeyId: myaccesskey + secretAccessKey: mysecretkey + role: + - tts + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0g + displayName: Cognigy Provider + type: COGNIGY + description: Cognigy provider description + cognigyProvider: + botUrl: http://cognigy-bot-url + role: + - bot + botsExample: + summary: Example of list of bots in list aibridge repsponses + value: + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + dtmfCollect: true + dtmfCollectSubmitDigit: '#' + transferTarget: tel:+19195554321 + sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US + ttsProvider: + provider: + provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f + voiceName: Jill + - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r + displayName: Bot + provider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + dtmfCollect: false + dtmfCollectSubmitDigit: '#' + transferTarget: tel:+19195554321 + sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + language: en-US + ttsProvider: + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + voiceName: Jill + roleExample: + summary: >- + An array of roles that say what function(s) an AIBridge Integration can + do. + value: + - bot + - stt + - tts + typeExample: + summary: type of provider + value: GOOGLE_CX + privateKeyExample: + summary: An Google private key. + value: >- + -----BEGIN OPENSSH PRIVATE KEY-----\nb3B3l\n-----END OPENSSH PRIVATE + KEY----- + clientEmailExample: + summary: A Google email + value: clientEmail@gogole.com + accessKeyExample: + summary: An AWS access key + value: AKIAIOSFODNN7EXAMPLE + secretKeyExample: + summary: An AWS secret key + value: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY + googleProviderCredentialsExample: + summary: An example of the Google Provider Credentials Obeject + value: + privateKey: abc123 + clientEmail: johndoe@google.com + awsProviderCredentialsExample: + summary: An example of the AWS Provider Credentials Obeject + value: + accessKey: abc123 + secretKey: 456efg securitySchemes: Basic: type: http From d2464ab06cd001c606952d3b6882054ed7be6743 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 19:26:45 +0000 Subject: [PATCH 67/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 18308c2a1..3c065fbaa 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -709,6 +709,8 @@ components: type: array items: $ref: '#/components/schemas/botResponseData' + example: + $ref: '#/components/examples/botsExample' nullable: true errors: type: array @@ -960,7 +962,7 @@ components: - $ref: '#/components/schemas/googleTextToSpeechBot' - $ref: '#/components/schemas/awsTextToSpeechBot' example: - $ref: '#/components/examples/googleBotExample' + $ref: '#/components/examples/googleBotResponseExample' required: - id - provider @@ -1910,7 +1912,7 @@ components: botUrl: http://cognigy-bot-url role: - bot - errors: [] + errors: null listBotResponseExample: summary: An example of a list bot response value: @@ -1950,7 +1952,7 @@ components: ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - errors: [] + errors: null googleEsProviderExample: summary: An example of a Google-ES provider value: @@ -1969,7 +1971,7 @@ components: projectId: myproject googleCredentials: privateKey: samplekey - clientEmai: email + clientEmail: email googleCxProviderExample: summary: An example of a Google-CX provider value: @@ -1989,7 +1991,7 @@ components: agentId: myagent googleCredentials: privateKey: samplekey - clientEmai: email + clientEmail: email botRequestExample: summary: An example of a Bot request value: @@ -2011,8 +2013,23 @@ components: value: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + description: Bot description + dtmfCollect: true + dtmfCollectSubmitDigit: '#' + transferTarget: tel:+19195554321 + sttProvider: + provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US + ttsProvider: + provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f + voiceName: Jill + googleBotResponseExample: + summary: An example of a Google bot + value: + id: b64b5e72-a850-4f38-98d4-5022cacd3f0f + displayName: Bot + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: '#' From a32c593d720dfa63cc0facd2b085d3f3e90e5b13 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 19:45:01 +0000 Subject: [PATCH 68/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 41 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 3c065fbaa..d9a9fc673 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -840,9 +840,6 @@ components: $ref: '#/components/examples/roleExample' awsProvider: $ref: '#/components/schemas/awsProviderResponse' - required: - - type - - fields nullable: true example: $ref: '#/components/examples/awsProviderExample' @@ -867,9 +864,6 @@ components: $ref: '#/components/examples/roleExample' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' - required: - - type - - fields nullable: true example: $ref: '#/components/examples/cognigyProviderExample' @@ -898,7 +892,7 @@ components: example: $ref: '#/components/examples/googleEsProviderExample' required: - - name + - displayName - description - type - googleProvider @@ -927,7 +921,7 @@ components: example: $ref: '#/components/examples/googleCxProviderExample' required: - - name + - displayName - description - type - googleProvider @@ -996,7 +990,7 @@ components: awsProvider: $ref: '#/components/schemas/awsProvider' required: - - name + - displayName - description - type - awsProvider @@ -1023,9 +1017,10 @@ components: cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: - - name + - displayName - description - type + - role - cognigyProvider badRequestError: type: object @@ -1265,7 +1260,7 @@ components: googleProvider: $ref: '#/components/schemas/googleEsProvider' required: - - name + - displayName - description - type - role @@ -1289,7 +1284,7 @@ components: googleProvider: $ref: '#/components/schemas/googleEsProvider' required: - - name + - displayName - description - type - role @@ -1345,7 +1340,7 @@ components: awsProvider: $ref: '#/components/schemas/awsProvider' required: - - name + - displayName - description - type - role @@ -1367,9 +1362,10 @@ components: cognigyProvider: $ref: '#/components/schemas/cognigyProvider' required: - - name + - displayName - description - type + - role - cognigyProvider id: required: @@ -1531,7 +1527,6 @@ components: example: bot googleEsProvider: required: - - googleProvider - region - location - environment @@ -1550,7 +1545,6 @@ components: $ref: '#/components/schemas/googleProviderCredentials' googleCxProvider: required: - - googleProvider - region - location - environment @@ -1578,7 +1572,6 @@ components: - environment - projectId - agentId - - googleCredentials description: Google Provider is required properties: region: @@ -1599,7 +1592,6 @@ components: - environment - projectId - agentId - - googleCredentials description: Google Provider is required properties: region: @@ -1660,8 +1652,8 @@ components: $ref: '#/components/schemas/ttsEnhancedVoice' awsProvider: required: - - awsProvider - region + - awsCredentials description: Google Provider is required properties: region: @@ -1680,7 +1672,7 @@ components: $ref: '#/components/schemas/awsProviderCredentials' cognigyProvider: required: - - cognigyProvider + - botUrl description: Cognigy Provider is required properties: botUrl: @@ -2131,8 +2123,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: '#' @@ -2208,8 +2199,7 @@ components: data: id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot - provider: - provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description dtmfCollect: true dtmfCollectSubmitDigit: '#' @@ -2757,8 +2747,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f language: en-US ttsProvider: - provider: - provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f + provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot From 13f37467fc46982ff2dce5c2586b97ec7460bca5 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 20:24:10 +0000 Subject: [PATCH 69/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index d9a9fc673..e168fc250 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -958,7 +958,6 @@ components: example: $ref: '#/components/examples/googleBotResponseExample' required: - - id - provider - displayName - description @@ -1292,8 +1291,6 @@ components: updateBot: type: object properties: - id: - $ref: '#/components/schemas/id' provider: oneOf: - $ref: '#/components/schemas/provider' @@ -1319,8 +1316,6 @@ components: oneOf: - $ref: '#/components/schemas/googleTextToSpeechBot' - $ref: '#/components/schemas/awsTextToSpeechBot' - required: - - id updateAwsProvider: type: object properties: @@ -1566,12 +1561,10 @@ components: $ref: '#/components/schemas/googleProviderCredentials' googleEsProviderResponse: required: - - googleProvider - region - location - environment - projectId - - agentId description: Google Provider is required properties: region: @@ -1608,41 +1601,41 @@ components: $ref: '#/components/schemas/googleProviderCredentials' googleSpeechToTextBot: required: - - providerId + - provider - language description: Google Bot is required properties: - providerId: + provider: $ref: '#/components/schemas/provider' language: $ref: '#/components/schemas/language' googleTextToSpeechBot: required: - - providerId + - provider - language description: Google Bot is required properties: - providerId: + provider: $ref: '#/components/schemas/provider' language: $ref: '#/components/schemas/language' awsSpeechToTextBot: required: - - providerId + - provider description: Google Bot is required properties: - providerId: + provider: $ref: '#/components/schemas/provider' language: $ref: '#/components/schemas/language' awsTextToSpeechBot: required: - - providerId + - provider - voiceName - language description: Google Bot is required properties: - providerId: + provider: $ref: '#/components/schemas/provider' voiceName: $ref: '#/components/schemas/voiceName' @@ -1890,7 +1883,7 @@ components: type: AWS description: Aws provider description awsProvider: - Region: us-west-1 + region: us-west-1 awsCredentials: accessKeyId: myaccesskey secretAccessKey: mysecretkey @@ -2065,6 +2058,7 @@ components: location: us-east-1 environment: Production projectId: myproject + agentId: myagent errors: [] googleCxProviderGetResponseExample: summary: An example of a Google-CX provider get response @@ -2342,7 +2336,7 @@ components: role: - tts awsProvider: - Region: us-west-1 + region: us-west-1 awsCredentials: accessKeyId: myaccesskey secretAccessKey: mysecretkey @@ -2390,7 +2384,7 @@ components: role: - tts awsProvider: - Region: us-west-1 + region: us-west-1 errors: [] awsProviderPostResponseExample: summary: An example of an AWS provider post response @@ -2410,7 +2404,7 @@ components: - stt description: Aws provider description awsProvider: - Region: us-west-1 + region: us-west-1 errors: [] awsProviderPutResponseExample: summary: An example of an AWS provider put response @@ -2437,7 +2431,7 @@ components: type: AWS description: Aws provider description awsProvider: - Region: us-west-1 + region: us-west-1 errors: [] awsProviderPatchResponseExample: summary: An example of an AWS provider patch response @@ -2464,7 +2458,7 @@ components: type: AWS description: Aws provider description awsProvider: - Region: us-west-1 + region: us-west-1 errors: [] cognigyProviderExample: summary: An example of a Cognigy provider @@ -2718,7 +2712,7 @@ components: type: AWS description: Aws provider description awsProvider: - Region: us-west-1 + region: us-west-1 awsCredentials: accessKeyId: myaccesskey secretAccessKey: mysecretkey From a46efaa11277351abd78fe87574b9934711ebbc6 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 20:50:28 +0000 Subject: [PATCH 70/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 101 ++++++++++++--------------------------- 1 file changed, 30 insertions(+), 71 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index e168fc250..dd6418a93 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -893,7 +893,6 @@ components: $ref: '#/components/examples/googleEsProviderExample' required: - displayName - - description - type - googleProvider googleCxProviderRequestData: @@ -922,7 +921,6 @@ components: $ref: '#/components/examples/googleCxProviderExample' required: - displayName - - description - type - googleProvider botRequestData: @@ -960,7 +958,6 @@ components: required: - provider - displayName - - description - botFailover - sipHeadersToBot - dtmfCollect @@ -990,7 +987,6 @@ components: $ref: '#/components/schemas/awsProvider' required: - displayName - - description - type - awsProvider example: @@ -1017,7 +1013,6 @@ components: $ref: '#/components/schemas/cognigyProvider' required: - displayName - - description - type - role - cognigyProvider @@ -1258,12 +1253,6 @@ components: $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProvider' - required: - - displayName - - description - - type - - role - - googleProvider updateGoogleCxProvider: type: object properties: @@ -1282,12 +1271,6 @@ components: $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProvider' - required: - - displayName - - description - - type - - role - - googleProvider updateBot: type: object properties: @@ -1334,12 +1317,6 @@ components: $ref: '#/components/examples/roleExample' awsProvider: $ref: '#/components/schemas/awsProvider' - required: - - displayName - - description - - type - - role - - awsProvider updateCognigyProvider: type: object properties: @@ -1356,12 +1333,6 @@ components: $ref: '#/components/examples/roleExample' cognigyProvider: $ref: '#/components/schemas/cognigyProvider' - required: - - displayName - - description - - type - - role - - cognigyProvider id: required: - id @@ -1521,11 +1492,6 @@ components: description: Defines a provider to function as a bot integration example: bot googleEsProvider: - required: - - region - - location - - environment - - projectId description: Google Provider is required properties: region: @@ -1538,6 +1504,11 @@ components: $ref: '#/components/schemas/projectId' googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' + required: + - region + - location + - environment + - projectId googleCxProvider: required: - region @@ -1600,39 +1571,29 @@ components: googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' googleSpeechToTextBot: - required: - - provider - - language description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' - language: - $ref: '#/components/schemas/language' - googleTextToSpeechBot: required: - provider - - language + googleTextToSpeechBot: description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' - language: - $ref: '#/components/schemas/language' - awsSpeechToTextBot: required: - provider - description: Google Bot is required + awsSpeechToTextBot: + description: Aws Bot is required properties: provider: $ref: '#/components/schemas/provider' - language: - $ref: '#/components/schemas/language' + required: + - provider awsTextToSpeechBot: required: - provider - - voiceName - - language description: Google Bot is required properties: provider: @@ -1918,11 +1879,11 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f - language: en-US ttsProvider: provider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot provider: @@ -1933,15 +1894,14 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US errors: null googleEsProviderExample: summary: An example of a Google-ES provider value: - name: googleProvider displayName: Google Provider type: GOOGLE_ES description: Google provider description @@ -1960,7 +1920,6 @@ components: googleCxProviderExample: summary: An example of a Google-CX provider value: - name: googleProvider displayName: Google Provider type: GOOGLE_CX description: Google provider description @@ -1989,10 +1948,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US googleBotExample: summary: An example of a Google bot value: @@ -2005,10 +1964,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f - language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US googleBotResponseExample: summary: An example of a Google bot value: @@ -2021,10 +1980,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f - language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US googleEsProviderGetResponseExample: summary: An example of a Google-ES provider get response value: @@ -2124,10 +2083,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + language: en-US + voiceName: Jill errors: [] googleEsProviderPostResponseExample: summary: An example of a Google-ES provider post response @@ -2200,10 +2159,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US errors: [] googleEsProviderPutResponseExample: summary: An example of a provider put response @@ -2353,10 +2312,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f - language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US awsProviderGetResponseExample: summary: An example of an AWS provider get response value: @@ -2739,10 +2698,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f - language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot provider: @@ -2753,10 +2712,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill + voiceName: Jill + language: en-US roleExample: summary: >- An array of roles that say what function(s) an AIBridge Integration can From 4c8835a526e8d52bb5791c78a73c9bf51001891d Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 20:57:35 +0000 Subject: [PATCH 71/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 72 +++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index dd6418a93..eb2065db5 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1531,11 +1531,6 @@ components: googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' googleEsProviderResponse: - required: - - region - - location - - environment - - projectId description: Google Provider is required properties: region: @@ -1549,13 +1544,6 @@ components: googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' googleCxProviderResponse: - required: - - googleProvider - - region - - location - - environment - - projectId - - agentId description: Google Provider is required properties: region: @@ -1571,29 +1559,39 @@ components: googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' googleSpeechToTextBot: + required: + - provider + - language description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' + language: + $ref: '#/components/schemas/language' + googleTextToSpeechBot: required: - provider - googleTextToSpeechBot: + - language description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' + language: + $ref: '#/components/schemas/language' + awsSpeechToTextBot: required: - provider - awsSpeechToTextBot: - description: Aws Bot is required + description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' - required: - - provider + language: + $ref: '#/components/schemas/language' awsTextToSpeechBot: required: - provider + - voiceName + - language description: Google Bot is required properties: provider: @@ -1879,11 +1877,11 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US ttsProvider: provider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot provider: @@ -1894,10 +1892,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill errors: null googleEsProviderExample: summary: An example of a Google-ES provider @@ -1948,10 +1946,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill googleBotExample: summary: An example of a Google bot value: @@ -1964,10 +1962,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill googleBotResponseExample: summary: An example of a Google bot value: @@ -1980,10 +1978,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill googleEsProviderGetResponseExample: summary: An example of a Google-ES provider get response value: @@ -2083,10 +2081,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - language: en-US - voiceName: Jill + voiceName: Jill errors: [] googleEsProviderPostResponseExample: summary: An example of a Google-ES provider post response @@ -2159,10 +2157,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill errors: [] googleEsProviderPutResponseExample: summary: An example of a provider put response @@ -2312,10 +2310,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill awsProviderGetResponseExample: summary: An example of an AWS provider get response value: @@ -2698,10 +2696,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5422cacd3f0f + language: en-US ttsProvider: provider: a6dj3d72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill - id: b64b5e72-a850-4f38-98d4-5022cacd3f0r displayName: Bot provider: @@ -2712,10 +2710,10 @@ components: transferTarget: tel:+19195554321 sttProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + language: en-US ttsProvider: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f - voiceName: Jill - language: en-US + voiceName: Jill roleExample: summary: >- An array of roles that say what function(s) an AIBridge Integration can From 25e22614deb87688939835c9be5230f59fda130f Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 12 Oct 2023 21:33:21 +0000 Subject: [PATCH 72/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 56 +++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index eb2065db5..fe1cfe227 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -465,7 +465,7 @@ components: googleEsProviderExample: $ref: '#/components/examples/googleEsProviderPatchResponseExample' googleCxProviderExample: - $ref: '#/components/examples/googleEsProviderPatchResponseExample' + $ref: '#/components/examples/googleCxProviderPatchResponseExample' awsProviderExample: $ref: '#/components/examples/awsProviderPatchResponseExample' cognigyProviderExample: @@ -766,7 +766,7 @@ components: description: $ref: '#/components/schemas/description' type: - $ref: '#/components/schemas/googleEs' + $ref: '#/components/schemas/googleCx' displayName: $ref: '#/components/schemas/displayName' role: @@ -791,8 +791,7 @@ components: id: $ref: '#/components/schemas/id' provider: - oneOf: - - $ref: '#/components/schemas/provider' + $ref: '#/components/schemas/provider' displayName: $ref: '#/components/schemas/displayName' description: @@ -842,7 +841,7 @@ components: $ref: '#/components/schemas/awsProviderResponse' nullable: true example: - $ref: '#/components/examples/awsProviderExample' + $ref: '#/components/examples/awsProviderGetResponseExample' cognigyProviderResponseData: title: Cognigy Provider Response Data type: object @@ -935,8 +934,6 @@ components: $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' - botFailover: - $ref: '#/components/schemas/botFailover' transferTarget: $ref: '#/components/schemas/transferTarget' dtmfCollect: @@ -990,7 +987,7 @@ components: - type - awsProvider example: - $ref: '#/components/examples/awsProviderExample' + $ref: '#/components/examples/awsProviderPostResponseExample' cognigyProviderRequestData: title: Cognigy Provider request Data type: object @@ -1334,6 +1331,7 @@ components: cognigyProvider: $ref: '#/components/schemas/cognigyProvider' id: + type: string required: - id description: uuid @@ -1533,6 +1531,8 @@ components: googleEsProviderResponse: description: Google Provider is required properties: + id: + $ref: '#/components/schemas/provider' region: $ref: '#/components/schemas/region' location: @@ -1546,6 +1546,8 @@ components: googleCxProviderResponse: description: Google Provider is required properties: + id: + $ref: '#/components/schemas/provider' region: $ref: '#/components/schemas/region' location: @@ -1559,76 +1561,71 @@ components: googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' googleSpeechToTextBot: - required: - - provider - - language description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' language: $ref: '#/components/schemas/language' - googleTextToSpeechBot: required: - provider - language + googleTextToSpeechBot: description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' language: - $ref: '#/components/schemas/language' - awsSpeechToTextBot: + $ref: '#/components/schemas/voiceName' required: - provider + - voiceName + awsSpeechToTextBot: description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' language: $ref: '#/components/schemas/language' - awsTextToSpeechBot: required: - provider - - voiceName - - language + awsTextToSpeechBot: description: Google Bot is required properties: provider: $ref: '#/components/schemas/provider' voiceName: $ref: '#/components/schemas/voiceName' - language: - $ref: '#/components/schemas/language' - ttsEnhancedVoice: - $ref: '#/components/schemas/ttsEnhancedVoice' - awsProvider: required: - - region - - awsCredentials + - provider + - voiceName + awsProvider: description: Google Provider is required properties: region: $ref: '#/components/schemas/region' awsCredentials: $ref: '#/components/schemas/awsProviderCredentials' - awsProviderResponse: required: - - awsProvider - region - description: Google Provider is required + - awsCredentials + awsProviderResponse: + description: Aws Provider is required properties: region: $ref: '#/components/schemas/region' awsCredentials: $ref: '#/components/schemas/awsProviderCredentials' - cognigyProvider: required: - - botUrl + - awsProvider + - region + cognigyProvider: description: Cognigy Provider is required properties: botUrl: $ref: '#/components/schemas/botUrl' + required: + - botUrl error: title: Error type: object @@ -2015,7 +2012,6 @@ components: location: us-east-1 environment: Production projectId: myproject - agentId: myagent errors: [] googleCxProviderGetResponseExample: summary: An example of a Google-CX provider get response From e618332a5f6336dc34996ac5e4fc7333e3345021 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 13:04:42 +0000 Subject: [PATCH 73/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 69 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index fe1cfe227..8c6f5b924 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -442,7 +442,7 @@ components: content: application/json: schema: - $ref: '#/components/schemas/replaceProviderResponseData' + $ref: '#/components/schemas/updateProviderResponse' examples: googleEsProviderExample: $ref: '#/components/examples/googleEsProviderPutResponseExample' @@ -457,10 +457,7 @@ components: content: application/json: schema: - oneOf: - - $ref: '#/components/schemas/googleEsProviderResponseData' - - $ref: '#/components/schemas/awsProviderResponseData' - - $ref: '#/components/schemas/cognigyProviderResponseData' + $ref: '#/components/schemas/replaceProviderResponse' examples: googleEsProviderExample: $ref: '#/components/examples/googleEsProviderPatchResponseExample' @@ -646,6 +643,64 @@ components: - links - data - errors + replaceProviderResponse: + title: Provider Response Payload + type: object + description: Response payload for provider information. + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' + nullable: true + data: + oneOf: + - $ref: '#/components/schemas/googleEsProviderResponseData' + - $ref: '#/components/schemas/googleCxProviderResponseData' + - $ref: '#/components/schemas/awsProviderResponseData' + - $ref: '#/components/schemas/cognigyProviderResponseData' + errors: + type: array + items: + $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' + nullable: true + required: + - links + - data + - errors + updateProviderResponse: + title: Provider Response Payload + type: object + description: Response payload for provider information. + properties: + links: + type: array + items: + $ref: '#/components/schemas/links' + example: + $ref: '#/components/examples/linksExample' + nullable: true + data: + oneOf: + - $ref: '#/components/schemas/googleEsProviderResponseData' + - $ref: '#/components/schemas/googleCxProviderResponseData' + - $ref: '#/components/schemas/awsProviderResponseData' + - $ref: '#/components/schemas/cognigyProviderResponseData' + errors: + type: array + items: + $ref: '#/components/schemas/error' + example: + $ref: '#/components/examples/errorsExample' + nullable: true + required: + - links + - data + - errors listProviderResponse: title: Provider Response Payload type: object @@ -841,7 +896,7 @@ components: $ref: '#/components/schemas/awsProviderResponse' nullable: true example: - $ref: '#/components/examples/awsProviderGetResponseExample' + $ref: '#/components/examples/awsProviderExample' cognigyProviderResponseData: title: Cognigy Provider Response Data type: object @@ -2453,7 +2508,7 @@ components: botUrl: http://cognigy-bot-url errors: [] cognigyProviderPostResponseExample: - summary: An example of a Cognigy provider + summary: An example of a Cognigy provider reponse value: links: - href: /provider From c54fd0b414fe7d918d672acc253379075044c826 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 13:11:43 +0000 Subject: [PATCH 74/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 8c6f5b924..c9d368896 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1596,8 +1596,6 @@ components: $ref: '#/components/schemas/environment' projectId: $ref: '#/components/schemas/projectId' - googleCredentials: - $ref: '#/components/schemas/googleProviderCredentials' googleCxProviderResponse: description: Google Provider is required properties: @@ -1613,8 +1611,6 @@ components: $ref: '#/components/schemas/projectId' agentId: $ref: '#/components/schemas/agentId' - googleCredentials: - $ref: '#/components/schemas/googleProviderCredentials' googleSpeechToTextBot: description: Google Bot is required properties: @@ -1669,8 +1665,6 @@ components: properties: region: $ref: '#/components/schemas/region' - awsCredentials: - $ref: '#/components/schemas/awsProviderCredentials' required: - awsProvider - region From d838248108b590a2841aca802e3e3ca48b35cd9c Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 13:26:36 +0000 Subject: [PATCH 75/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 62 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index c9d368896..ebfb7afa0 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -810,7 +810,7 @@ components: $ref: '#/components/schemas/googleEsProviderResponse' nullable: true example: - $ref: '#/components/examples/googleEsProviderExample' + $ref: '#/components/examples/googleEsProviderResponseExample' googleCxProviderResponseData: title: Google-CX Provider Response Data type: object @@ -944,7 +944,7 @@ components: googleProvider: $ref: '#/components/schemas/googleEsProvider' example: - $ref: '#/components/examples/googleEsProviderExample' + $ref: '#/components/examples/googleEsProviderExample2' required: - displayName - type @@ -1768,7 +1768,7 @@ components: - $ref: '#/components/schemas/cognigyProviderRequestData' examples: googleESProviderExample: - $ref: '#/components/examples/googleEsProviderExample' + $ref: '#/components/examples/googleEsProviderExample3' googleCXProviderExample: $ref: '#/components/examples/googleCxProviderExample' awsProviderExample: @@ -1796,7 +1796,7 @@ components: - $ref: '#/components/schemas/cognigyProviderRequestData' examples: googleEsProviderExample: - $ref: '#/components/examples/googleEsProviderExample' + $ref: '#/components/examples/googleEsProviderExample2' googleCxProviderExample: $ref: '#/components/examples/googleCxProviderExample' awsProviderExample: @@ -1961,6 +1961,60 @@ components: googleCredentials: privateKey: samplekey clientEmail: email + googleEsProviderExample2: + summary: An example of a Google-ES provider + value: + displayName: Google Provider + type: GOOGLE_ES + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + googleCredentials: + privateKey: samplekey + clientEmail: email + googleEsProviderExample3: + summary: An example of a Google-ES provider + value: + displayName: Google Provider + type: GOOGLE_ES + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + googleCredentials: + privateKey: samplekey + clientEmail: email + googleEsProviderResponseExample: + summary: An example of a Google-ES provider + value: + displayName: Google Provider + type: GOOGLE_ES + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + googleCredentials: + privateKey: samplekey + clientEmail: email googleCxProviderExample: summary: An example of a Google-CX provider value: From 2e683f1100f04b65e6959482c040282085ce8df7 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 14:28:39 +0000 Subject: [PATCH 76/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index ebfb7afa0..da55b917f 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1290,6 +1290,8 @@ components: updateGoogleEsProvider: type: object properties: + displayName: + $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' type: @@ -1308,6 +1310,8 @@ components: updateGoogleCxProvider: type: object properties: + displayName: + $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' type: @@ -1354,6 +1358,8 @@ components: updateAwsProvider: type: object properties: + displayName: + $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' type: @@ -1372,6 +1378,8 @@ components: updateCognigyProvider: type: object properties: + displayName: + $ref: '#/components/schemas/displayName' description: $ref: '#/components/schemas/description' type: From 8818e7cbbfb8345982ea0fe31326e86f9729fc57 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 14:46:34 +0000 Subject: [PATCH 77/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index da55b917f..6aee30a14 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -943,8 +943,6 @@ components: $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleEsProvider' - example: - $ref: '#/components/examples/googleEsProviderExample2' required: - displayName - type @@ -971,8 +969,6 @@ components: $ref: '#/components/examples/roleExample' googleProvider: $ref: '#/components/schemas/googleCxProvider' - example: - $ref: '#/components/examples/googleCxProviderExample' required: - displayName - type @@ -1041,8 +1037,6 @@ components: - displayName - type - awsProvider - example: - $ref: '#/components/examples/awsProviderPostResponseExample' cognigyProviderRequestData: title: Cognigy Provider request Data type: object From bbcf27d066018a654cfade87fec7ba5f6e4da101 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 14:57:46 +0000 Subject: [PATCH 78/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 6aee30a14..94c685254 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -837,7 +837,7 @@ components: $ref: '#/components/schemas/googleCxProviderResponse' nullable: true example: - $ref: '#/components/examples/googleCxProviderExample' + $ref: '#/components/examples/googleCxProviderResponseExample' botResponseData: title: Bot properties type: object @@ -1588,8 +1588,6 @@ components: googleEsProviderResponse: description: Google Provider is required properties: - id: - $ref: '#/components/schemas/provider' region: $ref: '#/components/schemas/region' location: @@ -1601,8 +1599,6 @@ components: googleCxProviderResponse: description: Google Provider is required properties: - id: - $ref: '#/components/schemas/provider' region: $ref: '#/components/schemas/region' location: @@ -2002,6 +1998,7 @@ components: googleEsProviderResponseExample: summary: An example of a Google-ES provider value: + id: a6dj3e72-a850-4f38-98d4-5022cacd3f0f displayName: Google Provider type: GOOGLE_ES description: Google provider description @@ -2036,6 +2033,26 @@ components: googleCredentials: privateKey: samplekey clientEmail: email + googleCxProviderResponseExample: + summary: An example of a Google-CX provider + value: + id: a6dj3e72-a850-4f38-98d4-5022cacd3f0f + displayName: Google Provider + type: GOOGLE_CX + description: Google provider description + role: + - bot + - stt + - tts + googleProvider: + region: northamerica + location: us-east-1 + environment: Production + projectId: myproject + agentId: myagent + googleCredentials: + privateKey: samplekey + clientEmail: email botRequestExample: summary: An example of a Bot request value: From 5be8054c3a4e8c67c3975da608aa5614438bc74e Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 15:06:59 +0000 Subject: [PATCH 79/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 94c685254..b6c1b6d93 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1320,7 +1320,7 @@ components: example: $ref: '#/components/examples/roleExample' googleProvider: - $ref: '#/components/schemas/googleEsProvider' + $ref: '#/components/schemas/googleCxProvider' updateBot: type: object properties: @@ -1408,25 +1408,25 @@ components: googleEs: type: string required: - - google + - type description: google type for provider example: Google-ES googleCx: type: string required: - - googleCx + - type description: googleCx type for provider example: Google-CX aws: type: string required: - - aws + - type description: aws type for provider example: AWS cognigy: type: string required: - - cognigy + - type description: cognigy type for provider example: COGNIGY botUrl: From dd0a51ad41b4454b2f8f5ff99a6466913e0fefaa Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Fri, 13 Oct 2023 15:17:42 +0000 Subject: [PATCH 80/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index b6c1b6d93..368c17639 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -1824,7 +1824,7 @@ components: - $ref: '#/components/schemas/updateAwsProvider' examples: googleEsProvider: - $ref: '#/components/examples/googleEsProviderExample' + $ref: '#/components/examples/googleEsProviderExampleT' googleCxProvider: $ref: '#/components/examples/googleCxProviderExample' awsProvider: @@ -1941,7 +1941,7 @@ components: provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f voiceName: Jill errors: null - googleEsProviderExample: + googleEsProviderExampleT: summary: An example of a Google-ES provider value: displayName: Google Provider From 1580570a34d8db381391f524f52ca12f8c15463b Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 16 Oct 2023 18:24:54 +0000 Subject: [PATCH 81/81] Add Code Snippets to Spec Files --- site/specs/ai-bridge.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/site/specs/ai-bridge.yml b/site/specs/ai-bridge.yml index 368c17639..d53347c24 100644 --- a/site/specs/ai-bridge.yml +++ b/site/specs/ai-bridge.yml @@ -876,8 +876,6 @@ components: title: AWS Provider Response Data type: object properties: - id: - $ref: '#/components/schemas/id' description: $ref: '#/components/schemas/description' type: @@ -1006,7 +1004,6 @@ components: required: - provider - displayName - - botFailover - sipHeadersToBot - dtmfCollect - dtmfCollectMaxDigits @@ -1565,12 +1562,6 @@ components: - environment - projectId googleCxProvider: - required: - - region - - location - - environment - - projectId - - agentId description: Google Provider is required properties: region: @@ -1585,6 +1576,12 @@ components: $ref: '#/components/schemas/agentId' googleCredentials: $ref: '#/components/schemas/googleProviderCredentials' + required: + - region + - location + - environment + - projectId + - agentId googleEsProviderResponse: description: Google Provider is required properties: @@ -1809,7 +1806,7 @@ components: schema: $ref: '#/components/schemas/botRequestData' examples: - googleProviderExample: + botPutExample: $ref: '#/components/examples/botRequestExample' providerPatchRequest: description: Updated configuration details for the Provider. @@ -1945,8 +1942,8 @@ components: summary: An example of a Google-ES provider value: displayName: Google Provider - type: GOOGLE_ES description: Google provider description + type: GOOGLE_ES role: - bot - stt @@ -2072,7 +2069,6 @@ components: googleBotExample: summary: An example of a Google bot value: - id: b64b5e72-a850-4f38-98d4-5022cacd3f0f displayName: Bot provider: a6dj3e72-a850-4f38-98d4-5022cacd3f0f description: Bot description