From 6ebc44d2cf11041a2eae7ca8adf69e38f313ac7c Mon Sep 17 00:00:00 2001 From: DX-Bandwidth Date: Tue, 3 Nov 2026 20:51:31 +0000 Subject: [PATCH 1/5] Generate SDK with OpenAPI Generator Version 7.17.0 --- README.md | 11 -- bandwidth.yml | 157 ++++++++------------ bandwidth/api/calls_api.py | 5 - bandwidth/api/conferences_api.py | 9 -- bandwidth/api/endpoints_api.py | 5 - bandwidth/api/media_api.py | 4 - bandwidth/api/messages_api.py | 2 - bandwidth/api/mfa_api.py | 3 - bandwidth/api/multi_channel_api.py | 1 - bandwidth/api/phone_number_lookup_api.py | 3 - bandwidth/api/recordings_api.py | 10 -- bandwidth/api/statistics_api.py | 1 - bandwidth/api/toll_free_verification_api.py | 9 -- bandwidth/api/transcriptions_api.py | 3 - bandwidth/configuration.py | 24 --- docs/CallsApi.md | 45 +----- docs/ConferencesApi.md | 81 ++-------- docs/EndpointsApi.md | 45 +----- docs/MFAApi.md | 27 +--- docs/MediaApi.md | 36 +---- docs/MessagesApi.md | 18 +-- docs/MultiChannelApi.md | 9 +- docs/PhoneNumberLookupApi.md | 27 +--- docs/RecordingsApi.md | 90 ++--------- docs/StatisticsApi.md | 9 +- docs/TollFreeVerificationApi.md | 81 ++-------- docs/TranscriptionsApi.md | 27 +--- 27 files changed, 115 insertions(+), 627 deletions(-) diff --git a/README.md b/README.md index ce3d6192..cf8f33af 100644 --- a/README.md +++ b/README.md @@ -67,12 +67,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -371,11 +365,6 @@ Class | Method | HTTP request | Description Authentication schemes defined for the API: - -### Basic - -- **Type**: HTTP basic authentication - ### OAuth2 diff --git a/bandwidth.yml b/bandwidth.yml index 0df9d764..bffc6469 100644 --- a/bandwidth.yml +++ b/bandwidth.yml @@ -8,7 +8,6 @@ info: email: letstalk@bandwidth.com version: 1.0.0 security: - - Basic: [] - OAuth2: [] tags: - name: Messages @@ -2015,7 +2014,7 @@ components: type: string format: date-time description: The ISO 8601 datetime of the message. - example: 2020-04-07T14:03:07.000Z + example: '2020-04-07T14:03:07.000Z' carrierName: type: string nullable: true @@ -2095,13 +2094,11 @@ components: prevPage: type: string description: The link to the previous page for pagination. - example: >- - https://messaging.bandwidth.com/api/v2/users/accountId/messages?messageStatus=DLR_EXPIRED&nextPage=DLAPE902 + example: https://messaging.bandwidth.com/api/v2/users/accountId/messages?messageStatus=DLR_EXPIRED&nextPage=DLAPE902 nextPage: type: string description: The link to the next page for pagination. - example: >- - https://messaging.bandwidth.com/api/v2/users/accountId/messages?messageStatus=DLR_EXPIRED&prevPage=GL83PD3C + example: https://messaging.bandwidth.com/api/v2/users/accountId/messages?messageStatus=DLR_EXPIRED&prevPage=GL83PD3C prevPageToken: type: string description: The isolated pagination token for the previous page. @@ -2202,7 +2199,7 @@ components: type: string format: date-time description: The datetime stamp of the message in ISO 8601 - example: 2024-12-02T20:15:57.278Z + example: '2024-12-02T20:15:57.278201Z' segmentCount: $ref: '#/components/schemas/segmentCount' direction: @@ -2698,14 +2695,14 @@ components: description: >- The start time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. - example: 2022-09-14T18:20:16.000Z + example: '2022-09-14T18:20:16.000Z' endTime: type: string format: date-time description: >- The end time of the event. Must be a valid RFC-3339 value, e.g., 2021-03-14T01:59:26Z or 2021-03-13T20:59:26-05:00. - example: 2022-09-14T18:20:16.000Z + example: '2022-09-14T18:20:16.000Z' description: type: string description: The description of the event. @@ -2877,7 +2874,7 @@ components: description: The time the message was received by the Bandwidth API. type: string format: date-time - example: 2025-01-01T18:20:16.000Z + example: '2025-01-01T18:20:16.000Z' direction: $ref: '#/components/schemas/messageDirectionEnum' to: @@ -3037,14 +3034,14 @@ components: time: type: string format: date-time - example: 2024-12-02T20:15:57.278Z + example: '2024-12-02T20:15:57.278201Z' eventTime: type: string description: >- Represents the time at which the message was read, for `message-read` callbacks. format: date-time - example: 2024-12-02T20:15:58.278Z + example: '2024-12-02T20:15:58.278205Z' type: $ref: '#/components/schemas/statusCallbackTypeEnum' to: @@ -3080,7 +3077,7 @@ components: time: type: string format: date-time - example: 2024-12-02T20:15:57.278Z + example: '2024-12-02T20:15:57.278201Z' type: $ref: '#/components/schemas/inboundCallbackTypeEnum' to: @@ -3176,7 +3173,7 @@ components: time: type: string format: date-time - example: 2024-12-02T20:15:57.666Z + example: '2024-12-02T20:15:57.666000Z' segmentCount: $ref: '#/components/schemas/segmentCount' direction: @@ -3408,8 +3405,7 @@ components: uui: nullable: true type: string - example: >- - eyJhbGciOiJIUzI1NiJ9.WyJoaSJd.-znkjYyCkgz4djmHUPSXl9YrJ6Nix_XvmlwKGFh5ERM;encoding=jwt,aGVsbG8gd29ybGQ;encoding=base64 + example: eyJhbGciOiJIUzI1NiJ9.WyJoaSJd.-znkjYyCkgz4djmHUPSXl9YrJ6Nix_XvmlwKGFh5ERM;encoding=jwt,aGVsbG8gd29ybGQ;encoding=base64 description: >- A comma-separated list of 'User-To-User' headers to be sent @@ -3619,8 +3615,7 @@ components: callUrl: type: string format: uri - example: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + example: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 description: The URL to update this call's state. callTimeout: type: number @@ -3791,8 +3786,7 @@ components: configured to forward this header. - example: >- - eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9idy1zaGFrZW4tY2VydC1wdWIuczMuYW1hem9uYXdzLmNvbS9iYW5kd2lkdGgtc2hha2VuLWNlcnRfMjAyMzA3MTYucGVtIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxOTg0MjgyMDI4MCJdfSwiaWF0IjoxNjU2NTM0MzM2LCJvcmlnIjp7InRuIjoiMTkxOTQ0NDI2ODMifSwib3JpZ2lkIjoiNDk0NTlhOGEtNDJmNi0zNTFjLTkzNjEtYWRmNTdhOWUwOGNhIn0.56un9sRw_uH-sbJvnUsqdevlVxbOVjn8MVlGTlBMicjaZuRRwxfiNp-C9zYCMKTTCbc-QdYPN05F61XNVN4D3w;info=;alg=ES256;ppt=shaken + example: eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9idy1zaGFrZW4tY2VydC1wdWIuczMuYW1hem9uYXdzLmNvbS9iYW5kd2lkdGgtc2hha2VuLWNlcnRfMjAyMzA3MTYucGVtIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxOTg0MjgyMDI4MCJdfSwiaWF0IjoxNjU2NTM0MzM2LCJvcmlnIjp7InRuIjoiMTkxOTQ0NDI2ODMifSwib3JpZ2lkIjoiNDk0NTlhOGEtNDJmNi0zNTFjLTkzNjEtYWRmNTdhOWUwOGNhIn0.56un9sRw_uH-sbJvnUsqdevlVxbOVjn8MVlGTlBMicjaZuRRwxfiNp-C9zYCMKTTCbc-QdYPN05F61XNVN4D3w;info=;alg=ES256;ppt=shaken enqueuedTime: nullable: true type: string @@ -4109,8 +4103,7 @@ components: respond. Not allowed if `state` is `completed`. - example: >- - https://myFallbackServer.example/bandwidth/webhooks/conferenceRedirect + example: https://myFallbackServer.example/bandwidth/webhooks/conferenceRedirect redirectFallbackMethod: $ref: '#/components/schemas/redirectMethodEnum' fallbackUsername: @@ -4149,8 +4142,7 @@ components: Member](/apis/voice-apis/voice/#tag/Conferences/operation/updateConferenceMember) endpoint. - example: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/members/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + example: https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/members/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 mute: type: boolean description: >- @@ -4387,8 +4379,7 @@ components: to respond maxLength: 2048 - example: >- - https://myFallbackServer.example/bandwidth/webhooks/machineDetectionComplete + example: https://myFallbackServer.example/bandwidth/webhooks/machineDetectionComplete fallbackMethod: $ref: '#/components/schemas/callbackMethodEnum' fallbackUsername: @@ -4542,8 +4533,7 @@ components: example: - transcriptionId: t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b transcriptionName: live_transcription - transcriptionUrl: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + transcriptionUrl: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b callTranscriptionMetadata: type: object properties: @@ -4566,8 +4556,7 @@ components: [Get Call Transcription](/apis/voice-apis/voice/#tag/Transcriptions/operation/getRealTimeTranscription) endpoint. - example: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b + example: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-fef240ff-5cfc9091-8069-4863-a8c0-a4dcbbf1f1a4/transcriptions/t-3f758f24-c7a2fc78-7c91-401a-8b2e-e542f9c40d6b callTranscriptionResponse: type: object properties: @@ -4632,8 +4621,7 @@ components: type: string format: uri description: The URL of the [transcription](#operation/getCallTranscription) - example: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/recordings/r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/transcription + example: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/recordings/r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85/transcription voiceApiError: type: object properties: @@ -5608,8 +5596,7 @@ components: description: >- The URL that can be used to download the recording. Only present if the recording is finished and may be downloaded. - example: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/recordings/r-fbe05094-9fd2afe9-bf5b-4c68-820a-41a01c1c5833/media + example: https://voice.bandwidth.com/api/v2/accounts/9900000/conferences/conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9/recordings/r-fbe05094-9fd2afe9-bf5b-4c68-820a-41a01c1c5833/media callId: type: string description: The call id associated with the event. @@ -5622,8 +5609,7 @@ components: type: string format: uri description: The URL of the call associated with the event. - example: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + example: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 parentCallId: type: string description: >- @@ -6869,8 +6855,7 @@ components: maxLength: 500 nullable: false example: https://www.example.com/path/to/resource - pattern: >- - ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) + pattern: ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) confirmationResponse: type: string minLength: 0 @@ -6917,8 +6902,7 @@ components: minLength: 0 maxLength: 500 nullable: false - pattern: >- - ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$ + 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])+)\])$ example: foo@bar.com useCases: type: array @@ -7070,8 +7054,7 @@ components: maxLength: 2000 nullable: true example: https://www.example.com/path/to/resource - pattern: >- - ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) + pattern: ^$|(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,253}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*) tfvError: description: A generic error object. properties: @@ -7210,8 +7193,7 @@ components: minLength: 0 maxLength: 500 nullable: true - example: >- - cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw + example: cv.user123|sess456|mno|tfree|read_write|X7yZ9aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789aBcDeFgHiJkLmNoPqRsTuVw endpointId: type: string description: The unique ID of the endpoint. @@ -7416,8 +7398,7 @@ components: href: type: string description: The full URL of the link. - example: >- - https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + example: https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 rel: type: string description: The relationship of the link to the current resource. @@ -8411,8 +8392,7 @@ components: in: header name: Continuation-Token description: Continuation token used to retrieve subsequent media. - example: >- - 1XEi2tsFtLo1JbtLwETnM1ZJ+PqAa8w6ENvC5QKvwyrCDYII663Gy5M4s40owR1tjkuWUif6qbWvFtQJR5/ipqbUnfAqL254LKNlPy6tATCzioKSuHuOqgzloDkSwRtX0LtcL2otHS69hK343m+SjdL+vlj71tT39 + example: 1XEi2tsFtLo1JbtLwETnM1ZJ+PqAa8w6ENvC5QKvwyrCDYII663Gy5M4s40owR1tjkuWUif6qbWvFtQJR5/ipqbUnfAqL254LKNlPy6tATCzioKSuHuOqgzloDkSwRtX0LtcL2otHS69hK343m+SjdL+vlj71tT39 schema: type: string messageId: @@ -8501,7 +8481,7 @@ components: description: >- 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. - example: 2022-09-14T18:20:16.000Z + example: '2022-09-14T18:20:16.000Z' schema: type: string toDateTime: @@ -8511,7 +8491,7 @@ components: description: >- 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. - example: 2022-09-14T18:20:16.000Z + example: '2022-09-14T18:20:16.000Z' schema: type: string campaignId: @@ -8979,8 +8959,7 @@ components: from: '+12345678901' text: Hey, check out the MMS! media: - - >- - https://messaging.bandwidth.com/api/v2/users/9900902/media/14762070468292kw2fuqty55yp2b2/0/bw.png + - https://messaging.bandwidth.com/api/v2/users/9900902/media/14762070468292kw2fuqty55yp2b2/0/bw.png rbmMessageReceivedSessionCallbackExample: summary: >- An example of a rbm message-received callback body for a message that is @@ -9209,8 +9188,7 @@ components: to: '+19195551234' from: '+19195554312' enqueuedTime: '2022-06-16T13:15:07.160Z' - callUrl: >- - https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + callUrl: https://voice.bandwidth.com/api/v2/accounts/9900000/calls/c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 callTimeout: 30 callbackTimeout: 15 tag: My custom tag value @@ -9302,14 +9280,12 @@ components: summary: Numbers Lookup Accepted value: links: - - href: >- - /accounts/9912345/phoneNumberLookup/bulk/004223a0-8b17-41b1-bf81-20732adf5590 + - href: /accounts/9912345/phoneNumberLookup/bulk/004223a0-8b17-41b1-bf81-20732adf5590 rel: createdRequest method: GET data: requestId: 004223a0-8b17-41b1-bf81-20732adf5590 status: IN_PROGRESS - results: [] errors: [] lookupInProgressExample: summary: Numbers Lookup In Progress @@ -9482,7 +9458,8 @@ components: links: [] data: {} errors: - - type: bad-request + - code: '1234' + type: bad-request description: >- Bad Request. Ensure that you have set the requestId as a URL path parameter. @@ -9495,7 +9472,6 @@ components: - type: Unauthorized description: You are not authorized to access this resource. code: '1' - page: null forbiddenExample: summary: Forbidden Error value: @@ -9505,14 +9481,14 @@ components: - type: Forbidden description: You do not have permission to access this resource. code: '2' - page: null unsupportedMediaTypeExample: summary: Unsupported Media Type Error value: links: [] data: {} errors: - - type: invalid-content-type + - code: '1234' + type: invalid-content-type description: >- Invalid content-type. Ensure that your content-type header is set to application/json. @@ -9522,7 +9498,8 @@ components: links: [] data: {} errors: - - type: not-found + - code: '1234' + type: not-found description: >- RequestId not found. Ensure that the requestId used in the URL path is valid and maps to a previous request that was submitted. @@ -9532,7 +9509,8 @@ components: links: [] data: {} errors: - - type: rate-limiting + - code: '1234' + type: rate-limiting description: >- Rate limit exceeded. Wait for the time specified in the Retry-After header before sending another request. @@ -9552,12 +9530,10 @@ components: summary: List Endpoints Paginated Response value: links: - - href: >- - https://api.bandwidth.com/v2/accounts/5500123/endpoints?type=SIP&status=CONNECTED&limit=2 + - href: https://api.bandwidth.com/v2/accounts/5500123/endpoints?type=SIP&status=CONNECTED&limit=2 rel: self method: GET - - href: >- - https://api.bandwidth.com/v2/accounts/5500123/endpoints?type=SIP&status=CONNECTED&limit=2&afterCursor=TWF5IHRoZSBmb3JjZSBiZSB3aXRoIHlvdQ== + - href: https://api.bandwidth.com/v2/accounts/5500123/endpoints?type=SIP&status=CONNECTED&limit=2&afterCursor=TWF5IHRoZSBmb3JjZSBiZSB3aXRoIHlvdQ== rel: next method: GET page: @@ -9583,8 +9559,7 @@ components: summary: Create Endpoint Response value: links: - - href: >- - https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + - href: https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 rel: endpoint method: GET data: @@ -9601,8 +9576,7 @@ components: summary: Get Endpoint Response value: links: - - href: >- - https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 + - href: https://api.bandwidth.com/v2/accounts/5500123/endpoints/e-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85 rel: self method: GET data: @@ -10128,24 +10102,6 @@ components: examples: updateEndpointBxmlRequestExample: $ref: '#/components/examples/updateEndpointBxmlRequestExample' - securitySchemes: - Basic: - type: http - scheme: basic - description: >- - Basic authentication is a simple authentication scheme built into the - HTTP protocol. To use it, send your HTTP requests with an - `Authorization` header that contains the word `Basic` followed by a - space and a Base64-encoded string `username:password`. - - - - Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==` - OAuth2: - type: oauth2 - flows: - clientCredentials: - tokenUrl: https://api.bandwidth.com/api/v1/oauth2/token - scopes: {} callbacks: inboundCallback: '{inboundCallbackUrl}': @@ -10182,8 +10138,7 @@ components: mmsMessageReceivedCallback: $ref: '#/components/examples/mmsMessageReceivedCallbackExample' rbmMessageReceivedSessionCallback: - $ref: >- - #/components/examples/rbmMessageReceivedSessionCallbackExample + $ref: '#/components/examples/rbmMessageReceivedSessionCallbackExample' responses: '200': description: OK @@ -10218,14 +10173,11 @@ components: mmsMessageDeliveredCallback: $ref: '#/components/examples/mmsMessageDeliveredCallbackExample' groupMmsMessageDeliveredCallback: - $ref: >- - #/components/examples/groupMmsMessageDeliveredCallbackExample + $ref: '#/components/examples/groupMmsMessageDeliveredCallbackExample' rbmMessageDeliveredSessionCallback: - $ref: >- - #/components/examples/rbmMessageDeliveredSessionCallbackExample + $ref: '#/components/examples/rbmMessageDeliveredSessionCallbackExample' rbmMessageDeliveredCanInitiateSessionCallback: - $ref: >- - #/components/examples/rbmMessageDeliveredCanInitiateSessionCallbackExample + $ref: '#/components/examples/rbmMessageDeliveredCanInitiateSessionCallbackExample' messageFailedCallback: $ref: '#/components/examples/messageFailedCallbackExample' sessionStartedCallback: @@ -10289,3 +10241,14 @@ components: responses: '204': description: Event was successfully received. + securitySchemes: + OAuth2: + type: oauth2 + description: >- + OAuth2 client credentials. For information on obtaining credentials, see + [Credentials + Management](https://dev.bandwidth.com/docs/account/credentials/management/). + flows: + clientCredentials: + tokenUrl: https://api.bandwidth.com/api/v1/oauth2/token + scopes: {} diff --git a/bandwidth/api/calls_api.py b/bandwidth/api/calls_api.py index 1fe7b9e6..2b5dab1d 100644 --- a/bandwidth/api/calls_api.py +++ b/bandwidth/api/calls_api.py @@ -338,7 +338,6 @@ def _create_call_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -642,7 +641,6 @@ def _get_call_state_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1050,7 +1048,6 @@ def _list_calls_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1385,7 +1382,6 @@ def _update_call_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1720,7 +1716,6 @@ def _update_call_bxml_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/conferences_api.py b/bandwidth/api/conferences_api.py index 3fde1cbb..ff319e34 100644 --- a/bandwidth/api/conferences_api.py +++ b/bandwidth/api/conferences_api.py @@ -343,7 +343,6 @@ def _download_conference_recording_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -647,7 +646,6 @@ def _get_conference_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -966,7 +964,6 @@ def _get_conference_member_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1285,7 +1282,6 @@ def _get_conference_recording_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1589,7 +1585,6 @@ def _list_conference_recordings_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1963,7 +1958,6 @@ def _list_conferences_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2295,7 +2289,6 @@ def _update_conference_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2627,7 +2620,6 @@ def _update_conference_bxml_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2974,7 +2966,6 @@ def _update_conference_member_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/endpoints_api.py b/bandwidth/api/endpoints_api.py index 506a77fa..e1decb65 100644 --- a/bandwidth/api/endpoints_api.py +++ b/bandwidth/api/endpoints_api.py @@ -340,7 +340,6 @@ def _create_endpoint_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -644,7 +643,6 @@ def _delete_endpoint_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -948,7 +946,6 @@ def _get_endpoint_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1305,7 +1302,6 @@ def _list_endpoints_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1637,7 +1633,6 @@ def _update_endpoint_bxml_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/media_api.py b/bandwidth/api/media_api.py index cee63f85..49753b34 100644 --- a/bandwidth/api/media_api.py +++ b/bandwidth/api/media_api.py @@ -322,7 +322,6 @@ def _delete_media_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -627,7 +626,6 @@ def _get_media_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -931,7 +929,6 @@ def _list_media_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1348,7 +1345,6 @@ def _upload_media_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/messages_api.py b/bandwidth/api/messages_api.py index 46e136f5..0f9ad022 100644 --- a/bandwidth/api/messages_api.py +++ b/bandwidth/api/messages_api.py @@ -344,7 +344,6 @@ def _create_message_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1092,7 +1091,6 @@ def _list_messages_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/mfa_api.py b/bandwidth/api/mfa_api.py index 92698d4e..f5a34495 100644 --- a/bandwidth/api/mfa_api.py +++ b/bandwidth/api/mfa_api.py @@ -326,7 +326,6 @@ def _generate_messaging_code_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -631,7 +630,6 @@ def _generate_voice_code_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -939,7 +937,6 @@ def _verify_code_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/multi_channel_api.py b/bandwidth/api/multi_channel_api.py index e6501bdb..955e3eb7 100644 --- a/bandwidth/api/multi_channel_api.py +++ b/bandwidth/api/multi_channel_api.py @@ -338,7 +338,6 @@ def _create_multi_channel_message_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/phone_number_lookup_api.py b/bandwidth/api/phone_number_lookup_api.py index 07f3e6fd..532aecee 100644 --- a/bandwidth/api/phone_number_lookup_api.py +++ b/bandwidth/api/phone_number_lookup_api.py @@ -315,7 +315,6 @@ def _create_async_bulk_lookup_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -608,7 +607,6 @@ def _create_sync_lookup_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -888,7 +886,6 @@ def _get_async_bulk_lookup_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/recordings_api.py b/bandwidth/api/recordings_api.py index 3702ffdf..9a090567 100644 --- a/bandwidth/api/recordings_api.py +++ b/bandwidth/api/recordings_api.py @@ -340,7 +340,6 @@ def _delete_recording_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -659,7 +658,6 @@ def _delete_recording_media_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -978,7 +976,6 @@ def _delete_recording_transcription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1299,7 +1296,6 @@ def _download_call_recording_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1618,7 +1614,6 @@ def _get_call_recording_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1937,7 +1932,6 @@ def _get_recording_transcription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2294,7 +2288,6 @@ def _list_account_call_recordings_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2598,7 +2591,6 @@ def _list_call_recordings_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2945,7 +2937,6 @@ def _transcribe_call_recording_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -3277,7 +3268,6 @@ def _update_call_recording_state_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/statistics_api.py b/bandwidth/api/statistics_api.py index de65a491..a22c2dc9 100644 --- a/bandwidth/api/statistics_api.py +++ b/bandwidth/api/statistics_api.py @@ -306,7 +306,6 @@ def _get_statistics_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/toll_free_verification_api.py b/bandwidth/api/toll_free_verification_api.py index 898c5716..3644f19d 100644 --- a/bandwidth/api/toll_free_verification_api.py +++ b/bandwidth/api/toll_free_verification_api.py @@ -340,7 +340,6 @@ def _create_webhook_subscription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -644,7 +643,6 @@ def _delete_verification_request_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -948,7 +946,6 @@ def _delete_webhook_subscription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1252,7 +1249,6 @@ def _get_toll_free_verification_status_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1526,7 +1522,6 @@ def _list_toll_free_use_cases_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -1812,7 +1807,6 @@ def _list_webhook_subscriptions_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2129,7 +2123,6 @@ def _request_toll_free_verification_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2464,7 +2457,6 @@ def _update_toll_free_verification_request_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -2796,7 +2788,6 @@ def _update_webhook_subscription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/api/transcriptions_api.py b/bandwidth/api/transcriptions_api.py index f90440b3..60ca4b2a 100644 --- a/bandwidth/api/transcriptions_api.py +++ b/bandwidth/api/transcriptions_api.py @@ -338,7 +338,6 @@ def _delete_real_time_transcription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -657,7 +656,6 @@ def _get_real_time_transcription_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] @@ -961,7 +959,6 @@ def _list_real_time_transcriptions_serialize( # authentication setting _auth_settings: List[str] = [ - 'Basic', 'OAuth2' ] diff --git a/bandwidth/configuration.py b/bandwidth/configuration.py index 9d29b5c2..de29990d 100644 --- a/bandwidth/configuration.py +++ b/bandwidth/configuration.py @@ -116,7 +116,6 @@ AuthSettings = TypedDict( "AuthSettings", { - "Basic": BasicAuthSetting, "OAuth2": OAuth2AuthSetting, }, total=False, @@ -174,22 +173,6 @@ class Configuration: :param key_file: the path to a client key file, for mTLS. :Example: - - HTTP Basic Authentication Example. - Given the following security scheme in the OpenAPI specification: - components: - securitySchemes: - http_basic_auth: - type: http - scheme: basic - - Configure API client with HTTP basic authentication: - -conf = bandwidth.Configuration( - username='the-user', - password='the-password', -) - """ _default: ClassVar[Optional[Self]] = None @@ -563,13 +546,6 @@ def auth_settings(self)-> AuthSettings: :return: The Auth Settings information dict. """ auth: AuthSettings = {} - if self.username is not None and self.password is not None: - auth['Basic'] = { - 'type': 'basic', - 'in': 'header', - 'key': 'Authorization', - 'value': self.get_basic_auth_token() - } if self.access_token is not None: auth['OAuth2'] = { 'type': 'oauth2', diff --git a/docs/CallsApi.md b/docs/CallsApi.md index e514c55e..16eb7854 100644 --- a/docs/CallsApi.md +++ b/docs/CallsApi.md @@ -24,7 +24,6 @@ All calls are initially queued. Your outbound calls will initiated at a specific ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -45,12 +44,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -89,7 +82,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -123,7 +116,6 @@ Retrieve the current state of a specific call. This information is near-realtime ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -143,12 +135,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -187,7 +173,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -222,7 +208,6 @@ Also, call information is kept for 7 days after the calls are hung up. If you at ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -242,12 +227,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -298,7 +277,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -330,7 +309,6 @@ Interrupts and redirects a call to a different URL that should return a BXML doc ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -350,12 +328,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -394,7 +366,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -427,7 +399,6 @@ Interrupts and replaces an active call's BXML document. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -446,12 +417,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -493,7 +458,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/ConferencesApi.md b/docs/ConferencesApi.md index dad82836..d5700797 100644 --- a/docs/ConferencesApi.md +++ b/docs/ConferencesApi.md @@ -24,7 +24,6 @@ Downloads the specified recording file. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -43,12 +42,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -89,7 +82,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -121,7 +114,6 @@ Returns information about the specified conference. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -141,12 +133,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -185,7 +171,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -217,7 +203,6 @@ Returns information about the specified conference member. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -237,12 +222,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -283,7 +262,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -315,7 +294,6 @@ Returns metadata for the specified recording. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -335,12 +313,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -381,7 +353,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -413,7 +385,6 @@ Returns a (potentially empty) list of metadata for the recordings that took plac ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -433,12 +404,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -477,7 +442,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -511,7 +476,6 @@ Returns a max of 1000 conferences, sorted by `createdTime` from oldest to newest ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -531,12 +495,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -583,7 +541,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -615,7 +573,6 @@ Update the conference state. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -635,12 +592,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -679,7 +630,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -711,7 +662,6 @@ Update the conference BXML document. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -730,12 +680,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -777,7 +721,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -809,7 +753,6 @@ Updates settings for a particular conference member. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -829,12 +772,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -875,7 +812,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/EndpointsApi.md b/docs/EndpointsApi.md index a2433c39..a289d758 100644 --- a/docs/EndpointsApi.md +++ b/docs/EndpointsApi.md @@ -20,7 +20,6 @@ Creates a new Endpoint for the specified account. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -41,12 +40,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -85,7 +78,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -117,7 +110,6 @@ Deletes the specified endpoint. If the endpoint is actively streaming media, the ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -136,12 +128,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -178,7 +164,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -210,7 +196,6 @@ Returns information about the specified endpoint. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -230,12 +215,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -274,7 +253,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -306,7 +285,6 @@ Returns a list of endpoints associated with the specified account. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -328,12 +306,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -378,7 +350,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -410,7 +382,6 @@ Updates the BXML for the specified endpoint. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -429,12 +400,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -473,7 +438,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/MFAApi.md b/docs/MFAApi.md index e15db167..9e16b581 100644 --- a/docs/MFAApi.md +++ b/docs/MFAApi.md @@ -18,7 +18,6 @@ Send an MFA code via text message (SMS). ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -39,12 +38,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -83,7 +76,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -111,7 +104,6 @@ Send an MFA Code via a phone call. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -132,12 +124,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -176,7 +162,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -204,7 +190,6 @@ Verify a previously sent MFA code. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -225,12 +210,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -269,7 +248,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/MediaApi.md b/docs/MediaApi.md index 85ff9630..b5de5fa1 100644 --- a/docs/MediaApi.md +++ b/docs/MediaApi.md @@ -23,7 +23,6 @@ file with the same name. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -42,12 +41,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -84,7 +77,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -116,7 +109,6 @@ Downloads a media file you previously uploaded. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -135,12 +127,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -179,7 +165,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -211,7 +197,6 @@ Gets a list of your media files. No query parameters are supported. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -231,12 +216,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -275,7 +254,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -311,7 +290,6 @@ A list of supported media types can be found at [Bandwidth Support](https://www. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -330,12 +308,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -378,7 +350,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/MessagesApi.md b/docs/MessagesApi.md index 46b296a4..b657c8fd 100644 --- a/docs/MessagesApi.md +++ b/docs/MessagesApi.md @@ -17,7 +17,6 @@ Endpoint for sending text messages and picture messages using V2 messaging. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -38,12 +37,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -82,7 +75,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -118,7 +111,6 @@ Returns a list of messages based on query parameters. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -142,12 +134,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -238,7 +224,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/MultiChannelApi.md b/docs/MultiChannelApi.md index 8300d26c..a30f81c6 100644 --- a/docs/MultiChannelApi.md +++ b/docs/MultiChannelApi.md @@ -16,7 +16,6 @@ Endpoint for sending Multi-Channel messages. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -37,12 +36,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -81,7 +74,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/PhoneNumberLookupApi.md b/docs/PhoneNumberLookupApi.md index d53e7597..5aba29c5 100644 --- a/docs/PhoneNumberLookupApi.md +++ b/docs/PhoneNumberLookupApi.md @@ -18,7 +18,6 @@ Creates an asynchronous bulk phone number lookup request. Maximum of 15,000 tele ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -39,12 +38,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -83,7 +76,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -108,7 +101,6 @@ Creates a synchronous phone number lookup request. Maximum of 100 telephone numb ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -129,12 +121,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -173,7 +159,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -198,7 +184,6 @@ Get an existing [Asynchronous Bulk Number Lookup](#tag/Phone-Number-Lookup/opera ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -218,12 +203,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -262,7 +241,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/RecordingsApi.md b/docs/RecordingsApi.md index 51043809..00332e1a 100644 --- a/docs/RecordingsApi.md +++ b/docs/RecordingsApi.md @@ -27,7 +27,6 @@ Note: After the deletion is requested and a `204` is returned, neither the recor ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -46,12 +45,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -90,7 +83,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -122,7 +115,6 @@ Deletes the specified recording's media. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -141,12 +133,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -185,7 +171,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -219,7 +205,6 @@ Note: After the deletion is requested and a `204` is returned, the transcription ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -238,12 +223,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -282,7 +261,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -314,7 +293,6 @@ Downloads the specified recording. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -333,12 +311,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -379,7 +351,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -411,7 +383,6 @@ Returns metadata for the specified recording. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -431,12 +402,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -477,7 +442,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -512,7 +477,6 @@ During a [``](/docs/voice/bxml/transfer) the A-leg transcript will be ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -532,12 +496,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -578,7 +536,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -613,7 +571,6 @@ empty if no recordings match the specified criteria. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -633,12 +590,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -683,7 +634,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -716,7 +667,6 @@ that took place during the specified call. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -736,12 +686,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -780,7 +724,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -814,7 +758,6 @@ less than 4 hours. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -834,12 +777,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -880,7 +817,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -912,7 +849,6 @@ Pause or resume a recording on an active phone call. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -932,12 +868,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -976,7 +906,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/StatisticsApi.md b/docs/StatisticsApi.md index 642e4e8f..7f7f71e2 100644 --- a/docs/StatisticsApi.md +++ b/docs/StatisticsApi.md @@ -16,7 +16,6 @@ Returns details about the current state of the account. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -36,12 +35,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -78,7 +71,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/TollFreeVerificationApi.md b/docs/TollFreeVerificationApi.md index 104c3959..faeb0280 100644 --- a/docs/TollFreeVerificationApi.md +++ b/docs/TollFreeVerificationApi.md @@ -26,7 +26,6 @@ The returned subscription object will contain an ID that can be used to modify o ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -47,12 +46,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -91,7 +84,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -125,7 +118,6 @@ Delete a toll-free verification submission for a toll-free number. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -144,12 +136,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -186,7 +172,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -218,7 +204,6 @@ Delete a webhook subscription by ID. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -237,12 +222,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -279,7 +258,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -312,7 +291,6 @@ Submission information will be appended to the response if it is available. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -332,12 +310,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -376,7 +348,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -408,7 +380,6 @@ Lists valid toll-free use cases. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -427,12 +398,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -465,7 +430,7 @@ This endpoint does not need any parameter. ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -498,7 +463,6 @@ If `basicAuthentication` is defined, the `password` property of that object will ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -518,12 +482,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -560,7 +518,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -595,7 +553,6 @@ Today, these requests are accepted with a `202`. ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -615,12 +572,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -657,7 +608,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -693,7 +644,6 @@ Returns a `404` if no verification request exists for the phone number, and a `4 ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -713,12 +663,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -757,7 +701,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -790,7 +734,6 @@ Update an existing webhook subscription (`callbackUrl` and `basicAuthentication` ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -811,12 +754,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -857,7 +794,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers diff --git a/docs/TranscriptionsApi.md b/docs/TranscriptionsApi.md index af83cece..3b54466e 100644 --- a/docs/TranscriptionsApi.md +++ b/docs/TranscriptionsApi.md @@ -20,7 +20,6 @@ Note: After the deletion is requested and a `200` is returned, the transcription ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -39,12 +38,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -83,7 +76,7 @@ void (empty response body) ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -115,7 +108,6 @@ Retrieve the specified transcription that was created on this call via [startTra ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -135,12 +127,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -181,7 +167,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers @@ -213,7 +199,6 @@ List the transcriptions created on this call via [startTranscription](/docs/voic ### Example -* Basic Authentication (Basic): * OAuth Authentication (OAuth2): ```python @@ -233,12 +218,6 @@ configuration = bandwidth.Configuration( # Examples for each auth method are provided below, use the example that # satisfies your auth use case. -# Configure HTTP basic authorization: Basic -configuration = bandwidth.Configuration( - username = os.environ["USERNAME"], - password = os.environ["PASSWORD"] -) - # Configure your client ID and secret for OAuth configuration = bandwidth.Configuration( client_id = os.environ["CLIENT_ID"], @@ -277,7 +256,7 @@ Name | Type | Description | Notes ### Authorization -[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2) +[OAuth2](../README.md#OAuth2) ### HTTP request headers From 459cd9fd824531b03e0f107ab216f767f47ed68d Mon Sep 17 00:00:00 2001 From: ckoegel Date: Tue, 3 Nov 2026 16:18:45 -0500 Subject: [PATCH 2/5] update tests --- .github/workflows/deploy.yml | 4 -- .github/workflows/test-pr.yml | 4 -- .github/workflows/test-smoke.yml | 4 -- test/smoke/test_calls_api.py | 71 ++----------------------- test/smoke/test_conferences_api.py | 78 ++-------------------------- test/smoke/test_endpoints_api.py | 5 +- test/smoke/test_media_api.py | 4 +- test/smoke/test_mfa_api.py | 26 ++-------- test/smoke/test_multi_channel_api.py | 4 +- test/smoke/test_recordings_api.py | 2 - test/utils/env_variables.py | 4 -- 11 files changed, 16 insertions(+), 190 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6b9e6e46..df52faaa 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -11,12 +11,8 @@ jobs: runs-on: ubuntu-latest env: BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} - BW_USERNAME: ${{ secrets.BW_USERNAME }} - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} BW_CLIENT_ID: ${{ secrets.BW_CLIENT_ID }} BW_CLIENT_SECRET: ${{ secrets.BW_CLIENT_SECRET }} - BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} - BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} BW_NUMBER: ${{ secrets.BW_NUMBER }} diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 8f767b97..11451512 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -11,12 +11,8 @@ concurrency: env: BW_ACCOUNT_ID: ${{ secrets.BW_ACCOUNT_ID }} - BW_USERNAME: ${{ secrets.BW_USERNAME }} - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} BW_CLIENT_ID: ${{ secrets.BW_CLIENT_ID }} BW_CLIENT_SECRET: ${{ secrets.BW_CLIENT_SECRET }} - BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} - BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} BW_VOICE_APPLICATION_ID: ${{ secrets.BW_VOICE_APPLICATION_ID }} BW_MESSAGING_APPLICATION_ID: ${{ secrets.BW_MESSAGING_APPLICATION_ID }} BW_NUMBER: ${{ secrets.BW_NUMBER }} diff --git a/.github/workflows/test-smoke.yml b/.github/workflows/test-smoke.yml index dfe9c4da..8ada6914 100644 --- a/.github/workflows/test-smoke.yml +++ b/.github/workflows/test-smoke.yml @@ -25,12 +25,8 @@ concurrency: env: PYTHON_VERSION: "3.12" OPERATING_SYSTEM: ubuntu - BW_USERNAME: ${{ secrets.BW_USERNAME }} - BW_PASSWORD: ${{ secrets.BW_PASSWORD }} BW_CLIENT_ID: ${{ secrets.BW_CLIENT_ID }} BW_CLIENT_SECRET: ${{ secrets.BW_CLIENT_SECRET }} - BW_USERNAME_FORBIDDEN: ${{ secrets.BW_USERNAME_FORBIDDEN }} - BW_PASSWORD_FORBIDDEN: ${{ secrets.BW_PASSWORD_FORBIDDEN }} USER_NUMBER: ${{ secrets.USER_NUMBER }} VZW_NUMBER: ${{ secrets.VZW_NUMBER }} ATT_NUMBER: ${{ secrets.ATT_NUMBER }} diff --git a/test/smoke/test_calls_api.py b/test/smoke/test_calls_api.py index 88099607..e148fa56 100644 --- a/test/smoke/test_calls_api.py +++ b/test/smoke/test_calls_api.py @@ -21,7 +21,7 @@ from bandwidth.models.call_state_enum import CallStateEnum from bandwidth.models.redirect_method_enum import RedirectMethodEnum from bandwidth.models.update_call import UpdateCall -from bandwidth.exceptions import ApiException, UnauthorizedException, ForbiddenException, NotFoundException +from bandwidth.exceptions import ApiException, UnauthorizedException, NotFoundException class CallsIntegration(unittest.TestCase): @@ -38,21 +38,9 @@ def setUpClass(cls): # Unauthorized API Client - unauthorizedConfiguration = Configuration( - username='bad_username', - password='bad_password' - ) + unauthorizedConfiguration = Configuration() unauthorized_api_client = ApiClient(unauthorizedConfiguration) cls.unauthorized_api_instance = calls_api.CallsApi(unauthorized_api_client) - - # Forbidden API Client - - forbiddenConfiguration = Configuration( - username=FORBIDDEN_USERNAME, - password=FORBIDDEN_PASSWORD - ) - forbidden_api_client = ApiClient(forbiddenConfiguration) - cls.forbidden_api_instance = calls_api.CallsApi(forbidden_api_client) cls.account_id = BW_ACCOUNT_ID cls.createCallBody = CreateCall( to=USER_NUMBER, @@ -106,7 +94,7 @@ def tearDownClass(cls): callCleanup(cls) def assertApiException(self, context: ApiException, expectedException: ApiException, expected_status_code: int): - """Validates that common API exceptions, (401, 403, and 404) are properly formatted + """Validates that common API exceptions, (401 and 404) are properly formatted Args: context (ApiException): Exception to validate expectedException (ApiException): Expected exception type @@ -157,15 +145,6 @@ def test_create_call_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_create_call_forbidden(self) -> None: - """Validate a forbidden (403) request - """ - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.create_call(BW_ACCOUNT_ID, self.testCallBody) - - self.assertApiException(context, ForbiddenException, 403) - - def test_get_call_state(self): """Validate an Get Call State Request """ @@ -197,14 +176,6 @@ def test_get_call_state_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_get_call_state_forbidden(self) -> None: - """Validate a forbidden (403) request - """ - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.get_call_state(BW_ACCOUNT_ID, self.testCallId) - - self.assertApiException(context, ForbiddenException, 403) - def test_get_call_state_not_found(self): """Validate an invalid Get Call State Request due to a bad callID """ @@ -275,27 +246,6 @@ def test_update_call_unauthorized(self): self.assertApiException(context, UnauthorizedException, 401) - def test_update_call_forbidden(self): - """Validate a forbidden (403) update call request - """ - create_call_response: CreateCallResponse = self.calls_api_instance.create_call(BW_ACCOUNT_ID, self.testMantecaCallBody) - call_id = create_call_response.call_id - - #Adding the call to the self.callIdArray - self.callIdArray.append(call_id) - - time.sleep(self.TEST_SLEEP) - - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.update_call(BW_ACCOUNT_ID, call_id, self.updateStateCompleted) - - self.assertApiException(context, ForbiddenException, 403) - - time.sleep(self.TEST_SLEEP_LONG) - # hanging-up the call - update_call_response: ApiResponse = self.calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, self.updateStateCompleted) - assert_that(update_call_response.status_code, 200) - def test_update_call_not_found(self): """Validate a not found update call request """ @@ -355,21 +305,6 @@ def test_update_call_bxml_unauthorized(self): self.assertApiException(context, UnauthorizedException, 401) - def test_update_call_bxml_forbidden(self): - """Validate a forbidden (403) update call bxml request - """ - create_call_response: CreateCallResponse = self.calls_api_instance.create_call(BW_ACCOUNT_ID, self.testMantecaCallBody) - call_id = create_call_response.call_id - - #Adding the call to the self.callIdArray - self.callIdArray.append(call_id) - - time.sleep(self.TEST_SLEEP) - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.update_call_bxml(BW_ACCOUNT_ID, call_id, self.testBxmlBody) - - self.assertApiException(context, ForbiddenException, 403) - def test_update_call_bxml_not_found(self): """ Validate a not found update call bxml request diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index 761aab40..b2e20e24 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -23,7 +23,7 @@ from bandwidth.models.update_conference_member import UpdateConferenceMember from bandwidth.models.file_format_enum import FileFormatEnum from bandwidth.rest import RESTClientObject, RESTResponse -from bandwidth.exceptions import ApiException, UnauthorizedException, ForbiddenException, NotFoundException +from bandwidth.exceptions import ApiException, UnauthorizedException, NotFoundException from test.utils.env_variables import * from test.utils.call_cleanup import callCleanup @@ -37,7 +37,7 @@ class ConferencesIntegration(unittest.TestCase): def setUpClass(cls): """ Set up for our tests by creating the CallsApi and ConferencesApi instances - for testing as well as the unauthorized and forbidden credentials for the 4xx tests. + for testing as well as the unauthorized credentials for the 4xx tests. """ configuration = Configuration( client_id=BW_CLIENT_ID, @@ -48,26 +48,12 @@ def setUpClass(cls): cls.calls_api_instance = calls_api.CallsApi(api_client) cls.conference_api_instance = conferences_api.ConferencesApi(api_client) - unauthorizedConfiguration = Configuration( - username='bad_username', - password='bad_password' - ) + unauthorizedConfiguration = Configuration() unauthorized_api_client = ApiClient(unauthorizedConfiguration) cls.unauthorized_api_instance = conferences_api.ConferencesApi(unauthorized_api_client) - forbiddenConfiguration = Configuration( - username=FORBIDDEN_USERNAME, - password=FORBIDDEN_PASSWORD - ) - forbidden_api_client = ApiClient(forbiddenConfiguration) - cls.forbidden_api_instance = conferences_api.ConferencesApi(forbidden_api_client) - # Rest client for interacting with Manteca cls.rest_client = RESTClientObject(Configuration.get_default_copy()) - configuration = Configuration( - username=BW_USERNAME, - password=BW_PASSWORD, - ) cls.account_id = BW_ACCOUNT_ID cls.callIdArray = [] @@ -97,7 +83,7 @@ def tearDownClass(cls): callCleanup(cls) def assertApiException(self, context: ApiException, expectedException: ApiException, expected_status_code: int): - """Validates that common API exceptions, (401, 403, and 404) are properly formatted + """Validates that common API exceptions, (401 and 404) are properly formatted Args: context (ApiException): Exception to validate expected_status_code (int): Expected status code @@ -312,13 +298,6 @@ def test_list_conferences_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_list_conferences_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.list_conferences( - BW_ACCOUNT_ID) - - self.assertApiException(context, ForbiddenException, 403) - def test_get_conferences_unauthorized(self) -> None: with self.assertRaises(UnauthorizedException) as context: self.unauthorized_api_instance.get_conference( @@ -326,13 +305,6 @@ def test_get_conferences_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_get_conferences_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.get_conference( - BW_ACCOUNT_ID, self.testConfId) - - self.assertApiException(context, ForbiddenException, 403) - def test_get_conferences_not_found(self) -> None: with self.assertRaises(NotFoundException) as context: self.conference_api_instance.get_conference( @@ -347,13 +319,6 @@ def test_get_conference_member_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_get_conference_member_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.get_conference_member( - BW_ACCOUNT_ID, self.testConfId, self.testMemberId) - - self.assertApiException(context, ForbiddenException, 403) - def test_get_conference_member_not_found(self) -> None: with self.assertRaises(NotFoundException) as context: self.conference_api_instance.get_conference_member( @@ -368,13 +333,6 @@ def test_list_conference_recordings_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_list_conference_recordings_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.list_conference_recordings( - BW_ACCOUNT_ID, self.testConfId) - - self.assertApiException(context, ForbiddenException, 403) - def test_get_recording_unauthorized(self) -> None: with self.assertRaises(UnauthorizedException) as context: self.unauthorized_api_instance.get_conference_recording( @@ -382,13 +340,6 @@ def test_get_recording_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_get_recording_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.get_conference_recording( - BW_ACCOUNT_ID, self.testConfId, self.testRecordId) - - self.assertApiException(context, ForbiddenException, 403) - def test_get_conference_recording_not_found(self) -> None: with self.assertRaises(NotFoundException) as context: self.conference_api_instance.get_conference_member( @@ -403,13 +354,6 @@ def test_update_conference_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_update_conference_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.update_conference( - BW_ACCOUNT_ID, self.testConfId, self.testUpdateConf) - - self.assertApiException(context, ForbiddenException, 403) - @unittest.skip("PV Issues") def test_update_conference_not_found(self) -> None: with self.assertRaises(NotFoundException) as context: @@ -425,13 +369,6 @@ def test_update_conference_bxml_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_update_conference_bxml_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.update_conference_bxml( - BW_ACCOUNT_ID, self.testConfId, self.testUpdateBxml) - - self.assertApiException(context, ForbiddenException, 403) - @unittest.skip("PV Issues") def test_update_conference_bxml_not_found(self) -> None: with self.assertRaises(NotFoundException) as context: @@ -447,13 +384,6 @@ def test_update_conference_member_unauthorized(self) -> None: self.assertApiException(context, UnauthorizedException, 401) - def test_update_conference_member_forbidden(self) -> None: - with self.assertRaises(ForbiddenException) as context: - self.forbidden_api_instance.update_conference_member( - BW_ACCOUNT_ID, self.testConfId, self.testMemberId, self.testUpdateMember) - - self.assertApiException(context, ForbiddenException, 403) - @unittest.skip("PV Issues") def test_update_conference_member_not_found(self) -> None: with self.assertRaises(NotFoundException) as context: diff --git a/test/smoke/test_endpoints_api.py b/test/smoke/test_endpoints_api.py index 1ddfb8a3..fed62cfa 100644 --- a/test/smoke/test_endpoints_api.py +++ b/test/smoke/test_endpoints_api.py @@ -34,10 +34,7 @@ def setUpClass(cls) -> None: api_client = ApiClient(configuration) cls.endpoints_api_instance = EndpointsApi(api_client) - unauthorized_configuration = Configuration( - username='bad_username', - password='bad_password' - ) + unauthorized_configuration = Configuration() cls.unauthorized_api_instance = EndpointsApi(ApiClient(unauthorized_configuration)) cls.account_id = BW_ACCOUNT_ID diff --git a/test/smoke/test_media_api.py b/test/smoke/test_media_api.py index e875d28c..4ed6a966 100644 --- a/test/smoke/test_media_api.py +++ b/test/smoke/test_media_api.py @@ -24,8 +24,8 @@ class TestMedia(unittest.TestCase): @classmethod def setUpClass(cls) -> None: configuration = Configuration( - username=BW_USERNAME, - password=BW_PASSWORD + client_id=BW_CLIENT_ID, + client_secret=BW_CLIENT_SECRET ) cls.api_client = ApiClient(configuration) cls.api_instance = media_api.MediaApi(cls.api_client) diff --git a/test/smoke/test_mfa_api.py b/test/smoke/test_mfa_api.py index 2bba8667..794d9c2c 100644 --- a/test/smoke/test_mfa_api.py +++ b/test/smoke/test_mfa_api.py @@ -15,7 +15,7 @@ from bandwidth.models.verify_code_request import VerifyCodeRequest from bandwidth.models.verify_code_response import VerifyCodeResponse from bandwidth.models.voice_code_response import VoiceCodeResponse -from bandwidth.exceptions import ApiException, BadRequestException, UnauthorizedException, ForbiddenException +from bandwidth.exceptions import ApiException, BadRequestException, UnauthorizedException from test.utils.env_variables import * from hamcrest.core import * @@ -28,8 +28,8 @@ class TestMultiFactorAuthentication(unittest.TestCase): @classmethod def setUpClass(cls) -> None: configuration = Configuration( - username=BW_USERNAME, - password=BW_PASSWORD + client_id=BW_CLIENT_ID, + client_secret=BW_CLIENT_SECRET ) api_client = ApiClient(configuration) cls.api_instance = mfa_api.MFAApi(api_client) @@ -60,7 +60,7 @@ def setUpClass(cls) -> None: ) def assertAuthException(self, context: Exception, expected_exception: Exception, expected_status_code: int) -> None: - """Validates that an auth exception (401 or 403) is properly formatted + """Validates that an auth exception (401) is properly formatted Args: context (ApiException): Exception to validate expected_exception (ApiException): Expected exception type @@ -148,24 +148,6 @@ def testUnauthorizedRequest(self) -> None: self.assertAuthException(context, UnauthorizedException, 401) - def testForbiddenRequest(self) -> None: - """Validate a forbidden (403) request - """ - configuration = Configuration( - username=FORBIDDEN_USERNAME, - # password=FORBIDDEN_PASSWORD, - password='bad_password' - ) - forbidden_api_client = ApiClient(configuration) - forbidden_api_instance = mfa_api.MFAApi(forbidden_api_client) - - with self.assertRaises(ForbiddenException) as context: - forbidden_api_instance.generate_messaging_code( - self.account_id, self.messaging_code_request - ) - - self.assertAuthException(context, ForbiddenException, 403) - def testRateLimit(self) -> None: """Validate that the API returns a 429 error, and that the 429 clears after 30 seconds """ diff --git a/test/smoke/test_multi_channel_api.py b/test/smoke/test_multi_channel_api.py index 2d65dfa1..93be2ebd 100644 --- a/test/smoke/test_multi_channel_api.py +++ b/test/smoke/test_multi_channel_api.py @@ -60,8 +60,8 @@ class TestMultiChannelApi(unittest.TestCase): @classmethod def setUpClass(cls) -> None: configuration = Configuration( - username=BW_USERNAME, - password=BW_PASSWORD, + client_id=BW_CLIENT_ID, + client_secret=BW_CLIENT_SECRET, ) api_client = ApiClient(configuration) cls.multi_channel_api_instance = MultiChannelApi(api_client) diff --git a/test/smoke/test_recordings_api.py b/test/smoke/test_recordings_api.py index 34cf8bd5..c5f2bce8 100644 --- a/test/smoke/test_recordings_api.py +++ b/test/smoke/test_recordings_api.py @@ -32,8 +32,6 @@ try: # BW Credentials - BW_USERNAME = BW_USERNAME - BW_PASSWORD = BW_PASSWORD BW_ACCOUNT_ID = BW_ACCOUNT_ID # Manteca Numbers diff --git a/test/utils/env_variables.py b/test/utils/env_variables.py index 855834ae..f3478a2e 100644 --- a/test/utils/env_variables.py +++ b/test/utils/env_variables.py @@ -1,8 +1,6 @@ import os try: - BW_USERNAME = os.environ['BW_USERNAME'] - BW_PASSWORD = os.environ['BW_PASSWORD'] BW_CLIENT_ID = os.environ['BW_CLIENT_ID'] BW_CLIENT_SECRET = os.environ['BW_CLIENT_SECRET'] BW_ACCOUNT_ID = os.environ['BW_ACCOUNT_ID'] @@ -14,8 +12,6 @@ ATT_NUMBER = os.environ['ATT_NUMBER'] T_MOBILE_NUMBER = os.environ['T_MOBILE_NUMBER'] USER_NUMBER = os.environ['USER_NUMBER'] - FORBIDDEN_USERNAME = os.environ['BW_USERNAME_FORBIDDEN'] - FORBIDDEN_PASSWORD = os.environ['BW_PASSWORD_FORBIDDEN'] MANTECA_ACTIVE_NUMBER = os.environ['MANTECA_ACTIVE_NUMBER'] MANTECA_IDLE_NUMBER = os.environ['MANTECA_IDLE_NUMBER'] MANTECA_BASE_URL = os.environ['MANTECA_BASE_URL'] From 968e27bed24f70890ccdc9562b17b6e64a1158cb Mon Sep 17 00:00:00 2001 From: ckoegel Date: Tue, 3 Nov 2026 17:00:06 -0500 Subject: [PATCH 3/5] remove basic auth --- bandwidth/configuration.py | 25 ------------------------- custom_templates/configuration.mustache | 8 ++++++++ 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/bandwidth/configuration.py b/bandwidth/configuration.py index de29990d..7f3b27cc 100644 --- a/bandwidth/configuration.py +++ b/bandwidth/configuration.py @@ -148,8 +148,6 @@ class Configuration: :param api_key_prefix: Dict to store API prefix (e.g. Bearer). The dict key is the name of the security scheme in the OAS specification. The dict value is an API key prefix when generating the auth data. - :param username: Username for HTTP basic authentication. - :param password: Password for HTTP basic authentication. :param access_token: Access token. :param access_token_url: URL to get access token for OAuth2 authentication. :param client_id: Client ID for OAuth2 authentication. @@ -182,8 +180,6 @@ def __init__( host: Optional[str]=None, api_key: Optional[Dict[str, str]]=None, api_key_prefix: Optional[Dict[str, str]]=None, - username: Optional[str]=None, - password: Optional[str]=None, access_token: Optional[str]=None, access_token_url: Optional[str]=None, client_id: Optional[str]=None, @@ -234,12 +230,6 @@ def __init__( self.refresh_api_key_hook = None """function hook to refresh API key if expired """ - self.username = username - """Username for HTTP basic authentication - """ - self.password = password - """Password for HTTP basic authentication - """ self.access_token = access_token """Access token """ @@ -499,21 +489,6 @@ def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> return None - def get_basic_auth_token(self) -> Optional[str]: - """Gets HTTP basic authentication header (string). - - :return: The token for basic HTTP authentication. - """ - username = "" - if self.username is not None: - username = self.username - password = "" - if self.password is not None: - password = self.password - return urllib3.util.make_headers( - basic_auth=username + ':' + password - ).get('authorization') - def get_access_token(self) -> str: """Gets HTTP bearer authentication header (string). diff --git a/custom_templates/configuration.mustache b/custom_templates/configuration.mustache index 63fb11b5..41617dbe 100644 --- a/custom_templates/configuration.mustache +++ b/custom_templates/configuration.mustache @@ -166,8 +166,10 @@ class Configuration: :param api_key_prefix: Dict to store API prefix (e.g. Bearer). The dict key is the name of the security scheme in the OAS specification. The dict value is an API key prefix when generating the auth data. +{{#hasHttpBasicMethods}} :param username: Username for HTTP basic authentication. :param password: Password for HTTP basic authentication. +{{/hasHttpBasicMethods}} :param access_token: Access token. :param access_token_url: URL to get access token for OAuth2 authentication. :param client_id: Client ID for OAuth2 authentication. @@ -286,8 +288,10 @@ conf = {{{packageName}}}.Configuration( host: Optional[str]=None, api_key: Optional[Dict[str, str]]=None, api_key_prefix: Optional[Dict[str, str]]=None, +{{#hasHttpBasicMethods}} username: Optional[str]=None, password: Optional[str]=None, +{{/hasHttpBasicMethods}} access_token: Optional[str]=None, access_token_url: Optional[str]=None, client_id: Optional[str]=None, @@ -341,12 +345,14 @@ conf = {{{packageName}}}.Configuration( self.refresh_api_key_hook = None """function hook to refresh API key if expired """ +{{#hasHttpBasicMethods}} self.username = username """Username for HTTP basic authentication """ self.password = password """Password for HTTP basic authentication """ +{{/hasHttpBasicMethods}} self.access_token = access_token """Access token """ @@ -627,6 +633,7 @@ conf = {{{packageName}}}.Configuration( return None +{{#hasHttpBasicMethods}} def get_basic_auth_token(self) -> Optional[str]: """Gets HTTP basic authentication header (string). @@ -642,6 +649,7 @@ conf = {{{packageName}}}.Configuration( basic_auth=username + ':' + password ).get('authorization') +{{/hasHttpBasicMethods}} def get_access_token(self) -> str: """Gets HTTP bearer authentication header (string). From b896485b9815102b9dc840fb4d140196ff6b6b88 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Tue, 3 Nov 2026 17:07:15 -0500 Subject: [PATCH 4/5] update smoke tests --- test/smoke/test_calls_api.py | 40 +++++++++++++++++++--------- test/smoke/test_conferences_api.py | 42 +++++++++++++++--------------- 2 files changed, 49 insertions(+), 33 deletions(-) diff --git a/test/smoke/test_calls_api.py b/test/smoke/test_calls_api.py index e148fa56..a51de6a4 100644 --- a/test/smoke/test_calls_api.py +++ b/test/smoke/test_calls_api.py @@ -8,13 +8,14 @@ import unittest import datetime -from hamcrest import assert_that, has_properties, not_none, instance_of +from hamcrest import assert_that, has_properties, not_none, instance_of, equal_to, has_length from bandwidth import ApiClient, ApiResponse, Configuration from bandwidth.api import calls_api from bandwidth.models.create_call import CreateCall from bandwidth.models.create_call_response import CreateCallResponse from bandwidth.models.call_direction_enum import CallDirectionEnum +from bandwidth.models.call_state import CallState from bandwidth.models.callback_method_enum import CallbackMethodEnum from bandwidth.models.machine_detection_configuration import MachineDetectionConfiguration from bandwidth.models.machine_detection_mode_enum import MachineDetectionModeEnum @@ -118,7 +119,7 @@ def test_create_call(self): #Adding the call to the self.callIdArray self.callIdArray.append(create_call_response.data.call_id) - assert_that(create_call_response.status_code, 201) + assert_that(create_call_response.status_code, equal_to(201)) assert_that(create_call_response.data, has_properties( 'call_id', instance_of(str), 'account_id', BW_ACCOUNT_ID, @@ -135,7 +136,7 @@ def test_create_call_bad_request(self): with self.assertRaises(ApiException) as context: self.calls_api_instance.create_call_with_http_info(BW_ACCOUNT_ID, call_body) - assert_that(context.exception.status, 400) + assert_that(context.exception.status, equal_to(400)) def test_create_call_unauthorized(self) -> None: """Validate an unauthorized (401) request @@ -158,7 +159,7 @@ def test_get_call_state(self): get_call_response: ApiResponse = self.calls_api_instance.get_call_state_with_http_info(BW_ACCOUNT_ID, call_id) - assert_that(get_call_response.status_code, 200) + assert_that(get_call_response.status_code, equal_to(200)) assert_that(get_call_response.data, has_properties( "call_id", call_id, "state", instance_of(str), @@ -184,6 +185,21 @@ def test_get_call_state_not_found(self): self.assertApiException(context, NotFoundException, 404) + def test_list_calls(self): + """Validate a List Calls Request + """ + list_calls_response: ApiResponse = self.calls_api_instance.list_calls_with_http_info( + BW_ACCOUNT_ID, + to=USER_NUMBER, + var_from=BW_NUMBER + ) + + assert_that(list_calls_response.status_code, equal_to(200)) + assert_that(list_calls_response.data, instance_of(list)) + assert_that(list_calls_response.data[0], instance_of(CallState)) + assert_that(list_calls_response.data[0].application_id, has_length(36)) + assert_that(list_calls_response.data[0].account_id, equal_to(BW_ACCOUNT_ID)) + def test_update_call(self): """Validate an UpdateCall Request """ @@ -209,12 +225,12 @@ def test_update_call(self): time.sleep(self.TEST_SLEEP) update_call_response: ApiResponse = self.calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, updateCallBody) - assert_that(update_call_response.status_code, 200) + assert_that(update_call_response.status_code, equal_to(200)) time.sleep(self.TEST_SLEEP) # hanging-up the call update_call_response: ApiResponse = self.calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, self.updateStateCompleted) - assert_that(update_call_response.status_code, 200) + assert_that(update_call_response.status_code, equal_to(200)) def test_update_call_bad_request(self): """Validate a bad (400) update call request @@ -231,12 +247,12 @@ def test_update_call_bad_request(self): badRequestBody = UpdateCall(states="badRequest") self.calls_api_instance.update_call(BW_ACCOUNT_ID, call_id, badRequestBody) - assert_that(context.exception.status, 400) + assert_that(context.exception.status, equal_to(400)) # hanging-up the call time.sleep(self.TEST_SLEEP) update_call_response: ApiResponse = self.calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, self.updateStateCompleted) - assert_that(update_call_response.status_code, 200) + assert_that(update_call_response.status_code, equal_to(200)) def test_update_call_unauthorized(self): """Validate an unauthorized (401) update call request @@ -265,12 +281,12 @@ def test_update_call_bxml(self): time.sleep(self.TEST_SLEEP) update_call_bxml_response: ApiResponse = self.calls_api_instance.update_call_bxml_with_http_info(BW_ACCOUNT_ID, call_id, self.testBxmlBody) - assert_that(update_call_bxml_response.status_code, 204) + assert_that(update_call_bxml_response.status_code, equal_to(204)) time.sleep(self.TEST_SLEEP) # hanging-up the call update_call_response: ApiResponse = self.calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, self.updateStateCompleted) - assert_that(update_call_response.status_code, 200) + assert_that(update_call_response.status_code, equal_to(200)) def test_update_call_bxml_bad_request(self): """Validate a bad (400) update call bxml request @@ -288,12 +304,12 @@ def test_update_call_bxml_bad_request(self): with self.assertRaises(ApiException) as context: self.calls_api_instance.update_call_bxml_with_http_info(BW_ACCOUNT_ID, call_id, invalidBxmlBody) - assert_that(context.exception.status, 400) + assert_that(context.exception.status, equal_to(400)) time.sleep(self.TEST_SLEEP) # hanging-up the call update_call_response: ApiResponse = self.calls_api_instance.update_call_with_http_info(BW_ACCOUNT_ID, call_id, self.updateStateCompleted) - assert_that(update_call_response.status_code, 200) + assert_that(update_call_response.status_code, equal_to(200)) def test_update_call_bxml_unauthorized(self): diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index b2e20e24..6e1a06a4 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -7,7 +7,7 @@ from typing import Dict, Tuple import unittest -from hamcrest import assert_that, has_properties, not_none, instance_of, greater_than +from hamcrest import assert_that, has_properties, not_none, instance_of, greater_than, equal_to from bandwidth import ApiClient, ApiResponse, Configuration from bandwidth.api import calls_api @@ -137,7 +137,7 @@ def create_conference(self, answer_url: str) -> Tuple[str, str]: list_conferences_response = self.conference_api_instance.list_conferences_with_http_info( BW_ACCOUNT_ID, name=test_id) - assert_that(list_conferences_response.status_code, 200) + assert_that(list_conferences_response.status_code, equal_to(200)) # TODO: This is not deterministic; our latest conference may not always be the one we just created due to parallelism. # This new solution should guarantee the right conference id is grabbed. @@ -145,15 +145,15 @@ def create_conference(self, answer_url: str) -> Tuple[str, str]: get_conference_response = self.conference_api_instance.get_conference_with_http_info( BW_ACCOUNT_ID, conference_id) - assert_that(get_conference_response.status_code, 200) + assert_that(get_conference_response.status_code, equal_to(200)) self.callIdArray.append(create_call_response.call_id) return (test_id, create_call_response.call_id, conference_id) def validate_recording(self, recording: ConferenceRecordingMetadata) -> None: - assert_that(recording.status, 'complete') - assert_that(recording.file_format, FileFormatEnum('wav')) + assert_that(recording.status, equal_to('complete')) + assert_that(recording.file_format, equal_to(FileFormatEnum('wav'))) def get_test_status(self, test_id: str) -> Dict: """ @@ -190,7 +190,7 @@ def test_conference_and_members(self): list_conferences_response = self.conference_api_instance.list_conferences_with_http_info( BW_ACCOUNT_ID) - assert_that(list_conferences_response.status_code, 200) + assert_that(list_conferences_response.status_code, equal_to(200)) assert_that(list_conferences_response.data[0].name, instance_of(str)) assert_that(list_conferences_response.data[0].id, instance_of(str)) @@ -199,34 +199,34 @@ def test_conference_and_members(self): get_conference_response = self.conference_api_instance.get_conference_with_http_info( BW_ACCOUNT_ID, conference_id) - assert_that(get_conference_response.status_code, 200) - assert_that(get_conference_response.data.id, conference_id) + assert_that(get_conference_response.status_code, equal_to(200)) + assert_that(get_conference_response.data.id, equal_to(conference_id)) assert_that(get_conference_response.data.name, instance_of(str)) callId = (get_conference_response.data.active_members[0].call_id) self.callIdArray.append(callId) get_conference_member_response = self.conference_api_instance.get_conference_member_with_http_info( BW_ACCOUNT_ID, conference_id, callId) - assert_that(get_conference_member_response.status_code, 200) - assert_that(get_conference_member_response.data.conference_id, conference_id) - assert_that(get_conference_member_response.data.call_id, callId) + assert_that(get_conference_member_response.status_code, equal_to(200)) + assert_that(get_conference_member_response.data.conference_id, equal_to(conference_id)) + assert_that(get_conference_member_response.data.call_id, equal_to(callId)) # time.sleep(self.TEST_SLEEP) update_conference_member_response = self.conference_api_instance.update_conference_member_with_http_info( BW_ACCOUNT_ID, conference_id, callId, self.testUpdateMember) - assert_that(update_conference_member_response.status_code, 204) + assert_that(update_conference_member_response.status_code, equal_to(204)) # time.sleep(self.TEST_SLEEP) update_conference_response = self.conference_api_instance.update_conference_with_http_info( BW_ACCOUNT_ID, conference_id, self.testUpdateConf) - assert_that(update_conference_response.status_code, 204) + assert_that(update_conference_response.status_code, equal_to(204)) updateBxmlBody = 'This is a test bxml response' # time.sleep(self.TEST_SLEEP) update_conference_bxml_response = self.conference_api_instance.update_conference_bxml_with_http_info( BW_ACCOUNT_ID, conference_id, updateBxmlBody) - assert_that(update_conference_bxml_response.status_code, 204) + assert_that(update_conference_bxml_response.status_code, equal_to(204)) update_call = UpdateCall(state=CallStateEnum('completed')) self.calls_api_instance.update_call( @@ -246,15 +246,15 @@ def test_conference_recordings(self) -> None: answer_url = MANTECA_BASE_URL + "bxml/joinConferencePause" (test_id, call_id, conference_id) = self.create_conference(answer_url) - list_conferences_response = self.conference_api_instance.list_conferences( + list_conferences_response = self.conference_api_instance.list_conferences_with_http_info( BW_ACCOUNT_ID) - assert_that(list_conferences_response[1], 200) + assert_that(list_conferences_response.status_code, equal_to(200)) updateBxmlBody = 'This should be a conference recording.' update_conference_bxml_response = self.conference_api_instance.update_conference_bxml_with_http_info( BW_ACCOUNT_ID, conference_id, updateBxmlBody) - assert_that(update_conference_bxml_response.status_code, 204) + assert_that(update_conference_bxml_response.status_code, equal_to(204)) # Poll Manteca to ensure our conference is recorded call_status = self.get_test_status(test_id) @@ -269,7 +269,7 @@ def test_conference_recordings(self) -> None: list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( BW_ACCOUNT_ID, conference_id) - assert_that(list_conference_recordings_response.status_code, 200) + assert_that(list_conference_recordings_response.status_code, equal_to(200)) conference_recordings = list_conference_recordings_response.data assert_that(len(conference_recordings), greater_than(0)) @@ -280,9 +280,9 @@ def test_conference_recordings(self) -> None: recording_response: ConferenceRecordingMetadata = self.conference_api_instance.get_conference_recording_with_http_info( BW_ACCOUNT_ID, conference_id, recording_id) - assert_that(recording_response.status_code, 200) - assert_that(recording_response.data.conference_id, conference_id) - assert_that(recording_response.data.recording_id, recording_id) + assert_that(recording_response.status_code, equal_to(200)) + assert_that(recording_response.data.conference_id, equal_to(conference_id)) + assert_that(recording_response.data.recording_id, equal_to(recording_id)) assert_that(recording_response.data.name, instance_of(str)) self.validate_recording(recording_response.data) From 53a38aea88facc51d754ca222daaa69e63104216 Mon Sep 17 00:00:00 2001 From: ckoegel Date: Wed, 4 Nov 2026 14:39:47 -0500 Subject: [PATCH 5/5] add test --- test/unit/test_configuration.py | 55 +++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 test/unit/test_configuration.py diff --git a/test/unit/test_configuration.py b/test/unit/test_configuration.py new file mode 100644 index 00000000..865786d2 --- /dev/null +++ b/test/unit/test_configuration.py @@ -0,0 +1,55 @@ +""" +Unit tests for Configuration authentication settings +""" +import unittest +from unittest.mock import patch + +from hamcrest import assert_that, calling, raises, equal_to, has_entries + +from bandwidth import Configuration + + +class TestConfiguration(unittest.TestCase): + """Configuration unit tests""" + + def test_basic_auth_params_rejected(self) -> None: + assert_that( + calling(Configuration).with_args(username='username', password='password'), + raises(TypeError) + ) + + def test_auth_settings_without_credentials(self) -> None: + configuration = Configuration() + + assert_that(configuration.auth_settings(), equal_to({})) + + def test_auth_settings_with_access_token(self) -> None: + configuration = Configuration(access_token='abcd1234') + auth_settings = configuration.auth_settings() + + assert_that(list(auth_settings.keys()), equal_to(['OAuth2'])) + assert_that(auth_settings['OAuth2'], has_entries( + 'type', 'oauth2', + 'in', 'header', + 'key', 'Authorization', + 'value', 'Bearer abcd1234' + )) + + def test_auth_settings_with_client_credentials(self) -> None: + configuration = Configuration(client_id='client_id', client_secret='client_secret') + + with patch.object(Configuration, 'get_access_token', return_value='abcd1234') as mock_get_access_token: + auth_settings = configuration.auth_settings() + + mock_get_access_token.assert_called_once() + assert_that(list(auth_settings.keys()), equal_to(['OAuth2'])) + assert_that(auth_settings['OAuth2'], has_entries( + 'type', 'oauth2', + 'in', 'header', + 'key', 'Authorization', + 'value', 'Bearer abcd1234' + )) + + +if __name__ == '__main__': + unittest.main()