code: def authorization_code_url(options)
        URL.new(options.merge(
          path: "/api/v1/oauth2/authorize",
          params: {
            response_type: "code",
            approve: "true",
            client_id: client_id,
          },
        )).to_s
      end
docs: Return a new Authenticator instance.
  
   @param [Hash] options
   @option options [String] client_id
   @option options [String] client_secret
  
   @example
     authenticator = Authenticator.new(
       client_id: "my-client-id",
       client_secret: "my-client-secret"
     )
  
   @return [Authenticator]
   Returns a URL to begin the authorization code workflow. If you
   provide a redirect_uri you can receive the server's response.
  
   @param [Hash] options
   @option options [String] host (optional)
   @option options [String] protocol (optional, defaults to "https")
   @option options [String] subdomain (required)
   @option options [String] redirect_uri (optional)
  
   @return [String]