github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_user_settings.go (about)

     1  /*
     2   * RingCentral Connect Platform API Explorer
     3   *
     4   * <p>This is a beta interactive API explorer for the RingCentral Connect Platform. To use this service, you will need to have an account with the proper credentials to generate an OAuth2 access token.</p><p><h2>Quick Start</h2></p><ol><li>1) Go to <b>Authentication > /oauth/token</b></li><li>2) Enter <b>app_key, app_secret, username, password</b> fields and then click \"Try it out!\"</li><li>3) Upon success, your access_token is loaded and you can access any form requiring authorization.</li></ol><h2>Links</h2><ul><li><a href=\"https://github.com/ringcentral\" target=\"_blank\">RingCentral SDKs on Github</a></li><li><a href=\"mailto:devsupport@ringcentral.com\">RingCentral Developer Support Email</a></li></ul>
     5   *
     6   * API version: 1.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package ringcentral
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"github.com/antihax/optional"
    16  	"io/ioutil"
    17  	"net/http"
    18  	"net/url"
    19  	"os"
    20  	"strings"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type UserSettingsApiService service
    29  
    30  /*
    31  UserSettingsApiService Delete Extension
    32  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.10 (Release 6.2)&lt;/p&gt;&lt;p&gt;Deletes extension(s) by ID(s).&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&lt;/td&gt;&lt;td&gt;Viewing and updating user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param extensionId
    35   * @param accountId
    36  */
    37  func (a *UserSettingsApiService) DeleteExtension(ctx context.Context, extensionId string, accountId string) (*http.Response, error) {
    38  	var (
    39  		localVarHttpMethod   = strings.ToUpper("Delete")
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  	)
    45  
    46  	// create path and map variables
    47  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}"
    48  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
    49  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    50  
    51  	localVarHeaderParams := make(map[string]string)
    52  	localVarQueryParams := url.Values{}
    53  	localVarFormParams := url.Values{}
    54  
    55  	// to determine the Content-Type header
    56  	localVarHttpContentTypes := []string{}
    57  
    58  	// set Content-Type header
    59  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    60  	if localVarHttpContentType != "" {
    61  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    62  	}
    63  
    64  	// to determine the Accept header
    65  	localVarHttpHeaderAccepts := []string{}
    66  
    67  	// set Accept header
    68  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    69  	if localVarHttpHeaderAccept != "" {
    70  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    71  	}
    72  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    73  	if err != nil {
    74  		return nil, err
    75  	}
    76  
    77  	localVarHttpResponse, err := a.client.callAPI(r)
    78  	if err != nil || localVarHttpResponse == nil {
    79  		return localVarHttpResponse, err
    80  	}
    81  
    82  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    83  	localVarHttpResponse.Body.Close()
    84  	if err != nil {
    85  		return localVarHttpResponse, err
    86  	}
    87  
    88  	if localVarHttpResponse.StatusCode >= 300 {
    89  		newErr := GenericOpenAPIError{
    90  			body:  localVarBody,
    91  			error: localVarHttpResponse.Status,
    92  		}
    93  		return localVarHttpResponse, newErr
    94  	}
    95  
    96  	return localVarHttpResponse, nil
    97  }
    98  
    99  /*
   100  UserSettingsApiService Get User Profile Image
   101  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.20 (Release 7.4)&lt;/p&gt;&lt;p&gt;Returns the extension profile image.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   102   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   103   * @param extensionId
   104   * @param accountId
   105  @return Binary
   106  */
   107  func (a *UserSettingsApiService) DownloadImage(ctx context.Context, extensionId string, accountId string) (Binary, *http.Response, error) {
   108  	var (
   109  		localVarHttpMethod   = strings.ToUpper("Get")
   110  		localVarPostBody     interface{}
   111  		localVarFormFileName string
   112  		localVarFileName     string
   113  		localVarFileBytes    []byte
   114  		localVarReturnValue  Binary
   115  	)
   116  
   117  	// create path and map variables
   118  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image"
   119  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   120  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   121  
   122  	localVarHeaderParams := make(map[string]string)
   123  	localVarQueryParams := url.Values{}
   124  	localVarFormParams := url.Values{}
   125  
   126  	// to determine the Content-Type header
   127  	localVarHttpContentTypes := []string{}
   128  
   129  	// set Content-Type header
   130  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   131  	if localVarHttpContentType != "" {
   132  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   133  	}
   134  
   135  	// to determine the Accept header
   136  	localVarHttpHeaderAccepts := []string{"*/*", "image/png", "image/jpeg", "image/gif"}
   137  
   138  	// set Accept header
   139  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   140  	if localVarHttpHeaderAccept != "" {
   141  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   142  	}
   143  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   144  	if err != nil {
   145  		return localVarReturnValue, nil, err
   146  	}
   147  
   148  	localVarHttpResponse, err := a.client.callAPI(r)
   149  	if err != nil || localVarHttpResponse == nil {
   150  		return localVarReturnValue, localVarHttpResponse, err
   151  	}
   152  
   153  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   154  	localVarHttpResponse.Body.Close()
   155  	if err != nil {
   156  		return localVarReturnValue, localVarHttpResponse, err
   157  	}
   158  
   159  	if localVarHttpResponse.StatusCode >= 300 {
   160  		newErr := GenericOpenAPIError{
   161  			body:  localVarBody,
   162  			error: localVarHttpResponse.Status,
   163  		}
   164  		if localVarHttpResponse.StatusCode == 0 {
   165  			var v Binary
   166  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   167  			if err != nil {
   168  				newErr.error = err.Error()
   169  				return localVarReturnValue, localVarHttpResponse, newErr
   170  			}
   171  			newErr.model = v
   172  			return localVarReturnValue, localVarHttpResponse, newErr
   173  		}
   174  		return localVarReturnValue, localVarHttpResponse, newErr
   175  	}
   176  
   177  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   178  	if err != nil {
   179  		newErr := GenericOpenAPIError{
   180  			body:  localVarBody,
   181  			error: err.Error(),
   182  		}
   183  		return localVarReturnValue, localVarHttpResponse, newErr
   184  	}
   185  
   186  	return localVarReturnValue, localVarHttpResponse, nil
   187  }
   188  
   189  /*
   190  UserSettingsApiService Get Notification Settings
   191  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.26 (Release 8.2)&lt;/p&gt;&lt;p&gt;Returns notification settings for the current extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   192   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   193   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   194   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   195  @return NotificationSettings
   196  */
   197  func (a *UserSettingsApiService) GetNotificationSettings(ctx context.Context, accountId string, extensionId string) (NotificationSettings, *http.Response, error) {
   198  	var (
   199  		localVarHttpMethod   = strings.ToUpper("Get")
   200  		localVarPostBody     interface{}
   201  		localVarFormFileName string
   202  		localVarFileName     string
   203  		localVarFileBytes    []byte
   204  		localVarReturnValue  NotificationSettings
   205  	)
   206  
   207  	// create path and map variables
   208  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings"
   209  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   210  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   211  
   212  	localVarHeaderParams := make(map[string]string)
   213  	localVarQueryParams := url.Values{}
   214  	localVarFormParams := url.Values{}
   215  
   216  	// to determine the Content-Type header
   217  	localVarHttpContentTypes := []string{}
   218  
   219  	// set Content-Type header
   220  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   221  	if localVarHttpContentType != "" {
   222  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   223  	}
   224  
   225  	// to determine the Accept header
   226  	localVarHttpHeaderAccepts := []string{"application/json"}
   227  
   228  	// set Accept header
   229  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   230  	if localVarHttpHeaderAccept != "" {
   231  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   232  	}
   233  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   234  	if err != nil {
   235  		return localVarReturnValue, nil, err
   236  	}
   237  
   238  	localVarHttpResponse, err := a.client.callAPI(r)
   239  	if err != nil || localVarHttpResponse == nil {
   240  		return localVarReturnValue, localVarHttpResponse, err
   241  	}
   242  
   243  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   244  	localVarHttpResponse.Body.Close()
   245  	if err != nil {
   246  		return localVarReturnValue, localVarHttpResponse, err
   247  	}
   248  
   249  	if localVarHttpResponse.StatusCode >= 300 {
   250  		newErr := GenericOpenAPIError{
   251  			body:  localVarBody,
   252  			error: localVarHttpResponse.Status,
   253  		}
   254  		if localVarHttpResponse.StatusCode == 0 {
   255  			var v NotificationSettings
   256  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   257  			if err != nil {
   258  				newErr.error = err.Error()
   259  				return localVarReturnValue, localVarHttpResponse, newErr
   260  			}
   261  			newErr.model = v
   262  			return localVarReturnValue, localVarHttpResponse, newErr
   263  		}
   264  		return localVarReturnValue, localVarHttpResponse, newErr
   265  	}
   266  
   267  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   268  	if err != nil {
   269  		newErr := GenericOpenAPIError{
   270  			body:  localVarBody,
   271  			error: err.Error(),
   272  		}
   273  		return localVarReturnValue, localVarHttpResponse, newErr
   274  	}
   275  
   276  	return localVarReturnValue, localVarHttpResponse, nil
   277  }
   278  
   279  /*
   280  UserSettingsApiService Get Extension Grants
   281  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns the list of extension grants.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   282   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   283   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   284   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   285   * @param optional nil or *ListExtensionGrantsOpts - Optional Parameters:
   286   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   287   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
   288  @return GetExtensionGrantListResponse
   289  */
   290  
   291  type ListExtensionGrantsOpts struct {
   292  	Page    optional.Int32
   293  	PerPage optional.Int32
   294  }
   295  
   296  func (a *UserSettingsApiService) ListExtensionGrants(ctx context.Context, accountId string, extensionId string, localVarOptionals *ListExtensionGrantsOpts) (GetExtensionGrantListResponse, *http.Response, error) {
   297  	var (
   298  		localVarHttpMethod   = strings.ToUpper("Get")
   299  		localVarPostBody     interface{}
   300  		localVarFormFileName string
   301  		localVarFileName     string
   302  		localVarFileBytes    []byte
   303  		localVarReturnValue  GetExtensionGrantListResponse
   304  	)
   305  
   306  	// create path and map variables
   307  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/grant"
   308  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   309  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   310  
   311  	localVarHeaderParams := make(map[string]string)
   312  	localVarQueryParams := url.Values{}
   313  	localVarFormParams := url.Values{}
   314  
   315  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   316  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   317  	}
   318  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   319  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   320  	}
   321  	// to determine the Content-Type header
   322  	localVarHttpContentTypes := []string{}
   323  
   324  	// set Content-Type header
   325  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   326  	if localVarHttpContentType != "" {
   327  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   328  	}
   329  
   330  	// to determine the Accept header
   331  	localVarHttpHeaderAccepts := []string{"application/json"}
   332  
   333  	// set Accept header
   334  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   335  	if localVarHttpHeaderAccept != "" {
   336  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   337  	}
   338  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   339  	if err != nil {
   340  		return localVarReturnValue, nil, err
   341  	}
   342  
   343  	localVarHttpResponse, err := a.client.callAPI(r)
   344  	if err != nil || localVarHttpResponse == nil {
   345  		return localVarReturnValue, localVarHttpResponse, err
   346  	}
   347  
   348  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   349  	localVarHttpResponse.Body.Close()
   350  	if err != nil {
   351  		return localVarReturnValue, localVarHttpResponse, err
   352  	}
   353  
   354  	if localVarHttpResponse.StatusCode >= 300 {
   355  		newErr := GenericOpenAPIError{
   356  			body:  localVarBody,
   357  			error: localVarHttpResponse.Status,
   358  		}
   359  		if localVarHttpResponse.StatusCode == 0 {
   360  			var v GetExtensionGrantListResponse
   361  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   362  			if err != nil {
   363  				newErr.error = err.Error()
   364  				return localVarReturnValue, localVarHttpResponse, newErr
   365  			}
   366  			newErr.model = v
   367  			return localVarReturnValue, localVarHttpResponse, newErr
   368  		}
   369  		return localVarReturnValue, localVarHttpResponse, newErr
   370  	}
   371  
   372  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   373  	if err != nil {
   374  		newErr := GenericOpenAPIError{
   375  			body:  localVarBody,
   376  			error: err.Error(),
   377  		}
   378  		return localVarReturnValue, localVarHttpResponse, newErr
   379  	}
   380  
   381  	return localVarReturnValue, localVarHttpResponse, nil
   382  }
   383  
   384  /*
   385  UserSettingsApiService Get Secret Questions
   386  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.20 (Release 7.4)&lt;/p&gt;&lt;p&gt;Returns the list of secret questions for a specific language.&lt;/p&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   387   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   388   * @param optional nil or *ListSecretQuestionsOpts - Optional Parameters:
   389   * @param "SignupOnly" (optional.Bool) -
   390   * @param "Page" (optional.String) -
   391   * @param "PerPage" (optional.String) -
   392  @return GetSecretQuestionListResponse
   393  */
   394  
   395  type ListSecretQuestionsOpts struct {
   396  	SignupOnly optional.Bool
   397  	Page       optional.String
   398  	PerPage    optional.String
   399  }
   400  
   401  func (a *UserSettingsApiService) ListSecretQuestions(ctx context.Context, localVarOptionals *ListSecretQuestionsOpts) (GetSecretQuestionListResponse, *http.Response, error) {
   402  	var (
   403  		localVarHttpMethod   = strings.ToUpper("Get")
   404  		localVarPostBody     interface{}
   405  		localVarFormFileName string
   406  		localVarFileName     string
   407  		localVarFileBytes    []byte
   408  		localVarReturnValue  GetSecretQuestionListResponse
   409  	)
   410  
   411  	// create path and map variables
   412  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/secret-question"
   413  
   414  	localVarHeaderParams := make(map[string]string)
   415  	localVarQueryParams := url.Values{}
   416  	localVarFormParams := url.Values{}
   417  
   418  	if localVarOptionals != nil && localVarOptionals.SignupOnly.IsSet() {
   419  		localVarQueryParams.Add("signupOnly", parameterToString(localVarOptionals.SignupOnly.Value(), ""))
   420  	}
   421  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   422  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   423  	}
   424  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   425  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   426  	}
   427  	// to determine the Content-Type header
   428  	localVarHttpContentTypes := []string{}
   429  
   430  	// set Content-Type header
   431  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   432  	if localVarHttpContentType != "" {
   433  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   434  	}
   435  
   436  	// to determine the Accept header
   437  	localVarHttpHeaderAccepts := []string{"application/json"}
   438  
   439  	// set Accept header
   440  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   441  	if localVarHttpHeaderAccept != "" {
   442  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   443  	}
   444  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   445  	if err != nil {
   446  		return localVarReturnValue, nil, err
   447  	}
   448  
   449  	localVarHttpResponse, err := a.client.callAPI(r)
   450  	if err != nil || localVarHttpResponse == nil {
   451  		return localVarReturnValue, localVarHttpResponse, err
   452  	}
   453  
   454  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   455  	localVarHttpResponse.Body.Close()
   456  	if err != nil {
   457  		return localVarReturnValue, localVarHttpResponse, err
   458  	}
   459  
   460  	if localVarHttpResponse.StatusCode >= 300 {
   461  		newErr := GenericOpenAPIError{
   462  			body:  localVarBody,
   463  			error: localVarHttpResponse.Status,
   464  		}
   465  		if localVarHttpResponse.StatusCode == 0 {
   466  			var v GetSecretQuestionListResponse
   467  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   468  			if err != nil {
   469  				newErr.error = err.Error()
   470  				return localVarReturnValue, localVarHttpResponse, newErr
   471  			}
   472  			newErr.model = v
   473  			return localVarReturnValue, localVarHttpResponse, newErr
   474  		}
   475  		return localVarReturnValue, localVarHttpResponse, newErr
   476  	}
   477  
   478  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   479  	if err != nil {
   480  		newErr := GenericOpenAPIError{
   481  			body:  localVarBody,
   482  			error: err.Error(),
   483  		}
   484  		return localVarReturnValue, localVarHttpResponse, newErr
   485  	}
   486  
   487  	return localVarReturnValue, localVarHttpResponse, nil
   488  }
   489  
   490  /*
   491  UserSettingsApiService Get User Conferencing Settings
   492  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.4 (Release 5.13)&lt;/p&gt;&lt;p&gt;Returns the information on the Free Conference Calling (FCC) feature for a given extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   493   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   494   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   495   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   496   * @param optional nil or *LoadConferencingInfoOpts - Optional Parameters:
   497   * @param "CountryId" (optional.String) -  Internal identifier of a country. If not specified, the response is returned for the brand country
   498  @return GetConferencingInfoResponse
   499  */
   500  
   501  type LoadConferencingInfoOpts struct {
   502  	CountryId optional.String
   503  }
   504  
   505  func (a *UserSettingsApiService) LoadConferencingInfo(ctx context.Context, accountId string, extensionId string, localVarOptionals *LoadConferencingInfoOpts) (GetConferencingInfoResponse, *http.Response, error) {
   506  	var (
   507  		localVarHttpMethod   = strings.ToUpper("Get")
   508  		localVarPostBody     interface{}
   509  		localVarFormFileName string
   510  		localVarFileName     string
   511  		localVarFileBytes    []byte
   512  		localVarReturnValue  GetConferencingInfoResponse
   513  	)
   514  
   515  	// create path and map variables
   516  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing"
   517  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   518  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   519  
   520  	localVarHeaderParams := make(map[string]string)
   521  	localVarQueryParams := url.Values{}
   522  	localVarFormParams := url.Values{}
   523  
   524  	if localVarOptionals != nil && localVarOptionals.CountryId.IsSet() {
   525  		localVarQueryParams.Add("countryId", parameterToString(localVarOptionals.CountryId.Value(), ""))
   526  	}
   527  	// to determine the Content-Type header
   528  	localVarHttpContentTypes := []string{}
   529  
   530  	// set Content-Type header
   531  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   532  	if localVarHttpContentType != "" {
   533  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   534  	}
   535  
   536  	// to determine the Accept header
   537  	localVarHttpHeaderAccepts := []string{"application/json"}
   538  
   539  	// set Accept header
   540  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   541  	if localVarHttpHeaderAccept != "" {
   542  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   543  	}
   544  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   545  	if err != nil {
   546  		return localVarReturnValue, nil, err
   547  	}
   548  
   549  	localVarHttpResponse, err := a.client.callAPI(r)
   550  	if err != nil || localVarHttpResponse == nil {
   551  		return localVarReturnValue, localVarHttpResponse, err
   552  	}
   553  
   554  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   555  	localVarHttpResponse.Body.Close()
   556  	if err != nil {
   557  		return localVarReturnValue, localVarHttpResponse, err
   558  	}
   559  
   560  	if localVarHttpResponse.StatusCode >= 300 {
   561  		newErr := GenericOpenAPIError{
   562  			body:  localVarBody,
   563  			error: localVarHttpResponse.Status,
   564  		}
   565  		if localVarHttpResponse.StatusCode == 0 {
   566  			var v GetConferencingInfoResponse
   567  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   568  			if err != nil {
   569  				newErr.error = err.Error()
   570  				return localVarReturnValue, localVarHttpResponse, newErr
   571  			}
   572  			newErr.model = v
   573  			return localVarReturnValue, localVarHttpResponse, newErr
   574  		}
   575  		return localVarReturnValue, localVarHttpResponse, newErr
   576  	}
   577  
   578  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   579  	if err != nil {
   580  		newErr := GenericOpenAPIError{
   581  			body:  localVarBody,
   582  			error: err.Error(),
   583  		}
   584  		return localVarReturnValue, localVarHttpResponse, newErr
   585  	}
   586  
   587  	return localVarReturnValue, localVarHttpResponse, nil
   588  }
   589  
   590  /*
   591  UserSettingsApiService Get Extension Caller ID
   592  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns information on an outbound caller ID of an extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   593   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   594   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   595   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   596  @return ExtensionCallerIdInfo
   597  */
   598  func (a *UserSettingsApiService) LoadExtensionCallerId(ctx context.Context, accountId string, extensionId string) (ExtensionCallerIdInfo, *http.Response, error) {
   599  	var (
   600  		localVarHttpMethod   = strings.ToUpper("Get")
   601  		localVarPostBody     interface{}
   602  		localVarFormFileName string
   603  		localVarFileName     string
   604  		localVarFileBytes    []byte
   605  		localVarReturnValue  ExtensionCallerIdInfo
   606  	)
   607  
   608  	// create path and map variables
   609  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id"
   610  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   611  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   612  
   613  	localVarHeaderParams := make(map[string]string)
   614  	localVarQueryParams := url.Values{}
   615  	localVarFormParams := url.Values{}
   616  
   617  	// to determine the Content-Type header
   618  	localVarHttpContentTypes := []string{}
   619  
   620  	// set Content-Type header
   621  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   622  	if localVarHttpContentType != "" {
   623  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   624  	}
   625  
   626  	// to determine the Accept header
   627  	localVarHttpHeaderAccepts := []string{"application/json"}
   628  
   629  	// set Accept header
   630  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   631  	if localVarHttpHeaderAccept != "" {
   632  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   633  	}
   634  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   635  	if err != nil {
   636  		return localVarReturnValue, nil, err
   637  	}
   638  
   639  	localVarHttpResponse, err := a.client.callAPI(r)
   640  	if err != nil || localVarHttpResponse == nil {
   641  		return localVarReturnValue, localVarHttpResponse, err
   642  	}
   643  
   644  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   645  	localVarHttpResponse.Body.Close()
   646  	if err != nil {
   647  		return localVarReturnValue, localVarHttpResponse, err
   648  	}
   649  
   650  	if localVarHttpResponse.StatusCode >= 300 {
   651  		newErr := GenericOpenAPIError{
   652  			body:  localVarBody,
   653  			error: localVarHttpResponse.Status,
   654  		}
   655  		if localVarHttpResponse.StatusCode == 0 {
   656  			var v ExtensionCallerIdInfo
   657  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   658  			if err != nil {
   659  				newErr.error = err.Error()
   660  				return localVarReturnValue, localVarHttpResponse, newErr
   661  			}
   662  			newErr.model = v
   663  			return localVarReturnValue, localVarHttpResponse, newErr
   664  		}
   665  		return localVarReturnValue, localVarHttpResponse, newErr
   666  	}
   667  
   668  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   669  	if err != nil {
   670  		newErr := GenericOpenAPIError{
   671  			body:  localVarBody,
   672  			error: err.Error(),
   673  		}
   674  		return localVarReturnValue, localVarHttpResponse, newErr
   675  	}
   676  
   677  	return localVarReturnValue, localVarHttpResponse, nil
   678  }
   679  
   680  /*
   681  UserSettingsApiService Get Extension Info
   682  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.0&lt;/p&gt;&lt;p&gt;Returns basic information about a particular extension of an account.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   683   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   684   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   685   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   686  @return GetExtensionInfoResponse
   687  */
   688  func (a *UserSettingsApiService) LoadExtensionInfo(ctx context.Context, accountId string, extensionId string) (GetExtensionInfoResponse, *http.Response, error) {
   689  	var (
   690  		localVarHttpMethod   = strings.ToUpper("Get")
   691  		localVarPostBody     interface{}
   692  		localVarFormFileName string
   693  		localVarFileName     string
   694  		localVarFileBytes    []byte
   695  		localVarReturnValue  GetExtensionInfoResponse
   696  	)
   697  
   698  	// create path and map variables
   699  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}"
   700  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   701  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   702  
   703  	localVarHeaderParams := make(map[string]string)
   704  	localVarQueryParams := url.Values{}
   705  	localVarFormParams := url.Values{}
   706  
   707  	// to determine the Content-Type header
   708  	localVarHttpContentTypes := []string{}
   709  
   710  	// set Content-Type header
   711  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   712  	if localVarHttpContentType != "" {
   713  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   714  	}
   715  
   716  	// to determine the Accept header
   717  	localVarHttpHeaderAccepts := []string{"application/json"}
   718  
   719  	// set Accept header
   720  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   721  	if localVarHttpHeaderAccept != "" {
   722  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   723  	}
   724  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   725  	if err != nil {
   726  		return localVarReturnValue, nil, err
   727  	}
   728  
   729  	localVarHttpResponse, err := a.client.callAPI(r)
   730  	if err != nil || localVarHttpResponse == nil {
   731  		return localVarReturnValue, localVarHttpResponse, err
   732  	}
   733  
   734  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   735  	localVarHttpResponse.Body.Close()
   736  	if err != nil {
   737  		return localVarReturnValue, localVarHttpResponse, err
   738  	}
   739  
   740  	if localVarHttpResponse.StatusCode >= 300 {
   741  		newErr := GenericOpenAPIError{
   742  			body:  localVarBody,
   743  			error: localVarHttpResponse.Status,
   744  		}
   745  		if localVarHttpResponse.StatusCode == 0 {
   746  			var v GetExtensionInfoResponse
   747  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   748  			if err != nil {
   749  				newErr.error = err.Error()
   750  				return localVarReturnValue, localVarHttpResponse, newErr
   751  			}
   752  			newErr.model = v
   753  			return localVarReturnValue, localVarHttpResponse, newErr
   754  		}
   755  		return localVarReturnValue, localVarHttpResponse, newErr
   756  	}
   757  
   758  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   759  	if err != nil {
   760  		newErr := GenericOpenAPIError{
   761  			body:  localVarBody,
   762  			error: err.Error(),
   763  		}
   764  		return localVarReturnValue, localVarHttpResponse, newErr
   765  	}
   766  
   767  	return localVarReturnValue, localVarHttpResponse, nil
   768  }
   769  
   770  /*
   771  UserSettingsApiService Get Extension Profile Image (Scaled)
   772  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns the extension profile image.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   773   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   774   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   775   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   776   * @param scaleSize Dimensions of a profile image which will be returned in response. If this path parameter is not specified in request URI then
   777  @return Binary
   778  */
   779  func (a *UserSettingsApiService) LoadExtensionProfileImage(ctx context.Context, accountId string, extensionId string, scaleSize string) (Binary, *http.Response, error) {
   780  	var (
   781  		localVarHttpMethod   = strings.ToUpper("Get")
   782  		localVarPostBody     interface{}
   783  		localVarFormFileName string
   784  		localVarFileName     string
   785  		localVarFileBytes    []byte
   786  		localVarReturnValue  Binary
   787  	)
   788  
   789  	// create path and map variables
   790  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image/{scaleSize}"
   791  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   792  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   793  	localVarPath = strings.Replace(localVarPath, "{"+"scaleSize"+"}", fmt.Sprintf("%v", scaleSize), -1)
   794  
   795  	localVarHeaderParams := make(map[string]string)
   796  	localVarQueryParams := url.Values{}
   797  	localVarFormParams := url.Values{}
   798  
   799  	// to determine the Content-Type header
   800  	localVarHttpContentTypes := []string{}
   801  
   802  	// set Content-Type header
   803  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   804  	if localVarHttpContentType != "" {
   805  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   806  	}
   807  
   808  	// to determine the Accept header
   809  	localVarHttpHeaderAccepts := []string{"application/json"}
   810  
   811  	// set Accept header
   812  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   813  	if localVarHttpHeaderAccept != "" {
   814  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   815  	}
   816  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   817  	if err != nil {
   818  		return localVarReturnValue, nil, err
   819  	}
   820  
   821  	localVarHttpResponse, err := a.client.callAPI(r)
   822  	if err != nil || localVarHttpResponse == nil {
   823  		return localVarReturnValue, localVarHttpResponse, err
   824  	}
   825  
   826  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   827  	localVarHttpResponse.Body.Close()
   828  	if err != nil {
   829  		return localVarReturnValue, localVarHttpResponse, err
   830  	}
   831  
   832  	if localVarHttpResponse.StatusCode >= 300 {
   833  		newErr := GenericOpenAPIError{
   834  			body:  localVarBody,
   835  			error: localVarHttpResponse.Status,
   836  		}
   837  		if localVarHttpResponse.StatusCode == 0 {
   838  			var v Binary
   839  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   840  			if err != nil {
   841  				newErr.error = err.Error()
   842  				return localVarReturnValue, localVarHttpResponse, newErr
   843  			}
   844  			newErr.model = v
   845  			return localVarReturnValue, localVarHttpResponse, newErr
   846  		}
   847  		return localVarReturnValue, localVarHttpResponse, newErr
   848  	}
   849  
   850  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   851  	if err != nil {
   852  		newErr := GenericOpenAPIError{
   853  			body:  localVarBody,
   854  			error: err.Error(),
   855  		}
   856  		return localVarReturnValue, localVarHttpResponse, newErr
   857  	}
   858  
   859  	return localVarReturnValue, localVarHttpResponse, nil
   860  }
   861  
   862  /*
   863  UserSettingsApiService Get User Credentials
   864  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.27 (Release 8.3)&lt;/p&gt;&lt;p&gt;Returns extension user credentials.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   865   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   866   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   867   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   868  @return ExtensionUserCredentials
   869  */
   870  func (a *UserSettingsApiService) LoadExtensionUserCredentials(ctx context.Context, accountId string, extensionId string) (ExtensionUserCredentials, *http.Response, error) {
   871  	var (
   872  		localVarHttpMethod   = strings.ToUpper("Get")
   873  		localVarPostBody     interface{}
   874  		localVarFormFileName string
   875  		localVarFileName     string
   876  		localVarFileBytes    []byte
   877  		localVarReturnValue  ExtensionUserCredentials
   878  	)
   879  
   880  	// create path and map variables
   881  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/credentials"
   882  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   883  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   884  
   885  	localVarHeaderParams := make(map[string]string)
   886  	localVarQueryParams := url.Values{}
   887  	localVarFormParams := url.Values{}
   888  
   889  	// to determine the Content-Type header
   890  	localVarHttpContentTypes := []string{}
   891  
   892  	// set Content-Type header
   893  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   894  	if localVarHttpContentType != "" {
   895  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   896  	}
   897  
   898  	// to determine the Accept header
   899  	localVarHttpHeaderAccepts := []string{"application/json"}
   900  
   901  	// set Accept header
   902  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   903  	if localVarHttpHeaderAccept != "" {
   904  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   905  	}
   906  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   907  	if err != nil {
   908  		return localVarReturnValue, nil, err
   909  	}
   910  
   911  	localVarHttpResponse, err := a.client.callAPI(r)
   912  	if err != nil || localVarHttpResponse == nil {
   913  		return localVarReturnValue, localVarHttpResponse, err
   914  	}
   915  
   916  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   917  	localVarHttpResponse.Body.Close()
   918  	if err != nil {
   919  		return localVarReturnValue, localVarHttpResponse, err
   920  	}
   921  
   922  	if localVarHttpResponse.StatusCode >= 300 {
   923  		newErr := GenericOpenAPIError{
   924  			body:  localVarBody,
   925  			error: localVarHttpResponse.Status,
   926  		}
   927  		if localVarHttpResponse.StatusCode == 0 {
   928  			var v ExtensionUserCredentials
   929  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   930  			if err != nil {
   931  				newErr.error = err.Error()
   932  				return localVarReturnValue, localVarHttpResponse, newErr
   933  			}
   934  			newErr.model = v
   935  			return localVarReturnValue, localVarHttpResponse, newErr
   936  		}
   937  		return localVarReturnValue, localVarHttpResponse, newErr
   938  	}
   939  
   940  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   941  	if err != nil {
   942  		newErr := GenericOpenAPIError{
   943  			body:  localVarBody,
   944  			error: err.Error(),
   945  		}
   946  		return localVarReturnValue, localVarHttpResponse, newErr
   947  	}
   948  
   949  	return localVarReturnValue, localVarHttpResponse, nil
   950  }
   951  
   952  /*
   953  UserSettingsApiService Get Secret Question
   954  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.20 (Release 7.4)&lt;/p&gt;&lt;p&gt;Returns a particular secret question in specific language by question ID.&lt;/p&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   955   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   956   * @param questionId Internal identifier of a question
   957  @return SecretQuestionInfo
   958  */
   959  func (a *UserSettingsApiService) LoadSecretQuestion(ctx context.Context, questionId int32) (SecretQuestionInfo, *http.Response, error) {
   960  	var (
   961  		localVarHttpMethod   = strings.ToUpper("Get")
   962  		localVarPostBody     interface{}
   963  		localVarFormFileName string
   964  		localVarFileName     string
   965  		localVarFileBytes    []byte
   966  		localVarReturnValue  SecretQuestionInfo
   967  	)
   968  
   969  	// create path and map variables
   970  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/secret-question/{questionId}"
   971  	localVarPath = strings.Replace(localVarPath, "{"+"questionId"+"}", fmt.Sprintf("%v", questionId), -1)
   972  
   973  	localVarHeaderParams := make(map[string]string)
   974  	localVarQueryParams := url.Values{}
   975  	localVarFormParams := url.Values{}
   976  
   977  	// to determine the Content-Type header
   978  	localVarHttpContentTypes := []string{}
   979  
   980  	// set Content-Type header
   981  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   982  	if localVarHttpContentType != "" {
   983  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   984  	}
   985  
   986  	// to determine the Accept header
   987  	localVarHttpHeaderAccepts := []string{"application/json"}
   988  
   989  	// set Accept header
   990  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   991  	if localVarHttpHeaderAccept != "" {
   992  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   993  	}
   994  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   995  	if err != nil {
   996  		return localVarReturnValue, nil, err
   997  	}
   998  
   999  	localVarHttpResponse, err := a.client.callAPI(r)
  1000  	if err != nil || localVarHttpResponse == nil {
  1001  		return localVarReturnValue, localVarHttpResponse, err
  1002  	}
  1003  
  1004  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1005  	localVarHttpResponse.Body.Close()
  1006  	if err != nil {
  1007  		return localVarReturnValue, localVarHttpResponse, err
  1008  	}
  1009  
  1010  	if localVarHttpResponse.StatusCode >= 300 {
  1011  		newErr := GenericOpenAPIError{
  1012  			body:  localVarBody,
  1013  			error: localVarHttpResponse.Status,
  1014  		}
  1015  		if localVarHttpResponse.StatusCode == 0 {
  1016  			var v SecretQuestionInfo
  1017  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1018  			if err != nil {
  1019  				newErr.error = err.Error()
  1020  				return localVarReturnValue, localVarHttpResponse, newErr
  1021  			}
  1022  			newErr.model = v
  1023  			return localVarReturnValue, localVarHttpResponse, newErr
  1024  		}
  1025  		return localVarReturnValue, localVarHttpResponse, newErr
  1026  	}
  1027  
  1028  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1029  	if err != nil {
  1030  		newErr := GenericOpenAPIError{
  1031  			body:  localVarBody,
  1032  			error: err.Error(),
  1033  		}
  1034  		return localVarReturnValue, localVarHttpResponse, newErr
  1035  	}
  1036  
  1037  	return localVarReturnValue, localVarHttpResponse, nil
  1038  }
  1039  
  1040  /*
  1041  UserSettingsApiService Update User Conferencing Settings
  1042  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1043   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1044   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1045   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1046   * @param updateConferencingInfoRequest JSON body
  1047  @return GetConferencingInfoResponse
  1048  */
  1049  func (a *UserSettingsApiService) UpdateConferencingInfo(ctx context.Context, accountId string, extensionId string, updateConferencingInfoRequest UpdateConferencingInfoRequest) (GetConferencingInfoResponse, *http.Response, error) {
  1050  	var (
  1051  		localVarHttpMethod   = strings.ToUpper("Put")
  1052  		localVarPostBody     interface{}
  1053  		localVarFormFileName string
  1054  		localVarFileName     string
  1055  		localVarFileBytes    []byte
  1056  		localVarReturnValue  GetConferencingInfoResponse
  1057  	)
  1058  
  1059  	// create path and map variables
  1060  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing"
  1061  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1062  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1063  
  1064  	localVarHeaderParams := make(map[string]string)
  1065  	localVarQueryParams := url.Values{}
  1066  	localVarFormParams := url.Values{}
  1067  
  1068  	// to determine the Content-Type header
  1069  	localVarHttpContentTypes := []string{"application/json"}
  1070  
  1071  	// set Content-Type header
  1072  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1073  	if localVarHttpContentType != "" {
  1074  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1075  	}
  1076  
  1077  	// to determine the Accept header
  1078  	localVarHttpHeaderAccepts := []string{"application/json"}
  1079  
  1080  	// set Accept header
  1081  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1082  	if localVarHttpHeaderAccept != "" {
  1083  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1084  	}
  1085  	// body params
  1086  	localVarPostBody = &updateConferencingInfoRequest
  1087  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1088  	if err != nil {
  1089  		return localVarReturnValue, nil, err
  1090  	}
  1091  
  1092  	localVarHttpResponse, err := a.client.callAPI(r)
  1093  	if err != nil || localVarHttpResponse == nil {
  1094  		return localVarReturnValue, localVarHttpResponse, err
  1095  	}
  1096  
  1097  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1098  	localVarHttpResponse.Body.Close()
  1099  	if err != nil {
  1100  		return localVarReturnValue, localVarHttpResponse, err
  1101  	}
  1102  
  1103  	if localVarHttpResponse.StatusCode >= 300 {
  1104  		newErr := GenericOpenAPIError{
  1105  			body:  localVarBody,
  1106  			error: localVarHttpResponse.Status,
  1107  		}
  1108  		if localVarHttpResponse.StatusCode == 0 {
  1109  			var v GetConferencingInfoResponse
  1110  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1111  			if err != nil {
  1112  				newErr.error = err.Error()
  1113  				return localVarReturnValue, localVarHttpResponse, newErr
  1114  			}
  1115  			newErr.model = v
  1116  			return localVarReturnValue, localVarHttpResponse, newErr
  1117  		}
  1118  		return localVarReturnValue, localVarHttpResponse, newErr
  1119  	}
  1120  
  1121  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1122  	if err != nil {
  1123  		newErr := GenericOpenAPIError{
  1124  			body:  localVarBody,
  1125  			error: err.Error(),
  1126  		}
  1127  		return localVarReturnValue, localVarHttpResponse, newErr
  1128  	}
  1129  
  1130  	return localVarReturnValue, localVarHttpResponse, nil
  1131  }
  1132  
  1133  /*
  1134  UserSettingsApiService Update Extension
  1135  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1136   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1137   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1138   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1139   * @param extensionUpdateRequest JSON body
  1140  @return GetExtensionInfoResponse
  1141  */
  1142  func (a *UserSettingsApiService) UpdateExtension(ctx context.Context, accountId string, extensionId string, extensionUpdateRequest ExtensionUpdateRequest) (GetExtensionInfoResponse, *http.Response, error) {
  1143  	var (
  1144  		localVarHttpMethod   = strings.ToUpper("Put")
  1145  		localVarPostBody     interface{}
  1146  		localVarFormFileName string
  1147  		localVarFileName     string
  1148  		localVarFileBytes    []byte
  1149  		localVarReturnValue  GetExtensionInfoResponse
  1150  	)
  1151  
  1152  	// create path and map variables
  1153  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}"
  1154  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1155  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1156  
  1157  	localVarHeaderParams := make(map[string]string)
  1158  	localVarQueryParams := url.Values{}
  1159  	localVarFormParams := url.Values{}
  1160  
  1161  	// to determine the Content-Type header
  1162  	localVarHttpContentTypes := []string{"application/json"}
  1163  
  1164  	// set Content-Type header
  1165  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1166  	if localVarHttpContentType != "" {
  1167  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1168  	}
  1169  
  1170  	// to determine the Accept header
  1171  	localVarHttpHeaderAccepts := []string{"application/json"}
  1172  
  1173  	// set Accept header
  1174  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1175  	if localVarHttpHeaderAccept != "" {
  1176  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1177  	}
  1178  	// body params
  1179  	localVarPostBody = &extensionUpdateRequest
  1180  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1181  	if err != nil {
  1182  		return localVarReturnValue, nil, err
  1183  	}
  1184  
  1185  	localVarHttpResponse, err := a.client.callAPI(r)
  1186  	if err != nil || localVarHttpResponse == nil {
  1187  		return localVarReturnValue, localVarHttpResponse, err
  1188  	}
  1189  
  1190  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1191  	localVarHttpResponse.Body.Close()
  1192  	if err != nil {
  1193  		return localVarReturnValue, localVarHttpResponse, err
  1194  	}
  1195  
  1196  	if localVarHttpResponse.StatusCode >= 300 {
  1197  		newErr := GenericOpenAPIError{
  1198  			body:  localVarBody,
  1199  			error: localVarHttpResponse.Status,
  1200  		}
  1201  		if localVarHttpResponse.StatusCode == 0 {
  1202  			var v GetExtensionInfoResponse
  1203  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1204  			if err != nil {
  1205  				newErr.error = err.Error()
  1206  				return localVarReturnValue, localVarHttpResponse, newErr
  1207  			}
  1208  			newErr.model = v
  1209  			return localVarReturnValue, localVarHttpResponse, newErr
  1210  		}
  1211  		return localVarReturnValue, localVarHttpResponse, newErr
  1212  	}
  1213  
  1214  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1215  	if err != nil {
  1216  		newErr := GenericOpenAPIError{
  1217  			body:  localVarBody,
  1218  			error: err.Error(),
  1219  		}
  1220  		return localVarReturnValue, localVarHttpResponse, newErr
  1221  	}
  1222  
  1223  	return localVarReturnValue, localVarHttpResponse, nil
  1224  }
  1225  
  1226  /*
  1227  UserSettingsApiService Update Extension Caller ID
  1228  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Updates outbound caller ID information of an extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1229   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1230   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1231   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1232   * @param extensionCallerIdInfo JSON body
  1233  @return ExtensionCallerIdInfo
  1234  */
  1235  func (a *UserSettingsApiService) UpdateExtensionCallerId(ctx context.Context, accountId string, extensionId string, extensionCallerIdInfo ExtensionCallerIdInfo) (ExtensionCallerIdInfo, *http.Response, error) {
  1236  	var (
  1237  		localVarHttpMethod   = strings.ToUpper("Put")
  1238  		localVarPostBody     interface{}
  1239  		localVarFormFileName string
  1240  		localVarFileName     string
  1241  		localVarFileBytes    []byte
  1242  		localVarReturnValue  ExtensionCallerIdInfo
  1243  	)
  1244  
  1245  	// create path and map variables
  1246  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id"
  1247  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1248  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1249  
  1250  	localVarHeaderParams := make(map[string]string)
  1251  	localVarQueryParams := url.Values{}
  1252  	localVarFormParams := url.Values{}
  1253  
  1254  	// to determine the Content-Type header
  1255  	localVarHttpContentTypes := []string{"application/json"}
  1256  
  1257  	// set Content-Type header
  1258  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1259  	if localVarHttpContentType != "" {
  1260  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1261  	}
  1262  
  1263  	// to determine the Accept header
  1264  	localVarHttpHeaderAccepts := []string{"application/json"}
  1265  
  1266  	// set Accept header
  1267  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1268  	if localVarHttpHeaderAccept != "" {
  1269  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1270  	}
  1271  	// body params
  1272  	localVarPostBody = &extensionCallerIdInfo
  1273  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1274  	if err != nil {
  1275  		return localVarReturnValue, nil, err
  1276  	}
  1277  
  1278  	localVarHttpResponse, err := a.client.callAPI(r)
  1279  	if err != nil || localVarHttpResponse == nil {
  1280  		return localVarReturnValue, localVarHttpResponse, err
  1281  	}
  1282  
  1283  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1284  	localVarHttpResponse.Body.Close()
  1285  	if err != nil {
  1286  		return localVarReturnValue, localVarHttpResponse, err
  1287  	}
  1288  
  1289  	if localVarHttpResponse.StatusCode >= 300 {
  1290  		newErr := GenericOpenAPIError{
  1291  			body:  localVarBody,
  1292  			error: localVarHttpResponse.Status,
  1293  		}
  1294  		if localVarHttpResponse.StatusCode == 0 {
  1295  			var v ExtensionCallerIdInfo
  1296  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1297  			if err != nil {
  1298  				newErr.error = err.Error()
  1299  				return localVarReturnValue, localVarHttpResponse, newErr
  1300  			}
  1301  			newErr.model = v
  1302  			return localVarReturnValue, localVarHttpResponse, newErr
  1303  		}
  1304  		return localVarReturnValue, localVarHttpResponse, newErr
  1305  	}
  1306  
  1307  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1308  	if err != nil {
  1309  		newErr := GenericOpenAPIError{
  1310  			body:  localVarBody,
  1311  			error: err.Error(),
  1312  		}
  1313  		return localVarReturnValue, localVarHttpResponse, newErr
  1314  	}
  1315  
  1316  	return localVarReturnValue, localVarHttpResponse, nil
  1317  }
  1318  
  1319  /*
  1320  UserSettingsApiService Update User Credentials
  1321  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.27 (Release 8.3)&lt;/p&gt;&lt;p&gt;Updates extension user credentials.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1322   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1323   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1324   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1325   * @param extensionUserCredentailsRequest JSON body
  1326  @return ExtensionUserCredentials
  1327  */
  1328  func (a *UserSettingsApiService) UpdateExtensionUserCredentials(ctx context.Context, accountId string, extensionId string, extensionUserCredentailsRequest ExtensionUserCredentailsRequest) (ExtensionUserCredentials, *http.Response, error) {
  1329  	var (
  1330  		localVarHttpMethod   = strings.ToUpper("Put")
  1331  		localVarPostBody     interface{}
  1332  		localVarFormFileName string
  1333  		localVarFileName     string
  1334  		localVarFileBytes    []byte
  1335  		localVarReturnValue  ExtensionUserCredentials
  1336  	)
  1337  
  1338  	// create path and map variables
  1339  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/credentials"
  1340  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1341  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1342  
  1343  	localVarHeaderParams := make(map[string]string)
  1344  	localVarQueryParams := url.Values{}
  1345  	localVarFormParams := url.Values{}
  1346  
  1347  	// to determine the Content-Type header
  1348  	localVarHttpContentTypes := []string{"application/json"}
  1349  
  1350  	// set Content-Type header
  1351  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1352  	if localVarHttpContentType != "" {
  1353  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1354  	}
  1355  
  1356  	// to determine the Accept header
  1357  	localVarHttpHeaderAccepts := []string{"application/json"}
  1358  
  1359  	// set Accept header
  1360  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1361  	if localVarHttpHeaderAccept != "" {
  1362  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1363  	}
  1364  	// body params
  1365  	localVarPostBody = &extensionUserCredentailsRequest
  1366  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1367  	if err != nil {
  1368  		return localVarReturnValue, nil, err
  1369  	}
  1370  
  1371  	localVarHttpResponse, err := a.client.callAPI(r)
  1372  	if err != nil || localVarHttpResponse == nil {
  1373  		return localVarReturnValue, localVarHttpResponse, err
  1374  	}
  1375  
  1376  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1377  	localVarHttpResponse.Body.Close()
  1378  	if err != nil {
  1379  		return localVarReturnValue, localVarHttpResponse, err
  1380  	}
  1381  
  1382  	if localVarHttpResponse.StatusCode >= 300 {
  1383  		newErr := GenericOpenAPIError{
  1384  			body:  localVarBody,
  1385  			error: localVarHttpResponse.Status,
  1386  		}
  1387  		if localVarHttpResponse.StatusCode == 0 {
  1388  			var v ExtensionUserCredentials
  1389  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1390  			if err != nil {
  1391  				newErr.error = err.Error()
  1392  				return localVarReturnValue, localVarHttpResponse, newErr
  1393  			}
  1394  			newErr.model = v
  1395  			return localVarReturnValue, localVarHttpResponse, newErr
  1396  		}
  1397  		return localVarReturnValue, localVarHttpResponse, newErr
  1398  	}
  1399  
  1400  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1401  	if err != nil {
  1402  		newErr := GenericOpenAPIError{
  1403  			body:  localVarBody,
  1404  			error: err.Error(),
  1405  		}
  1406  		return localVarReturnValue, localVarHttpResponse, newErr
  1407  	}
  1408  
  1409  	return localVarReturnValue, localVarHttpResponse, nil
  1410  }
  1411  
  1412  /*
  1413  UserSettingsApiService Update Notification Settings
  1414  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.26 (Release 8.2)&lt;/p&gt;&lt;p&gt;Updates notification settings for the current extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1415   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1416   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1417   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1418   * @param notificationSettingsUpdateRequest
  1419  @return NotificationSettings
  1420  */
  1421  func (a *UserSettingsApiService) UpdateNotificationSettings(ctx context.Context, accountId string, extensionId int32, notificationSettingsUpdateRequest NotificationSettingsUpdateRequest) (NotificationSettings, *http.Response, error) {
  1422  	var (
  1423  		localVarHttpMethod   = strings.ToUpper("Put")
  1424  		localVarPostBody     interface{}
  1425  		localVarFormFileName string
  1426  		localVarFileName     string
  1427  		localVarFileBytes    []byte
  1428  		localVarReturnValue  NotificationSettings
  1429  	)
  1430  
  1431  	// create path and map variables
  1432  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings"
  1433  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1434  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1435  
  1436  	localVarHeaderParams := make(map[string]string)
  1437  	localVarQueryParams := url.Values{}
  1438  	localVarFormParams := url.Values{}
  1439  
  1440  	// to determine the Content-Type header
  1441  	localVarHttpContentTypes := []string{"application/json"}
  1442  
  1443  	// set Content-Type header
  1444  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1445  	if localVarHttpContentType != "" {
  1446  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1447  	}
  1448  
  1449  	// to determine the Accept header
  1450  	localVarHttpHeaderAccepts := []string{"application/json"}
  1451  
  1452  	// set Accept header
  1453  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1454  	if localVarHttpHeaderAccept != "" {
  1455  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1456  	}
  1457  	// body params
  1458  	localVarPostBody = &notificationSettingsUpdateRequest
  1459  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1460  	if err != nil {
  1461  		return localVarReturnValue, nil, err
  1462  	}
  1463  
  1464  	localVarHttpResponse, err := a.client.callAPI(r)
  1465  	if err != nil || localVarHttpResponse == nil {
  1466  		return localVarReturnValue, localVarHttpResponse, err
  1467  	}
  1468  
  1469  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1470  	localVarHttpResponse.Body.Close()
  1471  	if err != nil {
  1472  		return localVarReturnValue, localVarHttpResponse, err
  1473  	}
  1474  
  1475  	if localVarHttpResponse.StatusCode >= 300 {
  1476  		newErr := GenericOpenAPIError{
  1477  			body:  localVarBody,
  1478  			error: localVarHttpResponse.Status,
  1479  		}
  1480  		if localVarHttpResponse.StatusCode == 0 {
  1481  			var v NotificationSettings
  1482  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1483  			if err != nil {
  1484  				newErr.error = err.Error()
  1485  				return localVarReturnValue, localVarHttpResponse, newErr
  1486  			}
  1487  			newErr.model = v
  1488  			return localVarReturnValue, localVarHttpResponse, newErr
  1489  		}
  1490  		return localVarReturnValue, localVarHttpResponse, newErr
  1491  	}
  1492  
  1493  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1494  	if err != nil {
  1495  		newErr := GenericOpenAPIError{
  1496  			body:  localVarBody,
  1497  			error: err.Error(),
  1498  		}
  1499  		return localVarReturnValue, localVarHttpResponse, newErr
  1500  	}
  1501  
  1502  	return localVarReturnValue, localVarHttpResponse, nil
  1503  }
  1504  
  1505  /*
  1506  UserSettingsApiService Upload User Profile Image
  1507  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.26 (Release 8.2)&lt;/p&gt;&lt;p&gt;Returns the extension profile image.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
  1508   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1509   * @param extensionId
  1510   * @param accountId
  1511   * @param image
  1512  @return Binary
  1513  */
  1514  func (a *UserSettingsApiService) UploadImageByPostForm(ctx context.Context, extensionId string, accountId string, image *os.File) (Binary, *http.Response, error) {
  1515  	var (
  1516  		localVarHttpMethod   = strings.ToUpper("Post")
  1517  		localVarPostBody     interface{}
  1518  		localVarFormFileName string
  1519  		localVarFileName     string
  1520  		localVarFileBytes    []byte
  1521  		localVarReturnValue  Binary
  1522  	)
  1523  
  1524  	// create path and map variables
  1525  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image"
  1526  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1527  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1528  
  1529  	localVarHeaderParams := make(map[string]string)
  1530  	localVarQueryParams := url.Values{}
  1531  	localVarFormParams := url.Values{}
  1532  
  1533  	// to determine the Content-Type header
  1534  	localVarHttpContentTypes := []string{"multipart/form-data"}
  1535  
  1536  	// set Content-Type header
  1537  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1538  	if localVarHttpContentType != "" {
  1539  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1540  	}
  1541  
  1542  	// to determine the Accept header
  1543  	localVarHttpHeaderAccepts := []string{"application/json"}
  1544  
  1545  	// set Accept header
  1546  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1547  	if localVarHttpHeaderAccept != "" {
  1548  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1549  	}
  1550  	localVarFormFileName = "image"
  1551  	localVarFile := image
  1552  	if localVarFile != nil {
  1553  		fbs, _ := ioutil.ReadAll(localVarFile)
  1554  		localVarFileBytes = fbs
  1555  		localVarFileName = localVarFile.Name()
  1556  		localVarFile.Close()
  1557  	}
  1558  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1559  	if err != nil {
  1560  		return localVarReturnValue, nil, err
  1561  	}
  1562  
  1563  	localVarHttpResponse, err := a.client.callAPI(r)
  1564  	if err != nil || localVarHttpResponse == nil {
  1565  		return localVarReturnValue, localVarHttpResponse, err
  1566  	}
  1567  
  1568  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1569  	localVarHttpResponse.Body.Close()
  1570  	if err != nil {
  1571  		return localVarReturnValue, localVarHttpResponse, err
  1572  	}
  1573  
  1574  	if localVarHttpResponse.StatusCode >= 300 {
  1575  		newErr := GenericOpenAPIError{
  1576  			body:  localVarBody,
  1577  			error: localVarHttpResponse.Status,
  1578  		}
  1579  		if localVarHttpResponse.StatusCode == 0 {
  1580  			var v Binary
  1581  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1582  			if err != nil {
  1583  				newErr.error = err.Error()
  1584  				return localVarReturnValue, localVarHttpResponse, newErr
  1585  			}
  1586  			newErr.model = v
  1587  			return localVarReturnValue, localVarHttpResponse, newErr
  1588  		}
  1589  		return localVarReturnValue, localVarHttpResponse, newErr
  1590  	}
  1591  
  1592  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1593  	if err != nil {
  1594  		newErr := GenericOpenAPIError{
  1595  			body:  localVarBody,
  1596  			error: err.Error(),
  1597  		}
  1598  		return localVarReturnValue, localVarHttpResponse, newErr
  1599  	}
  1600  
  1601  	return localVarReturnValue, localVarHttpResponse, nil
  1602  }
  1603  
  1604  /*
  1605  UserSettingsApiService Update User Profile Image
  1606  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.26 (Release 8.2)&lt;/p&gt;&lt;p&gt;Updates the extension profile image..&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
  1607   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1608   * @param extensionId
  1609   * @param accountId
  1610   * @param optional nil or *UploadImageByPutFormOpts - Optional Parameters:
  1611   * @param "Image" (optional.Interface of *os.File) -
  1612  @return Binary
  1613  */
  1614  
  1615  type UploadImageByPutFormOpts struct {
  1616  	Image optional.Interface
  1617  }
  1618  
  1619  func (a *UserSettingsApiService) UploadImageByPutForm(ctx context.Context, extensionId string, accountId string, localVarOptionals *UploadImageByPutFormOpts) (Binary, *http.Response, error) {
  1620  	var (
  1621  		localVarHttpMethod   = strings.ToUpper("Put")
  1622  		localVarPostBody     interface{}
  1623  		localVarFormFileName string
  1624  		localVarFileName     string
  1625  		localVarFileBytes    []byte
  1626  		localVarReturnValue  Binary
  1627  	)
  1628  
  1629  	// create path and map variables
  1630  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image"
  1631  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1632  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1633  
  1634  	localVarHeaderParams := make(map[string]string)
  1635  	localVarQueryParams := url.Values{}
  1636  	localVarFormParams := url.Values{}
  1637  
  1638  	// to determine the Content-Type header
  1639  	localVarHttpContentTypes := []string{"multipart/form-data"}
  1640  
  1641  	// set Content-Type header
  1642  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1643  	if localVarHttpContentType != "" {
  1644  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1645  	}
  1646  
  1647  	// to determine the Accept header
  1648  	localVarHttpHeaderAccepts := []string{"application/json"}
  1649  
  1650  	// set Accept header
  1651  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1652  	if localVarHttpHeaderAccept != "" {
  1653  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1654  	}
  1655  	localVarFormFileName = "image"
  1656  	var localVarFile *os.File
  1657  	if localVarOptionals != nil && localVarOptionals.Image.IsSet() {
  1658  		localVarFileOk := false
  1659  		localVarFile, localVarFileOk = localVarOptionals.Image.Value().(*os.File)
  1660  		if !localVarFileOk {
  1661  			return localVarReturnValue, nil, reportError("image should be *os.File")
  1662  		}
  1663  	}
  1664  	if localVarFile != nil {
  1665  		fbs, _ := ioutil.ReadAll(localVarFile)
  1666  		localVarFileBytes = fbs
  1667  		localVarFileName = localVarFile.Name()
  1668  		localVarFile.Close()
  1669  	}
  1670  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1671  	if err != nil {
  1672  		return localVarReturnValue, nil, err
  1673  	}
  1674  
  1675  	localVarHttpResponse, err := a.client.callAPI(r)
  1676  	if err != nil || localVarHttpResponse == nil {
  1677  		return localVarReturnValue, localVarHttpResponse, err
  1678  	}
  1679  
  1680  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1681  	localVarHttpResponse.Body.Close()
  1682  	if err != nil {
  1683  		return localVarReturnValue, localVarHttpResponse, err
  1684  	}
  1685  
  1686  	if localVarHttpResponse.StatusCode >= 300 {
  1687  		newErr := GenericOpenAPIError{
  1688  			body:  localVarBody,
  1689  			error: localVarHttpResponse.Status,
  1690  		}
  1691  		if localVarHttpResponse.StatusCode == 0 {
  1692  			var v Binary
  1693  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1694  			if err != nil {
  1695  				newErr.error = err.Error()
  1696  				return localVarReturnValue, localVarHttpResponse, newErr
  1697  			}
  1698  			newErr.model = v
  1699  			return localVarReturnValue, localVarHttpResponse, newErr
  1700  		}
  1701  		return localVarReturnValue, localVarHttpResponse, newErr
  1702  	}
  1703  
  1704  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1705  	if err != nil {
  1706  		newErr := GenericOpenAPIError{
  1707  			body:  localVarBody,
  1708  			error: err.Error(),
  1709  		}
  1710  		return localVarReturnValue, localVarHttpResponse, newErr
  1711  	}
  1712  
  1713  	return localVarReturnValue, localVarHttpResponse, nil
  1714  }
  1715  
  1716  /*
  1717  UserSettingsApiService Validate User Credentials
  1718  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.27 (Release 8.3)&lt;/p&gt;&lt;p&gt;Validates if extension user credentials specified can be applied.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1719   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1720   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1721   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1722   * @param validateExtensionUserCredentials JSON body
  1723  */
  1724  func (a *UserSettingsApiService) ValidateExtensionUserCredentials(ctx context.Context, accountId string, extensionId string, validateExtensionUserCredentials ValidateExtensionUserCredentials) (*http.Response, error) {
  1725  	var (
  1726  		localVarHttpMethod   = strings.ToUpper("Post")
  1727  		localVarPostBody     interface{}
  1728  		localVarFormFileName string
  1729  		localVarFileName     string
  1730  		localVarFileBytes    []byte
  1731  	)
  1732  
  1733  	// create path and map variables
  1734  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/credentials/validate"
  1735  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1736  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1737  
  1738  	localVarHeaderParams := make(map[string]string)
  1739  	localVarQueryParams := url.Values{}
  1740  	localVarFormParams := url.Values{}
  1741  
  1742  	// to determine the Content-Type header
  1743  	localVarHttpContentTypes := []string{"application/json"}
  1744  
  1745  	// set Content-Type header
  1746  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1747  	if localVarHttpContentType != "" {
  1748  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1749  	}
  1750  
  1751  	// to determine the Accept header
  1752  	localVarHttpHeaderAccepts := []string{}
  1753  
  1754  	// set Accept header
  1755  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1756  	if localVarHttpHeaderAccept != "" {
  1757  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1758  	}
  1759  	// body params
  1760  	localVarPostBody = &validateExtensionUserCredentials
  1761  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1762  	if err != nil {
  1763  		return nil, err
  1764  	}
  1765  
  1766  	localVarHttpResponse, err := a.client.callAPI(r)
  1767  	if err != nil || localVarHttpResponse == nil {
  1768  		return localVarHttpResponse, err
  1769  	}
  1770  
  1771  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1772  	localVarHttpResponse.Body.Close()
  1773  	if err != nil {
  1774  		return localVarHttpResponse, err
  1775  	}
  1776  
  1777  	if localVarHttpResponse.StatusCode >= 300 {
  1778  		newErr := GenericOpenAPIError{
  1779  			body:  localVarBody,
  1780  			error: localVarHttpResponse.Status,
  1781  		}
  1782  		return localVarHttpResponse, newErr
  1783  	}
  1784  
  1785  	return localVarHttpResponse, nil
  1786  }
  1787  
  1788  /*
  1789  UserSettingsApiService Verify Extension User Credentials
  1790  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.27 (Release 8.3)&lt;/p&gt;&lt;p&gt;Verifies current extension user credentials.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  1791   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1792   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1793   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1794   * @param verifyExtensionUserCredentials JSON body
  1795  */
  1796  func (a *UserSettingsApiService) VerifyExtensionUserCredentials(ctx context.Context, accountId string, extensionId string, verifyExtensionUserCredentials VerifyExtensionUserCredentials) (*http.Response, error) {
  1797  	var (
  1798  		localVarHttpMethod   = strings.ToUpper("Post")
  1799  		localVarPostBody     interface{}
  1800  		localVarFormFileName string
  1801  		localVarFileName     string
  1802  		localVarFileBytes    []byte
  1803  	)
  1804  
  1805  	// create path and map variables
  1806  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/credentials/verify"
  1807  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1808  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1809  
  1810  	localVarHeaderParams := make(map[string]string)
  1811  	localVarQueryParams := url.Values{}
  1812  	localVarFormParams := url.Values{}
  1813  
  1814  	// to determine the Content-Type header
  1815  	localVarHttpContentTypes := []string{"application/json"}
  1816  
  1817  	// set Content-Type header
  1818  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1819  	if localVarHttpContentType != "" {
  1820  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1821  	}
  1822  
  1823  	// to determine the Accept header
  1824  	localVarHttpHeaderAccepts := []string{}
  1825  
  1826  	// set Accept header
  1827  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1828  	if localVarHttpHeaderAccept != "" {
  1829  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1830  	}
  1831  	// body params
  1832  	localVarPostBody = &verifyExtensionUserCredentials
  1833  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1834  	if err != nil {
  1835  		return nil, err
  1836  	}
  1837  
  1838  	localVarHttpResponse, err := a.client.callAPI(r)
  1839  	if err != nil || localVarHttpResponse == nil {
  1840  		return localVarHttpResponse, err
  1841  	}
  1842  
  1843  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1844  	localVarHttpResponse.Body.Close()
  1845  	if err != nil {
  1846  		return localVarHttpResponse, err
  1847  	}
  1848  
  1849  	if localVarHttpResponse.StatusCode >= 300 {
  1850  		newErr := GenericOpenAPIError{
  1851  			body:  localVarBody,
  1852  			error: localVarHttpResponse.Status,
  1853  		}
  1854  		return localVarHttpResponse, newErr
  1855  	}
  1856  
  1857  	return localVarHttpResponse, nil
  1858  }