code: public void authorize(Map<String, String> queryParams, String authorization) throws AuthenticationApiException {
          HttpUrl.Builder httpBuilder = HttpUrl.parse(this.client.getBasePath() + "/oauth/authorize").newBuilder();
          if (queryParams != null) {
              for (Map.Entry<String, String> param : queryParams.entrySet()) {
                  httpBuilder.addQueryParameter(param.getKey(), param.getValue());
              }
          }
          Headers.Builder headerBuilder = new Headers.Builder();
          if (authorization != null) {
              headerBuilder.add("Authorization", authorization);
          }
          Request request = new Request.Builder()
                  .url(httpBuilder.build())
                  .headers(headerBuilder.build())
                  .get()
                  .build();
          try {
              this.client.getHttpClient().newCall(request).execute();
          } catch (IOException e) {
              throw new AuthenticationApiException("Authorization error", e);
          }
      }
docs: Perform authorization
  Perform authorization based on the code grant type &amp;mdash; either Authorization Code Grant or Implicit Grant. For more information, see [Authorization Endpoint](https://tools.ietf.org/html/rfc6749#section-3.1). **Note:** For the optional **scope** parameter, the Authentication API supports only the &#x60;*&#x60; value.
  
  @param queryParams   The form parameters, can be created via static methods
  @param authorization Basic authorization. For example: &#39;Authorization: Basic Y3...MQ&#x3D;&#x3D;&#39; (optional)
  @throws AuthenticationApiException if the call is unsuccessful.