diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index a1c64a70..52345def 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -205,6 +205,10 @@ src/main/java/com/bandwidth/sdk/auth/ApiKeyAuth.java
src/main/java/com/bandwidth/sdk/auth/Authentication.java
src/main/java/com/bandwidth/sdk/auth/HttpBasicAuth.java
src/main/java/com/bandwidth/sdk/auth/HttpBearerAuth.java
+src/main/java/com/bandwidth/sdk/auth/OAuth.java
+src/main/java/com/bandwidth/sdk/auth/OAuthFlow.java
+src/main/java/com/bandwidth/sdk/auth/OAuthOkHttpClient.java
+src/main/java/com/bandwidth/sdk/auth/RetryingOAuth.java
src/main/java/com/bandwidth/sdk/model/AbstractOpenApiSchema.java
src/main/java/com/bandwidth/sdk/model/AccountStatistics.java
src/main/java/com/bandwidth/sdk/model/AdditionalDenialReason.java
diff --git a/README.md b/README.md
index 12354201..192f7fef 100644
--- a/README.md
+++ b/README.md
@@ -98,6 +98,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
CallsApi apiInstance = new CallsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
CreateCall createCall = new CreateCall(); // CreateCall | JSON object containing information to create an outbound call
@@ -341,6 +345,14 @@ Authentication schemes defined for the API:
- **Type**: HTTP basic authentication
+
+### OAuth2
+
+- **Type**: OAuth
+- **Flow**: application
+- **Authorization URL**:
+- **Scopes**: N/A
+
## Recommendation
diff --git a/api/openapi.yaml b/api/openapi.yaml
index 70da3894..9c7c46f5 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -11,6 +11,7 @@ servers:
- url: /
security:
- Basic: []
+- OAuth2: []
tags:
- name: Messages
- name: Media
@@ -14434,4 +14435,10 @@ components:
- Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==`
scheme: basic
type: http
+ OAuth2:
+ flows:
+ clientCredentials:
+ scopes: {}
+ tokenUrl: https://api.bandwidth.com/api/v1/oauth2/token
+ type: oauth2
diff --git a/bandwidth.yml b/bandwidth.yml
index bf2c9ab0..75a24e3a 100644
--- a/bandwidth.yml
+++ b/bandwidth.yml
@@ -9,6 +9,7 @@ info:
version: 1.0.0
security:
- Basic: []
+ - OAuth2: []
tags:
- name: Messages
- name: Media
@@ -8097,6 +8098,12 @@ components:
- Example: `Authorization: Basic ZGVtbZpwQDU1dzByZA==`
+ OAuth2:
+ type: oauth2
+ flows:
+ clientCredentials:
+ tokenUrl: https://api.bandwidth.com/api/v1/oauth2/token
+ scopes: {}
callbacks:
inboundCallback:
'{inboundCallbackUrl}':
diff --git a/build.gradle b/build.gradle
index 315cc285..02579df4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -114,6 +114,7 @@ dependencies {
implementation 'io.gsonfire:gson-fire:1.9.0'
implementation 'jakarta.ws.rs:jakarta.ws.rs-api:2.1.6'
implementation 'org.openapitools:jackson-databind-nullable:0.2.6'
+ implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.2'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.17.0'
implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3'
diff --git a/build.sbt b/build.sbt
index 5ddc6450..2711b389 100644
--- a/build.sbt
+++ b/build.sbt
@@ -16,6 +16,7 @@ lazy val root = (project in file(".")).
"org.apache.commons" % "commons-lang3" % "3.17.0",
"jakarta.ws.rs" % "jakarta.ws.rs-api" % "2.1.6",
"org.openapitools" % "jackson-databind-nullable" % "0.2.6",
+ "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.2",
"io.gsonfire" % "gson-fire" % "1.9.0" % "compile",
"jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile",
"com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile",
diff --git a/docs/CallsApi.md b/docs/CallsApi.md
index 19512af8..2e9fd55f 100644
--- a/docs/CallsApi.md
+++ b/docs/CallsApi.md
@@ -39,6 +39,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
CallsApi apiInstance = new CallsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
CreateCall createCall = new CreateCall(); // CreateCall | JSON object containing information to create an outbound call
@@ -69,7 +73,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -117,6 +121,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
CallsApi apiInstance = new CallsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -147,7 +155,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -195,6 +203,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
CallsApi apiInstance = new CallsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String to = "%2b19195551234"; // String | Filter results by the `to` field.
@@ -237,7 +249,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -285,6 +297,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
CallsApi apiInstance = new CallsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -316,7 +332,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -365,6 +381,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
CallsApi apiInstance = new CallsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -399,7 +419,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/ConferencesApi.md b/docs/ConferencesApi.md
index 74750e16..65124019 100644
--- a/docs/ConferencesApi.md
+++ b/docs/ConferencesApi.md
@@ -43,6 +43,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -75,7 +79,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -123,6 +127,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -153,7 +161,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -201,6 +209,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -233,7 +245,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -281,6 +293,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -313,7 +329,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -361,6 +377,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -391,7 +411,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -439,6 +459,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String name = "my-custom-name"; // String | Filter results by the `name` field.
@@ -477,7 +501,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -525,6 +549,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -556,7 +584,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -604,6 +632,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -638,7 +670,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -686,6 +718,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
ConferencesApi apiInstance = new ConferencesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; // String | Programmable Voice API Conference ID.
@@ -719,7 +755,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/MediaApi.md b/docs/MediaApi.md
index 427119ae..4a378ea0 100644
--- a/docs/MediaApi.md
+++ b/docs/MediaApi.md
@@ -38,6 +38,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MediaApi apiInstance = new MediaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; // String | Media ID to retrieve.
@@ -67,7 +71,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -115,6 +119,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MediaApi apiInstance = new MediaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; // String | Media ID to retrieve.
@@ -145,7 +153,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -193,6 +201,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MediaApi apiInstance = new MediaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String continuationToken = "1XEi2tsFtLo1JbtLwETnM1ZJ+PqAa8w6ENvC5QKvwyrCDYII663Gy5M4s40owR1tjkuWUif6qbWvFtQJR5/ipqbUnfAqL254LKNlPy6tATCzioKSuHuOqgzloDkSwRtX0LtcL2otHS69hK343m+SjdL+vlj71tT39"; // String | Continuation token used to retrieve subsequent media.
@@ -223,7 +235,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -271,6 +283,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MediaApi apiInstance = new MediaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; // String | Media ID to retrieve.
@@ -306,7 +322,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/MessagesApi.md b/docs/MessagesApi.md
index 84135448..d10cc290 100644
--- a/docs/MessagesApi.md
+++ b/docs/MessagesApi.md
@@ -36,6 +36,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MessagesApi apiInstance = new MessagesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
MessageRequest messageRequest = new MessageRequest(); // MessageRequest |
@@ -66,7 +70,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -115,6 +119,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MessagesApi apiInstance = new MessagesApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String messageId = "9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6"; // String | The ID of the message to search for. Special characters need to be encoded using URL encoding. Message IDs could come in different formats, e.g., 9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6 and 1589228074636lm4k2je7j7jklbn2 are valid message ID formats. Note that you must include at least one query parameter.
@@ -197,7 +205,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/MfaApi.md b/docs/MfaApi.md
index 34b407d2..ee184f93 100644
--- a/docs/MfaApi.md
+++ b/docs/MfaApi.md
@@ -37,6 +37,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MfaApi apiInstance = new MfaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
CodeRequest codeRequest = new CodeRequest(); // CodeRequest | MFA code request body.
@@ -67,7 +71,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -111,6 +115,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MfaApi apiInstance = new MfaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
CodeRequest codeRequest = new CodeRequest(); // CodeRequest | MFA code request body.
@@ -141,7 +149,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -185,6 +193,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MfaApi apiInstance = new MfaApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
VerifyCodeRequest verifyCodeRequest = new VerifyCodeRequest(); // VerifyCodeRequest | MFA code verify request body.
@@ -215,7 +227,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/MultiChannelApi.md b/docs/MultiChannelApi.md
index 5a6e5307..39d4040b 100644
--- a/docs/MultiChannelApi.md
+++ b/docs/MultiChannelApi.md
@@ -35,6 +35,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
MultiChannelApi apiInstance = new MultiChannelApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
MultiChannelMessageRequest multiChannelMessageRequest = new MultiChannelMessageRequest(); // MultiChannelMessageRequest |
@@ -65,7 +69,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/PhoneNumberLookupApi.md b/docs/PhoneNumberLookupApi.md
index be6defa2..4ef1f76d 100644
--- a/docs/PhoneNumberLookupApi.md
+++ b/docs/PhoneNumberLookupApi.md
@@ -36,6 +36,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
PhoneNumberLookupApi apiInstance = new PhoneNumberLookupApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
LookupRequest lookupRequest = new LookupRequest(); // LookupRequest | Phone number lookup request.
@@ -66,7 +70,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -112,6 +116,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
PhoneNumberLookupApi apiInstance = new PhoneNumberLookupApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String requestId = "004223a0-8b17-41b1-bf81-20732adf5590"; // String | The phone number lookup request ID from Bandwidth.
@@ -142,7 +150,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/RecordingsApi.md b/docs/RecordingsApi.md
index 42131b80..a4d479a5 100644
--- a/docs/RecordingsApi.md
+++ b/docs/RecordingsApi.md
@@ -44,6 +44,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -75,7 +79,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -123,6 +127,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -154,7 +162,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -202,6 +210,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -233,7 +245,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -281,6 +293,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -313,7 +329,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -361,6 +377,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -393,7 +413,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -441,6 +461,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -473,7 +497,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -521,6 +545,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String to = "%2b19195551234"; // String | Filter results by the `to` field.
@@ -557,7 +585,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -605,6 +633,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -635,7 +667,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -683,6 +715,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -716,7 +752,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -764,6 +800,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
RecordingsApi apiInstance = new RecordingsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -795,7 +835,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/StatisticsApi.md b/docs/StatisticsApi.md
index be38dbc8..269b3c12 100644
--- a/docs/StatisticsApi.md
+++ b/docs/StatisticsApi.md
@@ -35,6 +35,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
StatisticsApi apiInstance = new StatisticsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
try {
@@ -63,7 +67,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/TollFreeVerificationApi.md b/docs/TollFreeVerificationApi.md
index 5f187578..b0e000f7 100644
--- a/docs/TollFreeVerificationApi.md
+++ b/docs/TollFreeVerificationApi.md
@@ -43,6 +43,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
WebhookSubscriptionRequestSchema webhookSubscriptionRequestSchema = new WebhookSubscriptionRequestSchema(); // WebhookSubscriptionRequestSchema | Information about a webhook that Bandwidth should send upon the completion of event customer is trying to subscribe to.
@@ -73,7 +77,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -121,6 +125,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String phoneNumber = "+18885555555"; // String | Valid Toll-Free telephone number in E.164 format.
@@ -150,7 +158,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -198,6 +206,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String id = "7bt57JcsVYJrN9K1OcV1Nu"; // String | Webhook subscription ID
@@ -227,7 +239,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -275,6 +287,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String phoneNumber = "+18885555555"; // String | Valid Toll-Free telephone number in E.164 format.
@@ -305,7 +321,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -353,6 +369,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
try {
List result = apiInstance.listTollFreeUseCases();
@@ -377,7 +397,7 @@ This endpoint does not need any parameter.
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -425,6 +445,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
try {
@@ -453,7 +477,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -500,6 +524,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
VerificationRequest verificationRequest = new VerificationRequest(); // VerificationRequest | Request for verification of a toll-free phone number.
@@ -529,7 +557,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -576,6 +604,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String phoneNumber = "+18885555555"; // String | Valid Toll-Free telephone number in E.164 format.
@@ -607,7 +639,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -654,6 +686,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TollFreeVerificationApi apiInstance = new TollFreeVerificationApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String id = "7bt57JcsVYJrN9K1OcV1Nu"; // String | Webhook subscription ID
@@ -686,7 +722,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/docs/TranscriptionsApi.md b/docs/TranscriptionsApi.md
index ec633266..35f434ef 100644
--- a/docs/TranscriptionsApi.md
+++ b/docs/TranscriptionsApi.md
@@ -37,6 +37,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TranscriptionsApi apiInstance = new TranscriptionsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -68,7 +72,7 @@ null (empty response body)
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -116,6 +120,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TranscriptionsApi apiInstance = new TranscriptionsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -148,7 +156,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
@@ -196,6 +204,10 @@ public class Example {
Basic.setUsername("YOUR USERNAME");
Basic.setPassword("YOUR PASSWORD");
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
TranscriptionsApi apiInstance = new TranscriptionsApi(defaultClient);
String accountId = "9900000"; // String | Your Bandwidth Account ID.
String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; // String | Programmable Voice API Call ID.
@@ -226,7 +238,7 @@ public class Example {
### Authorization
-[Basic](../README.md#Basic)
+[Basic](../README.md#Basic), [OAuth2](../README.md#OAuth2)
### HTTP request headers
diff --git a/pom.xml b/pom.xml
index 1f42da35..98896dea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -361,6 +361,11 @@
gson-fire
${gson-fire-version}
+
+ org.apache.oltu.oauth2
+ org.apache.oltu.oauth2.client
+ 1.0.2
+
org.apache.commons
commons-lang3
diff --git a/src/main/java/com/bandwidth/sdk/ApiClient.java b/src/main/java/com/bandwidth/sdk/ApiClient.java
index c2710180..85a1fde6 100644
--- a/src/main/java/com/bandwidth/sdk/ApiClient.java
+++ b/src/main/java/com/bandwidth/sdk/ApiClient.java
@@ -21,6 +21,8 @@
import okio.Buffer;
import okio.BufferedSink;
import okio.Okio;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder;
+import org.apache.oltu.oauth2.common.message.types.GrantType;
import javax.net.ssl.*;
import java.io.File;
@@ -55,6 +57,9 @@
import com.bandwidth.sdk.auth.HttpBasicAuth;
import com.bandwidth.sdk.auth.HttpBearerAuth;
import com.bandwidth.sdk.auth.ApiKeyAuth;
+import com.bandwidth.sdk.auth.OAuth;
+import com.bandwidth.sdk.auth.RetryingOAuth;
+import com.bandwidth.sdk.auth.OAuthFlow;
/**
* ApiClient class.
@@ -101,6 +106,7 @@ public ApiClient() {
// Setup authentications (key: authentication name, value: authentication).
authentications.put("Basic", new HttpBasicAuth());
+ authentications.put("OAuth2", new OAuth());
// Prevent the authentications from being modified.
authentications = Collections.unmodifiableMap(authentications);
}
@@ -117,6 +123,74 @@ public ApiClient(OkHttpClient client) {
// Setup authentications (key: authentication name, value: authentication).
authentications.put("Basic", new HttpBasicAuth());
+ authentications.put("OAuth2", new OAuth());
+ // Prevent the authentications from being modified.
+ authentications = Collections.unmodifiableMap(authentications);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with client ID
+ *
+ * @param clientId client ID
+ */
+ public ApiClient(String clientId) {
+ this(clientId, null, null);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with client ID and additional parameters
+ *
+ * @param clientId client ID
+ * @param parameters a {@link java.util.Map} of parameters
+ */
+ public ApiClient(String clientId, Map parameters) {
+ this(clientId, null, parameters);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with client ID, secret, and additional parameters
+ *
+ * @param clientId client ID
+ * @param clientSecret client secret
+ * @param parameters a {@link java.util.Map} of parameters
+ */
+ public ApiClient(String clientId, String clientSecret, Map parameters) {
+ this(null, clientId, clientSecret, parameters);
+ }
+
+ /**
+ * Constructor for ApiClient to support access token retry on 401/403 configured with base path, client ID, secret, and additional parameters
+ *
+ * @param basePath base path
+ * @param clientId client ID
+ * @param clientSecret client secret
+ * @param parameters a {@link java.util.Map} of parameters
+ */
+ public ApiClient(String basePath, String clientId, String clientSecret, Map parameters) {
+ init();
+ if (basePath != null) {
+ this.basePath = basePath;
+ }
+
+ String tokenUrl = "https://api.bandwidth.com/api/v1/oauth2/token";
+ if (!"".equals(tokenUrl) && !URI.create(tokenUrl).isAbsolute()) {
+ URI uri = URI.create(getBasePath());
+ tokenUrl = uri.getScheme() + ":" +
+ (uri.getAuthority() != null ? "//" + uri.getAuthority() : "") +
+ tokenUrl;
+ if (!URI.create(tokenUrl).isAbsolute()) {
+ throw new IllegalArgumentException("OAuth2 token URL must be an absolute URL");
+ }
+ }
+ RetryingOAuth retryingOAuth = new RetryingOAuth(tokenUrl, clientId, OAuthFlow.APPLICATION, clientSecret, parameters);
+ authentications.put(
+ "OAuth2",
+ retryingOAuth
+ );
+ initHttpClient(Collections.singletonList(retryingOAuth));
+ // Setup authentications (key: authentication name, value: authentication).
+ authentications.put("Basic", new HttpBasicAuth());
+
// Prevent the authentications from being modified.
authentications = Collections.unmodifiableMap(authentications);
}
@@ -452,6 +526,12 @@ public void setApiKeyPrefix(String apiKeyPrefix) {
* @param accessToken Access token
*/
public void setAccessToken(String accessToken) {
+ for (Authentication auth : authentications.values()) {
+ if (auth instanceof OAuth) {
+ ((OAuth) auth).setAccessToken(accessToken);
+ return;
+ }
+ }
throw new RuntimeException("No OAuth2 authentication configured!");
}
@@ -636,6 +716,20 @@ public ApiClient setWriteTimeout(int writeTimeout) {
return this;
}
+ /**
+ * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one)
+ *
+ * @return Token request builder
+ */
+ public TokenRequestBuilder getTokenEndPoint() {
+ for (Authentication apiAuth : authentications.values()) {
+ if (apiAuth instanceof RetryingOAuth) {
+ RetryingOAuth retryingOAuth = (RetryingOAuth) apiAuth;
+ return retryingOAuth.getTokenRequestBuilder();
+ }
+ }
+ return null;
+ }
/**
* Format the given parameter object into string.
diff --git a/src/main/java/com/bandwidth/sdk/api/CallsApi.java b/src/main/java/com/bandwidth/sdk/api/CallsApi.java
index c80844d8..43ef95b3 100644
--- a/src/main/java/com/bandwidth/sdk/api/CallsApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/CallsApi.java
@@ -140,7 +140,7 @@ public okhttp3.Call createCallCall(String accountId, CreateCall createCall, fina
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -309,7 +309,7 @@ public okhttp3.Call getCallStateCall(String accountId, String callId, final ApiC
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -511,7 +511,7 @@ public okhttp3.Call listCallsCall(String accountId, String to, String from, Stri
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -696,7 +696,7 @@ public okhttp3.Call updateCallCall(String accountId, String callId, UpdateCall u
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -875,7 +875,7 @@ public okhttp3.Call updateCallBxmlCall(String accountId, String callId, String b
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/ConferencesApi.java b/src/main/java/com/bandwidth/sdk/api/ConferencesApi.java
index aaf24a61..b41289a6 100644
--- a/src/main/java/com/bandwidth/sdk/api/ConferencesApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/ConferencesApi.java
@@ -146,7 +146,7 @@ public okhttp3.Call downloadConferenceRecordingCall(String accountId, String con
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -323,7 +323,7 @@ public okhttp3.Call getConferenceCall(String accountId, String conferenceId, fin
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -494,7 +494,7 @@ public okhttp3.Call getConferenceMemberCall(String accountId, String conferenceI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -673,7 +673,7 @@ public okhttp3.Call getConferenceRecordingCall(String accountId, String conferen
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -850,7 +850,7 @@ public okhttp3.Call listConferenceRecordingsCall(String accountId, String confer
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1042,7 +1042,7 @@ public okhttp3.Call listConferencesCall(String accountId, String name, String mi
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1220,7 +1220,7 @@ public okhttp3.Call updateConferenceCall(String accountId, String conferenceId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1395,7 +1395,7 @@ public okhttp3.Call updateConferenceBxmlCall(String accountId, String conference
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1572,7 +1572,7 @@ public okhttp3.Call updateConferenceMemberCall(String accountId, String conferen
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/MediaApi.java b/src/main/java/com/bandwidth/sdk/api/MediaApi.java
index e98cfb3b..2d66e1f0 100644
--- a/src/main/java/com/bandwidth/sdk/api/MediaApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/MediaApi.java
@@ -138,7 +138,7 @@ public okhttp3.Call deleteMediaCall(String accountId, String mediaId, final ApiC
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -304,7 +304,7 @@ public okhttp3.Call getMediaCall(String accountId, String mediaId, final ApiCall
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -477,7 +477,7 @@ public okhttp3.Call listMediaCall(String accountId, String continuationToken, fi
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -702,7 +702,7 @@ public okhttp3.Call uploadMediaCall(String accountId, String mediaId, File body,
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/MessagesApi.java b/src/main/java/com/bandwidth/sdk/api/MessagesApi.java
index c20261ed..0a0e2f99 100644
--- a/src/main/java/com/bandwidth/sdk/api/MessagesApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/MessagesApi.java
@@ -145,7 +145,7 @@ public okhttp3.Call createMessageCall(String accountId, MessageRequest messageRe
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -449,7 +449,7 @@ public okhttp3.Call listMessagesCall(String accountId, String messageId, String
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/MfaApi.java b/src/main/java/com/bandwidth/sdk/api/MfaApi.java
index d13c9a70..d2d85f50 100644
--- a/src/main/java/com/bandwidth/sdk/api/MfaApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/MfaApi.java
@@ -139,7 +139,7 @@ public okhttp3.Call generateMessagingCodeCall(String accountId, CodeRequest code
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -292,7 +292,7 @@ public okhttp3.Call generateVoiceCodeCall(String accountId, CodeRequest codeRequ
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -446,7 +446,7 @@ public okhttp3.Call verifyCodeCall(String accountId, VerifyCodeRequest verifyCod
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/MultiChannelApi.java b/src/main/java/com/bandwidth/sdk/api/MultiChannelApi.java
index e7768696..96f33409 100644
--- a/src/main/java/com/bandwidth/sdk/api/MultiChannelApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/MultiChannelApi.java
@@ -139,7 +139,7 @@ public okhttp3.Call createMultiChannelMessageCall(String accountId, MultiChannel
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/PhoneNumberLookupApi.java b/src/main/java/com/bandwidth/sdk/api/PhoneNumberLookupApi.java
index 397e6408..fcdef07b 100644
--- a/src/main/java/com/bandwidth/sdk/api/PhoneNumberLookupApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/PhoneNumberLookupApi.java
@@ -139,7 +139,7 @@ public okhttp3.Call createLookupCall(String accountId, LookupRequest lookupReque
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -309,7 +309,7 @@ public okhttp3.Call getLookupStatusCall(String accountId, String requestId, fina
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/RecordingsApi.java b/src/main/java/com/bandwidth/sdk/api/RecordingsApi.java
index e4700c63..68b3866b 100644
--- a/src/main/java/com/bandwidth/sdk/api/RecordingsApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/RecordingsApi.java
@@ -143,7 +143,7 @@ public okhttp3.Call deleteRecordingCall(String accountId, String callId, String
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -318,7 +318,7 @@ public okhttp3.Call deleteRecordingMediaCall(String accountId, String callId, St
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -493,7 +493,7 @@ public okhttp3.Call deleteRecordingTranscriptionCall(String accountId, String ca
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -670,7 +670,7 @@ public okhttp3.Call downloadCallRecordingCall(String accountId, String callId, S
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -849,7 +849,7 @@ public okhttp3.Call getCallRecordingCall(String accountId, String callId, String
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1028,7 +1028,7 @@ public okhttp3.Call getRecordingTranscriptionCall(String accountId, String callI
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1223,7 +1223,7 @@ public okhttp3.Call listAccountCallRecordingsCall(String accountId, String to, S
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1396,7 +1396,7 @@ public okhttp3.Call listCallRecordingsCall(String accountId, String callId, fina
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1569,7 +1569,7 @@ public okhttp3.Call transcribeCallRecordingCall(String accountId, String callId,
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1752,7 +1752,7 @@ public okhttp3.Call updateCallRecordingStateCall(String accountId, String callId
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/StatisticsApi.java b/src/main/java/com/bandwidth/sdk/api/StatisticsApi.java
index 8260db2d..4a9a1e86 100644
--- a/src/main/java/com/bandwidth/sdk/api/StatisticsApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/StatisticsApi.java
@@ -135,7 +135,7 @@ public okhttp3.Call getStatisticsCall(String accountId, final ApiCallback _callb
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/TollFreeVerificationApi.java b/src/main/java/com/bandwidth/sdk/api/TollFreeVerificationApi.java
index d2208831..f0bc198a 100644
--- a/src/main/java/com/bandwidth/sdk/api/TollFreeVerificationApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/TollFreeVerificationApi.java
@@ -142,7 +142,7 @@ public okhttp3.Call createWebhookSubscriptionCall(String accountId, WebhookSubsc
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -311,7 +311,7 @@ public okhttp3.Call deleteVerificationRequestCall(String accountId, String phone
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -476,7 +476,7 @@ public okhttp3.Call deleteWebhookSubscriptionCall(String accountId, String id, f
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -641,7 +641,7 @@ public okhttp3.Call getTollFreeVerificationStatusCall(String accountId, String p
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -806,7 +806,7 @@ public okhttp3.Call listTollFreeUseCasesCall(final ApiCallback _callback) throws
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -956,7 +956,7 @@ public okhttp3.Call listWebhookSubscriptionsCall(String accountId, final ApiCall
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1113,7 +1113,7 @@ public okhttp3.Call requestTollFreeVerificationCall(String accountId, Verificati
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1276,7 +1276,7 @@ public okhttp3.Call updateTollFreeVerificationRequestCall(String accountId, Stri
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -1448,7 +1448,7 @@ public okhttp3.Call updateWebhookSubscriptionCall(String accountId, String id, W
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/api/TranscriptionsApi.java b/src/main/java/com/bandwidth/sdk/api/TranscriptionsApi.java
index cd911d97..1e26c197 100644
--- a/src/main/java/com/bandwidth/sdk/api/TranscriptionsApi.java
+++ b/src/main/java/com/bandwidth/sdk/api/TranscriptionsApi.java
@@ -140,7 +140,7 @@ public okhttp3.Call deleteRealTimeTranscriptionCall(String accountId, String cal
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -315,7 +315,7 @@ public okhttp3.Call getRealTimeTranscriptionCall(String accountId, String callId
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
@@ -492,7 +492,7 @@ public okhttp3.Call listRealTimeTranscriptionsCall(String accountId, String call
localVarHeaderParams.put("Content-Type", localVarContentType);
}
- String[] localVarAuthNames = new String[] { "Basic" };
+ String[] localVarAuthNames = new String[] { "Basic", "OAuth2" };
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
}
diff --git a/src/main/java/com/bandwidth/sdk/auth/OAuth.java b/src/main/java/com/bandwidth/sdk/auth/OAuth.java
new file mode 100644
index 00000000..87e76816
--- /dev/null
+++ b/src/main/java/com/bandwidth/sdk/auth/OAuth.java
@@ -0,0 +1,42 @@
+/*
+ * Bandwidth
+ * Bandwidth's Communication APIs
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: letstalk@bandwidth.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.bandwidth.sdk.auth;
+
+import com.bandwidth.sdk.Pair;
+import com.bandwidth.sdk.ApiException;
+
+import java.net.URI;
+import java.util.Map;
+import java.util.List;
+
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.10.0")
+public class OAuth implements Authentication {
+ private String accessToken;
+
+ public String getAccessToken() {
+ return accessToken;
+ }
+
+ public void setAccessToken(String accessToken) {
+ this.accessToken = accessToken;
+ }
+
+ @Override
+ public void applyToParams(List queryParams, Map headerParams, Map cookieParams,
+ String payload, String method, URI uri) throws ApiException {
+ if (accessToken != null) {
+ headerParams.put("Authorization", "Bearer " + accessToken);
+ }
+ }
+}
diff --git a/src/main/java/com/bandwidth/sdk/auth/OAuthFlow.java b/src/main/java/com/bandwidth/sdk/auth/OAuthFlow.java
new file mode 100644
index 00000000..cd0037b0
--- /dev/null
+++ b/src/main/java/com/bandwidth/sdk/auth/OAuthFlow.java
@@ -0,0 +1,25 @@
+/*
+ * Bandwidth
+ * Bandwidth's Communication APIs
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: letstalk@bandwidth.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.bandwidth.sdk.auth;
+
+/**
+ * OAuth flows that are supported by this client
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.10.0")
+public enum OAuthFlow {
+ ACCESS_CODE, //called authorizationCode in OpenAPI 3.0
+ IMPLICIT,
+ PASSWORD,
+ APPLICATION //called clientCredentials in OpenAPI 3.0
+}
diff --git a/src/main/java/com/bandwidth/sdk/auth/OAuthOkHttpClient.java b/src/main/java/com/bandwidth/sdk/auth/OAuthOkHttpClient.java
new file mode 100644
index 00000000..d208453b
--- /dev/null
+++ b/src/main/java/com/bandwidth/sdk/auth/OAuthOkHttpClient.java
@@ -0,0 +1,82 @@
+/*
+ * Bandwidth
+ * Bandwidth's Communication APIs
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: letstalk@bandwidth.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.bandwidth.sdk.auth;
+
+import okhttp3.OkHttpClient;
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+
+import org.apache.oltu.oauth2.client.HttpClient;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
+import org.apache.oltu.oauth2.client.response.OAuthClientResponse;
+import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory;
+import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
+import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
+
+public class OAuthOkHttpClient implements HttpClient {
+ private OkHttpClient client;
+
+ public OAuthOkHttpClient() {
+ this.client = new OkHttpClient();
+ }
+
+ public OAuthOkHttpClient(OkHttpClient client) {
+ this.client = client;
+ }
+
+ @Override
+ public T execute(OAuthClientRequest request, Map headers,
+ String requestMethod, Class responseClass)
+ throws OAuthSystemException, OAuthProblemException {
+
+ MediaType mediaType = MediaType.parse("application/json");
+ Request.Builder requestBuilder = new Request.Builder().url(request.getLocationUri());
+
+ if(headers != null) {
+ for (Entry entry : headers.entrySet()) {
+ if (entry.getKey().equalsIgnoreCase("Content-Type")) {
+ mediaType = MediaType.parse(entry.getValue());
+ } else {
+ requestBuilder.addHeader(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
+ RequestBody body = request.getBody() != null ? RequestBody.create(request.getBody(), mediaType) : null;
+ requestBuilder.method(requestMethod, body);
+
+ try {
+ Response response = client.newCall(requestBuilder.build()).execute();
+ return OAuthClientResponseFactory.createCustomResponse(
+ response.body().string(),
+ response.body().contentType().toString(),
+ response.code(),
+ response.headers().toMultimap(),
+ responseClass);
+ } catch (IOException e) {
+ throw new OAuthSystemException(e);
+ }
+ }
+
+ @Override
+ public void shutdown() {
+ // Nothing to do here
+ }
+}
diff --git a/src/main/java/com/bandwidth/sdk/auth/RetryingOAuth.java b/src/main/java/com/bandwidth/sdk/auth/RetryingOAuth.java
new file mode 100644
index 00000000..41b38438
--- /dev/null
+++ b/src/main/java/com/bandwidth/sdk/auth/RetryingOAuth.java
@@ -0,0 +1,223 @@
+/*
+ * Bandwidth
+ * Bandwidth's Communication APIs
+ *
+ * The version of the OpenAPI document: 1.0.0
+ * Contact: letstalk@bandwidth.com
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package com.bandwidth.sdk.auth;
+
+import com.bandwidth.sdk.ApiException;
+import com.bandwidth.sdk.Pair;
+
+import okhttp3.Interceptor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+
+import org.apache.oltu.oauth2.client.OAuthClient;
+import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder;
+import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse;
+import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
+import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+import org.apache.oltu.oauth2.common.message.types.GrantType;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.util.Map;
+import java.util.List;
+
+public class RetryingOAuth extends OAuth implements Interceptor {
+ private OAuthClient oAuthClient;
+
+ private TokenRequestBuilder tokenRequestBuilder;
+
+ /**
+ * @param client An OkHttp client
+ * @param tokenRequestBuilder A token request builder
+ */
+ public RetryingOAuth(OkHttpClient client, TokenRequestBuilder tokenRequestBuilder) {
+ this.oAuthClient = new OAuthClient(new OAuthOkHttpClient(client));
+ this.tokenRequestBuilder = tokenRequestBuilder;
+ }
+
+ /**
+ * @param tokenRequestBuilder A token request builder
+ */
+ public RetryingOAuth(TokenRequestBuilder tokenRequestBuilder) {
+ this(new OkHttpClient(), tokenRequestBuilder);
+ }
+
+ /**
+ * @param tokenUrl The token URL to be used for this OAuth2 flow.
+ * Applicable to the following OAuth2 flows: "password", "clientCredentials" and "authorizationCode".
+ * The value must be an absolute URL.
+ * @param clientId The OAuth2 client ID for the "clientCredentials" flow.
+ * @param flow OAuth flow.
+ * @param clientSecret The OAuth2 client secret for the "clientCredentials" flow.
+ * @param parameters A map of string.
+ */
+ public RetryingOAuth(
+ String tokenUrl,
+ String clientId,
+ OAuthFlow flow,
+ String clientSecret,
+ Map parameters
+ ) {
+ this(OAuthClientRequest.tokenLocation(tokenUrl)
+ .setClientId(clientId)
+ .setClientSecret(clientSecret));
+ setFlow(flow);
+ if (parameters != null) {
+ for (Map.Entry entry : parameters.entrySet()) {
+ tokenRequestBuilder.setParameter(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
+ /**
+ * Set the OAuth flow
+ *
+ * @param flow The OAuth flow.
+ */
+ public void setFlow(OAuthFlow flow) {
+ switch(flow) {
+ case ACCESS_CODE:
+ tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE);
+ break;
+ case IMPLICIT:
+ tokenRequestBuilder.setGrantType(GrantType.IMPLICIT);
+ break;
+ case PASSWORD:
+ tokenRequestBuilder.setGrantType(GrantType.PASSWORD);
+ break;
+ case APPLICATION:
+ tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS);
+ break;
+ default:
+ break;
+ }
+ }
+
+ @Override
+ public Response intercept(Chain chain) throws IOException {
+ return retryingIntercept(chain, true);
+ }
+
+ private Response retryingIntercept(Chain chain, boolean updateTokenAndRetryOnAuthorizationFailure) throws IOException {
+ Request request = chain.request();
+
+ // If the request already has an authorization (e.g. Basic auth), proceed with the request as is
+ if (request.header("Authorization") != null) {
+ return chain.proceed(request);
+ }
+
+ // Get the token if it has not yet been acquired
+ if (getAccessToken() == null) {
+ updateAccessToken(null);
+ }
+
+ OAuthClientRequest oAuthRequest;
+ if (getAccessToken() != null) {
+ // Build the request
+ Request.Builder requestBuilder = request.newBuilder();
+
+ String requestAccessToken = getAccessToken();
+ try {
+ oAuthRequest =
+ new OAuthBearerClientRequest(request.url().toString()).
+ setAccessToken(requestAccessToken).
+ buildHeaderMessage();
+ } catch (OAuthSystemException e) {
+ throw new IOException(e);
+ }
+
+ Map headers = oAuthRequest.getHeaders();
+ for (Map.Entry entry : headers.entrySet()) {
+ requestBuilder.addHeader(entry.getKey(), entry.getValue());
+ }
+ requestBuilder.url(oAuthRequest.getLocationUri());
+
+ // Execute the request
+ Response response = chain.proceed(requestBuilder.build());
+
+ // 401/403 response codes most likely indicate an expired access token, unless it happens two times in a row
+ if (
+ response != null &&
+ ( response.code() == HttpURLConnection.HTTP_UNAUTHORIZED ||
+ response.code() == HttpURLConnection.HTTP_FORBIDDEN ) &&
+ updateTokenAndRetryOnAuthorizationFailure
+ ) {
+ try {
+ if (updateAccessToken(requestAccessToken)) {
+ response.body().close();
+ return retryingIntercept(chain, false);
+ }
+ } catch (Exception e) {
+ response.body().close();
+ throw e;
+ }
+ }
+ return response;
+ }
+ else {
+ return chain.proceed(chain.request());
+ }
+ }
+
+ /**
+ * Returns true if the access token has been updated
+ *
+ * @param requestAccessToken the request access token
+ * @return True if the update is successful
+ * @throws java.io.IOException If fail to update the access token
+ */
+ public synchronized boolean updateAccessToken(String requestAccessToken) throws IOException {
+ if (getAccessToken() == null || getAccessToken().equals(requestAccessToken)) {
+ try {
+ OAuthJSONAccessTokenResponse accessTokenResponse =
+ oAuthClient.accessToken(tokenRequestBuilder.buildBodyMessage());
+ if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) {
+ setAccessToken(accessTokenResponse.getAccessToken());
+ }
+ } catch (OAuthSystemException | OAuthProblemException e) {
+ throw new IOException(e);
+ }
+ }
+ return getAccessToken() == null || !getAccessToken().equals(requestAccessToken);
+ }
+
+ /**
+ * Gets the token request builder
+ *
+ * @return A token request builder
+ */
+ public TokenRequestBuilder getTokenRequestBuilder() {
+ return tokenRequestBuilder;
+ }
+
+ /**
+ * Sets the token request builder
+ *
+ * @param tokenRequestBuilder Token request builder
+ */
+ public void setTokenRequestBuilder(TokenRequestBuilder tokenRequestBuilder) {
+ this.tokenRequestBuilder = tokenRequestBuilder;
+ }
+
+ // Applying authorization to parameters is performed in the retryingIntercept method
+ @Override
+ public void applyToParams(List queryParams, Map headerParams, Map cookieParams,
+ String payload, String method, URI uri) throws ApiException {
+ // No implementation necessary
+ }
+}