github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_call_handling_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 CallHandlingSettingsApiService service
    29  
    30  /*
    31  CallHandlingSettingsApiService Add Blocked Numbers
    32  &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;
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
    35   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
    36   * @param optional nil or *BlockNumberOpts - Optional Parameters:
    37   * @param "BlockedNumberInfo" (optional.Interface of BlockedNumberInfo) -
    38  @return BlockedNumberInfo
    39  */
    40  
    41  type BlockNumberOpts struct {
    42  	BlockedNumberInfo optional.Interface
    43  }
    44  
    45  func (a *CallHandlingSettingsApiService) BlockNumber(ctx context.Context, accountId string, extensionId string, localVarOptionals *BlockNumberOpts) (BlockedNumberInfo, *http.Response, error) {
    46  	var (
    47  		localVarHttpMethod   = strings.ToUpper("Post")
    48  		localVarPostBody     interface{}
    49  		localVarFormFileName string
    50  		localVarFileName     string
    51  		localVarFileBytes    []byte
    52  		localVarReturnValue  BlockedNumberInfo
    53  	)
    54  
    55  	// create path and map variables
    56  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number"
    57  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    58  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
    59  
    60  	localVarHeaderParams := make(map[string]string)
    61  	localVarQueryParams := url.Values{}
    62  	localVarFormParams := url.Values{}
    63  
    64  	// to determine the Content-Type header
    65  	localVarHttpContentTypes := []string{"application/json"}
    66  
    67  	// set Content-Type header
    68  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    69  	if localVarHttpContentType != "" {
    70  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    71  	}
    72  
    73  	// to determine the Accept header
    74  	localVarHttpHeaderAccepts := []string{"application/json"}
    75  
    76  	// set Accept header
    77  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    78  	if localVarHttpHeaderAccept != "" {
    79  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    80  	}
    81  	// body params
    82  	if localVarOptionals != nil && localVarOptionals.BlockedNumberInfo.IsSet() {
    83  		localVarOptionalBlockedNumberInfo, localVarOptionalBlockedNumberInfook := localVarOptionals.BlockedNumberInfo.Value().(BlockedNumberInfo)
    84  		if !localVarOptionalBlockedNumberInfook {
    85  			return localVarReturnValue, nil, reportError("blockedNumberInfo should be BlockedNumberInfo")
    86  		}
    87  		localVarPostBody = &localVarOptionalBlockedNumberInfo
    88  	}
    89  
    90  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    91  	if err != nil {
    92  		return localVarReturnValue, nil, err
    93  	}
    94  
    95  	localVarHttpResponse, err := a.client.callAPI(r)
    96  	if err != nil || localVarHttpResponse == nil {
    97  		return localVarReturnValue, localVarHttpResponse, err
    98  	}
    99  
   100  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   101  	localVarHttpResponse.Body.Close()
   102  	if err != nil {
   103  		return localVarReturnValue, localVarHttpResponse, err
   104  	}
   105  
   106  	if localVarHttpResponse.StatusCode >= 300 {
   107  		newErr := GenericOpenAPIError{
   108  			body:  localVarBody,
   109  			error: localVarHttpResponse.Status,
   110  		}
   111  		if localVarHttpResponse.StatusCode == 0 {
   112  			var v BlockedNumberInfo
   113  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   114  			if err != nil {
   115  				newErr.error = err.Error()
   116  				return localVarReturnValue, localVarHttpResponse, newErr
   117  			}
   118  			newErr.model = v
   119  			return localVarReturnValue, localVarHttpResponse, newErr
   120  		}
   121  		return localVarReturnValue, localVarHttpResponse, newErr
   122  	}
   123  
   124  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   125  	if err != nil {
   126  		newErr := GenericOpenAPIError{
   127  			body:  localVarBody,
   128  			error: err.Error(),
   129  		}
   130  		return localVarReturnValue, localVarHttpResponse, newErr
   131  	}
   132  
   133  	return localVarReturnValue, localVarHttpResponse, nil
   134  }
   135  
   136  /*
   137  CallHandlingSettingsApiService Create Custom Call Handling Rules
   138  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.24 (Release 8.0)&lt;/p&gt;&lt;p&gt;Creates a custom answering rule for a particular caller ID.&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;
   139   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   140   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   141   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   142   * @param createAnsweringRuleRequest JSON body
   143  @return AnsweringRuleInfo
   144  */
   145  func (a *CallHandlingSettingsApiService) CreateAnsweringRuleInfo(ctx context.Context, accountId string, extensionId string, createAnsweringRuleRequest CreateAnsweringRuleRequest) (AnsweringRuleInfo, *http.Response, error) {
   146  	var (
   147  		localVarHttpMethod   = strings.ToUpper("Post")
   148  		localVarPostBody     interface{}
   149  		localVarFormFileName string
   150  		localVarFileName     string
   151  		localVarFileBytes    []byte
   152  		localVarReturnValue  AnsweringRuleInfo
   153  	)
   154  
   155  	// create path and map variables
   156  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule"
   157  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   158  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   159  
   160  	localVarHeaderParams := make(map[string]string)
   161  	localVarQueryParams := url.Values{}
   162  	localVarFormParams := url.Values{}
   163  
   164  	// to determine the Content-Type header
   165  	localVarHttpContentTypes := []string{"application/json"}
   166  
   167  	// set Content-Type header
   168  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   169  	if localVarHttpContentType != "" {
   170  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   171  	}
   172  
   173  	// to determine the Accept header
   174  	localVarHttpHeaderAccepts := []string{"application/json"}
   175  
   176  	// set Accept header
   177  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   178  	if localVarHttpHeaderAccept != "" {
   179  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   180  	}
   181  	// body params
   182  	localVarPostBody = &createAnsweringRuleRequest
   183  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   184  	if err != nil {
   185  		return localVarReturnValue, nil, err
   186  	}
   187  
   188  	localVarHttpResponse, err := a.client.callAPI(r)
   189  	if err != nil || localVarHttpResponse == nil {
   190  		return localVarReturnValue, localVarHttpResponse, err
   191  	}
   192  
   193  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   194  	localVarHttpResponse.Body.Close()
   195  	if err != nil {
   196  		return localVarReturnValue, localVarHttpResponse, err
   197  	}
   198  
   199  	if localVarHttpResponse.StatusCode >= 300 {
   200  		newErr := GenericOpenAPIError{
   201  			body:  localVarBody,
   202  			error: localVarHttpResponse.Status,
   203  		}
   204  		if localVarHttpResponse.StatusCode == 0 {
   205  			var v AnsweringRuleInfo
   206  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   207  			if err != nil {
   208  				newErr.error = err.Error()
   209  				return localVarReturnValue, localVarHttpResponse, newErr
   210  			}
   211  			newErr.model = v
   212  			return localVarReturnValue, localVarHttpResponse, newErr
   213  		}
   214  		return localVarReturnValue, localVarHttpResponse, newErr
   215  	}
   216  
   217  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   218  	if err != nil {
   219  		newErr := GenericOpenAPIError{
   220  			body:  localVarBody,
   221  			error: err.Error(),
   222  		}
   223  		return localVarReturnValue, localVarHttpResponse, newErr
   224  	}
   225  
   226  	return localVarReturnValue, localVarHttpResponse, nil
   227  }
   228  
   229  /*
   230  CallHandlingSettingsApiService Create Company Call Handling Rule
   231  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Creates a company answering rule for a particular caller ID.&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;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&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;
   232   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   233   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   234   * @param companyAnsweringRuleRequest JSON body
   235  @return CompanyAnsweringRuleInfo
   236  */
   237  func (a *CallHandlingSettingsApiService) CreateCompanyAnsweringRuleInfo(ctx context.Context, accountId string, companyAnsweringRuleRequest CompanyAnsweringRuleRequest) (CompanyAnsweringRuleInfo, *http.Response, error) {
   238  	var (
   239  		localVarHttpMethod   = strings.ToUpper("Post")
   240  		localVarPostBody     interface{}
   241  		localVarFormFileName string
   242  		localVarFileName     string
   243  		localVarFileBytes    []byte
   244  		localVarReturnValue  CompanyAnsweringRuleInfo
   245  	)
   246  
   247  	// create path and map variables
   248  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule"
   249  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   250  
   251  	localVarHeaderParams := make(map[string]string)
   252  	localVarQueryParams := url.Values{}
   253  	localVarFormParams := url.Values{}
   254  
   255  	// to determine the Content-Type header
   256  	localVarHttpContentTypes := []string{"application/json"}
   257  
   258  	// set Content-Type header
   259  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   260  	if localVarHttpContentType != "" {
   261  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   262  	}
   263  
   264  	// to determine the Accept header
   265  	localVarHttpHeaderAccepts := []string{"application/json"}
   266  
   267  	// set Accept header
   268  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   269  	if localVarHttpHeaderAccept != "" {
   270  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   271  	}
   272  	// body params
   273  	localVarPostBody = &companyAnsweringRuleRequest
   274  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   275  	if err != nil {
   276  		return localVarReturnValue, nil, err
   277  	}
   278  
   279  	localVarHttpResponse, err := a.client.callAPI(r)
   280  	if err != nil || localVarHttpResponse == nil {
   281  		return localVarReturnValue, localVarHttpResponse, err
   282  	}
   283  
   284  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   285  	localVarHttpResponse.Body.Close()
   286  	if err != nil {
   287  		return localVarReturnValue, localVarHttpResponse, err
   288  	}
   289  
   290  	if localVarHttpResponse.StatusCode >= 300 {
   291  		newErr := GenericOpenAPIError{
   292  			body:  localVarBody,
   293  			error: localVarHttpResponse.Status,
   294  		}
   295  		if localVarHttpResponse.StatusCode == 0 {
   296  			var v CompanyAnsweringRuleInfo
   297  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   298  			if err != nil {
   299  				newErr.error = err.Error()
   300  				return localVarReturnValue, localVarHttpResponse, newErr
   301  			}
   302  			newErr.model = v
   303  			return localVarReturnValue, localVarHttpResponse, newErr
   304  		}
   305  		return localVarReturnValue, localVarHttpResponse, newErr
   306  	}
   307  
   308  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   309  	if err != nil {
   310  		newErr := GenericOpenAPIError{
   311  			body:  localVarBody,
   312  			error: err.Error(),
   313  		}
   314  		return localVarReturnValue, localVarHttpResponse, newErr
   315  	}
   316  
   317  	return localVarReturnValue, localVarHttpResponse, nil
   318  }
   319  
   320  /*
   321  CallHandlingSettingsApiService Create Forwarding Numbers
   322  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.12 (Release 6.4)&lt;/p&gt;&lt;p&gt;Adds a new forwarding number to the forwarding number list.&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 user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)&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;
   323   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   324   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   325   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   326   * @param createForwardingNumberRequest JSON body
   327  @return ForwardingNumberInfo
   328  */
   329  func (a *CallHandlingSettingsApiService) CreateExtensionForwardingNumber(ctx context.Context, accountId string, extensionId string, createForwardingNumberRequest CreateForwardingNumberRequest) (ForwardingNumberInfo, *http.Response, error) {
   330  	var (
   331  		localVarHttpMethod   = strings.ToUpper("Post")
   332  		localVarPostBody     interface{}
   333  		localVarFormFileName string
   334  		localVarFileName     string
   335  		localVarFileBytes    []byte
   336  		localVarReturnValue  ForwardingNumberInfo
   337  	)
   338  
   339  	// create path and map variables
   340  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number"
   341  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   342  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   343  
   344  	localVarHeaderParams := make(map[string]string)
   345  	localVarQueryParams := url.Values{}
   346  	localVarFormParams := url.Values{}
   347  
   348  	// to determine the Content-Type header
   349  	localVarHttpContentTypes := []string{"application/json"}
   350  
   351  	// set Content-Type header
   352  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   353  	if localVarHttpContentType != "" {
   354  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   355  	}
   356  
   357  	// to determine the Accept header
   358  	localVarHttpHeaderAccepts := []string{"application/json"}
   359  
   360  	// set Accept header
   361  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   362  	if localVarHttpHeaderAccept != "" {
   363  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   364  	}
   365  	// body params
   366  	localVarPostBody = &createForwardingNumberRequest
   367  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   368  	if err != nil {
   369  		return localVarReturnValue, nil, err
   370  	}
   371  
   372  	localVarHttpResponse, err := a.client.callAPI(r)
   373  	if err != nil || localVarHttpResponse == nil {
   374  		return localVarReturnValue, localVarHttpResponse, err
   375  	}
   376  
   377  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   378  	localVarHttpResponse.Body.Close()
   379  	if err != nil {
   380  		return localVarReturnValue, localVarHttpResponse, err
   381  	}
   382  
   383  	if localVarHttpResponse.StatusCode >= 300 {
   384  		newErr := GenericOpenAPIError{
   385  			body:  localVarBody,
   386  			error: localVarHttpResponse.Status,
   387  		}
   388  		if localVarHttpResponse.StatusCode == 0 {
   389  			var v ForwardingNumberInfo
   390  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   391  			if err != nil {
   392  				newErr.error = err.Error()
   393  				return localVarReturnValue, localVarHttpResponse, newErr
   394  			}
   395  			newErr.model = v
   396  			return localVarReturnValue, localVarHttpResponse, newErr
   397  		}
   398  		return localVarReturnValue, localVarHttpResponse, newErr
   399  	}
   400  
   401  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   402  	if err != nil {
   403  		newErr := GenericOpenAPIError{
   404  			body:  localVarBody,
   405  			error: err.Error(),
   406  		}
   407  		return localVarReturnValue, localVarHttpResponse, newErr
   408  	}
   409  
   410  	return localVarReturnValue, localVarHttpResponse, nil
   411  }
   412  
   413  /*
   414  CallHandlingSettingsApiService Create User Custom Greeting
   415   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   416   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   417   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   418   * @param optional nil or *CreateGreetingOpts - Optional Parameters:
   419   * @param "CustomGreetingRequest" (optional.Interface of CustomGreetingRequest) -
   420  @return CustomCompanyGreetingInfo
   421  */
   422  
   423  type CreateGreetingOpts struct {
   424  	CustomGreetingRequest optional.Interface
   425  }
   426  
   427  func (a *CallHandlingSettingsApiService) CreateGreeting(ctx context.Context, accountId string, extensionId string, localVarOptionals *CreateGreetingOpts) (CustomCompanyGreetingInfo, *http.Response, error) {
   428  	var (
   429  		localVarHttpMethod   = strings.ToUpper("Post")
   430  		localVarPostBody     interface{}
   431  		localVarFormFileName string
   432  		localVarFileName     string
   433  		localVarFileBytes    []byte
   434  		localVarReturnValue  CustomCompanyGreetingInfo
   435  	)
   436  
   437  	// create path and map variables
   438  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/greeting"
   439  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   440  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   441  
   442  	localVarHeaderParams := make(map[string]string)
   443  	localVarQueryParams := url.Values{}
   444  	localVarFormParams := url.Values{}
   445  
   446  	// to determine the Content-Type header
   447  	localVarHttpContentTypes := []string{"application/json"}
   448  
   449  	// set Content-Type header
   450  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   451  	if localVarHttpContentType != "" {
   452  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   453  	}
   454  
   455  	// to determine the Accept header
   456  	localVarHttpHeaderAccepts := []string{"application/json"}
   457  
   458  	// set Accept header
   459  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   460  	if localVarHttpHeaderAccept != "" {
   461  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   462  	}
   463  	// body params
   464  	if localVarOptionals != nil && localVarOptionals.CustomGreetingRequest.IsSet() {
   465  		localVarOptionalCustomGreetingRequest, localVarOptionalCustomGreetingRequestok := localVarOptionals.CustomGreetingRequest.Value().(CustomGreetingRequest)
   466  		if !localVarOptionalCustomGreetingRequestok {
   467  			return localVarReturnValue, nil, reportError("customGreetingRequest should be CustomGreetingRequest")
   468  		}
   469  		localVarPostBody = &localVarOptionalCustomGreetingRequest
   470  	}
   471  
   472  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   473  	if err != nil {
   474  		return localVarReturnValue, nil, err
   475  	}
   476  
   477  	localVarHttpResponse, err := a.client.callAPI(r)
   478  	if err != nil || localVarHttpResponse == nil {
   479  		return localVarReturnValue, localVarHttpResponse, err
   480  	}
   481  
   482  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   483  	localVarHttpResponse.Body.Close()
   484  	if err != nil {
   485  		return localVarReturnValue, localVarHttpResponse, err
   486  	}
   487  
   488  	if localVarHttpResponse.StatusCode >= 300 {
   489  		newErr := GenericOpenAPIError{
   490  			body:  localVarBody,
   491  			error: localVarHttpResponse.Status,
   492  		}
   493  		if localVarHttpResponse.StatusCode == 0 {
   494  			var v CustomCompanyGreetingInfo
   495  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   496  			if err != nil {
   497  				newErr.error = err.Error()
   498  				return localVarReturnValue, localVarHttpResponse, newErr
   499  			}
   500  			newErr.model = v
   501  			return localVarReturnValue, localVarHttpResponse, newErr
   502  		}
   503  		return localVarReturnValue, localVarHttpResponse, newErr
   504  	}
   505  
   506  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   507  	if err != nil {
   508  		newErr := GenericOpenAPIError{
   509  			body:  localVarBody,
   510  			error: err.Error(),
   511  		}
   512  		return localVarReturnValue, localVarHttpResponse, newErr
   513  	}
   514  
   515  	return localVarReturnValue, localVarHttpResponse, nil
   516  }
   517  
   518  /*
   519  CallHandlingSettingsApiService Create IVR Menu
   520  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Creates a company IVR menu&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;API Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
   521   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   522   * @param accountId
   523   * @param ivrMenuInfo JSON body
   524  @return IvrMenuInfo
   525  */
   526  func (a *CallHandlingSettingsApiService) CreateIVRMenu(ctx context.Context, accountId string, ivrMenuInfo IvrMenuInfo) (IvrMenuInfo, *http.Response, error) {
   527  	var (
   528  		localVarHttpMethod   = strings.ToUpper("Post")
   529  		localVarPostBody     interface{}
   530  		localVarFormFileName string
   531  		localVarFileName     string
   532  		localVarFileBytes    []byte
   533  		localVarReturnValue  IvrMenuInfo
   534  	)
   535  
   536  	// create path and map variables
   537  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-menus"
   538  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   539  
   540  	localVarHeaderParams := make(map[string]string)
   541  	localVarQueryParams := url.Values{}
   542  	localVarFormParams := url.Values{}
   543  
   544  	// to determine the Content-Type header
   545  	localVarHttpContentTypes := []string{"application/json"}
   546  
   547  	// set Content-Type header
   548  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   549  	if localVarHttpContentType != "" {
   550  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   551  	}
   552  
   553  	// to determine the Accept header
   554  	localVarHttpHeaderAccepts := []string{"application/json"}
   555  
   556  	// set Accept header
   557  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   558  	if localVarHttpHeaderAccept != "" {
   559  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   560  	}
   561  	// body params
   562  	localVarPostBody = &ivrMenuInfo
   563  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   564  	if err != nil {
   565  		return localVarReturnValue, nil, err
   566  	}
   567  
   568  	localVarHttpResponse, err := a.client.callAPI(r)
   569  	if err != nil || localVarHttpResponse == nil {
   570  		return localVarReturnValue, localVarHttpResponse, err
   571  	}
   572  
   573  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   574  	localVarHttpResponse.Body.Close()
   575  	if err != nil {
   576  		return localVarReturnValue, localVarHttpResponse, err
   577  	}
   578  
   579  	if localVarHttpResponse.StatusCode >= 300 {
   580  		newErr := GenericOpenAPIError{
   581  			body:  localVarBody,
   582  			error: localVarHttpResponse.Status,
   583  		}
   584  		if localVarHttpResponse.StatusCode == 0 {
   585  			var v IvrMenuInfo
   586  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   587  			if err != nil {
   588  				newErr.error = err.Error()
   589  				return localVarReturnValue, localVarHttpResponse, newErr
   590  			}
   591  			newErr.model = v
   592  			return localVarReturnValue, localVarHttpResponse, newErr
   593  		}
   594  		return localVarReturnValue, localVarHttpResponse, newErr
   595  	}
   596  
   597  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   598  	if err != nil {
   599  		newErr := GenericOpenAPIError{
   600  			body:  localVarBody,
   601  			error: err.Error(),
   602  		}
   603  		return localVarReturnValue, localVarHttpResponse, newErr
   604  	}
   605  
   606  	return localVarReturnValue, localVarHttpResponse, nil
   607  }
   608  
   609  /*
   610  CallHandlingSettingsApiService Create IVR Prompt
   611  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Creates an IVR prompt.&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;Heavy&lt;/p&gt;
   612   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   613   * @param accountId
   614   * @param attachment Audio file that will be used as a prompt. Attachment cannot be empty, only audio files are supported
   615   * @param optional nil or *CreatePromptsOpts - Optional Parameters:
   616   * @param "Name" (optional.String) -  Description of file contents.
   617  @return PromptInfo
   618  */
   619  
   620  type CreatePromptsOpts struct {
   621  	Name optional.String
   622  }
   623  
   624  func (a *CallHandlingSettingsApiService) CreatePrompts(ctx context.Context, accountId string, attachment *os.File, localVarOptionals *CreatePromptsOpts) (PromptInfo, *http.Response, error) {
   625  	var (
   626  		localVarHttpMethod   = strings.ToUpper("Post")
   627  		localVarPostBody     interface{}
   628  		localVarFormFileName string
   629  		localVarFileName     string
   630  		localVarFileBytes    []byte
   631  		localVarReturnValue  PromptInfo
   632  	)
   633  
   634  	// create path and map variables
   635  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts"
   636  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   637  
   638  	localVarHeaderParams := make(map[string]string)
   639  	localVarQueryParams := url.Values{}
   640  	localVarFormParams := url.Values{}
   641  
   642  	// to determine the Content-Type header
   643  	localVarHttpContentTypes := []string{"multipart/form-data"}
   644  
   645  	// set Content-Type header
   646  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   647  	if localVarHttpContentType != "" {
   648  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   649  	}
   650  
   651  	// to determine the Accept header
   652  	localVarHttpHeaderAccepts := []string{"application/json"}
   653  
   654  	// set Accept header
   655  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   656  	if localVarHttpHeaderAccept != "" {
   657  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   658  	}
   659  	localVarFormFileName = "attachment"
   660  	localVarFile := attachment
   661  	if localVarFile != nil {
   662  		fbs, _ := ioutil.ReadAll(localVarFile)
   663  		localVarFileBytes = fbs
   664  		localVarFileName = localVarFile.Name()
   665  		localVarFile.Close()
   666  	}
   667  	if localVarOptionals != nil && localVarOptionals.Name.IsSet() {
   668  		localVarFormParams.Add("name", parameterToString(localVarOptionals.Name.Value(), ""))
   669  	}
   670  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   671  	if err != nil {
   672  		return localVarReturnValue, nil, err
   673  	}
   674  
   675  	localVarHttpResponse, err := a.client.callAPI(r)
   676  	if err != nil || localVarHttpResponse == nil {
   677  		return localVarReturnValue, localVarHttpResponse, err
   678  	}
   679  
   680  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   681  	localVarHttpResponse.Body.Close()
   682  	if err != nil {
   683  		return localVarReturnValue, localVarHttpResponse, err
   684  	}
   685  
   686  	if localVarHttpResponse.StatusCode >= 300 {
   687  		newErr := GenericOpenAPIError{
   688  			body:  localVarBody,
   689  			error: localVarHttpResponse.Status,
   690  		}
   691  		if localVarHttpResponse.StatusCode == 0 {
   692  			var v PromptInfo
   693  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   694  			if err != nil {
   695  				newErr.error = err.Error()
   696  				return localVarReturnValue, localVarHttpResponse, newErr
   697  			}
   698  			newErr.model = v
   699  			return localVarReturnValue, localVarHttpResponse, newErr
   700  		}
   701  		return localVarReturnValue, localVarHttpResponse, newErr
   702  	}
   703  
   704  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   705  	if err != nil {
   706  		newErr := GenericOpenAPIError{
   707  			body:  localVarBody,
   708  			error: err.Error(),
   709  		}
   710  		return localVarReturnValue, localVarHttpResponse, newErr
   711  	}
   712  
   713  	return localVarReturnValue, localVarHttpResponse, nil
   714  }
   715  
   716  /*
   717  CallHandlingSettingsApiService Delete Call Handling Rule
   718   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   719   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   720   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   721   * @param ruleId Internal identifier of an answering rule
   722  */
   723  func (a *CallHandlingSettingsApiService) DeleteAnsweringRule(ctx context.Context, accountId string, extensionId string, ruleId string) (*http.Response, error) {
   724  	var (
   725  		localVarHttpMethod   = strings.ToUpper("Delete")
   726  		localVarPostBody     interface{}
   727  		localVarFormFileName string
   728  		localVarFileName     string
   729  		localVarFileBytes    []byte
   730  	)
   731  
   732  	// create path and map variables
   733  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}"
   734  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   735  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   736  	localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1)
   737  
   738  	localVarHeaderParams := make(map[string]string)
   739  	localVarQueryParams := url.Values{}
   740  	localVarFormParams := url.Values{}
   741  
   742  	// to determine the Content-Type header
   743  	localVarHttpContentTypes := []string{}
   744  
   745  	// set Content-Type header
   746  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   747  	if localVarHttpContentType != "" {
   748  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   749  	}
   750  
   751  	// to determine the Accept header
   752  	localVarHttpHeaderAccepts := []string{}
   753  
   754  	// set Accept header
   755  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   756  	if localVarHttpHeaderAccept != "" {
   757  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   758  	}
   759  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   760  	if err != nil {
   761  		return nil, err
   762  	}
   763  
   764  	localVarHttpResponse, err := a.client.callAPI(r)
   765  	if err != nil || localVarHttpResponse == nil {
   766  		return localVarHttpResponse, err
   767  	}
   768  
   769  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   770  	localVarHttpResponse.Body.Close()
   771  	if err != nil {
   772  		return localVarHttpResponse, err
   773  	}
   774  
   775  	if localVarHttpResponse.StatusCode >= 300 {
   776  		newErr := GenericOpenAPIError{
   777  			body:  localVarBody,
   778  			error: localVarHttpResponse.Status,
   779  		}
   780  		return localVarHttpResponse, newErr
   781  	}
   782  
   783  	return localVarHttpResponse, nil
   784  }
   785  
   786  /*
   787  CallHandlingSettingsApiService Delete Forwarding Number
   788  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.24 (Release 8.0)&lt;/p&gt;&lt;p&gt;Deletes a forwarding number from the forwarding number list by its ID.&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 user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)&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;
   789   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   790   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   791   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   792   * @param forwardingNumberId Internal identifier of a forwarding number
   793  */
   794  func (a *CallHandlingSettingsApiService) DeleteExtensionForwardingNumber(ctx context.Context, accountId string, extensionId string, forwardingNumberId string) (*http.Response, error) {
   795  	var (
   796  		localVarHttpMethod   = strings.ToUpper("Delete")
   797  		localVarPostBody     interface{}
   798  		localVarFormFileName string
   799  		localVarFileName     string
   800  		localVarFileBytes    []byte
   801  	)
   802  
   803  	// create path and map variables
   804  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}"
   805  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   806  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   807  	localVarPath = strings.Replace(localVarPath, "{"+"forwardingNumberId"+"}", fmt.Sprintf("%v", forwardingNumberId), -1)
   808  
   809  	localVarHeaderParams := make(map[string]string)
   810  	localVarQueryParams := url.Values{}
   811  	localVarFormParams := url.Values{}
   812  
   813  	// to determine the Content-Type header
   814  	localVarHttpContentTypes := []string{}
   815  
   816  	// set Content-Type header
   817  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   818  	if localVarHttpContentType != "" {
   819  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   820  	}
   821  
   822  	// to determine the Accept header
   823  	localVarHttpHeaderAccepts := []string{}
   824  
   825  	// set Accept header
   826  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   827  	if localVarHttpHeaderAccept != "" {
   828  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   829  	}
   830  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   831  	if err != nil {
   832  		return nil, err
   833  	}
   834  
   835  	localVarHttpResponse, err := a.client.callAPI(r)
   836  	if err != nil || localVarHttpResponse == nil {
   837  		return localVarHttpResponse, err
   838  	}
   839  
   840  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   841  	localVarHttpResponse.Body.Close()
   842  	if err != nil {
   843  		return localVarHttpResponse, err
   844  	}
   845  
   846  	if localVarHttpResponse.StatusCode >= 300 {
   847  		newErr := GenericOpenAPIError{
   848  			body:  localVarBody,
   849  			error: localVarHttpResponse.Status,
   850  		}
   851  		return localVarHttpResponse, newErr
   852  	}
   853  
   854  	return localVarHttpResponse, nil
   855  }
   856  
   857  /*
   858  CallHandlingSettingsApiService Delete IVR Prompt
   859  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Deletes an IVR prompt by ID&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 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;Heavy&lt;/p&gt;
   860   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   861   * @param accountId
   862   * @param promptId
   863  */
   864  func (a *CallHandlingSettingsApiService) DeleteIVRPrompt(ctx context.Context, accountId string, promptId string) (*http.Response, error) {
   865  	var (
   866  		localVarHttpMethod   = strings.ToUpper("Delete")
   867  		localVarPostBody     interface{}
   868  		localVarFormFileName string
   869  		localVarFileName     string
   870  		localVarFileBytes    []byte
   871  	)
   872  
   873  	// create path and map variables
   874  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}"
   875  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   876  	localVarPath = strings.Replace(localVarPath, "{"+"promptId"+"}", fmt.Sprintf("%v", promptId), -1)
   877  
   878  	localVarHeaderParams := make(map[string]string)
   879  	localVarQueryParams := url.Values{}
   880  	localVarFormParams := url.Values{}
   881  
   882  	// to determine the Content-Type header
   883  	localVarHttpContentTypes := []string{}
   884  
   885  	// set Content-Type header
   886  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   887  	if localVarHttpContentType != "" {
   888  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   889  	}
   890  
   891  	// to determine the Accept header
   892  	localVarHttpHeaderAccepts := []string{}
   893  
   894  	// set Accept header
   895  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   896  	if localVarHttpHeaderAccept != "" {
   897  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   898  	}
   899  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   900  	if err != nil {
   901  		return nil, err
   902  	}
   903  
   904  	localVarHttpResponse, err := a.client.callAPI(r)
   905  	if err != nil || localVarHttpResponse == nil {
   906  		return localVarHttpResponse, err
   907  	}
   908  
   909  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   910  	localVarHttpResponse.Body.Close()
   911  	if err != nil {
   912  		return localVarHttpResponse, err
   913  	}
   914  
   915  	if localVarHttpResponse.StatusCode >= 300 {
   916  		newErr := GenericOpenAPIError{
   917  			body:  localVarBody,
   918  			error: localVarHttpResponse.Status,
   919  		}
   920  		return localVarHttpResponse, newErr
   921  	}
   922  
   923  	return localVarHttpResponse, nil
   924  }
   925  
   926  /*
   927  CallHandlingSettingsApiService Create Custom Company Greeting
   928   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   929   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   930   * @param customCompanyGreetingRequest JSON body
   931  @return CustomCompanyGreetingInfo
   932  */
   933  func (a *CallHandlingSettingsApiService) GetCompanyGreeting(ctx context.Context, accountId string, customCompanyGreetingRequest CustomCompanyGreetingRequest) (CustomCompanyGreetingInfo, *http.Response, error) {
   934  	var (
   935  		localVarHttpMethod   = strings.ToUpper("Post")
   936  		localVarPostBody     interface{}
   937  		localVarFormFileName string
   938  		localVarFileName     string
   939  		localVarFileBytes    []byte
   940  		localVarReturnValue  CustomCompanyGreetingInfo
   941  	)
   942  
   943  	// create path and map variables
   944  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/greeting"
   945  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   946  
   947  	localVarHeaderParams := make(map[string]string)
   948  	localVarQueryParams := url.Values{}
   949  	localVarFormParams := url.Values{}
   950  
   951  	// to determine the Content-Type header
   952  	localVarHttpContentTypes := []string{"application/json"}
   953  
   954  	// set Content-Type header
   955  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   956  	if localVarHttpContentType != "" {
   957  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   958  	}
   959  
   960  	// to determine the Accept header
   961  	localVarHttpHeaderAccepts := []string{"application/json"}
   962  
   963  	// set Accept header
   964  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   965  	if localVarHttpHeaderAccept != "" {
   966  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   967  	}
   968  	// body params
   969  	localVarPostBody = &customCompanyGreetingRequest
   970  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   971  	if err != nil {
   972  		return localVarReturnValue, nil, err
   973  	}
   974  
   975  	localVarHttpResponse, err := a.client.callAPI(r)
   976  	if err != nil || localVarHttpResponse == nil {
   977  		return localVarReturnValue, localVarHttpResponse, err
   978  	}
   979  
   980  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   981  	localVarHttpResponse.Body.Close()
   982  	if err != nil {
   983  		return localVarReturnValue, localVarHttpResponse, err
   984  	}
   985  
   986  	if localVarHttpResponse.StatusCode >= 300 {
   987  		newErr := GenericOpenAPIError{
   988  			body:  localVarBody,
   989  			error: localVarHttpResponse.Status,
   990  		}
   991  		if localVarHttpResponse.StatusCode == 0 {
   992  			var v CustomCompanyGreetingInfo
   993  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   994  			if err != nil {
   995  				newErr.error = err.Error()
   996  				return localVarReturnValue, localVarHttpResponse, newErr
   997  			}
   998  			newErr.model = v
   999  			return localVarReturnValue, localVarHttpResponse, newErr
  1000  		}
  1001  		return localVarReturnValue, localVarHttpResponse, newErr
  1002  	}
  1003  
  1004  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1005  	if err != nil {
  1006  		newErr := GenericOpenAPIError{
  1007  			body:  localVarBody,
  1008  			error: err.Error(),
  1009  		}
  1010  		return localVarReturnValue, localVarHttpResponse, newErr
  1011  	}
  1012  
  1013  	return localVarReturnValue, localVarHttpResponse, nil
  1014  }
  1015  
  1016  /*
  1017  CallHandlingSettingsApiService Get Forwarding Number
  1018   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1019   * @param forwardingNumberId
  1020   * @param extensionId
  1021   * @param accountId
  1022  @return ForwardingNumberResource
  1023  */
  1024  func (a *CallHandlingSettingsApiService) GetForwardingNumber(ctx context.Context, forwardingNumberId string, extensionId string, accountId string) (ForwardingNumberResource, *http.Response, error) {
  1025  	var (
  1026  		localVarHttpMethod   = strings.ToUpper("Get")
  1027  		localVarPostBody     interface{}
  1028  		localVarFormFileName string
  1029  		localVarFileName     string
  1030  		localVarFileBytes    []byte
  1031  		localVarReturnValue  ForwardingNumberResource
  1032  	)
  1033  
  1034  	// create path and map variables
  1035  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}"
  1036  	localVarPath = strings.Replace(localVarPath, "{"+"forwardingNumberId"+"}", fmt.Sprintf("%v", forwardingNumberId), -1)
  1037  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1038  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1039  
  1040  	localVarHeaderParams := make(map[string]string)
  1041  	localVarQueryParams := url.Values{}
  1042  	localVarFormParams := url.Values{}
  1043  
  1044  	// to determine the Content-Type header
  1045  	localVarHttpContentTypes := []string{}
  1046  
  1047  	// set Content-Type header
  1048  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1049  	if localVarHttpContentType != "" {
  1050  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1051  	}
  1052  
  1053  	// to determine the Accept header
  1054  	localVarHttpHeaderAccepts := []string{"application/json"}
  1055  
  1056  	// set Accept header
  1057  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1058  	if localVarHttpHeaderAccept != "" {
  1059  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1060  	}
  1061  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1062  	if err != nil {
  1063  		return localVarReturnValue, nil, err
  1064  	}
  1065  
  1066  	localVarHttpResponse, err := a.client.callAPI(r)
  1067  	if err != nil || localVarHttpResponse == nil {
  1068  		return localVarReturnValue, localVarHttpResponse, err
  1069  	}
  1070  
  1071  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1072  	localVarHttpResponse.Body.Close()
  1073  	if err != nil {
  1074  		return localVarReturnValue, localVarHttpResponse, err
  1075  	}
  1076  
  1077  	if localVarHttpResponse.StatusCode >= 300 {
  1078  		newErr := GenericOpenAPIError{
  1079  			body:  localVarBody,
  1080  			error: localVarHttpResponse.Status,
  1081  		}
  1082  		if localVarHttpResponse.StatusCode == 0 {
  1083  			var v ForwardingNumberResource
  1084  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1085  			if err != nil {
  1086  				newErr.error = err.Error()
  1087  				return localVarReturnValue, localVarHttpResponse, newErr
  1088  			}
  1089  			newErr.model = v
  1090  			return localVarReturnValue, localVarHttpResponse, newErr
  1091  		}
  1092  		return localVarReturnValue, localVarHttpResponse, newErr
  1093  	}
  1094  
  1095  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1096  	if err != nil {
  1097  		newErr := GenericOpenAPIError{
  1098  			body:  localVarBody,
  1099  			error: err.Error(),
  1100  		}
  1101  		return localVarReturnValue, localVarHttpResponse, newErr
  1102  	}
  1103  
  1104  	return localVarReturnValue, localVarHttpResponse, nil
  1105  }
  1106  
  1107  /*
  1108  CallHandlingSettingsApiService Get Greeting Info
  1109  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 8.2 (Release 1.0.26)&lt;/p&gt;&lt;p&gt;Returns a standard greeting by ID&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;View Greetings&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;
  1110   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1111   * @param greetingId
  1112  @return DictionaryGreetingInfo
  1113  */
  1114  func (a *CallHandlingSettingsApiService) GetGreeting(ctx context.Context, greetingId string) (DictionaryGreetingInfo, *http.Response, error) {
  1115  	var (
  1116  		localVarHttpMethod   = strings.ToUpper("Get")
  1117  		localVarPostBody     interface{}
  1118  		localVarFormFileName string
  1119  		localVarFileName     string
  1120  		localVarFileBytes    []byte
  1121  		localVarReturnValue  DictionaryGreetingInfo
  1122  	)
  1123  
  1124  	// create path and map variables
  1125  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/greeting/{greetingId}"
  1126  	localVarPath = strings.Replace(localVarPath, "{"+"greetingId"+"}", fmt.Sprintf("%v", greetingId), -1)
  1127  
  1128  	localVarHeaderParams := make(map[string]string)
  1129  	localVarQueryParams := url.Values{}
  1130  	localVarFormParams := url.Values{}
  1131  
  1132  	// to determine the Content-Type header
  1133  	localVarHttpContentTypes := []string{}
  1134  
  1135  	// set Content-Type header
  1136  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1137  	if localVarHttpContentType != "" {
  1138  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1139  	}
  1140  
  1141  	// to determine the Accept header
  1142  	localVarHttpHeaderAccepts := []string{"application/json"}
  1143  
  1144  	// set Accept header
  1145  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1146  	if localVarHttpHeaderAccept != "" {
  1147  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1148  	}
  1149  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1150  	if err != nil {
  1151  		return localVarReturnValue, nil, err
  1152  	}
  1153  
  1154  	localVarHttpResponse, err := a.client.callAPI(r)
  1155  	if err != nil || localVarHttpResponse == nil {
  1156  		return localVarReturnValue, localVarHttpResponse, err
  1157  	}
  1158  
  1159  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1160  	localVarHttpResponse.Body.Close()
  1161  	if err != nil {
  1162  		return localVarReturnValue, localVarHttpResponse, err
  1163  	}
  1164  
  1165  	if localVarHttpResponse.StatusCode >= 300 {
  1166  		newErr := GenericOpenAPIError{
  1167  			body:  localVarBody,
  1168  			error: localVarHttpResponse.Status,
  1169  		}
  1170  		if localVarHttpResponse.StatusCode == 0 {
  1171  			var v DictionaryGreetingInfo
  1172  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1173  			if err != nil {
  1174  				newErr.error = err.Error()
  1175  				return localVarReturnValue, localVarHttpResponse, newErr
  1176  			}
  1177  			newErr.model = v
  1178  			return localVarReturnValue, localVarHttpResponse, newErr
  1179  		}
  1180  		return localVarReturnValue, localVarHttpResponse, newErr
  1181  	}
  1182  
  1183  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1184  	if err != nil {
  1185  		newErr := GenericOpenAPIError{
  1186  			body:  localVarBody,
  1187  			error: err.Error(),
  1188  		}
  1189  		return localVarReturnValue, localVarHttpResponse, newErr
  1190  	}
  1191  
  1192  	return localVarReturnValue, localVarHttpResponse, nil
  1193  }
  1194  
  1195  /*
  1196  CallHandlingSettingsApiService Get Custom Greeting Info
  1197   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1198   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1199   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1200   * @param greetingId
  1201  @return CustomCompanyGreetingInfo
  1202  */
  1203  func (a *CallHandlingSettingsApiService) GetGreetingByID(ctx context.Context, accountId string, extensionId string, greetingId int32) (CustomCompanyGreetingInfo, *http.Response, error) {
  1204  	var (
  1205  		localVarHttpMethod   = strings.ToUpper("Get")
  1206  		localVarPostBody     interface{}
  1207  		localVarFormFileName string
  1208  		localVarFileName     string
  1209  		localVarFileBytes    []byte
  1210  		localVarReturnValue  CustomCompanyGreetingInfo
  1211  	)
  1212  
  1213  	// create path and map variables
  1214  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/greeting/{greetingId}"
  1215  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1216  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1217  	localVarPath = strings.Replace(localVarPath, "{"+"greetingId"+"}", fmt.Sprintf("%v", greetingId), -1)
  1218  
  1219  	localVarHeaderParams := make(map[string]string)
  1220  	localVarQueryParams := url.Values{}
  1221  	localVarFormParams := url.Values{}
  1222  
  1223  	// to determine the Content-Type header
  1224  	localVarHttpContentTypes := []string{}
  1225  
  1226  	// set Content-Type header
  1227  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1228  	if localVarHttpContentType != "" {
  1229  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1230  	}
  1231  
  1232  	// to determine the Accept header
  1233  	localVarHttpHeaderAccepts := []string{"application/json"}
  1234  
  1235  	// set Accept header
  1236  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1237  	if localVarHttpHeaderAccept != "" {
  1238  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1239  	}
  1240  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1241  	if err != nil {
  1242  		return localVarReturnValue, nil, err
  1243  	}
  1244  
  1245  	localVarHttpResponse, err := a.client.callAPI(r)
  1246  	if err != nil || localVarHttpResponse == nil {
  1247  		return localVarReturnValue, localVarHttpResponse, err
  1248  	}
  1249  
  1250  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1251  	localVarHttpResponse.Body.Close()
  1252  	if err != nil {
  1253  		return localVarReturnValue, localVarHttpResponse, err
  1254  	}
  1255  
  1256  	if localVarHttpResponse.StatusCode >= 300 {
  1257  		newErr := GenericOpenAPIError{
  1258  			body:  localVarBody,
  1259  			error: localVarHttpResponse.Status,
  1260  		}
  1261  		if localVarHttpResponse.StatusCode == 0 {
  1262  			var v CustomCompanyGreetingInfo
  1263  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1264  			if err != nil {
  1265  				newErr.error = err.Error()
  1266  				return localVarReturnValue, localVarHttpResponse, newErr
  1267  			}
  1268  			newErr.model = v
  1269  			return localVarReturnValue, localVarHttpResponse, newErr
  1270  		}
  1271  		return localVarReturnValue, localVarHttpResponse, newErr
  1272  	}
  1273  
  1274  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1275  	if err != nil {
  1276  		newErr := GenericOpenAPIError{
  1277  			body:  localVarBody,
  1278  			error: err.Error(),
  1279  		}
  1280  		return localVarReturnValue, localVarHttpResponse, newErr
  1281  	}
  1282  
  1283  	return localVarReturnValue, localVarHttpResponse, nil
  1284  }
  1285  
  1286  /*
  1287  CallHandlingSettingsApiService Get Standard Greetings
  1288  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 8.2 (Release 1.0.26)&lt;/p&gt;&lt;p&gt;Returns a list of predefined standard greetings. Please note: Custom greetings recorded by user are not returned in response to this request. See Get Extension Custom Greetings.&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;View Greetings&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;
  1289   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1290   * @param optional nil or *GetGreetingsOpts - Optional Parameters:
  1291   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
  1292   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
  1293   * @param "Type_" (optional.String) -  Type of a greeting, specifying the case when the greeting is played
  1294   * @param "UsageType" (optional.String) -  Usage type of a greeting, specifying if the greeting is applied for user extension or department extension
  1295  @return DictionaryGreetingList
  1296  */
  1297  
  1298  type GetGreetingsOpts struct {
  1299  	Page      optional.Int32
  1300  	PerPage   optional.Int32
  1301  	Type_     optional.String
  1302  	UsageType optional.String
  1303  }
  1304  
  1305  func (a *CallHandlingSettingsApiService) GetGreetings(ctx context.Context, localVarOptionals *GetGreetingsOpts) (DictionaryGreetingList, *http.Response, error) {
  1306  	var (
  1307  		localVarHttpMethod   = strings.ToUpper("Get")
  1308  		localVarPostBody     interface{}
  1309  		localVarFormFileName string
  1310  		localVarFileName     string
  1311  		localVarFileBytes    []byte
  1312  		localVarReturnValue  DictionaryGreetingList
  1313  	)
  1314  
  1315  	// create path and map variables
  1316  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/greeting"
  1317  
  1318  	localVarHeaderParams := make(map[string]string)
  1319  	localVarQueryParams := url.Values{}
  1320  	localVarFormParams := url.Values{}
  1321  
  1322  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  1323  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  1324  	}
  1325  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  1326  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  1327  	}
  1328  	if localVarOptionals != nil && localVarOptionals.Type_.IsSet() {
  1329  		localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), ""))
  1330  	}
  1331  	if localVarOptionals != nil && localVarOptionals.UsageType.IsSet() {
  1332  		localVarQueryParams.Add("usageType", parameterToString(localVarOptionals.UsageType.Value(), ""))
  1333  	}
  1334  	// to determine the Content-Type header
  1335  	localVarHttpContentTypes := []string{}
  1336  
  1337  	// set Content-Type header
  1338  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1339  	if localVarHttpContentType != "" {
  1340  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1341  	}
  1342  
  1343  	// to determine the Accept header
  1344  	localVarHttpHeaderAccepts := []string{"application/json"}
  1345  
  1346  	// set Accept header
  1347  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1348  	if localVarHttpHeaderAccept != "" {
  1349  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1350  	}
  1351  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1352  	if err != nil {
  1353  		return localVarReturnValue, nil, err
  1354  	}
  1355  
  1356  	localVarHttpResponse, err := a.client.callAPI(r)
  1357  	if err != nil || localVarHttpResponse == nil {
  1358  		return localVarReturnValue, localVarHttpResponse, err
  1359  	}
  1360  
  1361  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1362  	localVarHttpResponse.Body.Close()
  1363  	if err != nil {
  1364  		return localVarReturnValue, localVarHttpResponse, err
  1365  	}
  1366  
  1367  	if localVarHttpResponse.StatusCode >= 300 {
  1368  		newErr := GenericOpenAPIError{
  1369  			body:  localVarBody,
  1370  			error: localVarHttpResponse.Status,
  1371  		}
  1372  		if localVarHttpResponse.StatusCode == 0 {
  1373  			var v DictionaryGreetingList
  1374  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1375  			if err != nil {
  1376  				newErr.error = err.Error()
  1377  				return localVarReturnValue, localVarHttpResponse, newErr
  1378  			}
  1379  			newErr.model = v
  1380  			return localVarReturnValue, localVarHttpResponse, newErr
  1381  		}
  1382  		return localVarReturnValue, localVarHttpResponse, newErr
  1383  	}
  1384  
  1385  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1386  	if err != nil {
  1387  		newErr := GenericOpenAPIError{
  1388  			body:  localVarBody,
  1389  			error: err.Error(),
  1390  		}
  1391  		return localVarReturnValue, localVarHttpResponse, newErr
  1392  	}
  1393  
  1394  	return localVarReturnValue, localVarHttpResponse, nil
  1395  }
  1396  
  1397  /*
  1398  CallHandlingSettingsApiService Get IVR Menu
  1399  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns a company IVR menu by ID&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;
  1400   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1401   * @param accountId
  1402   * @param ivrMenuId
  1403  @return IvrMenuInfo
  1404  */
  1405  func (a *CallHandlingSettingsApiService) GetIVRMenuById(ctx context.Context, accountId string, ivrMenuId string) (IvrMenuInfo, *http.Response, error) {
  1406  	var (
  1407  		localVarHttpMethod   = strings.ToUpper("Get")
  1408  		localVarPostBody     interface{}
  1409  		localVarFormFileName string
  1410  		localVarFileName     string
  1411  		localVarFileBytes    []byte
  1412  		localVarReturnValue  IvrMenuInfo
  1413  	)
  1414  
  1415  	// create path and map variables
  1416  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId}"
  1417  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1418  	localVarPath = strings.Replace(localVarPath, "{"+"ivrMenuId"+"}", fmt.Sprintf("%v", ivrMenuId), -1)
  1419  
  1420  	localVarHeaderParams := make(map[string]string)
  1421  	localVarQueryParams := url.Values{}
  1422  	localVarFormParams := url.Values{}
  1423  
  1424  	// to determine the Content-Type header
  1425  	localVarHttpContentTypes := []string{}
  1426  
  1427  	// set Content-Type header
  1428  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1429  	if localVarHttpContentType != "" {
  1430  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1431  	}
  1432  
  1433  	// to determine the Accept header
  1434  	localVarHttpHeaderAccepts := []string{"application/json"}
  1435  
  1436  	// set Accept header
  1437  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1438  	if localVarHttpHeaderAccept != "" {
  1439  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1440  	}
  1441  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1442  	if err != nil {
  1443  		return localVarReturnValue, nil, err
  1444  	}
  1445  
  1446  	localVarHttpResponse, err := a.client.callAPI(r)
  1447  	if err != nil || localVarHttpResponse == nil {
  1448  		return localVarReturnValue, localVarHttpResponse, err
  1449  	}
  1450  
  1451  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1452  	localVarHttpResponse.Body.Close()
  1453  	if err != nil {
  1454  		return localVarReturnValue, localVarHttpResponse, err
  1455  	}
  1456  
  1457  	if localVarHttpResponse.StatusCode >= 300 {
  1458  		newErr := GenericOpenAPIError{
  1459  			body:  localVarBody,
  1460  			error: localVarHttpResponse.Status,
  1461  		}
  1462  		if localVarHttpResponse.StatusCode == 0 {
  1463  			var v IvrMenuInfo
  1464  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1465  			if err != nil {
  1466  				newErr.error = err.Error()
  1467  				return localVarReturnValue, localVarHttpResponse, newErr
  1468  			}
  1469  			newErr.model = v
  1470  			return localVarReturnValue, localVarHttpResponse, newErr
  1471  		}
  1472  		return localVarReturnValue, localVarHttpResponse, newErr
  1473  	}
  1474  
  1475  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1476  	if err != nil {
  1477  		newErr := GenericOpenAPIError{
  1478  			body:  localVarBody,
  1479  			error: err.Error(),
  1480  		}
  1481  		return localVarReturnValue, localVarHttpResponse, newErr
  1482  	}
  1483  
  1484  	return localVarReturnValue, localVarHttpResponse, nil
  1485  }
  1486  
  1487  /*
  1488  CallHandlingSettingsApiService Get IVR Prompt
  1489  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns an IVR prompt by ID&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;
  1490   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1491   * @param accountId
  1492   * @param promptId
  1493  @return PromptInfo
  1494  */
  1495  func (a *CallHandlingSettingsApiService) GetIVRPrompt(ctx context.Context, accountId string, promptId string) (PromptInfo, *http.Response, error) {
  1496  	var (
  1497  		localVarHttpMethod   = strings.ToUpper("Get")
  1498  		localVarPostBody     interface{}
  1499  		localVarFormFileName string
  1500  		localVarFileName     string
  1501  		localVarFileBytes    []byte
  1502  		localVarReturnValue  PromptInfo
  1503  	)
  1504  
  1505  	// create path and map variables
  1506  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}"
  1507  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1508  	localVarPath = strings.Replace(localVarPath, "{"+"promptId"+"}", fmt.Sprintf("%v", promptId), -1)
  1509  
  1510  	localVarHeaderParams := make(map[string]string)
  1511  	localVarQueryParams := url.Values{}
  1512  	localVarFormParams := url.Values{}
  1513  
  1514  	// to determine the Content-Type header
  1515  	localVarHttpContentTypes := []string{}
  1516  
  1517  	// set Content-Type header
  1518  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1519  	if localVarHttpContentType != "" {
  1520  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1521  	}
  1522  
  1523  	// to determine the Accept header
  1524  	localVarHttpHeaderAccepts := []string{"application/json"}
  1525  
  1526  	// set Accept header
  1527  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1528  	if localVarHttpHeaderAccept != "" {
  1529  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1530  	}
  1531  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1532  	if err != nil {
  1533  		return localVarReturnValue, nil, err
  1534  	}
  1535  
  1536  	localVarHttpResponse, err := a.client.callAPI(r)
  1537  	if err != nil || localVarHttpResponse == nil {
  1538  		return localVarReturnValue, localVarHttpResponse, err
  1539  	}
  1540  
  1541  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1542  	localVarHttpResponse.Body.Close()
  1543  	if err != nil {
  1544  		return localVarReturnValue, localVarHttpResponse, err
  1545  	}
  1546  
  1547  	if localVarHttpResponse.StatusCode >= 300 {
  1548  		newErr := GenericOpenAPIError{
  1549  			body:  localVarBody,
  1550  			error: localVarHttpResponse.Status,
  1551  		}
  1552  		if localVarHttpResponse.StatusCode == 0 {
  1553  			var v PromptInfo
  1554  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1555  			if err != nil {
  1556  				newErr.error = err.Error()
  1557  				return localVarReturnValue, localVarHttpResponse, newErr
  1558  			}
  1559  			newErr.model = v
  1560  			return localVarReturnValue, localVarHttpResponse, newErr
  1561  		}
  1562  		return localVarReturnValue, localVarHttpResponse, newErr
  1563  	}
  1564  
  1565  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1566  	if err != nil {
  1567  		newErr := GenericOpenAPIError{
  1568  			body:  localVarBody,
  1569  			error: err.Error(),
  1570  		}
  1571  		return localVarReturnValue, localVarHttpResponse, newErr
  1572  	}
  1573  
  1574  	return localVarReturnValue, localVarHttpResponse, nil
  1575  }
  1576  
  1577  /*
  1578  CallHandlingSettingsApiService Get IVR Prompt Content
  1579  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns media content of an IVR prompt by its ID&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;
  1580   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1581   * @param accountId
  1582   * @param promptId
  1583  */
  1584  func (a *CallHandlingSettingsApiService) GetIVRPromptContent(ctx context.Context, accountId string, promptId string) (*http.Response, error) {
  1585  	var (
  1586  		localVarHttpMethod   = strings.ToUpper("Get")
  1587  		localVarPostBody     interface{}
  1588  		localVarFormFileName string
  1589  		localVarFileName     string
  1590  		localVarFileBytes    []byte
  1591  	)
  1592  
  1593  	// create path and map variables
  1594  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}/content"
  1595  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1596  	localVarPath = strings.Replace(localVarPath, "{"+"promptId"+"}", fmt.Sprintf("%v", promptId), -1)
  1597  
  1598  	localVarHeaderParams := make(map[string]string)
  1599  	localVarQueryParams := url.Values{}
  1600  	localVarFormParams := url.Values{}
  1601  
  1602  	// to determine the Content-Type header
  1603  	localVarHttpContentTypes := []string{}
  1604  
  1605  	// set Content-Type header
  1606  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1607  	if localVarHttpContentType != "" {
  1608  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1609  	}
  1610  
  1611  	// to determine the Accept header
  1612  	localVarHttpHeaderAccepts := []string{}
  1613  
  1614  	// set Accept header
  1615  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1616  	if localVarHttpHeaderAccept != "" {
  1617  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1618  	}
  1619  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1620  	if err != nil {
  1621  		return nil, err
  1622  	}
  1623  
  1624  	localVarHttpResponse, err := a.client.callAPI(r)
  1625  	if err != nil || localVarHttpResponse == nil {
  1626  		return localVarHttpResponse, err
  1627  	}
  1628  
  1629  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1630  	localVarHttpResponse.Body.Close()
  1631  	if err != nil {
  1632  		return localVarHttpResponse, err
  1633  	}
  1634  
  1635  	if localVarHttpResponse.StatusCode >= 300 {
  1636  		newErr := GenericOpenAPIError{
  1637  			body:  localVarBody,
  1638  			error: localVarHttpResponse.Status,
  1639  		}
  1640  		return localVarHttpResponse, newErr
  1641  	}
  1642  
  1643  	return localVarHttpResponse, nil
  1644  }
  1645  
  1646  /*
  1647  CallHandlingSettingsApiService Get IVR Prompts
  1648  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns a list of IVR prompts.&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;
  1649   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1650   * @param accountId
  1651  @return IvrPrompts
  1652  */
  1653  func (a *CallHandlingSettingsApiService) GetIVRPrompts(ctx context.Context, accountId string) (IvrPrompts, *http.Response, error) {
  1654  	var (
  1655  		localVarHttpMethod   = strings.ToUpper("Get")
  1656  		localVarPostBody     interface{}
  1657  		localVarFormFileName string
  1658  		localVarFileName     string
  1659  		localVarFileBytes    []byte
  1660  		localVarReturnValue  IvrPrompts
  1661  	)
  1662  
  1663  	// create path and map variables
  1664  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts"
  1665  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1666  
  1667  	localVarHeaderParams := make(map[string]string)
  1668  	localVarQueryParams := url.Values{}
  1669  	localVarFormParams := url.Values{}
  1670  
  1671  	// to determine the Content-Type header
  1672  	localVarHttpContentTypes := []string{}
  1673  
  1674  	// set Content-Type header
  1675  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1676  	if localVarHttpContentType != "" {
  1677  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1678  	}
  1679  
  1680  	// to determine the Accept header
  1681  	localVarHttpHeaderAccepts := []string{"application/json"}
  1682  
  1683  	// set Accept header
  1684  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1685  	if localVarHttpHeaderAccept != "" {
  1686  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1687  	}
  1688  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1689  	if err != nil {
  1690  		return localVarReturnValue, nil, err
  1691  	}
  1692  
  1693  	localVarHttpResponse, err := a.client.callAPI(r)
  1694  	if err != nil || localVarHttpResponse == nil {
  1695  		return localVarReturnValue, localVarHttpResponse, err
  1696  	}
  1697  
  1698  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1699  	localVarHttpResponse.Body.Close()
  1700  	if err != nil {
  1701  		return localVarReturnValue, localVarHttpResponse, err
  1702  	}
  1703  
  1704  	if localVarHttpResponse.StatusCode >= 300 {
  1705  		newErr := GenericOpenAPIError{
  1706  			body:  localVarBody,
  1707  			error: localVarHttpResponse.Status,
  1708  		}
  1709  		if localVarHttpResponse.StatusCode == 0 {
  1710  			var v IvrPrompts
  1711  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1712  			if err != nil {
  1713  				newErr.error = err.Error()
  1714  				return localVarReturnValue, localVarHttpResponse, newErr
  1715  			}
  1716  			newErr.model = v
  1717  			return localVarReturnValue, localVarHttpResponse, newErr
  1718  		}
  1719  		return localVarReturnValue, localVarHttpResponse, newErr
  1720  	}
  1721  
  1722  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1723  	if err != nil {
  1724  		newErr := GenericOpenAPIError{
  1725  			body:  localVarBody,
  1726  			error: err.Error(),
  1727  		}
  1728  		return localVarReturnValue, localVarHttpResponse, newErr
  1729  	}
  1730  
  1731  	return localVarReturnValue, localVarHttpResponse, nil
  1732  }
  1733  
  1734  /*
  1735  CallHandlingSettingsApiService Get Blocked Numbers
  1736  &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;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;
  1737   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1738   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1739   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1740  @return BlockedNumbersList
  1741  */
  1742  func (a *CallHandlingSettingsApiService) ListBlockedNumbers(ctx context.Context, accountId string, extensionId string) (BlockedNumbersList, *http.Response, error) {
  1743  	var (
  1744  		localVarHttpMethod   = strings.ToUpper("Get")
  1745  		localVarPostBody     interface{}
  1746  		localVarFormFileName string
  1747  		localVarFileName     string
  1748  		localVarFileBytes    []byte
  1749  		localVarReturnValue  BlockedNumbersList
  1750  	)
  1751  
  1752  	// create path and map variables
  1753  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number"
  1754  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1755  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1756  
  1757  	localVarHeaderParams := make(map[string]string)
  1758  	localVarQueryParams := url.Values{}
  1759  	localVarFormParams := url.Values{}
  1760  
  1761  	// to determine the Content-Type header
  1762  	localVarHttpContentTypes := []string{}
  1763  
  1764  	// set Content-Type header
  1765  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1766  	if localVarHttpContentType != "" {
  1767  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1768  	}
  1769  
  1770  	// to determine the Accept header
  1771  	localVarHttpHeaderAccepts := []string{"application/json"}
  1772  
  1773  	// set Accept header
  1774  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1775  	if localVarHttpHeaderAccept != "" {
  1776  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1777  	}
  1778  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1779  	if err != nil {
  1780  		return localVarReturnValue, nil, err
  1781  	}
  1782  
  1783  	localVarHttpResponse, err := a.client.callAPI(r)
  1784  	if err != nil || localVarHttpResponse == nil {
  1785  		return localVarReturnValue, localVarHttpResponse, err
  1786  	}
  1787  
  1788  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1789  	localVarHttpResponse.Body.Close()
  1790  	if err != nil {
  1791  		return localVarReturnValue, localVarHttpResponse, err
  1792  	}
  1793  
  1794  	if localVarHttpResponse.StatusCode >= 300 {
  1795  		newErr := GenericOpenAPIError{
  1796  			body:  localVarBody,
  1797  			error: localVarHttpResponse.Status,
  1798  		}
  1799  		if localVarHttpResponse.StatusCode == 0 {
  1800  			var v BlockedNumbersList
  1801  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1802  			if err != nil {
  1803  				newErr.error = err.Error()
  1804  				return localVarReturnValue, localVarHttpResponse, newErr
  1805  			}
  1806  			newErr.model = v
  1807  			return localVarReturnValue, localVarHttpResponse, newErr
  1808  		}
  1809  		return localVarReturnValue, localVarHttpResponse, newErr
  1810  	}
  1811  
  1812  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1813  	if err != nil {
  1814  		newErr := GenericOpenAPIError{
  1815  			body:  localVarBody,
  1816  			error: err.Error(),
  1817  		}
  1818  		return localVarReturnValue, localVarHttpResponse, newErr
  1819  	}
  1820  
  1821  	return localVarReturnValue, localVarHttpResponse, nil
  1822  }
  1823  
  1824  /*
  1825  CallHandlingSettingsApiService Get Company Call Handling Rules
  1826  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Returns a list of company answering rules.&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;
  1827   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1828   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1829  @return CompanyAnsweringRuleList
  1830  */
  1831  func (a *CallHandlingSettingsApiService) ListCompanyAnsweringRule(ctx context.Context, accountId string) (CompanyAnsweringRuleList, *http.Response, error) {
  1832  	var (
  1833  		localVarHttpMethod   = strings.ToUpper("Get")
  1834  		localVarPostBody     interface{}
  1835  		localVarFormFileName string
  1836  		localVarFileName     string
  1837  		localVarFileBytes    []byte
  1838  		localVarReturnValue  CompanyAnsweringRuleList
  1839  	)
  1840  
  1841  	// create path and map variables
  1842  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule"
  1843  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1844  
  1845  	localVarHeaderParams := make(map[string]string)
  1846  	localVarQueryParams := url.Values{}
  1847  	localVarFormParams := url.Values{}
  1848  
  1849  	// to determine the Content-Type header
  1850  	localVarHttpContentTypes := []string{}
  1851  
  1852  	// set Content-Type header
  1853  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1854  	if localVarHttpContentType != "" {
  1855  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1856  	}
  1857  
  1858  	// to determine the Accept header
  1859  	localVarHttpHeaderAccepts := []string{"application/json"}
  1860  
  1861  	// set Accept header
  1862  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1863  	if localVarHttpHeaderAccept != "" {
  1864  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1865  	}
  1866  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1867  	if err != nil {
  1868  		return localVarReturnValue, nil, err
  1869  	}
  1870  
  1871  	localVarHttpResponse, err := a.client.callAPI(r)
  1872  	if err != nil || localVarHttpResponse == nil {
  1873  		return localVarReturnValue, localVarHttpResponse, err
  1874  	}
  1875  
  1876  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1877  	localVarHttpResponse.Body.Close()
  1878  	if err != nil {
  1879  		return localVarReturnValue, localVarHttpResponse, err
  1880  	}
  1881  
  1882  	if localVarHttpResponse.StatusCode >= 300 {
  1883  		newErr := GenericOpenAPIError{
  1884  			body:  localVarBody,
  1885  			error: localVarHttpResponse.Status,
  1886  		}
  1887  		if localVarHttpResponse.StatusCode == 0 {
  1888  			var v CompanyAnsweringRuleList
  1889  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1890  			if err != nil {
  1891  				newErr.error = err.Error()
  1892  				return localVarReturnValue, localVarHttpResponse, newErr
  1893  			}
  1894  			newErr.model = v
  1895  			return localVarReturnValue, localVarHttpResponse, newErr
  1896  		}
  1897  		return localVarReturnValue, localVarHttpResponse, newErr
  1898  	}
  1899  
  1900  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1901  	if err != nil {
  1902  		newErr := GenericOpenAPIError{
  1903  			body:  localVarBody,
  1904  			error: err.Error(),
  1905  		}
  1906  		return localVarReturnValue, localVarHttpResponse, newErr
  1907  	}
  1908  
  1909  	return localVarReturnValue, localVarHttpResponse, nil
  1910  }
  1911  
  1912  /*
  1913  CallHandlingSettingsApiService Get Forwarding Numbers
  1914  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.7 (Release 5.16)&lt;/p&gt;&lt;p&gt;Returns the list of extension phone numbers used for call forwarding and call flip. The returned list contains all the extension phone numbers that are used for call forwarding and call flip.&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;
  1915   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1916   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1917   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1918   * @param optional nil or *ListExtensionForwardingNumbersOpts - Optional Parameters:
  1919   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
  1920   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
  1921  @return GetExtensionForwardingNumberListResponse
  1922  */
  1923  
  1924  type ListExtensionForwardingNumbersOpts struct {
  1925  	Page    optional.Int32
  1926  	PerPage optional.Int32
  1927  }
  1928  
  1929  func (a *CallHandlingSettingsApiService) ListExtensionForwardingNumbers(ctx context.Context, accountId string, extensionId string, localVarOptionals *ListExtensionForwardingNumbersOpts) (GetExtensionForwardingNumberListResponse, *http.Response, error) {
  1930  	var (
  1931  		localVarHttpMethod   = strings.ToUpper("Get")
  1932  		localVarPostBody     interface{}
  1933  		localVarFormFileName string
  1934  		localVarFileName     string
  1935  		localVarFileBytes    []byte
  1936  		localVarReturnValue  GetExtensionForwardingNumberListResponse
  1937  	)
  1938  
  1939  	// create path and map variables
  1940  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number"
  1941  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1942  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1943  
  1944  	localVarHeaderParams := make(map[string]string)
  1945  	localVarQueryParams := url.Values{}
  1946  	localVarFormParams := url.Values{}
  1947  
  1948  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  1949  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  1950  	}
  1951  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  1952  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  1953  	}
  1954  	// to determine the Content-Type header
  1955  	localVarHttpContentTypes := []string{}
  1956  
  1957  	// set Content-Type header
  1958  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1959  	if localVarHttpContentType != "" {
  1960  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1961  	}
  1962  
  1963  	// to determine the Accept header
  1964  	localVarHttpHeaderAccepts := []string{"application/json"}
  1965  
  1966  	// set Accept header
  1967  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1968  	if localVarHttpHeaderAccept != "" {
  1969  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1970  	}
  1971  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1972  	if err != nil {
  1973  		return localVarReturnValue, nil, err
  1974  	}
  1975  
  1976  	localVarHttpResponse, err := a.client.callAPI(r)
  1977  	if err != nil || localVarHttpResponse == nil {
  1978  		return localVarReturnValue, localVarHttpResponse, err
  1979  	}
  1980  
  1981  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1982  	localVarHttpResponse.Body.Close()
  1983  	if err != nil {
  1984  		return localVarReturnValue, localVarHttpResponse, err
  1985  	}
  1986  
  1987  	if localVarHttpResponse.StatusCode >= 300 {
  1988  		newErr := GenericOpenAPIError{
  1989  			body:  localVarBody,
  1990  			error: localVarHttpResponse.Status,
  1991  		}
  1992  		if localVarHttpResponse.StatusCode == 0 {
  1993  			var v GetExtensionForwardingNumberListResponse
  1994  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1995  			if err != nil {
  1996  				newErr.error = err.Error()
  1997  				return localVarReturnValue, localVarHttpResponse, newErr
  1998  			}
  1999  			newErr.model = v
  2000  			return localVarReturnValue, localVarHttpResponse, newErr
  2001  		}
  2002  		return localVarReturnValue, localVarHttpResponse, newErr
  2003  	}
  2004  
  2005  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2006  	if err != nil {
  2007  		newErr := GenericOpenAPIError{
  2008  			body:  localVarBody,
  2009  			error: err.Error(),
  2010  		}
  2011  		return localVarReturnValue, localVarHttpResponse, newErr
  2012  	}
  2013  
  2014  	return localVarReturnValue, localVarHttpResponse, nil
  2015  }
  2016  
  2017  /*
  2018  CallHandlingSettingsApiService Get Call Handling Rule
  2019  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.15 (Release 7.0)&lt;/p&gt;&lt;p&gt;Returns an answering rule by ID.&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;
  2020   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2021   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2022   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2023   * @param ruleId Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either business-hours-rule or after-hours-rule
  2024  @return AnsweringRuleInfo
  2025  */
  2026  func (a *CallHandlingSettingsApiService) LoadAnsweringRuleInfo(ctx context.Context, accountId string, extensionId string, ruleId string) (AnsweringRuleInfo, *http.Response, error) {
  2027  	var (
  2028  		localVarHttpMethod   = strings.ToUpper("Get")
  2029  		localVarPostBody     interface{}
  2030  		localVarFormFileName string
  2031  		localVarFileName     string
  2032  		localVarFileBytes    []byte
  2033  		localVarReturnValue  AnsweringRuleInfo
  2034  	)
  2035  
  2036  	// create path and map variables
  2037  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}"
  2038  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2039  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2040  	localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1)
  2041  
  2042  	localVarHeaderParams := make(map[string]string)
  2043  	localVarQueryParams := url.Values{}
  2044  	localVarFormParams := url.Values{}
  2045  
  2046  	// to determine the Content-Type header
  2047  	localVarHttpContentTypes := []string{}
  2048  
  2049  	// set Content-Type header
  2050  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2051  	if localVarHttpContentType != "" {
  2052  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2053  	}
  2054  
  2055  	// to determine the Accept header
  2056  	localVarHttpHeaderAccepts := []string{"application/json"}
  2057  
  2058  	// set Accept header
  2059  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2060  	if localVarHttpHeaderAccept != "" {
  2061  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2062  	}
  2063  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2064  	if err != nil {
  2065  		return localVarReturnValue, nil, err
  2066  	}
  2067  
  2068  	localVarHttpResponse, err := a.client.callAPI(r)
  2069  	if err != nil || localVarHttpResponse == nil {
  2070  		return localVarReturnValue, localVarHttpResponse, err
  2071  	}
  2072  
  2073  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2074  	localVarHttpResponse.Body.Close()
  2075  	if err != nil {
  2076  		return localVarReturnValue, localVarHttpResponse, err
  2077  	}
  2078  
  2079  	if localVarHttpResponse.StatusCode >= 300 {
  2080  		newErr := GenericOpenAPIError{
  2081  			body:  localVarBody,
  2082  			error: localVarHttpResponse.Status,
  2083  		}
  2084  		if localVarHttpResponse.StatusCode == 0 {
  2085  			var v AnsweringRuleInfo
  2086  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2087  			if err != nil {
  2088  				newErr.error = err.Error()
  2089  				return localVarReturnValue, localVarHttpResponse, newErr
  2090  			}
  2091  			newErr.model = v
  2092  			return localVarReturnValue, localVarHttpResponse, newErr
  2093  		}
  2094  		return localVarReturnValue, localVarHttpResponse, newErr
  2095  	}
  2096  
  2097  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2098  	if err != nil {
  2099  		newErr := GenericOpenAPIError{
  2100  			body:  localVarBody,
  2101  			error: err.Error(),
  2102  		}
  2103  		return localVarReturnValue, localVarHttpResponse, newErr
  2104  	}
  2105  
  2106  	return localVarReturnValue, localVarHttpResponse, nil
  2107  }
  2108  
  2109  /*
  2110  CallHandlingSettingsApiService Get Call Handling Rules
  2111  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.15 (Release 7.0)&lt;/p&gt;&lt;p&gt;Returns the extension answering rules.&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;
  2112   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2113   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2114   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2115   * @param optional nil or *LoadAnsweringRulesListOpts - Optional Parameters:
  2116   * @param "Page" (optional.String) -
  2117   * @param "PerPage" (optional.String) -
  2118  */
  2119  
  2120  type LoadAnsweringRulesListOpts struct {
  2121  	Page    optional.String
  2122  	PerPage optional.String
  2123  }
  2124  
  2125  func (a *CallHandlingSettingsApiService) LoadAnsweringRulesList(ctx context.Context, accountId string, extensionId string, localVarOptionals *LoadAnsweringRulesListOpts) (*http.Response, error) {
  2126  	var (
  2127  		localVarHttpMethod   = strings.ToUpper("Get")
  2128  		localVarPostBody     interface{}
  2129  		localVarFormFileName string
  2130  		localVarFileName     string
  2131  		localVarFileBytes    []byte
  2132  	)
  2133  
  2134  	// create path and map variables
  2135  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule"
  2136  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2137  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2138  
  2139  	localVarHeaderParams := make(map[string]string)
  2140  	localVarQueryParams := url.Values{}
  2141  	localVarFormParams := url.Values{}
  2142  
  2143  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  2144  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  2145  	}
  2146  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  2147  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  2148  	}
  2149  	// to determine the Content-Type header
  2150  	localVarHttpContentTypes := []string{}
  2151  
  2152  	// set Content-Type header
  2153  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2154  	if localVarHttpContentType != "" {
  2155  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2156  	}
  2157  
  2158  	// to determine the Accept header
  2159  	localVarHttpHeaderAccepts := []string{}
  2160  
  2161  	// set Accept header
  2162  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2163  	if localVarHttpHeaderAccept != "" {
  2164  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2165  	}
  2166  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2167  	if err != nil {
  2168  		return nil, err
  2169  	}
  2170  
  2171  	localVarHttpResponse, err := a.client.callAPI(r)
  2172  	if err != nil || localVarHttpResponse == nil {
  2173  		return localVarHttpResponse, err
  2174  	}
  2175  
  2176  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2177  	localVarHttpResponse.Body.Close()
  2178  	if err != nil {
  2179  		return localVarHttpResponse, err
  2180  	}
  2181  
  2182  	if localVarHttpResponse.StatusCode >= 300 {
  2183  		newErr := GenericOpenAPIError{
  2184  			body:  localVarBody,
  2185  			error: localVarHttpResponse.Status,
  2186  		}
  2187  		return localVarHttpResponse, newErr
  2188  	}
  2189  
  2190  	return localVarHttpResponse, nil
  2191  }
  2192  
  2193  /*
  2194  CallHandlingSettingsApiService Get Blocked Number
  2195  &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;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;
  2196   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2197   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2198   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2199   * @param blockedNumberId Internal identifiers of a blocked number list entry
  2200  @return BlockedNumberInfo
  2201  */
  2202  func (a *CallHandlingSettingsApiService) LoadBlockedNumber(ctx context.Context, accountId string, extensionId string, blockedNumberId int32) (BlockedNumberInfo, *http.Response, error) {
  2203  	var (
  2204  		localVarHttpMethod   = strings.ToUpper("Get")
  2205  		localVarPostBody     interface{}
  2206  		localVarFormFileName string
  2207  		localVarFileName     string
  2208  		localVarFileBytes    []byte
  2209  		localVarReturnValue  BlockedNumberInfo
  2210  	)
  2211  
  2212  	// create path and map variables
  2213  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number/{blockedNumberId}"
  2214  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2215  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2216  	localVarPath = strings.Replace(localVarPath, "{"+"blockedNumberId"+"}", fmt.Sprintf("%v", blockedNumberId), -1)
  2217  
  2218  	localVarHeaderParams := make(map[string]string)
  2219  	localVarQueryParams := url.Values{}
  2220  	localVarFormParams := url.Values{}
  2221  
  2222  	// to determine the Content-Type header
  2223  	localVarHttpContentTypes := []string{}
  2224  
  2225  	// set Content-Type header
  2226  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2227  	if localVarHttpContentType != "" {
  2228  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2229  	}
  2230  
  2231  	// to determine the Accept header
  2232  	localVarHttpHeaderAccepts := []string{"application/json"}
  2233  
  2234  	// set Accept header
  2235  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2236  	if localVarHttpHeaderAccept != "" {
  2237  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2238  	}
  2239  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2240  	if err != nil {
  2241  		return localVarReturnValue, nil, err
  2242  	}
  2243  
  2244  	localVarHttpResponse, err := a.client.callAPI(r)
  2245  	if err != nil || localVarHttpResponse == nil {
  2246  		return localVarReturnValue, localVarHttpResponse, err
  2247  	}
  2248  
  2249  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2250  	localVarHttpResponse.Body.Close()
  2251  	if err != nil {
  2252  		return localVarReturnValue, localVarHttpResponse, err
  2253  	}
  2254  
  2255  	if localVarHttpResponse.StatusCode >= 300 {
  2256  		newErr := GenericOpenAPIError{
  2257  			body:  localVarBody,
  2258  			error: localVarHttpResponse.Status,
  2259  		}
  2260  		if localVarHttpResponse.StatusCode == 0 {
  2261  			var v BlockedNumberInfo
  2262  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2263  			if err != nil {
  2264  				newErr.error = err.Error()
  2265  				return localVarReturnValue, localVarHttpResponse, newErr
  2266  			}
  2267  			newErr.model = v
  2268  			return localVarReturnValue, localVarHttpResponse, newErr
  2269  		}
  2270  		return localVarReturnValue, localVarHttpResponse, newErr
  2271  	}
  2272  
  2273  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2274  	if err != nil {
  2275  		newErr := GenericOpenAPIError{
  2276  			body:  localVarBody,
  2277  			error: err.Error(),
  2278  		}
  2279  		return localVarReturnValue, localVarHttpResponse, newErr
  2280  	}
  2281  
  2282  	return localVarReturnValue, localVarHttpResponse, nil
  2283  }
  2284  
  2285  /*
  2286  CallHandlingSettingsApiService Get Company Business Hours
  2287  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns company hours when answering rules are to 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;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;
  2288   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2289   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2290  @return CompanyBusinessHours
  2291  */
  2292  func (a *CallHandlingSettingsApiService) LoadBusinesshoursInfo(ctx context.Context, accountId string) (CompanyBusinessHours, *http.Response, error) {
  2293  	var (
  2294  		localVarHttpMethod   = strings.ToUpper("Get")
  2295  		localVarPostBody     interface{}
  2296  		localVarFormFileName string
  2297  		localVarFileName     string
  2298  		localVarFileBytes    []byte
  2299  		localVarReturnValue  CompanyBusinessHours
  2300  	)
  2301  
  2302  	// create path and map variables
  2303  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/business-hours"
  2304  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2305  
  2306  	localVarHeaderParams := make(map[string]string)
  2307  	localVarQueryParams := url.Values{}
  2308  	localVarFormParams := url.Values{}
  2309  
  2310  	// to determine the Content-Type header
  2311  	localVarHttpContentTypes := []string{}
  2312  
  2313  	// set Content-Type header
  2314  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2315  	if localVarHttpContentType != "" {
  2316  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2317  	}
  2318  
  2319  	// to determine the Accept header
  2320  	localVarHttpHeaderAccepts := []string{"application/json"}
  2321  
  2322  	// set Accept header
  2323  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2324  	if localVarHttpHeaderAccept != "" {
  2325  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2326  	}
  2327  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2328  	if err != nil {
  2329  		return localVarReturnValue, nil, err
  2330  	}
  2331  
  2332  	localVarHttpResponse, err := a.client.callAPI(r)
  2333  	if err != nil || localVarHttpResponse == nil {
  2334  		return localVarReturnValue, localVarHttpResponse, err
  2335  	}
  2336  
  2337  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2338  	localVarHttpResponse.Body.Close()
  2339  	if err != nil {
  2340  		return localVarReturnValue, localVarHttpResponse, err
  2341  	}
  2342  
  2343  	if localVarHttpResponse.StatusCode >= 300 {
  2344  		newErr := GenericOpenAPIError{
  2345  			body:  localVarBody,
  2346  			error: localVarHttpResponse.Status,
  2347  		}
  2348  		if localVarHttpResponse.StatusCode == 0 {
  2349  			var v CompanyBusinessHours
  2350  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2351  			if err != nil {
  2352  				newErr.error = err.Error()
  2353  				return localVarReturnValue, localVarHttpResponse, newErr
  2354  			}
  2355  			newErr.model = v
  2356  			return localVarReturnValue, localVarHttpResponse, newErr
  2357  		}
  2358  		return localVarReturnValue, localVarHttpResponse, newErr
  2359  	}
  2360  
  2361  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2362  	if err != nil {
  2363  		newErr := GenericOpenAPIError{
  2364  			body:  localVarBody,
  2365  			error: err.Error(),
  2366  		}
  2367  		return localVarReturnValue, localVarHttpResponse, newErr
  2368  	}
  2369  
  2370  	return localVarReturnValue, localVarHttpResponse, nil
  2371  }
  2372  
  2373  /*
  2374  CallHandlingSettingsApiService Get Company Call Handling Rule
  2375  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Returns a company answering rule by ID.&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;
  2376   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2377   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2378   * @param ruleId Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either business-hours-rule or after-hours-rule
  2379  @return CompanyAnsweringRuleInfo
  2380  */
  2381  func (a *CallHandlingSettingsApiService) LoadCompanyAnsweringRuleInfo(ctx context.Context, accountId string, ruleId string) (CompanyAnsweringRuleInfo, *http.Response, error) {
  2382  	var (
  2383  		localVarHttpMethod   = strings.ToUpper("Get")
  2384  		localVarPostBody     interface{}
  2385  		localVarFormFileName string
  2386  		localVarFileName     string
  2387  		localVarFileBytes    []byte
  2388  		localVarReturnValue  CompanyAnsweringRuleInfo
  2389  	)
  2390  
  2391  	// create path and map variables
  2392  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule/{ruleId}"
  2393  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2394  	localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1)
  2395  
  2396  	localVarHeaderParams := make(map[string]string)
  2397  	localVarQueryParams := url.Values{}
  2398  	localVarFormParams := url.Values{}
  2399  
  2400  	// to determine the Content-Type header
  2401  	localVarHttpContentTypes := []string{}
  2402  
  2403  	// set Content-Type header
  2404  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2405  	if localVarHttpContentType != "" {
  2406  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2407  	}
  2408  
  2409  	// to determine the Accept header
  2410  	localVarHttpHeaderAccepts := []string{"application/json"}
  2411  
  2412  	// set Accept header
  2413  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2414  	if localVarHttpHeaderAccept != "" {
  2415  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2416  	}
  2417  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2418  	if err != nil {
  2419  		return localVarReturnValue, nil, err
  2420  	}
  2421  
  2422  	localVarHttpResponse, err := a.client.callAPI(r)
  2423  	if err != nil || localVarHttpResponse == nil {
  2424  		return localVarReturnValue, localVarHttpResponse, err
  2425  	}
  2426  
  2427  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2428  	localVarHttpResponse.Body.Close()
  2429  	if err != nil {
  2430  		return localVarReturnValue, localVarHttpResponse, err
  2431  	}
  2432  
  2433  	if localVarHttpResponse.StatusCode >= 300 {
  2434  		newErr := GenericOpenAPIError{
  2435  			body:  localVarBody,
  2436  			error: localVarHttpResponse.Status,
  2437  		}
  2438  		if localVarHttpResponse.StatusCode == 0 {
  2439  			var v CompanyAnsweringRuleInfo
  2440  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2441  			if err != nil {
  2442  				newErr.error = err.Error()
  2443  				return localVarReturnValue, localVarHttpResponse, newErr
  2444  			}
  2445  			newErr.model = v
  2446  			return localVarReturnValue, localVarHttpResponse, newErr
  2447  		}
  2448  		return localVarReturnValue, localVarHttpResponse, newErr
  2449  	}
  2450  
  2451  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2452  	if err != nil {
  2453  		newErr := GenericOpenAPIError{
  2454  			body:  localVarBody,
  2455  			error: err.Error(),
  2456  		}
  2457  		return localVarReturnValue, localVarHttpResponse, newErr
  2458  	}
  2459  
  2460  	return localVarReturnValue, localVarHttpResponse, nil
  2461  }
  2462  
  2463  /*
  2464  CallHandlingSettingsApiService Get User Business Hours
  2465  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.15 (Release 7.0)&lt;/p&gt;&lt;p&gt;Returns the extension user hours when answering rules are to be applied.&lt;/p&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
  2466   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2467   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2468   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2469  @return GetUserBusinessHoursResponse
  2470  */
  2471  func (a *CallHandlingSettingsApiService) LoadUserBusinessHours(ctx context.Context, accountId string, extensionId string) (GetUserBusinessHoursResponse, *http.Response, error) {
  2472  	var (
  2473  		localVarHttpMethod   = strings.ToUpper("Get")
  2474  		localVarPostBody     interface{}
  2475  		localVarFormFileName string
  2476  		localVarFileName     string
  2477  		localVarFileBytes    []byte
  2478  		localVarReturnValue  GetUserBusinessHoursResponse
  2479  	)
  2480  
  2481  	// create path and map variables
  2482  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/business-hours"
  2483  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2484  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2485  
  2486  	localVarHeaderParams := make(map[string]string)
  2487  	localVarQueryParams := url.Values{}
  2488  	localVarFormParams := url.Values{}
  2489  
  2490  	// to determine the Content-Type header
  2491  	localVarHttpContentTypes := []string{}
  2492  
  2493  	// set Content-Type header
  2494  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2495  	if localVarHttpContentType != "" {
  2496  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2497  	}
  2498  
  2499  	// to determine the Accept header
  2500  	localVarHttpHeaderAccepts := []string{"application/json"}
  2501  
  2502  	// set Accept header
  2503  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2504  	if localVarHttpHeaderAccept != "" {
  2505  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2506  	}
  2507  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2508  	if err != nil {
  2509  		return localVarReturnValue, nil, err
  2510  	}
  2511  
  2512  	localVarHttpResponse, err := a.client.callAPI(r)
  2513  	if err != nil || localVarHttpResponse == nil {
  2514  		return localVarReturnValue, localVarHttpResponse, err
  2515  	}
  2516  
  2517  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2518  	localVarHttpResponse.Body.Close()
  2519  	if err != nil {
  2520  		return localVarReturnValue, localVarHttpResponse, err
  2521  	}
  2522  
  2523  	if localVarHttpResponse.StatusCode >= 300 {
  2524  		newErr := GenericOpenAPIError{
  2525  			body:  localVarBody,
  2526  			error: localVarHttpResponse.Status,
  2527  		}
  2528  		if localVarHttpResponse.StatusCode == 0 {
  2529  			var v GetUserBusinessHoursResponse
  2530  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2531  			if err != nil {
  2532  				newErr.error = err.Error()
  2533  				return localVarReturnValue, localVarHttpResponse, newErr
  2534  			}
  2535  			newErr.model = v
  2536  			return localVarReturnValue, localVarHttpResponse, newErr
  2537  		}
  2538  		return localVarReturnValue, localVarHttpResponse, newErr
  2539  	}
  2540  
  2541  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2542  	if err != nil {
  2543  		newErr := GenericOpenAPIError{
  2544  			body:  localVarBody,
  2545  			error: err.Error(),
  2546  		}
  2547  		return localVarReturnValue, localVarHttpResponse, newErr
  2548  	}
  2549  
  2550  	return localVarReturnValue, localVarHttpResponse, nil
  2551  }
  2552  
  2553  /*
  2554  CallHandlingSettingsApiService Update IVR Menu
  2555  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns a company IVR menu by ID&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;
  2556   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2557   * @param accountId
  2558   * @param ivrMenuId
  2559   * @param ivrMenuInfo JSON body
  2560  @return IvrMenuInfo
  2561  */
  2562  func (a *CallHandlingSettingsApiService) RestapiV10AccountAccountIdIvrMenusIvrMenuIdPut(ctx context.Context, accountId string, ivrMenuId string, ivrMenuInfo IvrMenuInfo) (IvrMenuInfo, *http.Response, error) {
  2563  	var (
  2564  		localVarHttpMethod   = strings.ToUpper("Put")
  2565  		localVarPostBody     interface{}
  2566  		localVarFormFileName string
  2567  		localVarFileName     string
  2568  		localVarFileBytes    []byte
  2569  		localVarReturnValue  IvrMenuInfo
  2570  	)
  2571  
  2572  	// create path and map variables
  2573  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId}"
  2574  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2575  	localVarPath = strings.Replace(localVarPath, "{"+"ivrMenuId"+"}", fmt.Sprintf("%v", ivrMenuId), -1)
  2576  
  2577  	localVarHeaderParams := make(map[string]string)
  2578  	localVarQueryParams := url.Values{}
  2579  	localVarFormParams := url.Values{}
  2580  
  2581  	// to determine the Content-Type header
  2582  	localVarHttpContentTypes := []string{"application/json"}
  2583  
  2584  	// set Content-Type header
  2585  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2586  	if localVarHttpContentType != "" {
  2587  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2588  	}
  2589  
  2590  	// to determine the Accept header
  2591  	localVarHttpHeaderAccepts := []string{"application/json"}
  2592  
  2593  	// set Accept header
  2594  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2595  	if localVarHttpHeaderAccept != "" {
  2596  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2597  	}
  2598  	// body params
  2599  	localVarPostBody = &ivrMenuInfo
  2600  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2601  	if err != nil {
  2602  		return localVarReturnValue, nil, err
  2603  	}
  2604  
  2605  	localVarHttpResponse, err := a.client.callAPI(r)
  2606  	if err != nil || localVarHttpResponse == nil {
  2607  		return localVarReturnValue, localVarHttpResponse, err
  2608  	}
  2609  
  2610  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2611  	localVarHttpResponse.Body.Close()
  2612  	if err != nil {
  2613  		return localVarReturnValue, localVarHttpResponse, err
  2614  	}
  2615  
  2616  	if localVarHttpResponse.StatusCode >= 300 {
  2617  		newErr := GenericOpenAPIError{
  2618  			body:  localVarBody,
  2619  			error: localVarHttpResponse.Status,
  2620  		}
  2621  		if localVarHttpResponse.StatusCode == 0 {
  2622  			var v IvrMenuInfo
  2623  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2624  			if err != nil {
  2625  				newErr.error = err.Error()
  2626  				return localVarReturnValue, localVarHttpResponse, newErr
  2627  			}
  2628  			newErr.model = v
  2629  			return localVarReturnValue, localVarHttpResponse, newErr
  2630  		}
  2631  		return localVarReturnValue, localVarHttpResponse, newErr
  2632  	}
  2633  
  2634  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2635  	if err != nil {
  2636  		newErr := GenericOpenAPIError{
  2637  			body:  localVarBody,
  2638  			error: err.Error(),
  2639  		}
  2640  		return localVarReturnValue, localVarHttpResponse, newErr
  2641  	}
  2642  
  2643  	return localVarReturnValue, localVarHttpResponse, nil
  2644  }
  2645  
  2646  /*
  2647  CallHandlingSettingsApiService Delete Blocked Number
  2648  &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;
  2649   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2650   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2651   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2652   * @param blockedNumberId Internal identifiers of a blocked number list entry
  2653  */
  2654  func (a *CallHandlingSettingsApiService) UnblockNumber(ctx context.Context, accountId string, extensionId string, blockedNumberId int32) (*http.Response, error) {
  2655  	var (
  2656  		localVarHttpMethod   = strings.ToUpper("Delete")
  2657  		localVarPostBody     interface{}
  2658  		localVarFormFileName string
  2659  		localVarFileName     string
  2660  		localVarFileBytes    []byte
  2661  	)
  2662  
  2663  	// create path and map variables
  2664  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number/{blockedNumberId}"
  2665  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2666  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2667  	localVarPath = strings.Replace(localVarPath, "{"+"blockedNumberId"+"}", fmt.Sprintf("%v", blockedNumberId), -1)
  2668  
  2669  	localVarHeaderParams := make(map[string]string)
  2670  	localVarQueryParams := url.Values{}
  2671  	localVarFormParams := url.Values{}
  2672  
  2673  	// to determine the Content-Type header
  2674  	localVarHttpContentTypes := []string{}
  2675  
  2676  	// set Content-Type header
  2677  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2678  	if localVarHttpContentType != "" {
  2679  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2680  	}
  2681  
  2682  	// to determine the Accept header
  2683  	localVarHttpHeaderAccepts := []string{}
  2684  
  2685  	// set Accept header
  2686  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2687  	if localVarHttpHeaderAccept != "" {
  2688  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2689  	}
  2690  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2691  	if err != nil {
  2692  		return nil, err
  2693  	}
  2694  
  2695  	localVarHttpResponse, err := a.client.callAPI(r)
  2696  	if err != nil || localVarHttpResponse == nil {
  2697  		return localVarHttpResponse, err
  2698  	}
  2699  
  2700  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2701  	localVarHttpResponse.Body.Close()
  2702  	if err != nil {
  2703  		return localVarHttpResponse, err
  2704  	}
  2705  
  2706  	if localVarHttpResponse.StatusCode >= 300 {
  2707  		newErr := GenericOpenAPIError{
  2708  			body:  localVarBody,
  2709  			error: localVarHttpResponse.Status,
  2710  		}
  2711  		return localVarHttpResponse, newErr
  2712  	}
  2713  
  2714  	return localVarHttpResponse, nil
  2715  }
  2716  
  2717  /*
  2718  CallHandlingSettingsApiService Update Custom Call Handling Rule
  2719  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.24 (Release 8.0)&lt;/p&gt;&lt;p&gt;Updates a custom answering rule for a particular caller ID.&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;
  2720   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2721   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2722   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2723   * @param ruleId Internal identifier of an answering rule
  2724   * @param updateAnsweringRuleRequest JSON body
  2725  @return AnsweringRuleInfo
  2726  */
  2727  func (a *CallHandlingSettingsApiService) UpdateAnsweringRuleInfo(ctx context.Context, accountId string, extensionId string, ruleId string, updateAnsweringRuleRequest UpdateAnsweringRuleRequest) (AnsweringRuleInfo, *http.Response, error) {
  2728  	var (
  2729  		localVarHttpMethod   = strings.ToUpper("Put")
  2730  		localVarPostBody     interface{}
  2731  		localVarFormFileName string
  2732  		localVarFileName     string
  2733  		localVarFileBytes    []byte
  2734  		localVarReturnValue  AnsweringRuleInfo
  2735  	)
  2736  
  2737  	// create path and map variables
  2738  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}"
  2739  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2740  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2741  	localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1)
  2742  
  2743  	localVarHeaderParams := make(map[string]string)
  2744  	localVarQueryParams := url.Values{}
  2745  	localVarFormParams := url.Values{}
  2746  
  2747  	// to determine the Content-Type header
  2748  	localVarHttpContentTypes := []string{"application/json"}
  2749  
  2750  	// set Content-Type header
  2751  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2752  	if localVarHttpContentType != "" {
  2753  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2754  	}
  2755  
  2756  	// to determine the Accept header
  2757  	localVarHttpHeaderAccepts := []string{"application/json"}
  2758  
  2759  	// set Accept header
  2760  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2761  	if localVarHttpHeaderAccept != "" {
  2762  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2763  	}
  2764  	// body params
  2765  	localVarPostBody = &updateAnsweringRuleRequest
  2766  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2767  	if err != nil {
  2768  		return localVarReturnValue, nil, err
  2769  	}
  2770  
  2771  	localVarHttpResponse, err := a.client.callAPI(r)
  2772  	if err != nil || localVarHttpResponse == nil {
  2773  		return localVarReturnValue, localVarHttpResponse, err
  2774  	}
  2775  
  2776  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2777  	localVarHttpResponse.Body.Close()
  2778  	if err != nil {
  2779  		return localVarReturnValue, localVarHttpResponse, err
  2780  	}
  2781  
  2782  	if localVarHttpResponse.StatusCode >= 300 {
  2783  		newErr := GenericOpenAPIError{
  2784  			body:  localVarBody,
  2785  			error: localVarHttpResponse.Status,
  2786  		}
  2787  		if localVarHttpResponse.StatusCode == 0 {
  2788  			var v AnsweringRuleInfo
  2789  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2790  			if err != nil {
  2791  				newErr.error = err.Error()
  2792  				return localVarReturnValue, localVarHttpResponse, newErr
  2793  			}
  2794  			newErr.model = v
  2795  			return localVarReturnValue, localVarHttpResponse, newErr
  2796  		}
  2797  		return localVarReturnValue, localVarHttpResponse, newErr
  2798  	}
  2799  
  2800  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2801  	if err != nil {
  2802  		newErr := GenericOpenAPIError{
  2803  			body:  localVarBody,
  2804  			error: err.Error(),
  2805  		}
  2806  		return localVarReturnValue, localVarHttpResponse, newErr
  2807  	}
  2808  
  2809  	return localVarReturnValue, localVarHttpResponse, nil
  2810  }
  2811  
  2812  /*
  2813  CallHandlingSettingsApiService Update Blocked Number
  2814  &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;
  2815   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2816   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2817   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  2818   * @param blockedNumberId Internal identifier of a blocked number list entry
  2819   * @param optional nil or *UpdateBlockedNumberOpts - Optional Parameters:
  2820   * @param "BlockedNumberInfo" (optional.Interface of BlockedNumberInfo) -
  2821  @return BlockedNumberInfo
  2822  */
  2823  
  2824  type UpdateBlockedNumberOpts struct {
  2825  	BlockedNumberInfo optional.Interface
  2826  }
  2827  
  2828  func (a *CallHandlingSettingsApiService) UpdateBlockedNumber(ctx context.Context, accountId string, extensionId string, blockedNumberId int32, localVarOptionals *UpdateBlockedNumberOpts) (BlockedNumberInfo, *http.Response, error) {
  2829  	var (
  2830  		localVarHttpMethod   = strings.ToUpper("Put")
  2831  		localVarPostBody     interface{}
  2832  		localVarFormFileName string
  2833  		localVarFileName     string
  2834  		localVarFileBytes    []byte
  2835  		localVarReturnValue  BlockedNumberInfo
  2836  	)
  2837  
  2838  	// create path and map variables
  2839  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number/{blockedNumberId}"
  2840  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2841  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  2842  	localVarPath = strings.Replace(localVarPath, "{"+"blockedNumberId"+"}", fmt.Sprintf("%v", blockedNumberId), -1)
  2843  
  2844  	localVarHeaderParams := make(map[string]string)
  2845  	localVarQueryParams := url.Values{}
  2846  	localVarFormParams := url.Values{}
  2847  
  2848  	// to determine the Content-Type header
  2849  	localVarHttpContentTypes := []string{"application/json"}
  2850  
  2851  	// set Content-Type header
  2852  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2853  	if localVarHttpContentType != "" {
  2854  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2855  	}
  2856  
  2857  	// to determine the Accept header
  2858  	localVarHttpHeaderAccepts := []string{"application/json"}
  2859  
  2860  	// set Accept header
  2861  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2862  	if localVarHttpHeaderAccept != "" {
  2863  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2864  	}
  2865  	// body params
  2866  	if localVarOptionals != nil && localVarOptionals.BlockedNumberInfo.IsSet() {
  2867  		localVarOptionalBlockedNumberInfo, localVarOptionalBlockedNumberInfook := localVarOptionals.BlockedNumberInfo.Value().(BlockedNumberInfo)
  2868  		if !localVarOptionalBlockedNumberInfook {
  2869  			return localVarReturnValue, nil, reportError("blockedNumberInfo should be BlockedNumberInfo")
  2870  		}
  2871  		localVarPostBody = &localVarOptionalBlockedNumberInfo
  2872  	}
  2873  
  2874  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2875  	if err != nil {
  2876  		return localVarReturnValue, nil, err
  2877  	}
  2878  
  2879  	localVarHttpResponse, err := a.client.callAPI(r)
  2880  	if err != nil || localVarHttpResponse == nil {
  2881  		return localVarReturnValue, localVarHttpResponse, err
  2882  	}
  2883  
  2884  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2885  	localVarHttpResponse.Body.Close()
  2886  	if err != nil {
  2887  		return localVarReturnValue, localVarHttpResponse, err
  2888  	}
  2889  
  2890  	if localVarHttpResponse.StatusCode >= 300 {
  2891  		newErr := GenericOpenAPIError{
  2892  			body:  localVarBody,
  2893  			error: localVarHttpResponse.Status,
  2894  		}
  2895  		if localVarHttpResponse.StatusCode == 0 {
  2896  			var v BlockedNumberInfo
  2897  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2898  			if err != nil {
  2899  				newErr.error = err.Error()
  2900  				return localVarReturnValue, localVarHttpResponse, newErr
  2901  			}
  2902  			newErr.model = v
  2903  			return localVarReturnValue, localVarHttpResponse, newErr
  2904  		}
  2905  		return localVarReturnValue, localVarHttpResponse, newErr
  2906  	}
  2907  
  2908  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2909  	if err != nil {
  2910  		newErr := GenericOpenAPIError{
  2911  			body:  localVarBody,
  2912  			error: err.Error(),
  2913  		}
  2914  		return localVarReturnValue, localVarHttpResponse, newErr
  2915  	}
  2916  
  2917  	return localVarReturnValue, localVarHttpResponse, nil
  2918  }
  2919  
  2920  /*
  2921  CallHandlingSettingsApiService Update Company Call Handling Rule
  2922  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Updates a company answering rule.&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;
  2923   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2924   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2925   * @param ruleId Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either business-hours-rule or after-hours-rule
  2926   * @param companyAnsweringRuleUpdate JSON body
  2927  @return CompanyAnsweringRuleInfo
  2928  */
  2929  func (a *CallHandlingSettingsApiService) UpdateCompanyAnsweringRuleInfo(ctx context.Context, accountId string, ruleId string, companyAnsweringRuleUpdate CompanyAnsweringRuleUpdate) (CompanyAnsweringRuleInfo, *http.Response, error) {
  2930  	var (
  2931  		localVarHttpMethod   = strings.ToUpper("Put")
  2932  		localVarPostBody     interface{}
  2933  		localVarFormFileName string
  2934  		localVarFileName     string
  2935  		localVarFileBytes    []byte
  2936  		localVarReturnValue  CompanyAnsweringRuleInfo
  2937  	)
  2938  
  2939  	// create path and map variables
  2940  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule/{ruleId}"
  2941  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2942  	localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1)
  2943  
  2944  	localVarHeaderParams := make(map[string]string)
  2945  	localVarQueryParams := url.Values{}
  2946  	localVarFormParams := url.Values{}
  2947  
  2948  	// to determine the Content-Type header
  2949  	localVarHttpContentTypes := []string{"application/json"}
  2950  
  2951  	// set Content-Type header
  2952  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2953  	if localVarHttpContentType != "" {
  2954  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2955  	}
  2956  
  2957  	// to determine the Accept header
  2958  	localVarHttpHeaderAccepts := []string{"application/json"}
  2959  
  2960  	// set Accept header
  2961  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2962  	if localVarHttpHeaderAccept != "" {
  2963  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2964  	}
  2965  	// body params
  2966  	localVarPostBody = &companyAnsweringRuleUpdate
  2967  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2968  	if err != nil {
  2969  		return localVarReturnValue, nil, err
  2970  	}
  2971  
  2972  	localVarHttpResponse, err := a.client.callAPI(r)
  2973  	if err != nil || localVarHttpResponse == nil {
  2974  		return localVarReturnValue, localVarHttpResponse, err
  2975  	}
  2976  
  2977  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2978  	localVarHttpResponse.Body.Close()
  2979  	if err != nil {
  2980  		return localVarReturnValue, localVarHttpResponse, err
  2981  	}
  2982  
  2983  	if localVarHttpResponse.StatusCode >= 300 {
  2984  		newErr := GenericOpenAPIError{
  2985  			body:  localVarBody,
  2986  			error: localVarHttpResponse.Status,
  2987  		}
  2988  		if localVarHttpResponse.StatusCode == 0 {
  2989  			var v CompanyAnsweringRuleInfo
  2990  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2991  			if err != nil {
  2992  				newErr.error = err.Error()
  2993  				return localVarReturnValue, localVarHttpResponse, newErr
  2994  			}
  2995  			newErr.model = v
  2996  			return localVarReturnValue, localVarHttpResponse, newErr
  2997  		}
  2998  		return localVarReturnValue, localVarHttpResponse, newErr
  2999  	}
  3000  
  3001  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3002  	if err != nil {
  3003  		newErr := GenericOpenAPIError{
  3004  			body:  localVarBody,
  3005  			error: err.Error(),
  3006  		}
  3007  		return localVarReturnValue, localVarHttpResponse, newErr
  3008  	}
  3009  
  3010  	return localVarReturnValue, localVarHttpResponse, nil
  3011  }
  3012  
  3013  /*
  3014  CallHandlingSettingsApiService Update Company Business Hours
  3015  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.24 (Release 8.0)&lt;/p&gt;&lt;p&gt;Updates company hours when answering rules are to 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;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  3016   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3017   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  3018   * @param companyBusinessHoursUpdateRequest JSON body
  3019  @return CompanyBusinessHours
  3020  */
  3021  func (a *CallHandlingSettingsApiService) UpdateCompanyBusinessHours(ctx context.Context, accountId string, companyBusinessHoursUpdateRequest CompanyBusinessHoursUpdateRequest) (CompanyBusinessHours, *http.Response, error) {
  3022  	var (
  3023  		localVarHttpMethod   = strings.ToUpper("Put")
  3024  		localVarPostBody     interface{}
  3025  		localVarFormFileName string
  3026  		localVarFileName     string
  3027  		localVarFileBytes    []byte
  3028  		localVarReturnValue  CompanyBusinessHours
  3029  	)
  3030  
  3031  	// create path and map variables
  3032  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/business-hours"
  3033  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  3034  
  3035  	localVarHeaderParams := make(map[string]string)
  3036  	localVarQueryParams := url.Values{}
  3037  	localVarFormParams := url.Values{}
  3038  
  3039  	// to determine the Content-Type header
  3040  	localVarHttpContentTypes := []string{"application/json"}
  3041  
  3042  	// set Content-Type header
  3043  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3044  	if localVarHttpContentType != "" {
  3045  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3046  	}
  3047  
  3048  	// to determine the Accept header
  3049  	localVarHttpHeaderAccepts := []string{"application/json"}
  3050  
  3051  	// set Accept header
  3052  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3053  	if localVarHttpHeaderAccept != "" {
  3054  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3055  	}
  3056  	// body params
  3057  	localVarPostBody = &companyBusinessHoursUpdateRequest
  3058  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3059  	if err != nil {
  3060  		return localVarReturnValue, nil, err
  3061  	}
  3062  
  3063  	localVarHttpResponse, err := a.client.callAPI(r)
  3064  	if err != nil || localVarHttpResponse == nil {
  3065  		return localVarReturnValue, localVarHttpResponse, err
  3066  	}
  3067  
  3068  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3069  	localVarHttpResponse.Body.Close()
  3070  	if err != nil {
  3071  		return localVarReturnValue, localVarHttpResponse, err
  3072  	}
  3073  
  3074  	if localVarHttpResponse.StatusCode >= 300 {
  3075  		newErr := GenericOpenAPIError{
  3076  			body:  localVarBody,
  3077  			error: localVarHttpResponse.Status,
  3078  		}
  3079  		if localVarHttpResponse.StatusCode == 0 {
  3080  			var v CompanyBusinessHours
  3081  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3082  			if err != nil {
  3083  				newErr.error = err.Error()
  3084  				return localVarReturnValue, localVarHttpResponse, newErr
  3085  			}
  3086  			newErr.model = v
  3087  			return localVarReturnValue, localVarHttpResponse, newErr
  3088  		}
  3089  		return localVarReturnValue, localVarHttpResponse, newErr
  3090  	}
  3091  
  3092  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3093  	if err != nil {
  3094  		newErr := GenericOpenAPIError{
  3095  			body:  localVarBody,
  3096  			error: err.Error(),
  3097  		}
  3098  		return localVarReturnValue, localVarHttpResponse, newErr
  3099  	}
  3100  
  3101  	return localVarReturnValue, localVarHttpResponse, nil
  3102  }
  3103  
  3104  /*
  3105  CallHandlingSettingsApiService Update Forwarding Numbers
  3106  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.24 (Release 8.0)&lt;/p&gt;&lt;p&gt;Updates an existent forwarding number from the forwarding number list.&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 user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)&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;
  3107   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3108   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  3109   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  3110   * @param forwardingNumberId Internal identifier of a forwarding number; returned in response in the id field
  3111   * @param updateForwardingNumberRequest JSON body
  3112  @return ForwardingNumberInfo
  3113  */
  3114  func (a *CallHandlingSettingsApiService) UpdateExtensionForwardingNumber(ctx context.Context, accountId string, extensionId string, forwardingNumberId string, updateForwardingNumberRequest UpdateForwardingNumberRequest) (ForwardingNumberInfo, *http.Response, error) {
  3115  	var (
  3116  		localVarHttpMethod   = strings.ToUpper("Put")
  3117  		localVarPostBody     interface{}
  3118  		localVarFormFileName string
  3119  		localVarFileName     string
  3120  		localVarFileBytes    []byte
  3121  		localVarReturnValue  ForwardingNumberInfo
  3122  	)
  3123  
  3124  	// create path and map variables
  3125  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}"
  3126  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  3127  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  3128  	localVarPath = strings.Replace(localVarPath, "{"+"forwardingNumberId"+"}", fmt.Sprintf("%v", forwardingNumberId), -1)
  3129  
  3130  	localVarHeaderParams := make(map[string]string)
  3131  	localVarQueryParams := url.Values{}
  3132  	localVarFormParams := url.Values{}
  3133  
  3134  	// to determine the Content-Type header
  3135  	localVarHttpContentTypes := []string{"application/json"}
  3136  
  3137  	// set Content-Type header
  3138  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3139  	if localVarHttpContentType != "" {
  3140  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3141  	}
  3142  
  3143  	// to determine the Accept header
  3144  	localVarHttpHeaderAccepts := []string{"application/json"}
  3145  
  3146  	// set Accept header
  3147  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3148  	if localVarHttpHeaderAccept != "" {
  3149  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3150  	}
  3151  	// body params
  3152  	localVarPostBody = &updateForwardingNumberRequest
  3153  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3154  	if err != nil {
  3155  		return localVarReturnValue, nil, err
  3156  	}
  3157  
  3158  	localVarHttpResponse, err := a.client.callAPI(r)
  3159  	if err != nil || localVarHttpResponse == nil {
  3160  		return localVarReturnValue, localVarHttpResponse, err
  3161  	}
  3162  
  3163  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3164  	localVarHttpResponse.Body.Close()
  3165  	if err != nil {
  3166  		return localVarReturnValue, localVarHttpResponse, err
  3167  	}
  3168  
  3169  	if localVarHttpResponse.StatusCode >= 300 {
  3170  		newErr := GenericOpenAPIError{
  3171  			body:  localVarBody,
  3172  			error: localVarHttpResponse.Status,
  3173  		}
  3174  		if localVarHttpResponse.StatusCode == 0 {
  3175  			var v ForwardingNumberInfo
  3176  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3177  			if err != nil {
  3178  				newErr.error = err.Error()
  3179  				return localVarReturnValue, localVarHttpResponse, newErr
  3180  			}
  3181  			newErr.model = v
  3182  			return localVarReturnValue, localVarHttpResponse, newErr
  3183  		}
  3184  		return localVarReturnValue, localVarHttpResponse, newErr
  3185  	}
  3186  
  3187  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3188  	if err != nil {
  3189  		newErr := GenericOpenAPIError{
  3190  			body:  localVarBody,
  3191  			error: err.Error(),
  3192  		}
  3193  		return localVarReturnValue, localVarHttpResponse, newErr
  3194  	}
  3195  
  3196  	return localVarReturnValue, localVarHttpResponse, nil
  3197  }
  3198  
  3199  /*
  3200  CallHandlingSettingsApiService Update User Business Hours
  3201  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Updates the extension user hours when answering rules are to 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 user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)&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;
  3202   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3203   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  3204   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  3205   * @param userBusinessHoursUpdateRequest JSON body
  3206  @return UserBusinessHoursUpdate
  3207  */
  3208  func (a *CallHandlingSettingsApiService) UpdateUserBusinessHours(ctx context.Context, accountId string, extensionId string, userBusinessHoursUpdateRequest UserBusinessHoursUpdateRequest) (UserBusinessHoursUpdate, *http.Response, error) {
  3209  	var (
  3210  		localVarHttpMethod   = strings.ToUpper("Put")
  3211  		localVarPostBody     interface{}
  3212  		localVarFormFileName string
  3213  		localVarFileName     string
  3214  		localVarFileBytes    []byte
  3215  		localVarReturnValue  UserBusinessHoursUpdate
  3216  	)
  3217  
  3218  	// create path and map variables
  3219  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/business-hours"
  3220  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  3221  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  3222  
  3223  	localVarHeaderParams := make(map[string]string)
  3224  	localVarQueryParams := url.Values{}
  3225  	localVarFormParams := url.Values{}
  3226  
  3227  	// to determine the Content-Type header
  3228  	localVarHttpContentTypes := []string{"application/json"}
  3229  
  3230  	// set Content-Type header
  3231  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3232  	if localVarHttpContentType != "" {
  3233  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3234  	}
  3235  
  3236  	// to determine the Accept header
  3237  	localVarHttpHeaderAccepts := []string{"application/json"}
  3238  
  3239  	// set Accept header
  3240  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3241  	if localVarHttpHeaderAccept != "" {
  3242  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3243  	}
  3244  	// body params
  3245  	localVarPostBody = &userBusinessHoursUpdateRequest
  3246  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3247  	if err != nil {
  3248  		return localVarReturnValue, nil, err
  3249  	}
  3250  
  3251  	localVarHttpResponse, err := a.client.callAPI(r)
  3252  	if err != nil || localVarHttpResponse == nil {
  3253  		return localVarReturnValue, localVarHttpResponse, err
  3254  	}
  3255  
  3256  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3257  	localVarHttpResponse.Body.Close()
  3258  	if err != nil {
  3259  		return localVarReturnValue, localVarHttpResponse, err
  3260  	}
  3261  
  3262  	if localVarHttpResponse.StatusCode >= 300 {
  3263  		newErr := GenericOpenAPIError{
  3264  			body:  localVarBody,
  3265  			error: localVarHttpResponse.Status,
  3266  		}
  3267  		if localVarHttpResponse.StatusCode == 0 {
  3268  			var v UserBusinessHoursUpdate
  3269  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3270  			if err != nil {
  3271  				newErr.error = err.Error()
  3272  				return localVarReturnValue, localVarHttpResponse, newErr
  3273  			}
  3274  			newErr.model = v
  3275  			return localVarReturnValue, localVarHttpResponse, newErr
  3276  		}
  3277  		return localVarReturnValue, localVarHttpResponse, newErr
  3278  	}
  3279  
  3280  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  3281  	if err != nil {
  3282  		newErr := GenericOpenAPIError{
  3283  			body:  localVarBody,
  3284  			error: err.Error(),
  3285  		}
  3286  		return localVarReturnValue, localVarHttpResponse, newErr
  3287  	}
  3288  
  3289  	return localVarReturnValue, localVarHttpResponse, nil
  3290  }