From 03197db3c899818b6c8e20481bd20eccced1aeb9 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Wed, 13 Sep 2023 17:23:57 +0000 Subject: [PATCH 01/12] Add Code Snippets to Spec Files --- site/specs/numbers.yml | 155 +- site/specs/numbers_v2.yml | 5337 +++++++++++++++++++++++-------------- 2 files changed, 3444 insertions(+), 2048 deletions(-) diff --git a/site/specs/numbers.yml b/site/specs/numbers.yml index e63323770..f1f80e79c 100644 --- a/site/specs/numbers.yml +++ b/site/specs/numbers.yml @@ -2774,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 @@ -2785,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: @@ -7366,7 +7384,7 @@ components: delete: type: boolean type: object - InternalLnpOrderRequest: + InternalNANPLnpOrderRequest: properties: LnpOrder: allOf: @@ -7400,7 +7418,7 @@ components: $ref: '#/components/schemas/TnAttribute' type: array type: object - title: Internal + title: Internal NANP LNP Order Request type: object IrisStatus: properties: @@ -7711,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' @@ -8016,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: @@ -8768,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: @@ -8795,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: @@ -9412,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: @@ -9457,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. @@ -29411,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: |- @@ -29459,7 +29507,37 @@ paths: 979E019287CDF6A1 - RespOrg exception toll-free portin order: + Portins containing non-NANP numbers: + description: >- + List containing a single portin order with international + 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 @@ -29511,25 +29589,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' diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 0ab48604d..27694463c 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: > @@ -1183,6 +1245,7 @@ components: schema: type: string SipPeerIdPathParam: + description: SipPeer ID, also known as Location in: path name: sipPeerId required: true @@ -1190,10 +1253,11 @@ components: format: int32 type: integer SipPeerIdQueryParam: - description: A Sip Peer Id that is referenced in the order + description: SipPeer ID, also known as Location example: 50139 in: query name: sipPeerId + required: false schema: type: integer SipPeerTnsPageQueryParam: @@ -1215,7 +1279,7 @@ components: 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 @@ -1275,37 +1339,249 @@ components: required: true schema: type: string - areaCodeQueryParameter: - description: Area code of a phone number - example: '07' + 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 - countryCodeA3QueryParameter: - description: 3-letter, ISO 3166 country code - example: GBR + 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: Country Code + 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 - phoneNumberTypeQueryParameter: - description: Phone number type - example: MOBILE + 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 - - SHARED_COST - - TOLL_FREE - NATIONAL - - SPECIAL - 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 @@ -1373,12 +1649,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: @@ -1445,21 +1762,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. - badRequestLosingInvlaidCountryCodeCarriersResponse: + badRequestError: content: application/json: examples: - example: - description: example - value: - data: null - errors: - code: 7673 - description: '''%s'' is not a valid countryCodeA3 value' - links: null + badRequestErrorExample: + $ref: '#/components/examples/badRequestErrorExample' schema: - $ref: '#/components/schemas/portingLosingCarriersResponseSchema' - description: Error returned when the country code is invalid + $ref: '#/components/schemas/genericError' + description: Bad Request. bulkRateCenterGetResponse404Error: content: application/xml: @@ -1511,44 +1822,72 @@ components: description: >- Successful response which starts the bulk upsert for provided rate centers. - listOfLosingCarriersResponse: + createAddressResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/createUpdateAddressResponse' + description: Created. + forbiddenError: content: application/json: examples: - example: - value: - data: - losingCarriers: - - name: Losing Carrier 1 - - name: Losing Carrier 2 - - name: Losing Carrier 3 - - name: Losing Carrier 4 - errors: null - links: - - href: /portingLosingCarriers - method: GET - rel: self + 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 - noUpstreamServicesLosingCarriersResponse: + notAllowedError: content: application/json: examples: - example: - summary: example - value: - data: null - errors: - code: 7678 - description: >- - We received an error while attempting to retrieve the losing - carriers for your request. Please try this request again - later. - links: null + notAllowedErrorExample: + $ref: '#/components/examples/notAllowedErrorExample' schema: - $ref: '#/components/schemas/portingLosingCarriersResponseSchema' - description: Error returned when upstream services are unavailable + $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: @@ -1933,12 +2272,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: @@ -2121,30 +2490,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: @@ -2211,6 +2575,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: @@ -2325,12 +2717,6 @@ components: type: string Latitude: type: string - LegacyAddressId: - deprecated: true - type: string - LegacyEntityId: - deprecated: true - type: string Longitude: type: string PlusFour: @@ -2350,10 +2736,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: @@ -2599,16 +2981,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: @@ -2658,15 +3034,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: @@ -2698,6 +3065,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: @@ -2728,7 +3104,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 @@ -2739,7 +3115,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: @@ -2838,42 +3232,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: @@ -4452,15 +4810,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: @@ -4494,6 +4843,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: @@ -4525,15 +4883,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: @@ -4585,6 +4934,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: @@ -4713,6 +5071,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: @@ -5249,11 +5621,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: @@ -6489,122 +6856,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: @@ -6748,6 +6999,144 @@ components: $ref: '#/components/schemas/Address' type: object type: object + GlobalInternationalLnpOrderResponse: + 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/GlobalInternationalSubscriberPersonal' + - $ref: '#/components/schemas/GlobalInternationalSubscriberBusiness' + type: object + title: Manual Global LNP Order Response + type: object + GlobalInternationalSubscriberBusiness: + 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 for when porting numbers for + subset of countries when the SubscriberType is `BUSINESS`. + maxLength: 36 + type: string + required: + - SubscriberType + - AddressId + - BusinessName + - VatNumber + title: BUSINESS + type: object + GlobalInternationalSubscriberPersonal: + 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: + - PERSONAL + type: string + required: + - SubscriberType + - AddressId + - FirstName + - LastName + title: PERSONAL + type: object Host: properties: HostName: @@ -7320,7 +7709,7 @@ components: delete: type: boolean type: object - InternalLnpOrderRequest: + InternalNANPLnpOrderRequest: properties: LnpOrder: allOf: @@ -7354,7 +7743,7 @@ components: $ref: '#/components/schemas/TnAttribute' type: array type: object - title: Internal + title: Internal NANP LNP Order Request type: object IrisStatus: properties: @@ -7364,15 +7753,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: @@ -7404,6 +7784,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: @@ -7665,6 +8054,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' @@ -8238,6 +8641,19 @@ components: type: string title: LnpOrderSupp type: object + LnpOrderSuppGlobalInternational: + 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/GlobalInternationalSubscriberPersonal' + - $ref: '#/components/schemas/GlobalInternationalSubscriberBusiness' + title: LnpOrderSupp + type: object LnpOrderSuppInternal: allOf: - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' @@ -8630,10 +9046,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 @@ -8722,6 +9134,129 @@ components: SkipAck: type: boolean 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 + 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 + 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/GlobalInternationalSubscriberPersonal + - $ref: >- + #/components/schemas/GlobalInternationalSubscriberBusiness + required: + - SiteId + - ListOfPhoneNumbers + - LosingCarrierName + type: object + title: Manual Global LNP Order Request + 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: @@ -8749,25 +9284,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: @@ -9081,6 +9597,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: @@ -9101,15 +9663,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: @@ -9143,6 +9696,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: @@ -9366,15 +9928,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: @@ -9411,7 +9973,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. @@ -9586,6 +10148,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: @@ -9601,7 +10186,7 @@ components: PhoneNumber: properties: PhoneNumber: - description: Simple Telephone Number. + description: Telephone Number in E.164 format. type: string type: object PidfloAddressDeleting911Order: @@ -10412,15 +10997,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: @@ -10456,6 +11032,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: @@ -10988,6 +11573,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: @@ -11043,46 +11657,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: @@ -11334,6 +11935,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + BillingIdentifier: + type: string CallVerificationEnabled: type: boolean CallingName: @@ -11538,6 +12141,8 @@ components: properties: Address: $ref: '#/components/schemas/Address' + BillingIdentifier: + type: string CallVerificationEnabled: type: boolean CallingName: @@ -11693,13 +12298,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: @@ -11719,26 +12317,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: @@ -11902,21 +12480,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: @@ -12074,15 +12637,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: @@ -12114,6 +12668,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: @@ -12284,7 +12847,6 @@ components: - lsrorders - e911s - tnoptions - - externalTns - lidb - bulkPortins - importtnorders @@ -12332,6 +12894,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: @@ -12429,7 +13028,7 @@ components: TelephoneNumber: properties: TelephoneNumber: - description: Simple Telephone Number. + description: Telephone Number in E.164 format. type: string type: object TelephoneNumberAvailableNnRoutes: @@ -13504,16 +14103,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 @@ -13577,16 +14176,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: @@ -13817,15 +14416,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: @@ -13857,12 +14447,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 @@ -13897,6 +14487,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' @@ -13908,6 +14507,13 @@ components: Ratio: type: integer type: object + TypeOfAddress: + enum: + - WORLDWIDE + - NATIONAL + - LOCAL + example: WORLDWIDE + type: string UcTrunkingCloudSettings: properties: BiDirectionalTrunks: @@ -14090,15 +14696,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: @@ -14130,6 +14727,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: @@ -14193,6 +14799,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: @@ -14216,6 +14931,156 @@ 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: + 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 @@ -14232,6 +15097,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: @@ -14276,6 +15200,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' @@ -14306,6 +15280,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: @@ -14450,55 +15482,135 @@ 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: - description: List of losing carriers for porting properties: data: - nullable: true properties: losingCarriers: items: properties: name: - description: The name of the carrier + description: The losing carrier name. example: Losing Carrier 1 + title: Losing Carrier Name type: string type: object type: array type: object errors: + example: [] items: - properties: - code: - description: An error code identifying the error - type: string - description: - description: A description of the error - type: string - meta: - description: Additional information regarding the error - type: object - type: object - nullable: true + $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: - properties: - href: - description: The API endpoint URL - example: /porting/losingCarriers - type: string - method: - description: The HTTP method used to make the request - example: GET - type: string - rel: - description: The relationship of the endpoint to the request - example: self - type: string - type: object - nullable: true + 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: You must provide at least one parameter in order to search. + type: string + xml: + name: Description + errorCode: + description: Numeric designation of corresponding error + example: 3924 + 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. @@ -15047,52 +16159,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' @@ -15185,6 +16251,40 @@ components: example: abc-d8569gh type: string type: object + unsupportedFeatures: + description: Excluded Features + items: + properties: + featureName: + description: A unique identifier for feature. + example: EMERGENCY + type: string + requiredCriteria: + 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 + 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 @@ -15205,6 +16305,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: @@ -15456,6 +16597,250 @@ paths: summary: Retrieve account tags: - Account + /accounts/{accountId}/activationRequirements: + get: + 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: >- + 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: + AccountNotFound: + description: >- + Below is an example of response API will produce when given + account is not found or locked. + value: |- + + + + 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/ActivationRequirementErrorResponse' + description: >- + 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: get: description: GET is used to retrieve all Alternate end user identifiers. @@ -16171,7 +17556,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 @@ -16234,17 +17619,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 @@ -16283,16 +17769,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.

+ 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 @@ -43387,7 +44714,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: @@ -43428,7 +44755,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: @@ -43459,7 +44786,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: @@ -43508,7 +44835,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: @@ -43541,7 +44868,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: @@ -43607,8 +44934,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: '' @@ -43623,35 +44970,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: |- @@ -43985,8 +45303,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: @@ -44058,7 +45375,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 @@ -44089,7 +45407,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 From 7afb7aeb9bfd5d167ad09c9f58bff39802619af6 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Wed, 13 Sep 2023 17:59:16 +0000 Subject: [PATCH 02/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 27694463c..ea3b30f42 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -9134,6 +9134,25 @@ 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: @@ -31131,6 +31150,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: |- @@ -31147,7 +31178,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 From b9ef77974bfd9901ee79fa4941b8c3d7db797dc7 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Thu, 14 Sep 2023 14:06:11 +0000 Subject: [PATCH 03/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 298 +++++++++++++++++++------------------- 1 file changed, 145 insertions(+), 153 deletions(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index ea3b30f42..f5251e5d8 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -6999,144 +6999,6 @@ components: $ref: '#/components/schemas/Address' type: object type: object - GlobalInternationalLnpOrderResponse: - 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/GlobalInternationalSubscriberPersonal' - - $ref: '#/components/schemas/GlobalInternationalSubscriberBusiness' - type: object - title: Manual Global LNP Order Response - type: object - GlobalInternationalSubscriberBusiness: - 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 for when porting numbers for - subset of countries when the SubscriberType is `BUSINESS`. - maxLength: 36 - type: string - required: - - SubscriberType - - AddressId - - BusinessName - - VatNumber - title: BUSINESS - type: object - GlobalInternationalSubscriberPersonal: - 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: - - PERSONAL - type: string - required: - - SubscriberType - - AddressId - - FirstName - - LastName - title: PERSONAL - type: object Host: properties: HostName: @@ -8334,13 +8196,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 @@ -8650,8 +8506,8 @@ components: type: string Subscriber: oneOf: - - $ref: '#/components/schemas/GlobalInternationalSubscriberPersonal' - - $ref: '#/components/schemas/GlobalInternationalSubscriberBusiness' + - $ref: '#/components/schemas/ManualGlobalSubscriberPersonal' + - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' title: LnpOrderSupp type: object LnpOrderSuppInternal: @@ -9246,10 +9102,8 @@ components: type: integer Subscriber: oneOf: - - $ref: >- - #/components/schemas/GlobalInternationalSubscriberPersonal - - $ref: >- - #/components/schemas/GlobalInternationalSubscriberBusiness + - $ref: '#/components/schemas/ManualGlobalSubscriberPersonal' + - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' required: - SiteId - ListOfPhoneNumbers @@ -9257,6 +9111,144 @@ components: 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/ManualGlobalSubscriberPersonal' + - $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 for when porting numbers for + subset of countries when the SubscriberType is `BUSINESS`. + maxLength: 36 + type: string + required: + - SubscriberType + - AddressId + - BusinessName + - VatNumber + title: BUSINESS + type: object + ManualGlobalSubscriberPersonal: + 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: + - PERSONAL + type: string + required: + - SubscriberType + - AddressId + - FirstName + - LastName + title: PERSONAL + type: object ManualNANPTollFreeLnpOrderRequest: description: >- Manual indicates that the port-in will be processed manually by @@ -30609,7 +30601,7 @@ paths: schema: oneOf: - $ref: '#/components/schemas/LnpOrderResponse' - - $ref: '#/components/schemas/GlobalInternationalLnpOrderResponse' + - $ref: '#/components/schemas/ManualGlobalLnpOrderResponse' description: >- The order has been created and an order ID is specified in the payload and in the header. @@ -30959,7 +30951,7 @@ paths: oneOf: - $ref: '#/components/schemas/LnpOrderResponse' - $ref: '#/components/schemas/LnpOrderResponseAutomatedTollFree' - - $ref: '#/components/schemas/GlobalInternationalLnpOrderResponse' + - $ref: '#/components/schemas/ManualGlobalLnpOrderResponse' description: >- The information has been successfully retrieved and displayed in the payload. From fe39aa2e14cc10e2b68a84ab8945c3a6a9151592 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 25 Sep 2023 13:47:11 +0000 Subject: [PATCH 04/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index f5251e5d8..50f33c0a9 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -9210,8 +9210,8 @@ components: VatNumber: description: >- The `VatNumber` is the value of the VAT number associated with the - subscriber. This field is required for when porting numbers for - subset of countries when the SubscriberType is `BUSINESS`. + subscriber. This field is required when porting numbers for a subset + of countries when the SubscriberType is `BUSINESS`. maxLength: 36 type: string required: @@ -14760,6 +14760,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: @@ -14974,6 +14985,8 @@ components: wrapped: true countrySetting: properties: + additionalDetails: + $ref: '#/components/schemas/additionalDetails' countryCodeA3: $ref: '#/components/schemas/countryCodeA3' features: @@ -15594,13 +15607,13 @@ components: properties: description: description: 'Detailed explanation about error ' - example: You must provide at least one parameter in order to search. + example: A supplied phoneNumberType within '[SPECIALLL]' is invalid. type: string xml: name: Description errorCode: description: Numeric designation of corresponding error - example: 3924 + example: 4010 type: integer xml: name: ErrorCode @@ -16266,11 +16279,7 @@ components: description: Excluded Features items: properties: - featureName: - description: A unique identifier for feature. - example: EMERGENCY - type: string - requiredCriteria: + addressCriteria: items: properties: description: @@ -16281,6 +16290,10 @@ components: type: string type: object type: array + featureName: + description: A unique identifier for feature. + example: EMERGENCY + type: string type: object title: Excluded Features type: array @@ -43599,8 +43612,8 @@ paths: value: |- { "responseStatus": { - "errorCode": 3924, - "description": "You must provide at least one parameter in order to search." + "errorCode": 4010, + "description": "A supplied phoneNumberType within '[SPECIALLL]' is invalid." } } schema: @@ -43612,8 +43625,8 @@ paths: - 3924 - You must provide at least one parameter in order to search. + 4010 + A supplied phoneNumberType within '[SPECIALLL]' is invalid. schema: From 55940e9cd11c1e793661eeab10bc3dbbee678d41 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 25 Sep 2023 13:49:55 +0000 Subject: [PATCH 05/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 50f33c0a9..ce412e3af 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -27848,8 +27848,8 @@ paths: - 9192381468 - 9192381467 + +19192381468 + +19192381467 schema: @@ -27897,9 +27897,9 @@ paths: - 9192381468 - 9192381467 - 9192381469 + +19192381468 + +19192381467 + +19192381469 @@ -27954,7 +27954,7 @@ paths: 0 team_ua FAILED - 919238466 + +1919238466 ATT-011515-324234%$ Jim Hopkins @@ -28099,7 +28099,7 @@ paths: FineCustomerid 123C - 9192381468 + +19192381468 2015-11-15 Jim Hopkins @@ -28196,7 +28196,7 @@ paths: FAILED Jim Hopkins 123C - 9192381468 + +19192381468 ATT-011515-324234 8 2015-11-15 @@ -31484,7 +31484,7 @@ paths: - 919 + +1919 1 @@ -32254,7 +32254,7 @@ paths: - 919280 + +1919280 1 @@ -32291,7 +32291,7 @@ paths: 1 - 9192809870 + +19192809870 schema: $ref: '#/components/schemas/TelephoneNumbers' From 1bb8c8e06998189010b44a02f3eb8486596df3c7 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 25 Sep 2023 14:01:29 +0000 Subject: [PATCH 06/12] Add Code Snippets to Spec Files --- site/specs/numbers.yml | 30 ------------------------------ site/specs/numbers_v2.yml | 22 ++++++++++------------ 2 files changed, 10 insertions(+), 42 deletions(-) diff --git a/site/specs/numbers.yml b/site/specs/numbers.yml index f1f80e79c..611700f55 100644 --- a/site/specs/numbers.yml +++ b/site/specs/numbers.yml @@ -29507,36 +29507,6 @@ paths: 979E019287CDF6A1 - Portins containing non-NANP numbers: - description: >- - List containing a single portin order with international - 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 diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index ce412e3af..00b2e0896 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -8497,7 +8497,7 @@ components: type: string title: LnpOrderSupp type: object - LnpOrderSuppGlobalInternational: + LnpOrderSuppGlobalManual: allOf: - $ref: '#/components/schemas/LnpOrderBasicModifiableFields' properties: @@ -9086,9 +9086,9 @@ components: 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. + 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: >- @@ -30419,9 +30419,7 @@ paths: Portins containing non-NANP numbers: - description: >- - List containing a single portin order with international - numbers + description: List containing a single portin order with global numbers value: |- @@ -30502,7 +30500,7 @@ paths: examples: 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" - International Port-in, Business Subscriber: + Global Port-in, Business Subscriber: value: |- @@ -30521,7 +30519,7 @@ paths:
    myOrder - International Port-in, Personal Subscriber: + Global Port-in, Personal Subscriber: value: |- @@ -30558,7 +30556,7 @@ paths: examples: 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" - International Port-in Order Response, Business Subscriber: + Global Port-in Order Response, Business Subscriber: value: |- @@ -30583,7 +30581,7 @@ paths: myOrder - International Port-in Order Response, Personal Subscriber: + Global Port-in Order Response, Personal Subscriber: value: |- @@ -31126,7 +31124,7 @@ paths: type: object - properties: LnpOrderSupp: - $ref: '#/components/schemas/LnpOrderSuppGlobalInternational' + $ref: '#/components/schemas/LnpOrderSuppGlobalManual' title: Manual Global type: object responses: From 926ba872913d02ee23a8bddb5df81f814ddc7b3e Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 2 Oct 2023 17:03:56 +0000 Subject: [PATCH 07/12] Add Code Snippets to Spec Files --- site/specs/messaging.yml | 435 +++--- site/specs/multi-factor-auth.yml | 315 ++--- site/specs/numbers_v2.yml | 1488 ++++++++++---------- site/specs/phone-number-lookup.yml | 174 +-- site/specs/voice.yml | 1737 +++++++++++++----------- site/specs/webrtc.yml | 2019 ---------------------------- 6 files changed, 2046 insertions(+), 4122 deletions(-) diff --git a/site/specs/messaging.yml b/site/specs/messaging.yml index de4129a53..4b418a374 100644 --- a/site/specs/messaging.yml +++ b/site/specs/messaging.yml @@ -83,29 +83,34 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.messaging.models.Media; - - 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.MediaApi; + + public class Example { 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 +191,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: @@ -387,24 +391,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 +501,36 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.utilities.FileWrapper; - - 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.MediaApi; + + public class Example { 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 +653,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 +749,34 @@ 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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.MediaApi; + + public class Example { 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 +860,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 +958,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.MessagesApi; + + public class Example { 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 +1081,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 +1200,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.MessagesApi; + + public class Example { 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 +1350,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..2d9691a36 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; - - - 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"; - + 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.models.*; + import com.bandwidth.sdk.api.MfaApi; + + public class Example { 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; - - - 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"; - + 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.models.*; + import com.bandwidth.sdk.api.MfaApi; + + public class Example { 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; - - - 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"; - + 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.models.*; + import com.bandwidth.sdk.api.MfaApi; + + public class Example { 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_v2.yml b/site/specs/numbers_v2.yml index 00b2e0896..5b3e1aaef 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -1076,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 @@ -1252,14 +1252,6 @@ components: schema: format: int32 type: integer - SipPeerIdQueryParam: - description: SipPeer ID, also known as Location - example: 50139 - in: query - name: sipPeerId - required: false - schema: - type: integer SipPeerTnsPageQueryParam: description: The number of the paged results to be displayed. example: 4 @@ -7226,8 +7218,6 @@ components: required: - TelephoneNumbers - SiteId - - Subscriber - - LoaAuthorizingPerson type: object title: ImportTnOrder ImportTnOrderResponse: @@ -11946,8 +11936,6 @@ components: properties: Address: $ref: '#/components/schemas/Address' - BillingIdentifier: - type: string CallVerificationEnabled: type: boolean CallingName: @@ -14995,7 +14983,7 @@ components: properties: featureName: description: Feature Name - example: ORDERING + example: Ordering type: string xml: name: FeatureName @@ -15553,7 +15541,7 @@ components: features: items: description: Feature Name - example: ORDERING + example: Ordering type: string xml: name: Feature @@ -15577,7 +15565,7 @@ components: features: items: description: Feature Name - example: ORDERING + example: Ordering type: string xml: name: Feature @@ -25393,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' @@ -25456,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: @@ -25471,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 @@ -25602,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: @@ -25615,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: @@ -25626,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' @@ -25721,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: @@ -26193,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: @@ -26242,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 @@ -26293,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: @@ -26335,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 @@ -26390,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 @@ -26420,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 @@ -26455,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 @@ -26504,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 @@ -26536,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 @@ -26577,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: @@ -26585,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 @@ -26626,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: > @@ -32715,8 +32657,11 @@ paths: { "name": "NumberManagement", "features": [ - "ORDERING", + "Ordering", "LNP", + "HostedTNS", + "IMPORT_TNS", + "HostedVoice", "TN_ASSIGNMENT", "RESERVATION", "LSR" @@ -32731,7 +32676,7 @@ paths: "isDisabled": true }, { - "featureName": "ORDERING", + "featureName": "Ordering", "isDisabled": true } ] @@ -32741,7 +32686,19 @@ paths: "phoneNumberType": "NATIONAL", "features": [ { - "featureName": "ORDERING", + "featureName": "HostedTNS", + "isDisabled": true + }, + { + "featureName": "IMPORT_TNS", + "isDisabled": true + }, + { + "featureName": "HostedVoice", + "isDisabled": true + }, + { + "featureName": "Ordering", "isDisabled": false } ] @@ -32788,8 +32745,11 @@ paths: NumberManagement - ORDERING + Ordering LNP + HostedTNS + IMPORT_TNS + HostedVoice TN_ASSIGNMENT RESERVATION LSR @@ -32804,7 +32764,7 @@ paths: true - ORDERING + Ordering true @@ -32813,6 +32773,18 @@ paths: DEU NATIONAL + + HostedTNS + true + + + IMPORT_TNS + true + + + HostedVoice + true + Ordering true @@ -34437,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 @@ -34449,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: @@ -34555,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' @@ -34641,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: @@ -34663,7 +34702,6 @@ paths: - $ref: '#/components/parameters/CreatedDateToQueryParam' - $ref: '#/components/parameters/ModifiedDateFromQueryParam' - $ref: '#/components/parameters/ModifiedDateToQueryParam' - - $ref: '#/components/parameters/SipPeerIdQueryParam' responses: '200': content: @@ -35006,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: >- diff --git a/site/specs/phone-number-lookup.yml b/site/specs/phone-number-lookup.yml index 8f1ee46f9..1ce596b32 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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.PhoneNumberLookupApi; + + public class Example { public static void main(String[] args) { - BandwidthClient client = new BandwidthClient.Builder() - .phoneNumberLookupBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + ApiClient defaultClient = Configuration.getDefaultApiClient(); - List numbers = new ArrayList<>(); - numbers.add("+15553334444"); - - 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 - + require 'bandwidth-sdk' - 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 - ) + 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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.PhoneNumberLookupApi; + + public class Example { 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..3ca214da3 100644 --- a/site/specs/voice.yml +++ b/site/specs/voice.yml @@ -145,41 +145,34 @@ 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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.CallsApi; + + public class Example { 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); + // 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,29 +303,29 @@ 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 /accounts/{accountId}/calls/{callId}: get: @@ -414,31 +407,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.CallsApi; + + public class Example { 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 +521,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" + 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 +634,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.CallsApi; + + public class Example { public static void main(String[] args) { - String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; - - BandwidthClient client = new BandwidthClient.Builder() - .voiceBasicAuthCredentials(USERNAME, PASSWORD) - .build(); + ApiClient defaultClient = Configuration.getDefaultApiClient(); - 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 +772,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 = 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 +822,65 @@ 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.models.*; + import com.bandwidth.sdk.api.CallsApi; + + public class Example { + 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 +961,38 @@ 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 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { 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 +1076,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 +1167,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { 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 +1291,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 - 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 +1397,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { 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 +1545,22 @@ 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" - ) - - voice_client = bandwidth_client.voice_client.client - - 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 +1593,65 @@ 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.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { + 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 +1725,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { 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 +1854,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" - ) + require 'bandwidth-sdk' - 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: @@ -2002,28 +2113,23 @@ 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" - ) - - voice_client = bandwidth_client.voice_client.client - - 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 +2204,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.ConferenceRecordingMetadata; - - 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { 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 +2332,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 - 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,37 +2422,42 @@ 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; - - 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(); - - 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()); - } - } - } - - lang: Node.js - source: > - import { Client, ApiController } from '@bandwidth/voice'; + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { + public static void main(String[] args) { + 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 { + 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(); + } + } + } + - lang: Node.js + source: > + import { Client, ApiController } from '@bandwidth/voice'; const BW_USERNAME = "api-username"; @@ -2442,26 +2552,23 @@ 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" - ) - - 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 - 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 +2644,35 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.DynamicResponse; - - 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.ConferencesApi; + + public class Example { 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 +2768,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 +2866,38 @@ 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 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +2981,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::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 +3084,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +3219,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 +3318,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 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +3437,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::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 +3529,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +3647,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_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 +3747,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +3863,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 +3955,36 @@ paths: } - lang: Java source: | - import com.bandwidth.BandwidthClient; - import com.bandwidth.http.response.ApiResponse; - import com.bandwidth.voice.models.DynamicResponse; - - 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"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +4070,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" + require 'bandwidth-sdk' - bandwidth_client = Bandwidth::Client.new( - voice_basic_auth_user_name: BW_USERNAME, - voice_basic_auth_password: BW_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 - 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 +4162,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +4278,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 +4384,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +4502,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 +4619,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +4757,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 +4857,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; - - public class Sample { - public static final String USERNAME = "api-username"; - public static final String PASSWORD = "api-password"; - public static final String ACCOUNT_ID = "12345"; - + import com.bandwidth.sdk.ApiClient; + import com.bandwidth.sdk.ApiException; + import com.bandwidth.sdk.Configuration; + import com.bandwidth.sdk.auth.*; + import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.api.RecordingsApi; + + public class Example { 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 +4972,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_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: 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 a5845170d3cd0f8230d31d999be26a3d505e70f0 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 2 Oct 2023 17:35:31 +0000 Subject: [PATCH 08/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 5b3e1aaef..853cf2396 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -8496,7 +8496,7 @@ components: type: string Subscriber: oneOf: - - $ref: '#/components/schemas/ManualGlobalSubscriberPersonal' + - $ref: '#/components/schemas/ManualGlobalSubscriberResidential' - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' title: LnpOrderSupp type: object @@ -9092,7 +9092,7 @@ components: type: integer Subscriber: oneOf: - - $ref: '#/components/schemas/ManualGlobalSubscriberPersonal' + - $ref: '#/components/schemas/ManualGlobalSubscriberResidential' - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' required: - SiteId @@ -9177,7 +9177,7 @@ components: type: object Subscriber: oneOf: - - $ref: '#/components/schemas/ManualGlobalSubscriberPersonal' + - $ref: '#/components/schemas/ManualGlobalSubscriberResidential' - $ref: '#/components/schemas/ManualGlobalSubscriberBusiness' type: object title: Manual Global LNP Order Response @@ -9211,7 +9211,7 @@ components: - VatNumber title: BUSINESS type: object - ManualGlobalSubscriberPersonal: + ManualGlobalSubscriberResidential: properties: AddressId: description: >- @@ -9230,14 +9230,14 @@ components: type: string SubscriberType: enum: - - PERSONAL + - RESIDENTIAL type: string required: - SubscriberType - AddressId - FirstName - LastName - title: PERSONAL + title: RESIDENTIAL type: object ManualNANPTollFreeLnpOrderRequest: description: >- @@ -30461,7 +30461,7 @@ paths: myOrder
    - Global Port-in, Personal Subscriber: + Global Port-in, Residential Subscriber: value: |- @@ -30470,7 +30470,7 @@ paths: 553906 British Telecom - PERSONAL + RESIDENTIAL Jane Doe M @@ -30523,7 +30523,7 @@ paths: myOrder - Global Port-in Order Response, Personal Subscriber: + Global Port-in Order Response, Residential Subscriber: value: |- @@ -30535,7 +30535,7 @@ paths: 2023-09-01 The Authguy - PERSONAL + RESIDENTIAL Jane Doe M From 27da0655da898f93d2284bf9d4fc95c4966774b9 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 2 Oct 2023 17:40:04 +0000 Subject: [PATCH 09/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 853cf2396..00ecd2d77 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -27608,7 +27608,7 @@ paths: type: string type: array - description: A Telephone Number (TN) that is referenced in the order. - example: '9199918388' + example: '+19199918388' in: query name: tn required: true @@ -27704,7 +27704,7 @@ paths: 2015-03-25T11:44:42.941Z PENDING 2015-03-25 - 2526795000 + +12526795000 lsrOnlyUser 7d644c88-ef23-4307-96ab-20253666d0c7 ATT-011515-324234 @@ -31118,8 +31118,8 @@ paths: REQUESTED_SUPP 2014-12-04T13:00:00Z - 8045030092 - 9175131245 + +18045030092 + +19175131245 false schema: @@ -41442,8 +41442,8 @@ paths: 2020-08-20T14:51:58.695Z e2b029cf-1cfa-4285-a875-80e8fd951208 - 8442948899 - 8774024485 + +18442948899 + +18774024485 @@ -41672,8 +41672,8 @@ paths: 2020-08-20T14:51:58.695Z e2b029cf-1cfa-4285-a875-80e8fd951208 - 8442948899 - 8774024485 + +18442948899 + +18774024485 @@ -41838,8 +41838,8 @@ paths: 2020-08-20T14:51:58.695Z e2b029cf-1cfa-4285-a875-80e8fd951208 - 8442948899 - 8774024485 + +18442948899 + +18774024485 @@ -41978,8 +41978,8 @@ paths: 2020-08-20T14:51:58.695Z e2b029cf-1cfa-4285-a875-80e8fd951208 - 8442948899 - 8774024485 + +18442948899 + +18774024485 @@ -42184,8 +42184,8 @@ paths: 2020-08-20T14:51:58.695Z e2b029cf-1cfa-4285-a875-80e8fd951208 - 8442948899 - 8774024485 + +18442948899 + +18774024485 From 7cb13ffe5a671488454a86548ea23093b4fdfa91 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 2 Oct 2023 17:40:39 +0000 Subject: [PATCH 10/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 00ecd2d77..3120a4e69 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -27896,7 +27896,7 @@ paths: 0 team_ua FAILED - +1919238466 + +19192384661 ATT-011515-324234%$ Jim Hopkins From fe35fb9b4f9bfb3f18eba20795d8a1d5be3a77f1 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Mon, 2 Oct 2023 17:42:26 +0000 Subject: [PATCH 11/12] Add Code Snippets to Spec Files --- site/specs/numbers_v2.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/specs/numbers_v2.yml b/site/specs/numbers_v2.yml index 3120a4e69..ddeb1a975 100644 --- a/site/specs/numbers_v2.yml +++ b/site/specs/numbers_v2.yml @@ -31424,7 +31424,7 @@ paths: - +1919 + 919 1 @@ -32194,7 +32194,7 @@ paths: - +1919280 + 919280 1 From 067744bca32ed682572bcb7be96f7268a4aa48c2 Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 3 Oct 2023 14:29:47 +0000 Subject: [PATCH 12/12] Add Code Snippets to Spec Files --- site/specs/messaging.yml | 67 +++++--- site/specs/multi-factor-auth.yml | 12 +- site/specs/phone-number-lookup.yml | 8 +- site/specs/voice.yml | 253 ++++++++++++++++++++--------- 4 files changed, 228 insertions(+), 112 deletions(-) diff --git a/site/specs/messaging.yml b/site/specs/messaging.yml index 4b418a374..eeea306fa 100644 --- a/site/specs/messaging.yml +++ b/site/specs/messaging.yml @@ -87,10 +87,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MediaApi; - public class Example { + import java.util.List; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -280,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(); } } } @@ -505,10 +514,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MediaApi; - public class Example { + import java.io.File; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -753,10 +764,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MediaApi; - public class Example { + import java.io.File; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -962,10 +975,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MessagesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -1204,10 +1217,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MessagesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); // Configure HTTP basic authorization: Basic diff --git a/site/specs/multi-factor-auth.yml b/site/specs/multi-factor-auth.yml index 2d9691a36..05c8a662c 100644 --- a/site/specs/multi-factor-auth.yml +++ b/site/specs/multi-factor-auth.yml @@ -106,10 +106,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MfaApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -390,10 +390,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MfaApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -671,10 +671,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.MfaApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); diff --git a/site/specs/phone-number-lookup.yml b/site/specs/phone-number-lookup.yml index 1ce596b32..ba3a07899 100644 --- a/site/specs/phone-number-lookup.yml +++ b/site/specs/phone-number-lookup.yml @@ -103,10 +103,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.PhoneNumberLookupApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -305,10 +305,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.PhoneNumberLookupApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); diff --git a/site/specs/voice.yml b/site/specs/voice.yml index 3ca214da3..1ebc18a31 100644 --- a/site/specs/voice.yml +++ b/site/specs/voice.yml @@ -149,12 +149,13 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.CallsApi; - public class Example { + public class Sample { public static void main(String[] args) { - + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); // Configure HTTP basic authorization: Basic HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); @@ -327,6 +328,52 @@ paths: 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: @@ -411,10 +458,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.CallsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -638,10 +685,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.CallsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -829,10 +876,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.CallsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -844,10 +891,7 @@ paths: 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 | + String body = "This is a test sentence. "; // String | try { apiInstance.updateCallBxml(accountId, callId, body); } catch (ApiException e) { @@ -965,10 +1009,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + import java.util.List; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -1171,10 +1217,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -1401,10 +1447,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("http://localhost"); @@ -1600,10 +1646,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -1615,10 +1661,7 @@ paths: 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 | + String body = ""; // String | try { apiInstance.updateConferenceBxml(accountId, conferenceId, body); } catch (ApiException e) { @@ -1729,10 +1772,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -1963,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(); + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); - ConferenceMemberState conferenceMemberState = new ConferenceMemberState(); - conferenceMemberState.setMute(true); + // 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(); } } } @@ -2208,10 +2253,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + import java.util.List; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -2426,10 +2473,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("http://localhost"); @@ -2648,10 +2695,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.ConferencesApi; - public class Example { + import java.io.File; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -2870,10 +2919,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + import java.util.List; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("http://localhost"); @@ -3088,10 +3139,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("http://localhost"); @@ -3322,10 +3373,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + import java.util.List; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("http://localhost"); @@ -3533,10 +3586,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -3751,10 +3804,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -3959,10 +4012,12 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + import java.io.File; + + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("http://localhost"); @@ -4166,10 +4221,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -4388,10 +4443,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -4623,10 +4678,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -4861,10 +4916,10 @@ paths: import com.bandwidth.sdk.ApiException; import com.bandwidth.sdk.Configuration; import com.bandwidth.sdk.auth.*; - import com.bandwidth.sdk.models.*; + import com.bandwidth.sdk.model.*; import com.bandwidth.sdk.api.RecordingsApi; - public class Example { + public class Sample { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); @@ -7396,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 @@ -7406,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 @@ -7505,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: