github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_account_provisioning.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  	"strings"
    20  )
    21  
    22  // Linger please
    23  var (
    24  	_ context.Context
    25  )
    26  
    27  type AccountProvisioningApiService service
    28  
    29  /*
    30  AccountProvisioningApiService Edit Call Queue Members
    31  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Adds and/or removes multiple call queue members.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param accountId
    34   * @param optional nil or *BulkAssignOpts - Optional Parameters:
    35   * @param "DepartmentBulkAssignResource" (optional.Interface of DepartmentBulkAssignResource) -
    36  */
    37  
    38  type BulkAssignOpts struct {
    39  	DepartmentBulkAssignResource optional.Interface
    40  }
    41  
    42  func (a *AccountProvisioningApiService) BulkAssign(ctx context.Context, accountId string, localVarOptionals *BulkAssignOpts) (*http.Response, error) {
    43  	var (
    44  		localVarHttpMethod   = strings.ToUpper("Post")
    45  		localVarPostBody     interface{}
    46  		localVarFormFileName string
    47  		localVarFileName     string
    48  		localVarFileBytes    []byte
    49  	)
    50  
    51  	// create path and map variables
    52  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/department/bulk-assign"
    53  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    54  
    55  	localVarHeaderParams := make(map[string]string)
    56  	localVarQueryParams := url.Values{}
    57  	localVarFormParams := url.Values{}
    58  
    59  	// to determine the Content-Type header
    60  	localVarHttpContentTypes := []string{"application/json"}
    61  
    62  	// set Content-Type header
    63  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    64  	if localVarHttpContentType != "" {
    65  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    66  	}
    67  
    68  	// to determine the Accept header
    69  	localVarHttpHeaderAccepts := []string{}
    70  
    71  	// set Accept header
    72  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    73  	if localVarHttpHeaderAccept != "" {
    74  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    75  	}
    76  	// body params
    77  	if localVarOptionals != nil && localVarOptionals.DepartmentBulkAssignResource.IsSet() {
    78  		localVarOptionalDepartmentBulkAssignResource, localVarOptionalDepartmentBulkAssignResourceok := localVarOptionals.DepartmentBulkAssignResource.Value().(DepartmentBulkAssignResource)
    79  		if !localVarOptionalDepartmentBulkAssignResourceok {
    80  			return nil, reportError("departmentBulkAssignResource should be DepartmentBulkAssignResource")
    81  		}
    82  		localVarPostBody = &localVarOptionalDepartmentBulkAssignResource
    83  	}
    84  
    85  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    86  	if err != nil {
    87  		return nil, err
    88  	}
    89  
    90  	localVarHttpResponse, err := a.client.callAPI(r)
    91  	if err != nil || localVarHttpResponse == nil {
    92  		return localVarHttpResponse, err
    93  	}
    94  
    95  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    96  	localVarHttpResponse.Body.Close()
    97  	if err != nil {
    98  		return localVarHttpResponse, err
    99  	}
   100  
   101  	if localVarHttpResponse.StatusCode >= 300 {
   102  		newErr := GenericOpenAPIError{
   103  			body:  localVarBody,
   104  			error: localVarHttpResponse.Status,
   105  		}
   106  		return localVarHttpResponse, newErr
   107  	}
   108  
   109  	return localVarHttpResponse, nil
   110  }
   111  
   112  /*
   113  AccountProvisioningApiService Create Account
   114  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.10 (Release 6.2)&lt;/p&gt;&lt;p&gt;Creates the account in Initial state.&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;Accounts&lt;/td&gt;&lt;td&gt;Managing accounts: creating new accounts, viewing and updating account information, deleting existing accounts&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 and updating 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;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;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   115   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   116   * @param createAccountRequest JSON body
   117  @return GetAccountInfoResponse
   118  */
   119  func (a *AccountProvisioningApiService) CreateAccount(ctx context.Context, createAccountRequest CreateAccountRequest) (GetAccountInfoResponse, *http.Response, error) {
   120  	var (
   121  		localVarHttpMethod   = strings.ToUpper("Post")
   122  		localVarPostBody     interface{}
   123  		localVarFormFileName string
   124  		localVarFileName     string
   125  		localVarFileBytes    []byte
   126  		localVarReturnValue  GetAccountInfoResponse
   127  	)
   128  
   129  	// create path and map variables
   130  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account"
   131  
   132  	localVarHeaderParams := make(map[string]string)
   133  	localVarQueryParams := url.Values{}
   134  	localVarFormParams := url.Values{}
   135  
   136  	// to determine the Content-Type header
   137  	localVarHttpContentTypes := []string{"application/json"}
   138  
   139  	// set Content-Type header
   140  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   141  	if localVarHttpContentType != "" {
   142  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   143  	}
   144  
   145  	// to determine the Accept header
   146  	localVarHttpHeaderAccepts := []string{"application/json"}
   147  
   148  	// set Accept header
   149  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   150  	if localVarHttpHeaderAccept != "" {
   151  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   152  	}
   153  	// body params
   154  	localVarPostBody = &createAccountRequest
   155  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   156  	if err != nil {
   157  		return localVarReturnValue, nil, err
   158  	}
   159  
   160  	localVarHttpResponse, err := a.client.callAPI(r)
   161  	if err != nil || localVarHttpResponse == nil {
   162  		return localVarReturnValue, localVarHttpResponse, err
   163  	}
   164  
   165  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   166  	localVarHttpResponse.Body.Close()
   167  	if err != nil {
   168  		return localVarReturnValue, localVarHttpResponse, err
   169  	}
   170  
   171  	if localVarHttpResponse.StatusCode >= 300 {
   172  		newErr := GenericOpenAPIError{
   173  			body:  localVarBody,
   174  			error: localVarHttpResponse.Status,
   175  		}
   176  		if localVarHttpResponse.StatusCode == 0 {
   177  			var v GetAccountInfoResponse
   178  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   179  			if err != nil {
   180  				newErr.error = err.Error()
   181  				return localVarReturnValue, localVarHttpResponse, newErr
   182  			}
   183  			newErr.model = v
   184  			return localVarReturnValue, localVarHttpResponse, newErr
   185  		}
   186  		return localVarReturnValue, localVarHttpResponse, newErr
   187  	}
   188  
   189  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   190  	if err != nil {
   191  		newErr := GenericOpenAPIError{
   192  			body:  localVarBody,
   193  			error: err.Error(),
   194  		}
   195  		return localVarReturnValue, localVarHttpResponse, newErr
   196  	}
   197  
   198  	return localVarReturnValue, localVarHttpResponse, nil
   199  }
   200  
   201  /*
   202  AccountProvisioningApiService Create Device Order
   203  &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;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;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;Heavy&lt;/p&gt;
   204   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   205   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   206   * @param optional nil or *CreateDeviceOrderOpts - Optional Parameters:
   207   * @param "Async" (optional.Bool) -  Specifies whether a client expects order details to be returned or not. If 'True' the server returns a link for tracking order status without waiting for it to be actually created. If 'False' the server returns order details once it is created - it may take some time depending on device count. The default value is 'False'
   208   * @param "DeviceResource" (optional.Interface of DeviceResource) -
   209  @return DeviceOrderCreation
   210  */
   211  
   212  type CreateDeviceOrderOpts struct {
   213  	Async          optional.Bool
   214  	DeviceResource optional.Interface
   215  }
   216  
   217  func (a *AccountProvisioningApiService) CreateDeviceOrder(ctx context.Context, accountId string, localVarOptionals *CreateDeviceOrderOpts) (DeviceOrderCreation, *http.Response, error) {
   218  	var (
   219  		localVarHttpMethod   = strings.ToUpper("Post")
   220  		localVarPostBody     interface{}
   221  		localVarFormFileName string
   222  		localVarFileName     string
   223  		localVarFileBytes    []byte
   224  		localVarReturnValue  DeviceOrderCreation
   225  	)
   226  
   227  	// create path and map variables
   228  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/order"
   229  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   230  
   231  	localVarHeaderParams := make(map[string]string)
   232  	localVarQueryParams := url.Values{}
   233  	localVarFormParams := url.Values{}
   234  
   235  	if localVarOptionals != nil && localVarOptionals.Async.IsSet() {
   236  		localVarQueryParams.Add("async", parameterToString(localVarOptionals.Async.Value(), ""))
   237  	}
   238  	// to determine the Content-Type header
   239  	localVarHttpContentTypes := []string{"application/json"}
   240  
   241  	// set Content-Type header
   242  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   243  	if localVarHttpContentType != "" {
   244  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   245  	}
   246  
   247  	// to determine the Accept header
   248  	localVarHttpHeaderAccepts := []string{"application/json"}
   249  
   250  	// set Accept header
   251  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   252  	if localVarHttpHeaderAccept != "" {
   253  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   254  	}
   255  	// body params
   256  	if localVarOptionals != nil && localVarOptionals.DeviceResource.IsSet() {
   257  		localVarOptionalDeviceResource, localVarOptionalDeviceResourceok := localVarOptionals.DeviceResource.Value().(DeviceResource)
   258  		if !localVarOptionalDeviceResourceok {
   259  			return localVarReturnValue, nil, reportError("deviceResource should be DeviceResource")
   260  		}
   261  		localVarPostBody = &localVarOptionalDeviceResource
   262  	}
   263  
   264  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   265  	if err != nil {
   266  		return localVarReturnValue, nil, err
   267  	}
   268  
   269  	localVarHttpResponse, err := a.client.callAPI(r)
   270  	if err != nil || localVarHttpResponse == nil {
   271  		return localVarReturnValue, localVarHttpResponse, err
   272  	}
   273  
   274  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   275  	localVarHttpResponse.Body.Close()
   276  	if err != nil {
   277  		return localVarReturnValue, localVarHttpResponse, err
   278  	}
   279  
   280  	if localVarHttpResponse.StatusCode >= 300 {
   281  		newErr := GenericOpenAPIError{
   282  			body:  localVarBody,
   283  			error: localVarHttpResponse.Status,
   284  		}
   285  		if localVarHttpResponse.StatusCode == 0 {
   286  			var v DeviceOrderCreation
   287  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   288  			if err != nil {
   289  				newErr.error = err.Error()
   290  				return localVarReturnValue, localVarHttpResponse, newErr
   291  			}
   292  			newErr.model = v
   293  			return localVarReturnValue, localVarHttpResponse, newErr
   294  		}
   295  		return localVarReturnValue, localVarHttpResponse, newErr
   296  	}
   297  
   298  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   299  	if err != nil {
   300  		newErr := GenericOpenAPIError{
   301  			body:  localVarBody,
   302  			error: err.Error(),
   303  		}
   304  		return localVarReturnValue, localVarHttpResponse, newErr
   305  	}
   306  
   307  	return localVarReturnValue, localVarHttpResponse, nil
   308  }
   309  
   310  /*
   311  AccountProvisioningApiService Order Licenses
   312  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Purchases licenses for add-on features: Rooms, Room Connector, Webinar, Live Reports, etc.&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 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;
   313   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   314   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   315   * @param orderLicensesRequest JSON body
   316  */
   317  func (a *AccountProvisioningApiService) CreateLicensesOrder(ctx context.Context, accountId string, orderLicensesRequest OrderLicensesRequest) (*http.Response, error) {
   318  	var (
   319  		localVarHttpMethod   = strings.ToUpper("Post")
   320  		localVarPostBody     interface{}
   321  		localVarFormFileName string
   322  		localVarFileName     string
   323  		localVarFileBytes    []byte
   324  	)
   325  
   326  	// create path and map variables
   327  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/licenses/bulk-purchase"
   328  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   329  
   330  	localVarHeaderParams := make(map[string]string)
   331  	localVarQueryParams := url.Values{}
   332  	localVarFormParams := url.Values{}
   333  
   334  	// to determine the Content-Type header
   335  	localVarHttpContentTypes := []string{"application/json"}
   336  
   337  	// set Content-Type header
   338  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   339  	if localVarHttpContentType != "" {
   340  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   341  	}
   342  
   343  	// to determine the Accept header
   344  	localVarHttpHeaderAccepts := []string{}
   345  
   346  	// set Accept header
   347  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   348  	if localVarHttpHeaderAccept != "" {
   349  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   350  	}
   351  	// body params
   352  	localVarPostBody = &orderLicensesRequest
   353  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   354  	if err != nil {
   355  		return nil, err
   356  	}
   357  
   358  	localVarHttpResponse, err := a.client.callAPI(r)
   359  	if err != nil || localVarHttpResponse == nil {
   360  		return localVarHttpResponse, err
   361  	}
   362  
   363  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   364  	localVarHttpResponse.Body.Close()
   365  	if err != nil {
   366  		return localVarHttpResponse, err
   367  	}
   368  
   369  	if localVarHttpResponse.StatusCode >= 300 {
   370  		newErr := GenericOpenAPIError{
   371  			body:  localVarBody,
   372  			error: localVarHttpResponse.Status,
   373  		}
   374  		return localVarHttpResponse, newErr
   375  	}
   376  
   377  	return localVarHttpResponse, nil
   378  }
   379  
   380  /*
   381  AccountProvisioningApiService Delete License
   382  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Removes a license for a specific user. Please note: It is not allowed to remove assigned licenses (only Webinars and Large Meetings can be assigned).&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 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;Medium&lt;/p&gt;
   383   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   384   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   385   * @param licenseId Internal identifier of a license
   386  */
   387  func (a *AccountProvisioningApiService) DeleteLicense(ctx context.Context, accountId string, licenseId string) (*http.Response, error) {
   388  	var (
   389  		localVarHttpMethod   = strings.ToUpper("Delete")
   390  		localVarPostBody     interface{}
   391  		localVarFormFileName string
   392  		localVarFileName     string
   393  		localVarFileBytes    []byte
   394  	)
   395  
   396  	// create path and map variables
   397  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/licenses/{licenseId}"
   398  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   399  	localVarPath = strings.Replace(localVarPath, "{"+"licenseId"+"}", fmt.Sprintf("%v", licenseId), -1)
   400  
   401  	localVarHeaderParams := make(map[string]string)
   402  	localVarQueryParams := url.Values{}
   403  	localVarFormParams := url.Values{}
   404  
   405  	// to determine the Content-Type header
   406  	localVarHttpContentTypes := []string{}
   407  
   408  	// set Content-Type header
   409  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   410  	if localVarHttpContentType != "" {
   411  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   412  	}
   413  
   414  	// to determine the Accept header
   415  	localVarHttpHeaderAccepts := []string{}
   416  
   417  	// set Accept header
   418  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   419  	if localVarHttpHeaderAccept != "" {
   420  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   421  	}
   422  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   423  	if err != nil {
   424  		return nil, err
   425  	}
   426  
   427  	localVarHttpResponse, err := a.client.callAPI(r)
   428  	if err != nil || localVarHttpResponse == nil {
   429  		return localVarHttpResponse, err
   430  	}
   431  
   432  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   433  	localVarHttpResponse.Body.Close()
   434  	if err != nil {
   435  		return localVarHttpResponse, err
   436  	}
   437  
   438  	if localVarHttpResponse.StatusCode >= 300 {
   439  		newErr := GenericOpenAPIError{
   440  			body:  localVarBody,
   441  			error: localVarHttpResponse.Status,
   442  		}
   443  		return localVarHttpResponse, newErr
   444  	}
   445  
   446  	return localVarHttpResponse, nil
   447  }
   448  
   449  /*
   450  AccountProvisioningApiService Delete Phone Number
   451  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.11 (Release 6.3) &lt;/p&gt;&lt;p&gt;Deletes a phone number belonging to a certain account/extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&lt;/td&gt;&lt;td&gt;Viewing and updating user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   452   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   453   * @param phoneNumberId
   454   * @param accountId
   455  */
   456  func (a *AccountProvisioningApiService) DeletePhoneNumberById(ctx context.Context, phoneNumberId int64, accountId string) (*http.Response, error) {
   457  	var (
   458  		localVarHttpMethod   = strings.ToUpper("Delete")
   459  		localVarPostBody     interface{}
   460  		localVarFormFileName string
   461  		localVarFileName     string
   462  		localVarFileBytes    []byte
   463  	)
   464  
   465  	// create path and map variables
   466  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/phone-number/{phoneNumberId}"
   467  	localVarPath = strings.Replace(localVarPath, "{"+"phoneNumberId"+"}", fmt.Sprintf("%v", phoneNumberId), -1)
   468  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   469  
   470  	localVarHeaderParams := make(map[string]string)
   471  	localVarQueryParams := url.Values{}
   472  	localVarFormParams := url.Values{}
   473  
   474  	// to determine the Content-Type header
   475  	localVarHttpContentTypes := []string{}
   476  
   477  	// set Content-Type header
   478  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   479  	if localVarHttpContentType != "" {
   480  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   481  	}
   482  
   483  	// to determine the Accept header
   484  	localVarHttpHeaderAccepts := []string{}
   485  
   486  	// set Accept header
   487  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   488  	if localVarHttpHeaderAccept != "" {
   489  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   490  	}
   491  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   492  	if err != nil {
   493  		return nil, err
   494  	}
   495  
   496  	localVarHttpResponse, err := a.client.callAPI(r)
   497  	if err != nil || localVarHttpResponse == nil {
   498  		return localVarHttpResponse, err
   499  	}
   500  
   501  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   502  	localVarHttpResponse.Body.Close()
   503  	if err != nil {
   504  		return localVarHttpResponse, err
   505  	}
   506  
   507  	if localVarHttpResponse.StatusCode >= 300 {
   508  		newErr := GenericOpenAPIError{
   509  			body:  localVarBody,
   510  			error: localVarHttpResponse.Status,
   511  		}
   512  		return localVarHttpResponse, newErr
   513  	}
   514  
   515  	return localVarHttpResponse, nil
   516  }
   517  
   518  /*
   519  AccountProvisioningApiService Get Brand Info
   520   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   521   * @param brandId
   522  @return BrandResource
   523  */
   524  func (a *AccountProvisioningApiService) GetBrandInfo(ctx context.Context, brandId string) (BrandResource, *http.Response, error) {
   525  	var (
   526  		localVarHttpMethod   = strings.ToUpper("Get")
   527  		localVarPostBody     interface{}
   528  		localVarFormFileName string
   529  		localVarFileName     string
   530  		localVarFileBytes    []byte
   531  		localVarReturnValue  BrandResource
   532  	)
   533  
   534  	// create path and map variables
   535  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/brand/{brandId}"
   536  	localVarPath = strings.Replace(localVarPath, "{"+"brandId"+"}", fmt.Sprintf("%v", brandId), -1)
   537  
   538  	localVarHeaderParams := make(map[string]string)
   539  	localVarQueryParams := url.Values{}
   540  	localVarFormParams := url.Values{}
   541  
   542  	// to determine the Content-Type header
   543  	localVarHttpContentTypes := []string{}
   544  
   545  	// set Content-Type header
   546  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   547  	if localVarHttpContentType != "" {
   548  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   549  	}
   550  
   551  	// to determine the Accept header
   552  	localVarHttpHeaderAccepts := []string{"application/json"}
   553  
   554  	// set Accept header
   555  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   556  	if localVarHttpHeaderAccept != "" {
   557  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   558  	}
   559  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   560  	if err != nil {
   561  		return localVarReturnValue, nil, err
   562  	}
   563  
   564  	localVarHttpResponse, err := a.client.callAPI(r)
   565  	if err != nil || localVarHttpResponse == nil {
   566  		return localVarReturnValue, localVarHttpResponse, err
   567  	}
   568  
   569  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   570  	localVarHttpResponse.Body.Close()
   571  	if err != nil {
   572  		return localVarReturnValue, localVarHttpResponse, err
   573  	}
   574  
   575  	if localVarHttpResponse.StatusCode >= 300 {
   576  		newErr := GenericOpenAPIError{
   577  			body:  localVarBody,
   578  			error: localVarHttpResponse.Status,
   579  		}
   580  		if localVarHttpResponse.StatusCode == 0 {
   581  			var v BrandResource
   582  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   583  			if err != nil {
   584  				newErr.error = err.Error()
   585  				return localVarReturnValue, localVarHttpResponse, newErr
   586  			}
   587  			newErr.model = v
   588  			return localVarReturnValue, localVarHttpResponse, newErr
   589  		}
   590  		return localVarReturnValue, localVarHttpResponse, newErr
   591  	}
   592  
   593  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   594  	if err != nil {
   595  		newErr := GenericOpenAPIError{
   596  			body:  localVarBody,
   597  			error: err.Error(),
   598  		}
   599  		return localVarReturnValue, localVarHttpResponse, newErr
   600  	}
   601  
   602  	return localVarReturnValue, localVarHttpResponse, nil
   603  }
   604  
   605  /*
   606  AccountProvisioningApiService Get Device Catalog
   607   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   608  @return DeviceModelExtsResource
   609  */
   610  func (a *AccountProvisioningApiService) GetDeviceModels(ctx context.Context) (DeviceModelExtsResource, *http.Response, error) {
   611  	var (
   612  		localVarHttpMethod   = strings.ToUpper("Get")
   613  		localVarPostBody     interface{}
   614  		localVarFormFileName string
   615  		localVarFileName     string
   616  		localVarFileBytes    []byte
   617  		localVarReturnValue  DeviceModelExtsResource
   618  	)
   619  
   620  	// create path and map variables
   621  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/device"
   622  
   623  	localVarHeaderParams := make(map[string]string)
   624  	localVarQueryParams := url.Values{}
   625  	localVarFormParams := url.Values{}
   626  
   627  	// to determine the Content-Type header
   628  	localVarHttpContentTypes := []string{}
   629  
   630  	// set Content-Type header
   631  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   632  	if localVarHttpContentType != "" {
   633  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   634  	}
   635  
   636  	// to determine the Accept header
   637  	localVarHttpHeaderAccepts := []string{"application/json"}
   638  
   639  	// set Accept header
   640  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   641  	if localVarHttpHeaderAccept != "" {
   642  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   643  	}
   644  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   645  	if err != nil {
   646  		return localVarReturnValue, nil, err
   647  	}
   648  
   649  	localVarHttpResponse, err := a.client.callAPI(r)
   650  	if err != nil || localVarHttpResponse == nil {
   651  		return localVarReturnValue, localVarHttpResponse, err
   652  	}
   653  
   654  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   655  	localVarHttpResponse.Body.Close()
   656  	if err != nil {
   657  		return localVarReturnValue, localVarHttpResponse, err
   658  	}
   659  
   660  	if localVarHttpResponse.StatusCode >= 300 {
   661  		newErr := GenericOpenAPIError{
   662  			body:  localVarBody,
   663  			error: localVarHttpResponse.Status,
   664  		}
   665  		if localVarHttpResponse.StatusCode == 0 {
   666  			var v DeviceModelExtsResource
   667  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   668  			if err != nil {
   669  				newErr.error = err.Error()
   670  				return localVarReturnValue, localVarHttpResponse, newErr
   671  			}
   672  			newErr.model = v
   673  			return localVarReturnValue, localVarHttpResponse, newErr
   674  		}
   675  		return localVarReturnValue, localVarHttpResponse, newErr
   676  	}
   677  
   678  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   679  	if err != nil {
   680  		newErr := GenericOpenAPIError{
   681  			body:  localVarBody,
   682  			error: err.Error(),
   683  		}
   684  		return localVarReturnValue, localVarHttpResponse, newErr
   685  	}
   686  
   687  	return localVarReturnValue, localVarHttpResponse, nil
   688  }
   689  
   690  /*
   691  AccountProvisioningApiService Get Free Extension Numbers
   692   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   693   * @param accountId
   694  @return BulkProvisionUnassignedExtensionsResponseResource
   695  */
   696  func (a *AccountProvisioningApiService) GetExtensionFreeNumbers(ctx context.Context, accountId string) (BulkProvisionUnassignedExtensionsResponseResource, *http.Response, error) {
   697  	var (
   698  		localVarHttpMethod   = strings.ToUpper("Get")
   699  		localVarPostBody     interface{}
   700  		localVarFormFileName string
   701  		localVarFileName     string
   702  		localVarFileBytes    []byte
   703  		localVarReturnValue  BulkProvisionUnassignedExtensionsResponseResource
   704  	)
   705  
   706  	// create path and map variables
   707  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/free-numbers"
   708  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   709  
   710  	localVarHeaderParams := make(map[string]string)
   711  	localVarQueryParams := url.Values{}
   712  	localVarFormParams := url.Values{}
   713  
   714  	// to determine the Content-Type header
   715  	localVarHttpContentTypes := []string{}
   716  
   717  	// set Content-Type header
   718  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   719  	if localVarHttpContentType != "" {
   720  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   721  	}
   722  
   723  	// to determine the Accept header
   724  	localVarHttpHeaderAccepts := []string{"application/json"}
   725  
   726  	// set Accept header
   727  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   728  	if localVarHttpHeaderAccept != "" {
   729  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   730  	}
   731  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   732  	if err != nil {
   733  		return localVarReturnValue, nil, err
   734  	}
   735  
   736  	localVarHttpResponse, err := a.client.callAPI(r)
   737  	if err != nil || localVarHttpResponse == nil {
   738  		return localVarReturnValue, localVarHttpResponse, err
   739  	}
   740  
   741  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   742  	localVarHttpResponse.Body.Close()
   743  	if err != nil {
   744  		return localVarReturnValue, localVarHttpResponse, err
   745  	}
   746  
   747  	if localVarHttpResponse.StatusCode >= 300 {
   748  		newErr := GenericOpenAPIError{
   749  			body:  localVarBody,
   750  			error: localVarHttpResponse.Status,
   751  		}
   752  		if localVarHttpResponse.StatusCode == 0 {
   753  			var v BulkProvisionUnassignedExtensionsResponseResource
   754  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   755  			if err != nil {
   756  				newErr.error = err.Error()
   757  				return localVarReturnValue, localVarHttpResponse, newErr
   758  			}
   759  			newErr.model = v
   760  			return localVarReturnValue, localVarHttpResponse, newErr
   761  		}
   762  		return localVarReturnValue, localVarHttpResponse, newErr
   763  	}
   764  
   765  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   766  	if err != nil {
   767  		newErr := GenericOpenAPIError{
   768  			body:  localVarBody,
   769  			error: err.Error(),
   770  		}
   771  		return localVarReturnValue, localVarHttpResponse, newErr
   772  	}
   773  
   774  	return localVarReturnValue, localVarHttpResponse, nil
   775  }
   776  
   777  /*
   778  AccountProvisioningApiService Get Paging Only Group Devices
   779  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns the list of paging devices assigned to this group.&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;
   780   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   781   * @param accountId
   782   * @param pagingOnlyGroupId
   783   * @param optional nil or *GetPagingOnlyGroupDevicesOpts - Optional Parameters:
   784   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   785   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
   786  @return PagingOnlyGroupDevices
   787  */
   788  
   789  type GetPagingOnlyGroupDevicesOpts struct {
   790  	Page    optional.Int32
   791  	PerPage optional.Int32
   792  }
   793  
   794  func (a *AccountProvisioningApiService) GetPagingOnlyGroupDevices(ctx context.Context, accountId string, pagingOnlyGroupId string, localVarOptionals *GetPagingOnlyGroupDevicesOpts) (PagingOnlyGroupDevices, *http.Response, error) {
   795  	var (
   796  		localVarHttpMethod   = strings.ToUpper("Get")
   797  		localVarPostBody     interface{}
   798  		localVarFormFileName string
   799  		localVarFileName     string
   800  		localVarFileBytes    []byte
   801  		localVarReturnValue  PagingOnlyGroupDevices
   802  	)
   803  
   804  	// create path and map variables
   805  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/paging-only-groups/{pagingOnlyGroupId}/devices"
   806  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   807  	localVarPath = strings.Replace(localVarPath, "{"+"pagingOnlyGroupId"+"}", fmt.Sprintf("%v", pagingOnlyGroupId), -1)
   808  
   809  	localVarHeaderParams := make(map[string]string)
   810  	localVarQueryParams := url.Values{}
   811  	localVarFormParams := url.Values{}
   812  
   813  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   814  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   815  	}
   816  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   817  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   818  	}
   819  	// to determine the Content-Type header
   820  	localVarHttpContentTypes := []string{}
   821  
   822  	// set Content-Type header
   823  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   824  	if localVarHttpContentType != "" {
   825  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   826  	}
   827  
   828  	// to determine the Accept header
   829  	localVarHttpHeaderAccepts := []string{"application/json"}
   830  
   831  	// set Accept header
   832  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   833  	if localVarHttpHeaderAccept != "" {
   834  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   835  	}
   836  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   837  	if err != nil {
   838  		return localVarReturnValue, nil, err
   839  	}
   840  
   841  	localVarHttpResponse, err := a.client.callAPI(r)
   842  	if err != nil || localVarHttpResponse == nil {
   843  		return localVarReturnValue, localVarHttpResponse, err
   844  	}
   845  
   846  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   847  	localVarHttpResponse.Body.Close()
   848  	if err != nil {
   849  		return localVarReturnValue, localVarHttpResponse, err
   850  	}
   851  
   852  	if localVarHttpResponse.StatusCode >= 300 {
   853  		newErr := GenericOpenAPIError{
   854  			body:  localVarBody,
   855  			error: localVarHttpResponse.Status,
   856  		}
   857  		if localVarHttpResponse.StatusCode == 0 {
   858  			var v PagingOnlyGroupDevices
   859  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   860  			if err != nil {
   861  				newErr.error = err.Error()
   862  				return localVarReturnValue, localVarHttpResponse, newErr
   863  			}
   864  			newErr.model = v
   865  			return localVarReturnValue, localVarHttpResponse, newErr
   866  		}
   867  		return localVarReturnValue, localVarHttpResponse, newErr
   868  	}
   869  
   870  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   871  	if err != nil {
   872  		newErr := GenericOpenAPIError{
   873  			body:  localVarBody,
   874  			error: err.Error(),
   875  		}
   876  		return localVarReturnValue, localVarHttpResponse, newErr
   877  	}
   878  
   879  	return localVarReturnValue, localVarHttpResponse, nil
   880  }
   881  
   882  /*
   883  AccountProvisioningApiService Get Paging Only Group Users
   884  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns the list of users allowed to page this group.&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;
   885   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   886   * @param accountId
   887   * @param pagingOnlyGroupId
   888   * @param optional nil or *GetPagingOnlyGroupUsersOpts - Optional Parameters:
   889   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   890   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
   891  @return PagingOnlyGroupUsers
   892  */
   893  
   894  type GetPagingOnlyGroupUsersOpts struct {
   895  	Page    optional.Int32
   896  	PerPage optional.Int32
   897  }
   898  
   899  func (a *AccountProvisioningApiService) GetPagingOnlyGroupUsers(ctx context.Context, accountId string, pagingOnlyGroupId string, localVarOptionals *GetPagingOnlyGroupUsersOpts) (PagingOnlyGroupUsers, *http.Response, error) {
   900  	var (
   901  		localVarHttpMethod   = strings.ToUpper("Get")
   902  		localVarPostBody     interface{}
   903  		localVarFormFileName string
   904  		localVarFileName     string
   905  		localVarFileBytes    []byte
   906  		localVarReturnValue  PagingOnlyGroupUsers
   907  	)
   908  
   909  	// create path and map variables
   910  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/paging-only-groups/{pagingOnlyGroupId}/users"
   911  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   912  	localVarPath = strings.Replace(localVarPath, "{"+"pagingOnlyGroupId"+"}", fmt.Sprintf("%v", pagingOnlyGroupId), -1)
   913  
   914  	localVarHeaderParams := make(map[string]string)
   915  	localVarQueryParams := url.Values{}
   916  	localVarFormParams := url.Values{}
   917  
   918  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   919  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   920  	}
   921  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   922  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   923  	}
   924  	// to determine the Content-Type header
   925  	localVarHttpContentTypes := []string{}
   926  
   927  	// set Content-Type header
   928  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   929  	if localVarHttpContentType != "" {
   930  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   931  	}
   932  
   933  	// to determine the Accept header
   934  	localVarHttpHeaderAccepts := []string{"application/json"}
   935  
   936  	// set Accept header
   937  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   938  	if localVarHttpHeaderAccept != "" {
   939  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   940  	}
   941  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   942  	if err != nil {
   943  		return localVarReturnValue, nil, err
   944  	}
   945  
   946  	localVarHttpResponse, err := a.client.callAPI(r)
   947  	if err != nil || localVarHttpResponse == nil {
   948  		return localVarReturnValue, localVarHttpResponse, err
   949  	}
   950  
   951  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   952  	localVarHttpResponse.Body.Close()
   953  	if err != nil {
   954  		return localVarReturnValue, localVarHttpResponse, err
   955  	}
   956  
   957  	if localVarHttpResponse.StatusCode >= 300 {
   958  		newErr := GenericOpenAPIError{
   959  			body:  localVarBody,
   960  			error: localVarHttpResponse.Status,
   961  		}
   962  		if localVarHttpResponse.StatusCode == 0 {
   963  			var v PagingOnlyGroupUsers
   964  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   965  			if err != nil {
   966  				newErr.error = err.Error()
   967  				return localVarReturnValue, localVarHttpResponse, newErr
   968  			}
   969  			newErr.model = v
   970  			return localVarReturnValue, localVarHttpResponse, newErr
   971  		}
   972  		return localVarReturnValue, localVarHttpResponse, newErr
   973  	}
   974  
   975  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   976  	if err != nil {
   977  		newErr := GenericOpenAPIError{
   978  			body:  localVarBody,
   979  			error: err.Error(),
   980  		}
   981  		return localVarReturnValue, localVarHttpResponse, newErr
   982  	}
   983  
   984  	return localVarReturnValue, localVarHttpResponse, nil
   985  }
   986  
   987  /*
   988  AccountProvisioningApiService Get Park Location Users
   989  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Returns the list of users allowed to park and unpark calls to/from the park location extension specified&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;
   990   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   991   * @param accountId
   992   * @param parkLocationId
   993   * @param optional nil or *GetParkLocationUsersOpts - Optional Parameters:
   994   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   995   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
   996  @return ParkLocationResponse
   997  */
   998  
   999  type GetParkLocationUsersOpts struct {
  1000  	Page    optional.Int32
  1001  	PerPage optional.Int32
  1002  }
  1003  
  1004  func (a *AccountProvisioningApiService) GetParkLocationUsers(ctx context.Context, accountId string, parkLocationId string, localVarOptionals *GetParkLocationUsersOpts) (ParkLocationResponse, *http.Response, error) {
  1005  	var (
  1006  		localVarHttpMethod   = strings.ToUpper("Get")
  1007  		localVarPostBody     interface{}
  1008  		localVarFormFileName string
  1009  		localVarFileName     string
  1010  		localVarFileBytes    []byte
  1011  		localVarReturnValue  ParkLocationResponse
  1012  	)
  1013  
  1014  	// create path and map variables
  1015  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/park-locations/{parkLocationId}/users"
  1016  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1017  	localVarPath = strings.Replace(localVarPath, "{"+"parkLocationId"+"}", fmt.Sprintf("%v", parkLocationId), -1)
  1018  
  1019  	localVarHeaderParams := make(map[string]string)
  1020  	localVarQueryParams := url.Values{}
  1021  	localVarFormParams := url.Values{}
  1022  
  1023  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  1024  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  1025  	}
  1026  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  1027  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  1028  	}
  1029  	// to determine the Content-Type header
  1030  	localVarHttpContentTypes := []string{}
  1031  
  1032  	// set Content-Type header
  1033  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1034  	if localVarHttpContentType != "" {
  1035  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1036  	}
  1037  
  1038  	// to determine the Accept header
  1039  	localVarHttpHeaderAccepts := []string{"application/json"}
  1040  
  1041  	// set Accept header
  1042  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1043  	if localVarHttpHeaderAccept != "" {
  1044  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1045  	}
  1046  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1047  	if err != nil {
  1048  		return localVarReturnValue, nil, err
  1049  	}
  1050  
  1051  	localVarHttpResponse, err := a.client.callAPI(r)
  1052  	if err != nil || localVarHttpResponse == nil {
  1053  		return localVarReturnValue, localVarHttpResponse, err
  1054  	}
  1055  
  1056  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1057  	localVarHttpResponse.Body.Close()
  1058  	if err != nil {
  1059  		return localVarReturnValue, localVarHttpResponse, err
  1060  	}
  1061  
  1062  	if localVarHttpResponse.StatusCode >= 300 {
  1063  		newErr := GenericOpenAPIError{
  1064  			body:  localVarBody,
  1065  			error: localVarHttpResponse.Status,
  1066  		}
  1067  		if localVarHttpResponse.StatusCode == 0 {
  1068  			var v ParkLocationResponse
  1069  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1070  			if err != nil {
  1071  				newErr.error = err.Error()
  1072  				return localVarReturnValue, localVarHttpResponse, newErr
  1073  			}
  1074  			newErr.model = v
  1075  			return localVarReturnValue, localVarHttpResponse, newErr
  1076  		}
  1077  		return localVarReturnValue, localVarHttpResponse, newErr
  1078  	}
  1079  
  1080  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1081  	if err != nil {
  1082  		newErr := GenericOpenAPIError{
  1083  			body:  localVarBody,
  1084  			error: err.Error(),
  1085  		}
  1086  		return localVarReturnValue, localVarHttpResponse, newErr
  1087  	}
  1088  
  1089  	return localVarReturnValue, localVarHttpResponse, nil
  1090  }
  1091  
  1092  /*
  1093  AccountProvisioningApiService Get Service Plan
  1094   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1095   * @param servicePlanId
  1096  @return ServicePlanResource
  1097  */
  1098  func (a *AccountProvisioningApiService) GetServicePlanInfo(ctx context.Context, servicePlanId string) (ServicePlanResource, *http.Response, error) {
  1099  	var (
  1100  		localVarHttpMethod   = strings.ToUpper("Get")
  1101  		localVarPostBody     interface{}
  1102  		localVarFormFileName string
  1103  		localVarFileName     string
  1104  		localVarFileBytes    []byte
  1105  		localVarReturnValue  ServicePlanResource
  1106  	)
  1107  
  1108  	// create path and map variables
  1109  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/service-plan/{servicePlanId}"
  1110  	localVarPath = strings.Replace(localVarPath, "{"+"servicePlanId"+"}", fmt.Sprintf("%v", servicePlanId), -1)
  1111  
  1112  	localVarHeaderParams := make(map[string]string)
  1113  	localVarQueryParams := url.Values{}
  1114  	localVarFormParams := url.Values{}
  1115  
  1116  	// to determine the Content-Type header
  1117  	localVarHttpContentTypes := []string{}
  1118  
  1119  	// set Content-Type header
  1120  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1121  	if localVarHttpContentType != "" {
  1122  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1123  	}
  1124  
  1125  	// to determine the Accept header
  1126  	localVarHttpHeaderAccepts := []string{"application/json"}
  1127  
  1128  	// set Accept header
  1129  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1130  	if localVarHttpHeaderAccept != "" {
  1131  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1132  	}
  1133  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1134  	if err != nil {
  1135  		return localVarReturnValue, nil, err
  1136  	}
  1137  
  1138  	localVarHttpResponse, err := a.client.callAPI(r)
  1139  	if err != nil || localVarHttpResponse == nil {
  1140  		return localVarReturnValue, localVarHttpResponse, err
  1141  	}
  1142  
  1143  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1144  	localVarHttpResponse.Body.Close()
  1145  	if err != nil {
  1146  		return localVarReturnValue, localVarHttpResponse, err
  1147  	}
  1148  
  1149  	if localVarHttpResponse.StatusCode >= 300 {
  1150  		newErr := GenericOpenAPIError{
  1151  			body:  localVarBody,
  1152  			error: localVarHttpResponse.Status,
  1153  		}
  1154  		if localVarHttpResponse.StatusCode == 0 {
  1155  			var v ServicePlanResource
  1156  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1157  			if err != nil {
  1158  				newErr.error = err.Error()
  1159  				return localVarReturnValue, localVarHttpResponse, newErr
  1160  			}
  1161  			newErr.model = v
  1162  			return localVarReturnValue, localVarHttpResponse, newErr
  1163  		}
  1164  		return localVarReturnValue, localVarHttpResponse, newErr
  1165  	}
  1166  
  1167  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1168  	if err != nil {
  1169  		newErr := GenericOpenAPIError{
  1170  			body:  localVarBody,
  1171  			error: err.Error(),
  1172  		}
  1173  		return localVarReturnValue, localVarHttpResponse, newErr
  1174  	}
  1175  
  1176  	return localVarReturnValue, localVarHttpResponse, nil
  1177  }
  1178  
  1179  /*
  1180  AccountProvisioningApiService Get Account Devices
  1181  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.12 (Release 6.4)&lt;/p&gt;&lt;p&gt;Returns all the devices for a particular extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
  1182   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1183   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1184  @return GetAccountDevicesResponse
  1185  */
  1186  func (a *AccountProvisioningApiService) ListAccountDevices(ctx context.Context, accountId string) (GetAccountDevicesResponse, *http.Response, error) {
  1187  	var (
  1188  		localVarHttpMethod   = strings.ToUpper("Get")
  1189  		localVarPostBody     interface{}
  1190  		localVarFormFileName string
  1191  		localVarFileName     string
  1192  		localVarFileBytes    []byte
  1193  		localVarReturnValue  GetAccountDevicesResponse
  1194  	)
  1195  
  1196  	// create path and map variables
  1197  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/device"
  1198  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1199  
  1200  	localVarHeaderParams := make(map[string]string)
  1201  	localVarQueryParams := url.Values{}
  1202  	localVarFormParams := url.Values{}
  1203  
  1204  	// to determine the Content-Type header
  1205  	localVarHttpContentTypes := []string{}
  1206  
  1207  	// set Content-Type header
  1208  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1209  	if localVarHttpContentType != "" {
  1210  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1211  	}
  1212  
  1213  	// to determine the Accept header
  1214  	localVarHttpHeaderAccepts := []string{"application/json"}
  1215  
  1216  	// set Accept header
  1217  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1218  	if localVarHttpHeaderAccept != "" {
  1219  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1220  	}
  1221  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1222  	if err != nil {
  1223  		return localVarReturnValue, nil, err
  1224  	}
  1225  
  1226  	localVarHttpResponse, err := a.client.callAPI(r)
  1227  	if err != nil || localVarHttpResponse == nil {
  1228  		return localVarReturnValue, localVarHttpResponse, err
  1229  	}
  1230  
  1231  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1232  	localVarHttpResponse.Body.Close()
  1233  	if err != nil {
  1234  		return localVarReturnValue, localVarHttpResponse, err
  1235  	}
  1236  
  1237  	if localVarHttpResponse.StatusCode >= 300 {
  1238  		newErr := GenericOpenAPIError{
  1239  			body:  localVarBody,
  1240  			error: localVarHttpResponse.Status,
  1241  		}
  1242  		if localVarHttpResponse.StatusCode == 0 {
  1243  			var v GetAccountDevicesResponse
  1244  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1245  			if err != nil {
  1246  				newErr.error = err.Error()
  1247  				return localVarReturnValue, localVarHttpResponse, newErr
  1248  			}
  1249  			newErr.model = v
  1250  			return localVarReturnValue, localVarHttpResponse, newErr
  1251  		}
  1252  		return localVarReturnValue, localVarHttpResponse, newErr
  1253  	}
  1254  
  1255  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1256  	if err != nil {
  1257  		newErr := GenericOpenAPIError{
  1258  			body:  localVarBody,
  1259  			error: err.Error(),
  1260  		}
  1261  		return localVarReturnValue, localVarHttpResponse, newErr
  1262  	}
  1263  
  1264  	return localVarReturnValue, localVarHttpResponse, nil
  1265  }
  1266  
  1267  /*
  1268  AccountProvisioningApiService Get All Company Phone Numbers
  1269  &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;Heavy&lt;/p&gt;
  1270   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1271   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1272   * @param optional nil or *ListAccountPhoneNumbersOpts - Optional Parameters:
  1273   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
  1274   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
  1275   * @param "UsageType" (optional.Interface of []string) -  Usage type of the phone number
  1276  @return AccountPhoneNumbers
  1277  */
  1278  
  1279  type ListAccountPhoneNumbersOpts struct {
  1280  	Page      optional.Int32
  1281  	PerPage   optional.Int32
  1282  	UsageType optional.Interface
  1283  }
  1284  
  1285  func (a *AccountProvisioningApiService) ListAccountPhoneNumbers(ctx context.Context, accountId string, localVarOptionals *ListAccountPhoneNumbersOpts) (AccountPhoneNumbers, *http.Response, error) {
  1286  	var (
  1287  		localVarHttpMethod   = strings.ToUpper("Get")
  1288  		localVarPostBody     interface{}
  1289  		localVarFormFileName string
  1290  		localVarFileName     string
  1291  		localVarFileBytes    []byte
  1292  		localVarReturnValue  AccountPhoneNumbers
  1293  	)
  1294  
  1295  	// create path and map variables
  1296  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/phone-number"
  1297  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1298  
  1299  	localVarHeaderParams := make(map[string]string)
  1300  	localVarQueryParams := url.Values{}
  1301  	localVarFormParams := url.Values{}
  1302  
  1303  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  1304  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  1305  	}
  1306  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  1307  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  1308  	}
  1309  	if localVarOptionals != nil && localVarOptionals.UsageType.IsSet() {
  1310  		localVarQueryParams.Add("usageType", parameterToString(localVarOptionals.UsageType.Value(), "multi"))
  1311  	}
  1312  	// to determine the Content-Type header
  1313  	localVarHttpContentTypes := []string{}
  1314  
  1315  	// set Content-Type header
  1316  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1317  	if localVarHttpContentType != "" {
  1318  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1319  	}
  1320  
  1321  	// to determine the Accept header
  1322  	localVarHttpHeaderAccepts := []string{"application/json"}
  1323  
  1324  	// set Accept header
  1325  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1326  	if localVarHttpHeaderAccept != "" {
  1327  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1328  	}
  1329  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1330  	if err != nil {
  1331  		return localVarReturnValue, nil, err
  1332  	}
  1333  
  1334  	localVarHttpResponse, err := a.client.callAPI(r)
  1335  	if err != nil || localVarHttpResponse == nil {
  1336  		return localVarReturnValue, localVarHttpResponse, err
  1337  	}
  1338  
  1339  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1340  	localVarHttpResponse.Body.Close()
  1341  	if err != nil {
  1342  		return localVarReturnValue, localVarHttpResponse, err
  1343  	}
  1344  
  1345  	if localVarHttpResponse.StatusCode >= 300 {
  1346  		newErr := GenericOpenAPIError{
  1347  			body:  localVarBody,
  1348  			error: localVarHttpResponse.Status,
  1349  		}
  1350  		if localVarHttpResponse.StatusCode == 0 {
  1351  			var v AccountPhoneNumbers
  1352  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1353  			if err != nil {
  1354  				newErr.error = err.Error()
  1355  				return localVarReturnValue, localVarHttpResponse, newErr
  1356  			}
  1357  			newErr.model = v
  1358  			return localVarReturnValue, localVarHttpResponse, newErr
  1359  		}
  1360  		return localVarReturnValue, localVarHttpResponse, newErr
  1361  	}
  1362  
  1363  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1364  	if err != nil {
  1365  		newErr := GenericOpenAPIError{
  1366  			body:  localVarBody,
  1367  			error: err.Error(),
  1368  		}
  1369  		return localVarReturnValue, localVarHttpResponse, newErr
  1370  	}
  1371  
  1372  	return localVarReturnValue, localVarHttpResponse, nil
  1373  }
  1374  
  1375  /*
  1376  AccountProvisioningApiService Get Department Member List
  1377  &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;
  1378   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1379   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1380   * @param departmentId Internal identifier of a Department extension (same as extensionId but only the ID of a department extension is valid)
  1381   * @param optional nil or *ListDepartmentMembersOpts - Optional Parameters:
  1382   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
  1383   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
  1384  @return DepartmentMemberList
  1385  */
  1386  
  1387  type ListDepartmentMembersOpts struct {
  1388  	Page    optional.Int32
  1389  	PerPage optional.Int32
  1390  }
  1391  
  1392  func (a *AccountProvisioningApiService) ListDepartmentMembers(ctx context.Context, accountId string, departmentId int32, localVarOptionals *ListDepartmentMembersOpts) (DepartmentMemberList, *http.Response, error) {
  1393  	var (
  1394  		localVarHttpMethod   = strings.ToUpper("Get")
  1395  		localVarPostBody     interface{}
  1396  		localVarFormFileName string
  1397  		localVarFileName     string
  1398  		localVarFileBytes    []byte
  1399  		localVarReturnValue  DepartmentMemberList
  1400  	)
  1401  
  1402  	// create path and map variables
  1403  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/department/{departmentId}/members"
  1404  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1405  	localVarPath = strings.Replace(localVarPath, "{"+"departmentId"+"}", fmt.Sprintf("%v", departmentId), -1)
  1406  
  1407  	localVarHeaderParams := make(map[string]string)
  1408  	localVarQueryParams := url.Values{}
  1409  	localVarFormParams := url.Values{}
  1410  
  1411  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  1412  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  1413  	}
  1414  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  1415  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  1416  	}
  1417  	// to determine the Content-Type header
  1418  	localVarHttpContentTypes := []string{}
  1419  
  1420  	// set Content-Type header
  1421  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1422  	if localVarHttpContentType != "" {
  1423  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1424  	}
  1425  
  1426  	// to determine the Accept header
  1427  	localVarHttpHeaderAccepts := []string{"application/json"}
  1428  
  1429  	// set Accept header
  1430  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1431  	if localVarHttpHeaderAccept != "" {
  1432  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1433  	}
  1434  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1435  	if err != nil {
  1436  		return localVarReturnValue, nil, err
  1437  	}
  1438  
  1439  	localVarHttpResponse, err := a.client.callAPI(r)
  1440  	if err != nil || localVarHttpResponse == nil {
  1441  		return localVarReturnValue, localVarHttpResponse, err
  1442  	}
  1443  
  1444  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1445  	localVarHttpResponse.Body.Close()
  1446  	if err != nil {
  1447  		return localVarReturnValue, localVarHttpResponse, err
  1448  	}
  1449  
  1450  	if localVarHttpResponse.StatusCode >= 300 {
  1451  		newErr := GenericOpenAPIError{
  1452  			body:  localVarBody,
  1453  			error: localVarHttpResponse.Status,
  1454  		}
  1455  		if localVarHttpResponse.StatusCode == 0 {
  1456  			var v DepartmentMemberList
  1457  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1458  			if err != nil {
  1459  				newErr.error = err.Error()
  1460  				return localVarReturnValue, localVarHttpResponse, newErr
  1461  			}
  1462  			newErr.model = v
  1463  			return localVarReturnValue, localVarHttpResponse, newErr
  1464  		}
  1465  		return localVarReturnValue, localVarHttpResponse, newErr
  1466  	}
  1467  
  1468  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1469  	if err != nil {
  1470  		newErr := GenericOpenAPIError{
  1471  			body:  localVarBody,
  1472  			error: err.Error(),
  1473  		}
  1474  		return localVarReturnValue, localVarHttpResponse, newErr
  1475  	}
  1476  
  1477  	return localVarReturnValue, localVarHttpResponse, nil
  1478  }
  1479  
  1480  /*
  1481  AccountProvisioningApiService Get User Device Info
  1482  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.12 (Release 6.4)&lt;/p&gt;&lt;p&gt;Returns all the devices for extension(s) by extension ID(s). Batch request is supported, see Batch Requests for details.&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;
  1483   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1484   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1485   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
  1486   * @param optional nil or *ListExtensionDevicesOpts - Optional Parameters:
  1487   * @param "LinePooling" (optional.String) -  Pooling type of a device
  1488  @return GetExtensionDevicesResponse
  1489  */
  1490  
  1491  type ListExtensionDevicesOpts struct {
  1492  	LinePooling optional.String
  1493  }
  1494  
  1495  func (a *AccountProvisioningApiService) ListExtensionDevices(ctx context.Context, accountId string, extensionId string, localVarOptionals *ListExtensionDevicesOpts) (GetExtensionDevicesResponse, *http.Response, error) {
  1496  	var (
  1497  		localVarHttpMethod   = strings.ToUpper("Get")
  1498  		localVarPostBody     interface{}
  1499  		localVarFormFileName string
  1500  		localVarFileName     string
  1501  		localVarFileBytes    []byte
  1502  		localVarReturnValue  GetExtensionDevicesResponse
  1503  	)
  1504  
  1505  	// create path and map variables
  1506  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/device"
  1507  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1508  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
  1509  
  1510  	localVarHeaderParams := make(map[string]string)
  1511  	localVarQueryParams := url.Values{}
  1512  	localVarFormParams := url.Values{}
  1513  
  1514  	if localVarOptionals != nil && localVarOptionals.LinePooling.IsSet() {
  1515  		localVarQueryParams.Add("linePooling", parameterToString(localVarOptionals.LinePooling.Value(), ""))
  1516  	}
  1517  	// to determine the Content-Type header
  1518  	localVarHttpContentTypes := []string{}
  1519  
  1520  	// set Content-Type header
  1521  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1522  	if localVarHttpContentType != "" {
  1523  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1524  	}
  1525  
  1526  	// to determine the Accept header
  1527  	localVarHttpHeaderAccepts := []string{"application/json"}
  1528  
  1529  	// set Accept header
  1530  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1531  	if localVarHttpHeaderAccept != "" {
  1532  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1533  	}
  1534  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1535  	if err != nil {
  1536  		return localVarReturnValue, nil, err
  1537  	}
  1538  
  1539  	localVarHttpResponse, err := a.client.callAPI(r)
  1540  	if err != nil || localVarHttpResponse == nil {
  1541  		return localVarReturnValue, localVarHttpResponse, err
  1542  	}
  1543  
  1544  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1545  	localVarHttpResponse.Body.Close()
  1546  	if err != nil {
  1547  		return localVarReturnValue, localVarHttpResponse, err
  1548  	}
  1549  
  1550  	if localVarHttpResponse.StatusCode >= 300 {
  1551  		newErr := GenericOpenAPIError{
  1552  			body:  localVarBody,
  1553  			error: localVarHttpResponse.Status,
  1554  		}
  1555  		if localVarHttpResponse.StatusCode == 0 {
  1556  			var v GetExtensionDevicesResponse
  1557  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1558  			if err != nil {
  1559  				newErr.error = err.Error()
  1560  				return localVarReturnValue, localVarHttpResponse, newErr
  1561  			}
  1562  			newErr.model = v
  1563  			return localVarReturnValue, localVarHttpResponse, newErr
  1564  		}
  1565  		return localVarReturnValue, localVarHttpResponse, newErr
  1566  	}
  1567  
  1568  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1569  	if err != nil {
  1570  		newErr := GenericOpenAPIError{
  1571  			body:  localVarBody,
  1572  			error: err.Error(),
  1573  		}
  1574  		return localVarReturnValue, localVarHttpResponse, newErr
  1575  	}
  1576  
  1577  	return localVarReturnValue, localVarHttpResponse, nil
  1578  }
  1579  
  1580  /*
  1581  AccountProvisioningApiService Get License Types
  1582  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Returns supported license types.&lt;/p&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
  1583   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1584  @return LicenseTypes
  1585  */
  1586  func (a *AccountProvisioningApiService) ListLicenseTypes(ctx context.Context) (LicenseTypes, *http.Response, error) {
  1587  	var (
  1588  		localVarHttpMethod   = strings.ToUpper("Get")
  1589  		localVarPostBody     interface{}
  1590  		localVarFormFileName string
  1591  		localVarFileName     string
  1592  		localVarFileBytes    []byte
  1593  		localVarReturnValue  LicenseTypes
  1594  	)
  1595  
  1596  	// create path and map variables
  1597  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/license-types"
  1598  
  1599  	localVarHeaderParams := make(map[string]string)
  1600  	localVarQueryParams := url.Values{}
  1601  	localVarFormParams := url.Values{}
  1602  
  1603  	// to determine the Content-Type header
  1604  	localVarHttpContentTypes := []string{}
  1605  
  1606  	// set Content-Type header
  1607  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1608  	if localVarHttpContentType != "" {
  1609  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1610  	}
  1611  
  1612  	// to determine the Accept header
  1613  	localVarHttpHeaderAccepts := []string{"application/json"}
  1614  
  1615  	// set Accept header
  1616  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1617  	if localVarHttpHeaderAccept != "" {
  1618  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1619  	}
  1620  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1621  	if err != nil {
  1622  		return localVarReturnValue, nil, err
  1623  	}
  1624  
  1625  	localVarHttpResponse, err := a.client.callAPI(r)
  1626  	if err != nil || localVarHttpResponse == nil {
  1627  		return localVarReturnValue, localVarHttpResponse, err
  1628  	}
  1629  
  1630  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1631  	localVarHttpResponse.Body.Close()
  1632  	if err != nil {
  1633  		return localVarReturnValue, localVarHttpResponse, err
  1634  	}
  1635  
  1636  	if localVarHttpResponse.StatusCode >= 300 {
  1637  		newErr := GenericOpenAPIError{
  1638  			body:  localVarBody,
  1639  			error: localVarHttpResponse.Status,
  1640  		}
  1641  		if localVarHttpResponse.StatusCode == 0 {
  1642  			var v LicenseTypes
  1643  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1644  			if err != nil {
  1645  				newErr.error = err.Error()
  1646  				return localVarReturnValue, localVarHttpResponse, newErr
  1647  			}
  1648  			newErr.model = v
  1649  			return localVarReturnValue, localVarHttpResponse, newErr
  1650  		}
  1651  		return localVarReturnValue, localVarHttpResponse, newErr
  1652  	}
  1653  
  1654  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1655  	if err != nil {
  1656  		newErr := GenericOpenAPIError{
  1657  			body:  localVarBody,
  1658  			error: err.Error(),
  1659  		}
  1660  		return localVarReturnValue, localVarHttpResponse, newErr
  1661  	}
  1662  
  1663  	return localVarReturnValue, localVarHttpResponse, nil
  1664  }
  1665  
  1666  /*
  1667  AccountProvisioningApiService Get License List
  1668  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Returns list of licenses for a specific user.&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;
  1669   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1670   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1671   * @param optional nil or *ListLicensesOpts - Optional Parameters:
  1672   * @param "Page" (optional.Int64) -  Indicates the page number to retrieve. Only positive number values are allowed. The default value is '1'
  1673   * @param "PerPage" (optional.Int64) -  Indicates the page size (number of items). If not specified, the value is '25' by default
  1674   * @param "TypeId" (optional.Int64) -  Internal identifier of a license type. If not specified account licenses of all types are returned
  1675  @return LicenseList
  1676  */
  1677  
  1678  type ListLicensesOpts struct {
  1679  	Page    optional.Int64
  1680  	PerPage optional.Int64
  1681  	TypeId  optional.Int64
  1682  }
  1683  
  1684  func (a *AccountProvisioningApiService) ListLicenses(ctx context.Context, accountId string, localVarOptionals *ListLicensesOpts) (LicenseList, *http.Response, error) {
  1685  	var (
  1686  		localVarHttpMethod   = strings.ToUpper("Get")
  1687  		localVarPostBody     interface{}
  1688  		localVarFormFileName string
  1689  		localVarFileName     string
  1690  		localVarFileBytes    []byte
  1691  		localVarReturnValue  LicenseList
  1692  	)
  1693  
  1694  	// create path and map variables
  1695  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/licenses"
  1696  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1697  
  1698  	localVarHeaderParams := make(map[string]string)
  1699  	localVarQueryParams := url.Values{}
  1700  	localVarFormParams := url.Values{}
  1701  
  1702  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
  1703  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
  1704  	}
  1705  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  1706  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  1707  	}
  1708  	if localVarOptionals != nil && localVarOptionals.TypeId.IsSet() {
  1709  		localVarQueryParams.Add("typeId", parameterToString(localVarOptionals.TypeId.Value(), ""))
  1710  	}
  1711  	// to determine the Content-Type header
  1712  	localVarHttpContentTypes := []string{}
  1713  
  1714  	// set Content-Type header
  1715  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1716  	if localVarHttpContentType != "" {
  1717  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1718  	}
  1719  
  1720  	// to determine the Accept header
  1721  	localVarHttpHeaderAccepts := []string{"application/json"}
  1722  
  1723  	// set Accept header
  1724  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1725  	if localVarHttpHeaderAccept != "" {
  1726  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1727  	}
  1728  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1729  	if err != nil {
  1730  		return localVarReturnValue, nil, err
  1731  	}
  1732  
  1733  	localVarHttpResponse, err := a.client.callAPI(r)
  1734  	if err != nil || localVarHttpResponse == nil {
  1735  		return localVarReturnValue, localVarHttpResponse, err
  1736  	}
  1737  
  1738  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1739  	localVarHttpResponse.Body.Close()
  1740  	if err != nil {
  1741  		return localVarReturnValue, localVarHttpResponse, err
  1742  	}
  1743  
  1744  	if localVarHttpResponse.StatusCode >= 300 {
  1745  		newErr := GenericOpenAPIError{
  1746  			body:  localVarBody,
  1747  			error: localVarHttpResponse.Status,
  1748  		}
  1749  		if localVarHttpResponse.StatusCode == 0 {
  1750  			var v LicenseList
  1751  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1752  			if err != nil {
  1753  				newErr.error = err.Error()
  1754  				return localVarReturnValue, localVarHttpResponse, newErr
  1755  			}
  1756  			newErr.model = v
  1757  			return localVarReturnValue, localVarHttpResponse, newErr
  1758  		}
  1759  		return localVarReturnValue, localVarHttpResponse, newErr
  1760  	}
  1761  
  1762  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1763  	if err != nil {
  1764  		newErr := GenericOpenAPIError{
  1765  			body:  localVarBody,
  1766  			error: err.Error(),
  1767  		}
  1768  		return localVarReturnValue, localVarHttpResponse, newErr
  1769  	}
  1770  
  1771  	return localVarReturnValue, localVarHttpResponse, nil
  1772  }
  1773  
  1774  /*
  1775  AccountProvisioningApiService Get Shipping Options
  1776  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.16 (Release 7.1)&lt;/p&gt;&lt;p&gt;Returns the list of device shipping options with their prices, according to brand, tier, number of ordered devices.&lt;/p&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
  1777   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1778   * @param optional nil or *ListShippingOptionsOpts - Optional Parameters:
  1779   * @param "ServicePlanId" (optional.Int32) -
  1780   * @param "BrandId" (optional.Int32) -
  1781   * @param "Quantity" (optional.Int32) -
  1782  @return DictionaryShippingOptions
  1783  */
  1784  
  1785  type ListShippingOptionsOpts struct {
  1786  	ServicePlanId optional.Int32
  1787  	BrandId       optional.Int32
  1788  	Quantity      optional.Int32
  1789  }
  1790  
  1791  func (a *AccountProvisioningApiService) ListShippingOptions(ctx context.Context, localVarOptionals *ListShippingOptionsOpts) (DictionaryShippingOptions, *http.Response, error) {
  1792  	var (
  1793  		localVarHttpMethod   = strings.ToUpper("Get")
  1794  		localVarPostBody     interface{}
  1795  		localVarFormFileName string
  1796  		localVarFileName     string
  1797  		localVarFileBytes    []byte
  1798  		localVarReturnValue  DictionaryShippingOptions
  1799  	)
  1800  
  1801  	// create path and map variables
  1802  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/shipping-options"
  1803  
  1804  	localVarHeaderParams := make(map[string]string)
  1805  	localVarQueryParams := url.Values{}
  1806  	localVarFormParams := url.Values{}
  1807  
  1808  	if localVarOptionals != nil && localVarOptionals.ServicePlanId.IsSet() {
  1809  		localVarQueryParams.Add("servicePlanId", parameterToString(localVarOptionals.ServicePlanId.Value(), ""))
  1810  	}
  1811  	if localVarOptionals != nil && localVarOptionals.BrandId.IsSet() {
  1812  		localVarQueryParams.Add("brandId", parameterToString(localVarOptionals.BrandId.Value(), ""))
  1813  	}
  1814  	if localVarOptionals != nil && localVarOptionals.Quantity.IsSet() {
  1815  		localVarQueryParams.Add("quantity", parameterToString(localVarOptionals.Quantity.Value(), ""))
  1816  	}
  1817  	// to determine the Content-Type header
  1818  	localVarHttpContentTypes := []string{}
  1819  
  1820  	// set Content-Type header
  1821  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1822  	if localVarHttpContentType != "" {
  1823  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1824  	}
  1825  
  1826  	// to determine the Accept header
  1827  	localVarHttpHeaderAccepts := []string{"application/json"}
  1828  
  1829  	// set Accept header
  1830  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1831  	if localVarHttpHeaderAccept != "" {
  1832  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1833  	}
  1834  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1835  	if err != nil {
  1836  		return localVarReturnValue, nil, err
  1837  	}
  1838  
  1839  	localVarHttpResponse, err := a.client.callAPI(r)
  1840  	if err != nil || localVarHttpResponse == nil {
  1841  		return localVarReturnValue, localVarHttpResponse, err
  1842  	}
  1843  
  1844  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1845  	localVarHttpResponse.Body.Close()
  1846  	if err != nil {
  1847  		return localVarReturnValue, localVarHttpResponse, err
  1848  	}
  1849  
  1850  	if localVarHttpResponse.StatusCode >= 300 {
  1851  		newErr := GenericOpenAPIError{
  1852  			body:  localVarBody,
  1853  			error: localVarHttpResponse.Status,
  1854  		}
  1855  		if localVarHttpResponse.StatusCode == 0 {
  1856  			var v DictionaryShippingOptions
  1857  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1858  			if err != nil {
  1859  				newErr.error = err.Error()
  1860  				return localVarReturnValue, localVarHttpResponse, newErr
  1861  			}
  1862  			newErr.model = v
  1863  			return localVarReturnValue, localVarHttpResponse, newErr
  1864  		}
  1865  		return localVarReturnValue, localVarHttpResponse, newErr
  1866  	}
  1867  
  1868  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1869  	if err != nil {
  1870  		newErr := GenericOpenAPIError{
  1871  			body:  localVarBody,
  1872  			error: err.Error(),
  1873  		}
  1874  		return localVarReturnValue, localVarHttpResponse, newErr
  1875  	}
  1876  
  1877  	return localVarReturnValue, localVarHttpResponse, nil
  1878  }
  1879  
  1880  /*
  1881  AccountProvisioningApiService Get Device Info
  1882  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.9 (Release 6.1)&lt;/p&gt;&lt;p&gt;Returns account device(s) by their ID(s).&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;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;
  1883   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1884   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1885   * @param deviceId Internal identifier of a device
  1886  @return GetDeviceInfoResponse
  1887  */
  1888  func (a *AccountProvisioningApiService) LoadAccountDevice(ctx context.Context, accountId string, deviceId string) (GetDeviceInfoResponse, *http.Response, error) {
  1889  	var (
  1890  		localVarHttpMethod   = strings.ToUpper("Get")
  1891  		localVarPostBody     interface{}
  1892  		localVarFormFileName string
  1893  		localVarFileName     string
  1894  		localVarFileBytes    []byte
  1895  		localVarReturnValue  GetDeviceInfoResponse
  1896  	)
  1897  
  1898  	// create path and map variables
  1899  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/device/{deviceId}"
  1900  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1901  	localVarPath = strings.Replace(localVarPath, "{"+"deviceId"+"}", fmt.Sprintf("%v", deviceId), -1)
  1902  
  1903  	localVarHeaderParams := make(map[string]string)
  1904  	localVarQueryParams := url.Values{}
  1905  	localVarFormParams := url.Values{}
  1906  
  1907  	// to determine the Content-Type header
  1908  	localVarHttpContentTypes := []string{}
  1909  
  1910  	// set Content-Type header
  1911  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1912  	if localVarHttpContentType != "" {
  1913  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1914  	}
  1915  
  1916  	// to determine the Accept header
  1917  	localVarHttpHeaderAccepts := []string{"application/json"}
  1918  
  1919  	// set Accept header
  1920  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1921  	if localVarHttpHeaderAccept != "" {
  1922  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1923  	}
  1924  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1925  	if err != nil {
  1926  		return localVarReturnValue, nil, err
  1927  	}
  1928  
  1929  	localVarHttpResponse, err := a.client.callAPI(r)
  1930  	if err != nil || localVarHttpResponse == nil {
  1931  		return localVarReturnValue, localVarHttpResponse, err
  1932  	}
  1933  
  1934  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1935  	localVarHttpResponse.Body.Close()
  1936  	if err != nil {
  1937  		return localVarReturnValue, localVarHttpResponse, err
  1938  	}
  1939  
  1940  	if localVarHttpResponse.StatusCode >= 300 {
  1941  		newErr := GenericOpenAPIError{
  1942  			body:  localVarBody,
  1943  			error: localVarHttpResponse.Status,
  1944  		}
  1945  		if localVarHttpResponse.StatusCode == 0 {
  1946  			var v GetDeviceInfoResponse
  1947  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1948  			if err != nil {
  1949  				newErr.error = err.Error()
  1950  				return localVarReturnValue, localVarHttpResponse, newErr
  1951  			}
  1952  			newErr.model = v
  1953  			return localVarReturnValue, localVarHttpResponse, newErr
  1954  		}
  1955  		return localVarReturnValue, localVarHttpResponse, newErr
  1956  	}
  1957  
  1958  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1959  	if err != nil {
  1960  		newErr := GenericOpenAPIError{
  1961  			body:  localVarBody,
  1962  			error: err.Error(),
  1963  		}
  1964  		return localVarReturnValue, localVarHttpResponse, newErr
  1965  	}
  1966  
  1967  	return localVarReturnValue, localVarHttpResponse, nil
  1968  }
  1969  
  1970  /*
  1971  AccountProvisioningApiService Get Phone Number
  1972  &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;
  1973   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1974   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  1975   * @param phoneNumberId Internal identifier of a phone number
  1976  @return PhoneNumberInfo
  1977  */
  1978  func (a *AccountProvisioningApiService) LoadAccountPhoneNumber(ctx context.Context, accountId string, phoneNumberId int32) (PhoneNumberInfo, *http.Response, error) {
  1979  	var (
  1980  		localVarHttpMethod   = strings.ToUpper("Get")
  1981  		localVarPostBody     interface{}
  1982  		localVarFormFileName string
  1983  		localVarFileName     string
  1984  		localVarFileBytes    []byte
  1985  		localVarReturnValue  PhoneNumberInfo
  1986  	)
  1987  
  1988  	// create path and map variables
  1989  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/phone-number/{phoneNumberId}"
  1990  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  1991  	localVarPath = strings.Replace(localVarPath, "{"+"phoneNumberId"+"}", fmt.Sprintf("%v", phoneNumberId), -1)
  1992  
  1993  	localVarHeaderParams := make(map[string]string)
  1994  	localVarQueryParams := url.Values{}
  1995  	localVarFormParams := url.Values{}
  1996  
  1997  	// to determine the Content-Type header
  1998  	localVarHttpContentTypes := []string{}
  1999  
  2000  	// set Content-Type header
  2001  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2002  	if localVarHttpContentType != "" {
  2003  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2004  	}
  2005  
  2006  	// to determine the Accept header
  2007  	localVarHttpHeaderAccepts := []string{"application/json"}
  2008  
  2009  	// set Accept header
  2010  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2011  	if localVarHttpHeaderAccept != "" {
  2012  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2013  	}
  2014  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2015  	if err != nil {
  2016  		return localVarReturnValue, nil, err
  2017  	}
  2018  
  2019  	localVarHttpResponse, err := a.client.callAPI(r)
  2020  	if err != nil || localVarHttpResponse == nil {
  2021  		return localVarReturnValue, localVarHttpResponse, err
  2022  	}
  2023  
  2024  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2025  	localVarHttpResponse.Body.Close()
  2026  	if err != nil {
  2027  		return localVarReturnValue, localVarHttpResponse, err
  2028  	}
  2029  
  2030  	if localVarHttpResponse.StatusCode >= 300 {
  2031  		newErr := GenericOpenAPIError{
  2032  			body:  localVarBody,
  2033  			error: localVarHttpResponse.Status,
  2034  		}
  2035  		if localVarHttpResponse.StatusCode == 0 {
  2036  			var v PhoneNumberInfo
  2037  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2038  			if err != nil {
  2039  				newErr.error = err.Error()
  2040  				return localVarReturnValue, localVarHttpResponse, newErr
  2041  			}
  2042  			newErr.model = v
  2043  			return localVarReturnValue, localVarHttpResponse, newErr
  2044  		}
  2045  		return localVarReturnValue, localVarHttpResponse, newErr
  2046  	}
  2047  
  2048  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2049  	if err != nil {
  2050  		newErr := GenericOpenAPIError{
  2051  			body:  localVarBody,
  2052  			error: err.Error(),
  2053  		}
  2054  		return localVarReturnValue, localVarHttpResponse, newErr
  2055  	}
  2056  
  2057  	return localVarReturnValue, localVarHttpResponse, nil
  2058  }
  2059  
  2060  /*
  2061  AccountProvisioningApiService Get Device Order by ID
  2062  &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;
  2063   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2064   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2065   * @param orderId Internal identifier of an order
  2066  @return DeviceOrder
  2067  */
  2068  func (a *AccountProvisioningApiService) LoadDeviceOrder(ctx context.Context, accountId string, orderId int32) (DeviceOrder, *http.Response, error) {
  2069  	var (
  2070  		localVarHttpMethod   = strings.ToUpper("Get")
  2071  		localVarPostBody     interface{}
  2072  		localVarFormFileName string
  2073  		localVarFileName     string
  2074  		localVarFileBytes    []byte
  2075  		localVarReturnValue  DeviceOrder
  2076  	)
  2077  
  2078  	// create path and map variables
  2079  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/order/{orderId}"
  2080  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2081  	localVarPath = strings.Replace(localVarPath, "{"+"orderId"+"}", fmt.Sprintf("%v", orderId), -1)
  2082  
  2083  	localVarHeaderParams := make(map[string]string)
  2084  	localVarQueryParams := url.Values{}
  2085  	localVarFormParams := url.Values{}
  2086  
  2087  	// to determine the Content-Type header
  2088  	localVarHttpContentTypes := []string{}
  2089  
  2090  	// set Content-Type header
  2091  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2092  	if localVarHttpContentType != "" {
  2093  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2094  	}
  2095  
  2096  	// to determine the Accept header
  2097  	localVarHttpHeaderAccepts := []string{"application/json"}
  2098  
  2099  	// set Accept header
  2100  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2101  	if localVarHttpHeaderAccept != "" {
  2102  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2103  	}
  2104  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2105  	if err != nil {
  2106  		return localVarReturnValue, nil, err
  2107  	}
  2108  
  2109  	localVarHttpResponse, err := a.client.callAPI(r)
  2110  	if err != nil || localVarHttpResponse == nil {
  2111  		return localVarReturnValue, localVarHttpResponse, err
  2112  	}
  2113  
  2114  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2115  	localVarHttpResponse.Body.Close()
  2116  	if err != nil {
  2117  		return localVarReturnValue, localVarHttpResponse, err
  2118  	}
  2119  
  2120  	if localVarHttpResponse.StatusCode >= 300 {
  2121  		newErr := GenericOpenAPIError{
  2122  			body:  localVarBody,
  2123  			error: localVarHttpResponse.Status,
  2124  		}
  2125  		if localVarHttpResponse.StatusCode == 0 {
  2126  			var v DeviceOrder
  2127  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2128  			if err != nil {
  2129  				newErr.error = err.Error()
  2130  				return localVarReturnValue, localVarHttpResponse, newErr
  2131  			}
  2132  			newErr.model = v
  2133  			return localVarReturnValue, localVarHttpResponse, newErr
  2134  		}
  2135  		return localVarReturnValue, localVarHttpResponse, newErr
  2136  	}
  2137  
  2138  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2139  	if err != nil {
  2140  		newErr := GenericOpenAPIError{
  2141  			body:  localVarBody,
  2142  			error: err.Error(),
  2143  		}
  2144  		return localVarReturnValue, localVarHttpResponse, newErr
  2145  	}
  2146  
  2147  	return localVarReturnValue, localVarHttpResponse, nil
  2148  }
  2149  
  2150  /*
  2151  AccountProvisioningApiService Get License
  2152  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Returns license information 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;Light&lt;/p&gt;
  2153   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2154   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2155   * @param licenseId Internal identifier of a license
  2156  @return LicenseInfo
  2157  */
  2158  func (a *AccountProvisioningApiService) LoadLicense(ctx context.Context, accountId string, licenseId string) (LicenseInfo, *http.Response, error) {
  2159  	var (
  2160  		localVarHttpMethod   = strings.ToUpper("Get")
  2161  		localVarPostBody     interface{}
  2162  		localVarFormFileName string
  2163  		localVarFileName     string
  2164  		localVarFileBytes    []byte
  2165  		localVarReturnValue  LicenseInfo
  2166  	)
  2167  
  2168  	// create path and map variables
  2169  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/licenses/{licenseId}"
  2170  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2171  	localVarPath = strings.Replace(localVarPath, "{"+"licenseId"+"}", fmt.Sprintf("%v", licenseId), -1)
  2172  
  2173  	localVarHeaderParams := make(map[string]string)
  2174  	localVarQueryParams := url.Values{}
  2175  	localVarFormParams := url.Values{}
  2176  
  2177  	// to determine the Content-Type header
  2178  	localVarHttpContentTypes := []string{}
  2179  
  2180  	// set Content-Type header
  2181  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2182  	if localVarHttpContentType != "" {
  2183  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2184  	}
  2185  
  2186  	// to determine the Accept header
  2187  	localVarHttpHeaderAccepts := []string{"application/json"}
  2188  
  2189  	// set Accept header
  2190  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2191  	if localVarHttpHeaderAccept != "" {
  2192  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2193  	}
  2194  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2195  	if err != nil {
  2196  		return localVarReturnValue, nil, err
  2197  	}
  2198  
  2199  	localVarHttpResponse, err := a.client.callAPI(r)
  2200  	if err != nil || localVarHttpResponse == nil {
  2201  		return localVarReturnValue, localVarHttpResponse, err
  2202  	}
  2203  
  2204  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2205  	localVarHttpResponse.Body.Close()
  2206  	if err != nil {
  2207  		return localVarReturnValue, localVarHttpResponse, err
  2208  	}
  2209  
  2210  	if localVarHttpResponse.StatusCode >= 300 {
  2211  		newErr := GenericOpenAPIError{
  2212  			body:  localVarBody,
  2213  			error: localVarHttpResponse.Status,
  2214  		}
  2215  		if localVarHttpResponse.StatusCode == 0 {
  2216  			var v LicenseInfo
  2217  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2218  			if err != nil {
  2219  				newErr.error = err.Error()
  2220  				return localVarReturnValue, localVarHttpResponse, newErr
  2221  			}
  2222  			newErr.model = v
  2223  			return localVarReturnValue, localVarHttpResponse, newErr
  2224  		}
  2225  		return localVarReturnValue, localVarHttpResponse, newErr
  2226  	}
  2227  
  2228  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2229  	if err != nil {
  2230  		newErr := GenericOpenAPIError{
  2231  			body:  localVarBody,
  2232  			error: err.Error(),
  2233  		}
  2234  		return localVarReturnValue, localVarHttpResponse, newErr
  2235  	}
  2236  
  2237  	return localVarReturnValue, localVarHttpResponse, nil
  2238  }
  2239  
  2240  /*
  2241  AccountProvisioningApiService Get Numbers
  2242  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.10 (Release 6.2)&lt;/p&gt;&lt;p&gt;Returns the required numbers filtered by criteria.&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;NumberLookup&lt;/td&gt;&lt;td&gt;Looking-up and reserving available 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;
  2243   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2244   * @param optional nil or *LookupPhoneNumbersOpts - Optional Parameters:
  2245   * @param "AreaCode" (optional.Int32) -  Area code of the location
  2246   * @param "CountryCode" (optional.String) -  Two-letter country code, complying with the ISO standard
  2247   * @param "CountryId" (optional.String) -  Internal identifier of a country; '1'- the US; '39' - Canada; '224' - the UK. The default value is '1'
  2248   * @param "Exclude" (optional.String) -  A string of digits (one and more) that should not appear among the last four digits (line part) of the phone numbers that will be returned. It is possible to specify severalT?exclude parameters. If specified, it is taken into account in all returned phone numbers both in the phone numbers satisfying to parameters of lookup and in alternative phone numbers (in case when extendedSearch is specified)
  2249   * @param "ExtendedSearch" (optional.Bool) -  If the value is 'False', then the returned numbers exactly correspond to the specified NXX, NPA and LINE or countryCode, areaCode and numberPattern parameters. If the value is 'True', then the resulting numbers are ranked and returned with the rank attribute values (1-10). The default value is 'False'
  2250   * @param "Line" (optional.String) -  LINE pattern for vanity or wildcard search. Digits, Latin characters and asterisks are allowed (usually 4 characters)
  2251   * @param "NumberPattern" (optional.String) -  Phone number pattern (for wildcard or vanity search). For NANP countries (US, Canada) is concatenation of nxx (the first three digits) and line. If the first three characters are specified as not digits (e.g. 5** or CAT) then parameter extendedSearch will be ignored.
  2252   * @param "Nxx" (optional.String) -  NXX pattern for vanity or wildcard search. Digits, Latin characters and asterisks are allowed (usually 3 characters)
  2253   * @param "Npa" (optional.String) -  Area code (mandatory). For example, 800, 844, 855, 866, 877, 888 for North America; and 647 for Canada
  2254   * @param "PaymentType" (optional.Interface of []string) -  Payment type. Default is 'Local' (it should correlate with the npa provided)
  2255   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '10' by default
  2256   * @param "ProviderId" (optional.Int32) -  Internal identifier of a phone number provider. Supported if brand is specified. If specified, area code and nxx are optional
  2257   * @param "SmsEnabled" (optional.Bool) -  Specifies if SMS activation is available for the number. If specified, it is taken into account in all returned phone numbers both in the phone numbers satisfying to parameters of lookup and in alternative phone numbers (in case when extendedSearch is specified). If not specified, the value is null.
  2258  @return PhoneNumbers
  2259  */
  2260  
  2261  type LookupPhoneNumbersOpts struct {
  2262  	AreaCode       optional.Int32
  2263  	CountryCode    optional.String
  2264  	CountryId      optional.String
  2265  	Exclude        optional.String
  2266  	ExtendedSearch optional.Bool
  2267  	Line           optional.String
  2268  	NumberPattern  optional.String
  2269  	Nxx            optional.String
  2270  	Npa            optional.String
  2271  	PaymentType    optional.Interface
  2272  	PerPage        optional.Int32
  2273  	ProviderId     optional.Int32
  2274  	SmsEnabled     optional.Bool
  2275  }
  2276  
  2277  func (a *AccountProvisioningApiService) LookupPhoneNumbers(ctx context.Context, localVarOptionals *LookupPhoneNumbersOpts) (PhoneNumbers, *http.Response, error) {
  2278  	var (
  2279  		localVarHttpMethod   = strings.ToUpper("Post")
  2280  		localVarPostBody     interface{}
  2281  		localVarFormFileName string
  2282  		localVarFileName     string
  2283  		localVarFileBytes    []byte
  2284  		localVarReturnValue  PhoneNumbers
  2285  	)
  2286  
  2287  	// create path and map variables
  2288  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/number-pool/lookup"
  2289  
  2290  	localVarHeaderParams := make(map[string]string)
  2291  	localVarQueryParams := url.Values{}
  2292  	localVarFormParams := url.Values{}
  2293  
  2294  	if localVarOptionals != nil && localVarOptionals.AreaCode.IsSet() {
  2295  		localVarQueryParams.Add("areaCode", parameterToString(localVarOptionals.AreaCode.Value(), ""))
  2296  	}
  2297  	if localVarOptionals != nil && localVarOptionals.CountryCode.IsSet() {
  2298  		localVarQueryParams.Add("countryCode", parameterToString(localVarOptionals.CountryCode.Value(), ""))
  2299  	}
  2300  	if localVarOptionals != nil && localVarOptionals.CountryId.IsSet() {
  2301  		localVarQueryParams.Add("countryId", parameterToString(localVarOptionals.CountryId.Value(), ""))
  2302  	}
  2303  	if localVarOptionals != nil && localVarOptionals.Exclude.IsSet() {
  2304  		localVarQueryParams.Add("exclude", parameterToString(localVarOptionals.Exclude.Value(), ""))
  2305  	}
  2306  	if localVarOptionals != nil && localVarOptionals.ExtendedSearch.IsSet() {
  2307  		localVarQueryParams.Add("extendedSearch", parameterToString(localVarOptionals.ExtendedSearch.Value(), ""))
  2308  	}
  2309  	if localVarOptionals != nil && localVarOptionals.Line.IsSet() {
  2310  		localVarQueryParams.Add("line", parameterToString(localVarOptionals.Line.Value(), ""))
  2311  	}
  2312  	if localVarOptionals != nil && localVarOptionals.NumberPattern.IsSet() {
  2313  		localVarQueryParams.Add("numberPattern", parameterToString(localVarOptionals.NumberPattern.Value(), ""))
  2314  	}
  2315  	if localVarOptionals != nil && localVarOptionals.Nxx.IsSet() {
  2316  		localVarQueryParams.Add("nxx", parameterToString(localVarOptionals.Nxx.Value(), ""))
  2317  	}
  2318  	if localVarOptionals != nil && localVarOptionals.Npa.IsSet() {
  2319  		localVarQueryParams.Add("npa", parameterToString(localVarOptionals.Npa.Value(), ""))
  2320  	}
  2321  	if localVarOptionals != nil && localVarOptionals.PaymentType.IsSet() {
  2322  		localVarQueryParams.Add("paymentType", parameterToString(localVarOptionals.PaymentType.Value(), "multi"))
  2323  	}
  2324  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
  2325  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
  2326  	}
  2327  	if localVarOptionals != nil && localVarOptionals.ProviderId.IsSet() {
  2328  		localVarQueryParams.Add("providerId", parameterToString(localVarOptionals.ProviderId.Value(), ""))
  2329  	}
  2330  	if localVarOptionals != nil && localVarOptionals.SmsEnabled.IsSet() {
  2331  		localVarQueryParams.Add("smsEnabled", parameterToString(localVarOptionals.SmsEnabled.Value(), ""))
  2332  	}
  2333  	// to determine the Content-Type header
  2334  	localVarHttpContentTypes := []string{}
  2335  
  2336  	// set Content-Type header
  2337  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2338  	if localVarHttpContentType != "" {
  2339  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2340  	}
  2341  
  2342  	// to determine the Accept header
  2343  	localVarHttpHeaderAccepts := []string{"application/json"}
  2344  
  2345  	// set Accept header
  2346  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2347  	if localVarHttpHeaderAccept != "" {
  2348  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2349  	}
  2350  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2351  	if err != nil {
  2352  		return localVarReturnValue, nil, err
  2353  	}
  2354  
  2355  	localVarHttpResponse, err := a.client.callAPI(r)
  2356  	if err != nil || localVarHttpResponse == nil {
  2357  		return localVarReturnValue, localVarHttpResponse, err
  2358  	}
  2359  
  2360  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2361  	localVarHttpResponse.Body.Close()
  2362  	if err != nil {
  2363  		return localVarReturnValue, localVarHttpResponse, err
  2364  	}
  2365  
  2366  	if localVarHttpResponse.StatusCode >= 300 {
  2367  		newErr := GenericOpenAPIError{
  2368  			body:  localVarBody,
  2369  			error: localVarHttpResponse.Status,
  2370  		}
  2371  		if localVarHttpResponse.StatusCode == 0 {
  2372  			var v PhoneNumbers
  2373  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2374  			if err != nil {
  2375  				newErr.error = err.Error()
  2376  				return localVarReturnValue, localVarHttpResponse, newErr
  2377  			}
  2378  			newErr.model = v
  2379  			return localVarReturnValue, localVarHttpResponse, newErr
  2380  		}
  2381  		return localVarReturnValue, localVarHttpResponse, newErr
  2382  	}
  2383  
  2384  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2385  	if err != nil {
  2386  		newErr := GenericOpenAPIError{
  2387  			body:  localVarBody,
  2388  			error: err.Error(),
  2389  		}
  2390  		return localVarReturnValue, localVarHttpResponse, newErr
  2391  	}
  2392  
  2393  	return localVarReturnValue, localVarHttpResponse, nil
  2394  }
  2395  
  2396  /*
  2397  AccountProvisioningApiService Parse Phone Number
  2398  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.13 (Release 6.5)&lt;/p&gt;&lt;p&gt;Returns one or more parsed and/or formatted phone numbers that are passed as a string.&lt;/p&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
  2399   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2400   * @param parsePhoneNumberRequest JSON body
  2401   * @param optional nil or *ParsePhoneNumberOpts - Optional Parameters:
  2402   * @param "HomeCountry" (optional.String) -  Internal identifier of a home country. The default value is ISO code (ISO 3166) of the user's home country or brand country, if the user is undefined
  2403   * @param "NationalAsPriority" (optional.Bool) -  The default value is 'False'. If 'True', the numbers that are closer to the home country are given higher priority
  2404  @return ParsePhoneNumberResponse
  2405  */
  2406  
  2407  type ParsePhoneNumberOpts struct {
  2408  	HomeCountry        optional.String
  2409  	NationalAsPriority optional.Bool
  2410  }
  2411  
  2412  func (a *AccountProvisioningApiService) ParsePhoneNumber(ctx context.Context, parsePhoneNumberRequest ParsePhoneNumberRequest, localVarOptionals *ParsePhoneNumberOpts) (ParsePhoneNumberResponse, *http.Response, error) {
  2413  	var (
  2414  		localVarHttpMethod   = strings.ToUpper("Post")
  2415  		localVarPostBody     interface{}
  2416  		localVarFormFileName string
  2417  		localVarFileName     string
  2418  		localVarFileBytes    []byte
  2419  		localVarReturnValue  ParsePhoneNumberResponse
  2420  	)
  2421  
  2422  	// create path and map variables
  2423  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/number-parser/parse"
  2424  
  2425  	localVarHeaderParams := make(map[string]string)
  2426  	localVarQueryParams := url.Values{}
  2427  	localVarFormParams := url.Values{}
  2428  
  2429  	if localVarOptionals != nil && localVarOptionals.HomeCountry.IsSet() {
  2430  		localVarQueryParams.Add("homeCountry", parameterToString(localVarOptionals.HomeCountry.Value(), ""))
  2431  	}
  2432  	if localVarOptionals != nil && localVarOptionals.NationalAsPriority.IsSet() {
  2433  		localVarQueryParams.Add("nationalAsPriority", parameterToString(localVarOptionals.NationalAsPriority.Value(), ""))
  2434  	}
  2435  	// to determine the Content-Type header
  2436  	localVarHttpContentTypes := []string{"application/json"}
  2437  
  2438  	// set Content-Type header
  2439  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2440  	if localVarHttpContentType != "" {
  2441  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2442  	}
  2443  
  2444  	// to determine the Accept header
  2445  	localVarHttpHeaderAccepts := []string{"application/json"}
  2446  
  2447  	// set Accept header
  2448  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2449  	if localVarHttpHeaderAccept != "" {
  2450  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2451  	}
  2452  	// body params
  2453  	localVarPostBody = &parsePhoneNumberRequest
  2454  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2455  	if err != nil {
  2456  		return localVarReturnValue, nil, err
  2457  	}
  2458  
  2459  	localVarHttpResponse, err := a.client.callAPI(r)
  2460  	if err != nil || localVarHttpResponse == nil {
  2461  		return localVarReturnValue, localVarHttpResponse, err
  2462  	}
  2463  
  2464  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2465  	localVarHttpResponse.Body.Close()
  2466  	if err != nil {
  2467  		return localVarReturnValue, localVarHttpResponse, err
  2468  	}
  2469  
  2470  	if localVarHttpResponse.StatusCode >= 300 {
  2471  		newErr := GenericOpenAPIError{
  2472  			body:  localVarBody,
  2473  			error: localVarHttpResponse.Status,
  2474  		}
  2475  		if localVarHttpResponse.StatusCode == 0 {
  2476  			var v ParsePhoneNumberResponse
  2477  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2478  			if err != nil {
  2479  				newErr.error = err.Error()
  2480  				return localVarReturnValue, localVarHttpResponse, newErr
  2481  			}
  2482  			newErr.model = v
  2483  			return localVarReturnValue, localVarHttpResponse, newErr
  2484  		}
  2485  		return localVarReturnValue, localVarHttpResponse, newErr
  2486  	}
  2487  
  2488  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2489  	if err != nil {
  2490  		newErr := GenericOpenAPIError{
  2491  			body:  localVarBody,
  2492  			error: err.Error(),
  2493  		}
  2494  		return localVarReturnValue, localVarHttpResponse, newErr
  2495  	}
  2496  
  2497  	return localVarReturnValue, localVarHttpResponse, nil
  2498  }
  2499  
  2500  /*
  2501  AccountProvisioningApiService Provision Phone Numbers
  2502  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.11 (Release 6.3)&lt;/p&gt;&lt;p&gt;Provisions a phone number.&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;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  2503   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2504   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
  2505   * @param provisionPhoneNumberRequest JSON body
  2506  @return PhoneNumberInfo
  2507  */
  2508  func (a *AccountProvisioningApiService) ProvisionPhoneNumber(ctx context.Context, accountId string, provisionPhoneNumberRequest ProvisionPhoneNumberRequest) (PhoneNumberInfo, *http.Response, error) {
  2509  	var (
  2510  		localVarHttpMethod   = strings.ToUpper("Post")
  2511  		localVarPostBody     interface{}
  2512  		localVarFormFileName string
  2513  		localVarFileName     string
  2514  		localVarFileBytes    []byte
  2515  		localVarReturnValue  PhoneNumberInfo
  2516  	)
  2517  
  2518  	// create path and map variables
  2519  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/phone-number"
  2520  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2521  
  2522  	localVarHeaderParams := make(map[string]string)
  2523  	localVarQueryParams := url.Values{}
  2524  	localVarFormParams := url.Values{}
  2525  
  2526  	// to determine the Content-Type header
  2527  	localVarHttpContentTypes := []string{"application/json"}
  2528  
  2529  	// set Content-Type header
  2530  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2531  	if localVarHttpContentType != "" {
  2532  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2533  	}
  2534  
  2535  	// to determine the Accept header
  2536  	localVarHttpHeaderAccepts := []string{"application/json"}
  2537  
  2538  	// set Accept header
  2539  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2540  	if localVarHttpHeaderAccept != "" {
  2541  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2542  	}
  2543  	// body params
  2544  	localVarPostBody = &provisionPhoneNumberRequest
  2545  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2546  	if err != nil {
  2547  		return localVarReturnValue, nil, err
  2548  	}
  2549  
  2550  	localVarHttpResponse, err := a.client.callAPI(r)
  2551  	if err != nil || localVarHttpResponse == nil {
  2552  		return localVarReturnValue, localVarHttpResponse, err
  2553  	}
  2554  
  2555  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2556  	localVarHttpResponse.Body.Close()
  2557  	if err != nil {
  2558  		return localVarReturnValue, localVarHttpResponse, err
  2559  	}
  2560  
  2561  	if localVarHttpResponse.StatusCode >= 300 {
  2562  		newErr := GenericOpenAPIError{
  2563  			body:  localVarBody,
  2564  			error: localVarHttpResponse.Status,
  2565  		}
  2566  		if localVarHttpResponse.StatusCode == 0 {
  2567  			var v PhoneNumberInfo
  2568  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2569  			if err != nil {
  2570  				newErr.error = err.Error()
  2571  				return localVarReturnValue, localVarHttpResponse, newErr
  2572  			}
  2573  			newErr.model = v
  2574  			return localVarReturnValue, localVarHttpResponse, newErr
  2575  		}
  2576  		return localVarReturnValue, localVarHttpResponse, newErr
  2577  	}
  2578  
  2579  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2580  	if err != nil {
  2581  		newErr := GenericOpenAPIError{
  2582  			body:  localVarBody,
  2583  			error: err.Error(),
  2584  		}
  2585  		return localVarReturnValue, localVarHttpResponse, newErr
  2586  	}
  2587  
  2588  	return localVarReturnValue, localVarHttpResponse, nil
  2589  }
  2590  
  2591  /*
  2592  AccountProvisioningApiService Reassign Phone Number
  2593  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.11 (Release 6.3) &lt;/p&gt;&lt;p&gt;Reassigns the phone number belonging to a certain account/extension. This call reassigns a phone number, currently belonging to some other extension or company (Auto-Receptionist). Please note: numbers with certain usage types &#39;MainCompanyNumber&#39;, &#39;AdditionalCompanyNumber&#39; and &#39;CompanyFaxNumber&#39; cannot be reassigned&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&lt;/td&gt;&lt;td&gt;Viewing and updating user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
  2594   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2595   * @param phoneNumberId
  2596   * @param accountId
  2597   * @param optional nil or *ReassignPhoneNumberByIdOpts - Optional Parameters:
  2598   * @param "ReassignPhoneNumberResource" (optional.Interface of ReassignPhoneNumberResource) -
  2599  @return PhoneNumberResource
  2600  */
  2601  
  2602  type ReassignPhoneNumberByIdOpts struct {
  2603  	ReassignPhoneNumberResource optional.Interface
  2604  }
  2605  
  2606  func (a *AccountProvisioningApiService) ReassignPhoneNumberById(ctx context.Context, phoneNumberId int64, accountId string, localVarOptionals *ReassignPhoneNumberByIdOpts) (PhoneNumberResource, *http.Response, error) {
  2607  	var (
  2608  		localVarHttpMethod   = strings.ToUpper("Put")
  2609  		localVarPostBody     interface{}
  2610  		localVarFormFileName string
  2611  		localVarFileName     string
  2612  		localVarFileBytes    []byte
  2613  		localVarReturnValue  PhoneNumberResource
  2614  	)
  2615  
  2616  	// create path and map variables
  2617  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/phone-number/{phoneNumberId}"
  2618  	localVarPath = strings.Replace(localVarPath, "{"+"phoneNumberId"+"}", fmt.Sprintf("%v", phoneNumberId), -1)
  2619  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2620  
  2621  	localVarHeaderParams := make(map[string]string)
  2622  	localVarQueryParams := url.Values{}
  2623  	localVarFormParams := url.Values{}
  2624  
  2625  	// to determine the Content-Type header
  2626  	localVarHttpContentTypes := []string{"application/json"}
  2627  
  2628  	// set Content-Type header
  2629  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2630  	if localVarHttpContentType != "" {
  2631  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2632  	}
  2633  
  2634  	// to determine the Accept header
  2635  	localVarHttpHeaderAccepts := []string{"application/json"}
  2636  
  2637  	// set Accept header
  2638  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2639  	if localVarHttpHeaderAccept != "" {
  2640  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2641  	}
  2642  	// body params
  2643  	if localVarOptionals != nil && localVarOptionals.ReassignPhoneNumberResource.IsSet() {
  2644  		localVarOptionalReassignPhoneNumberResource, localVarOptionalReassignPhoneNumberResourceok := localVarOptionals.ReassignPhoneNumberResource.Value().(ReassignPhoneNumberResource)
  2645  		if !localVarOptionalReassignPhoneNumberResourceok {
  2646  			return localVarReturnValue, nil, reportError("reassignPhoneNumberResource should be ReassignPhoneNumberResource")
  2647  		}
  2648  		localVarPostBody = &localVarOptionalReassignPhoneNumberResource
  2649  	}
  2650  
  2651  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2652  	if err != nil {
  2653  		return localVarReturnValue, nil, err
  2654  	}
  2655  
  2656  	localVarHttpResponse, err := a.client.callAPI(r)
  2657  	if err != nil || localVarHttpResponse == nil {
  2658  		return localVarReturnValue, localVarHttpResponse, err
  2659  	}
  2660  
  2661  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2662  	localVarHttpResponse.Body.Close()
  2663  	if err != nil {
  2664  		return localVarReturnValue, localVarHttpResponse, err
  2665  	}
  2666  
  2667  	if localVarHttpResponse.StatusCode >= 300 {
  2668  		newErr := GenericOpenAPIError{
  2669  			body:  localVarBody,
  2670  			error: localVarHttpResponse.Status,
  2671  		}
  2672  		if localVarHttpResponse.StatusCode == 0 {
  2673  			var v PhoneNumberResource
  2674  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2675  			if err != nil {
  2676  				newErr.error = err.Error()
  2677  				return localVarReturnValue, localVarHttpResponse, newErr
  2678  			}
  2679  			newErr.model = v
  2680  			return localVarReturnValue, localVarHttpResponse, newErr
  2681  		}
  2682  		return localVarReturnValue, localVarHttpResponse, newErr
  2683  	}
  2684  
  2685  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2686  	if err != nil {
  2687  		newErr := GenericOpenAPIError{
  2688  			body:  localVarBody,
  2689  			error: err.Error(),
  2690  		}
  2691  		return localVarReturnValue, localVarHttpResponse, newErr
  2692  	}
  2693  
  2694  	return localVarReturnValue, localVarHttpResponse, nil
  2695  }
  2696  
  2697  /*
  2698  AccountProvisioningApiService Reserve/ Un-reserve Numbers
  2699  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.10 (Release 6.2)&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;NumberLookup&lt;/td&gt;&lt;td&gt;Looking-up and reserving available 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;
  2700   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2701   * @param numberPoolPhoneNumberRequest JSON body
  2702  @return ReservePhoneNumbersRecordsResource
  2703  */
  2704  func (a *AccountProvisioningApiService) ReservePhoneNumbers(ctx context.Context, numberPoolPhoneNumberRequest NumberPoolPhoneNumberRequest) (ReservePhoneNumbersRecordsResource, *http.Response, error) {
  2705  	var (
  2706  		localVarHttpMethod   = strings.ToUpper("Post")
  2707  		localVarPostBody     interface{}
  2708  		localVarFormFileName string
  2709  		localVarFileName     string
  2710  		localVarFileBytes    []byte
  2711  		localVarReturnValue  ReservePhoneNumbersRecordsResource
  2712  	)
  2713  
  2714  	// create path and map variables
  2715  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/number-pool/reserve"
  2716  
  2717  	localVarHeaderParams := make(map[string]string)
  2718  	localVarQueryParams := url.Values{}
  2719  	localVarFormParams := url.Values{}
  2720  
  2721  	// to determine the Content-Type header
  2722  	localVarHttpContentTypes := []string{"application/json"}
  2723  
  2724  	// set Content-Type header
  2725  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2726  	if localVarHttpContentType != "" {
  2727  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2728  	}
  2729  
  2730  	// to determine the Accept header
  2731  	localVarHttpHeaderAccepts := []string{"application/json"}
  2732  
  2733  	// set Accept header
  2734  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2735  	if localVarHttpHeaderAccept != "" {
  2736  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2737  	}
  2738  	// body params
  2739  	localVarPostBody = &numberPoolPhoneNumberRequest
  2740  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2741  	if err != nil {
  2742  		return localVarReturnValue, nil, err
  2743  	}
  2744  
  2745  	localVarHttpResponse, err := a.client.callAPI(r)
  2746  	if err != nil || localVarHttpResponse == nil {
  2747  		return localVarReturnValue, localVarHttpResponse, err
  2748  	}
  2749  
  2750  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2751  	localVarHttpResponse.Body.Close()
  2752  	if err != nil {
  2753  		return localVarReturnValue, localVarHttpResponse, err
  2754  	}
  2755  
  2756  	if localVarHttpResponse.StatusCode >= 300 {
  2757  		newErr := GenericOpenAPIError{
  2758  			body:  localVarBody,
  2759  			error: localVarHttpResponse.Status,
  2760  		}
  2761  		if localVarHttpResponse.StatusCode == 0 {
  2762  			var v ReservePhoneNumbersRecordsResource
  2763  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2764  			if err != nil {
  2765  				newErr.error = err.Error()
  2766  				return localVarReturnValue, localVarHttpResponse, newErr
  2767  			}
  2768  			newErr.model = v
  2769  			return localVarReturnValue, localVarHttpResponse, newErr
  2770  		}
  2771  		return localVarReturnValue, localVarHttpResponse, newErr
  2772  	}
  2773  
  2774  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2775  	if err != nil {
  2776  		newErr := GenericOpenAPIError{
  2777  			body:  localVarBody,
  2778  			error: err.Error(),
  2779  		}
  2780  		return localVarReturnValue, localVarHttpResponse, newErr
  2781  	}
  2782  
  2783  	return localVarReturnValue, localVarHttpResponse, nil
  2784  }
  2785  
  2786  /*
  2787  AccountProvisioningApiService Update Device
  2788   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2789   * @param accountId
  2790   * @param deviceId
  2791   * @param accountDeviceUpdate
  2792  @return DeviceResource
  2793  */
  2794  func (a *AccountProvisioningApiService) UpdateDevice(ctx context.Context, accountId string, deviceId string, accountDeviceUpdate AccountDeviceUpdate) (DeviceResource, *http.Response, error) {
  2795  	var (
  2796  		localVarHttpMethod   = strings.ToUpper("Put")
  2797  		localVarPostBody     interface{}
  2798  		localVarFormFileName string
  2799  		localVarFileName     string
  2800  		localVarFileBytes    []byte
  2801  		localVarReturnValue  DeviceResource
  2802  	)
  2803  
  2804  	// create path and map variables
  2805  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/device/{deviceId}"
  2806  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2807  	localVarPath = strings.Replace(localVarPath, "{"+"deviceId"+"}", fmt.Sprintf("%v", deviceId), -1)
  2808  
  2809  	localVarHeaderParams := make(map[string]string)
  2810  	localVarQueryParams := url.Values{}
  2811  	localVarFormParams := url.Values{}
  2812  
  2813  	// to determine the Content-Type header
  2814  	localVarHttpContentTypes := []string{"application/json"}
  2815  
  2816  	// set Content-Type header
  2817  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2818  	if localVarHttpContentType != "" {
  2819  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2820  	}
  2821  
  2822  	// to determine the Accept header
  2823  	localVarHttpHeaderAccepts := []string{"application/json"}
  2824  
  2825  	// set Accept header
  2826  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2827  	if localVarHttpHeaderAccept != "" {
  2828  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2829  	}
  2830  	// body params
  2831  	localVarPostBody = &accountDeviceUpdate
  2832  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2833  	if err != nil {
  2834  		return localVarReturnValue, nil, err
  2835  	}
  2836  
  2837  	localVarHttpResponse, err := a.client.callAPI(r)
  2838  	if err != nil || localVarHttpResponse == nil {
  2839  		return localVarReturnValue, localVarHttpResponse, err
  2840  	}
  2841  
  2842  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2843  	localVarHttpResponse.Body.Close()
  2844  	if err != nil {
  2845  		return localVarReturnValue, localVarHttpResponse, err
  2846  	}
  2847  
  2848  	if localVarHttpResponse.StatusCode >= 300 {
  2849  		newErr := GenericOpenAPIError{
  2850  			body:  localVarBody,
  2851  			error: localVarHttpResponse.Status,
  2852  		}
  2853  		if localVarHttpResponse.StatusCode == 0 {
  2854  			var v DeviceResource
  2855  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2856  			if err != nil {
  2857  				newErr.error = err.Error()
  2858  				return localVarReturnValue, localVarHttpResponse, newErr
  2859  			}
  2860  			newErr.model = v
  2861  			return localVarReturnValue, localVarHttpResponse, newErr
  2862  		}
  2863  		return localVarReturnValue, localVarHttpResponse, newErr
  2864  	}
  2865  
  2866  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  2867  	if err != nil {
  2868  		newErr := GenericOpenAPIError{
  2869  			body:  localVarBody,
  2870  			error: err.Error(),
  2871  		}
  2872  		return localVarReturnValue, localVarHttpResponse, newErr
  2873  	}
  2874  
  2875  	return localVarReturnValue, localVarHttpResponse, nil
  2876  }
  2877  
  2878  /*
  2879  AccountProvisioningApiService Edit Paging Group Users & Devices
  2880  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Adds and/or removes paging group users and devices.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
  2881   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2882   * @param accountId
  2883   * @param pagingOnlyGroupId
  2884   * @param optional nil or *UpdatePagingOnlyGroupUsersAndDevicesOpts - Optional Parameters:
  2885   * @param "EditPagingGroupRequest" (optional.Interface of EditPagingGroupRequest) -
  2886  */
  2887  
  2888  type UpdatePagingOnlyGroupUsersAndDevicesOpts struct {
  2889  	EditPagingGroupRequest optional.Interface
  2890  }
  2891  
  2892  func (a *AccountProvisioningApiService) UpdatePagingOnlyGroupUsersAndDevices(ctx context.Context, accountId string, pagingOnlyGroupId string, localVarOptionals *UpdatePagingOnlyGroupUsersAndDevicesOpts) (*http.Response, error) {
  2893  	var (
  2894  		localVarHttpMethod   = strings.ToUpper("Post")
  2895  		localVarPostBody     interface{}
  2896  		localVarFormFileName string
  2897  		localVarFileName     string
  2898  		localVarFileBytes    []byte
  2899  	)
  2900  
  2901  	// create path and map variables
  2902  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/paging-only-groups/{pagingOnlyGroupId}/bulk-assign"
  2903  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2904  	localVarPath = strings.Replace(localVarPath, "{"+"pagingOnlyGroupId"+"}", fmt.Sprintf("%v", pagingOnlyGroupId), -1)
  2905  
  2906  	localVarHeaderParams := make(map[string]string)
  2907  	localVarQueryParams := url.Values{}
  2908  	localVarFormParams := url.Values{}
  2909  
  2910  	// to determine the Content-Type header
  2911  	localVarHttpContentTypes := []string{"application/json"}
  2912  
  2913  	// set Content-Type header
  2914  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  2915  	if localVarHttpContentType != "" {
  2916  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  2917  	}
  2918  
  2919  	// to determine the Accept header
  2920  	localVarHttpHeaderAccepts := []string{}
  2921  
  2922  	// set Accept header
  2923  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  2924  	if localVarHttpHeaderAccept != "" {
  2925  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  2926  	}
  2927  	// body params
  2928  	if localVarOptionals != nil && localVarOptionals.EditPagingGroupRequest.IsSet() {
  2929  		localVarOptionalEditPagingGroupRequest, localVarOptionalEditPagingGroupRequestok := localVarOptionals.EditPagingGroupRequest.Value().(EditPagingGroupRequest)
  2930  		if !localVarOptionalEditPagingGroupRequestok {
  2931  			return nil, reportError("editPagingGroupRequest should be EditPagingGroupRequest")
  2932  		}
  2933  		localVarPostBody = &localVarOptionalEditPagingGroupRequest
  2934  	}
  2935  
  2936  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2937  	if err != nil {
  2938  		return nil, err
  2939  	}
  2940  
  2941  	localVarHttpResponse, err := a.client.callAPI(r)
  2942  	if err != nil || localVarHttpResponse == nil {
  2943  		return localVarHttpResponse, err
  2944  	}
  2945  
  2946  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  2947  	localVarHttpResponse.Body.Close()
  2948  	if err != nil {
  2949  		return localVarHttpResponse, err
  2950  	}
  2951  
  2952  	if localVarHttpResponse.StatusCode >= 300 {
  2953  		newErr := GenericOpenAPIError{
  2954  			body:  localVarBody,
  2955  			error: localVarHttpResponse.Status,
  2956  		}
  2957  		return localVarHttpResponse, newErr
  2958  	}
  2959  
  2960  	return localVarHttpResponse, nil
  2961  }
  2962  
  2963  /*
  2964  AccountProvisioningApiService Adds and/or removes park location users
  2965  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Adds and/or removes park location users.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditExtensions&lt;/td&gt;&lt;td&gt;Viewing and updating my extension info (includes extension name, number, email and phone number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
  2966   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2967   * @param accountId
  2968   * @param parkLocationId
  2969   * @param optional nil or *UpdateParkLocationUsersOpts - Optional Parameters:
  2970   * @param "EditParkLocationRequest" (optional.Interface of EditParkLocationRequest) -
  2971  */
  2972  
  2973  type UpdateParkLocationUsersOpts struct {
  2974  	EditParkLocationRequest optional.Interface
  2975  }
  2976  
  2977  func (a *AccountProvisioningApiService) UpdateParkLocationUsers(ctx context.Context, accountId string, parkLocationId string, localVarOptionals *UpdateParkLocationUsersOpts) (*http.Response, error) {
  2978  	var (
  2979  		localVarHttpMethod   = strings.ToUpper("Post")
  2980  		localVarPostBody     interface{}
  2981  		localVarFormFileName string
  2982  		localVarFileName     string
  2983  		localVarFileBytes    []byte
  2984  	)
  2985  
  2986  	// create path and map variables
  2987  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/park-locations/{parkLocationId}/bulk-assign"
  2988  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
  2989  	localVarPath = strings.Replace(localVarPath, "{"+"parkLocationId"+"}", fmt.Sprintf("%v", parkLocationId), -1)
  2990  
  2991  	localVarHeaderParams := make(map[string]string)
  2992  	localVarQueryParams := url.Values{}
  2993  	localVarFormParams := url.Values{}
  2994  
  2995  	// to determine the Content-Type header
  2996  	localVarHttpContentTypes := []string{"application/json"}
  2997  
  2998  	// set Content-Type header
  2999  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  3000  	if localVarHttpContentType != "" {
  3001  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  3002  	}
  3003  
  3004  	// to determine the Accept header
  3005  	localVarHttpHeaderAccepts := []string{}
  3006  
  3007  	// set Accept header
  3008  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  3009  	if localVarHttpHeaderAccept != "" {
  3010  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  3011  	}
  3012  	// body params
  3013  	if localVarOptionals != nil && localVarOptionals.EditParkLocationRequest.IsSet() {
  3014  		localVarOptionalEditParkLocationRequest, localVarOptionalEditParkLocationRequestok := localVarOptionals.EditParkLocationRequest.Value().(EditParkLocationRequest)
  3015  		if !localVarOptionalEditParkLocationRequestok {
  3016  			return nil, reportError("editParkLocationRequest should be EditParkLocationRequest")
  3017  		}
  3018  		localVarPostBody = &localVarOptionalEditParkLocationRequest
  3019  	}
  3020  
  3021  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3022  	if err != nil {
  3023  		return nil, err
  3024  	}
  3025  
  3026  	localVarHttpResponse, err := a.client.callAPI(r)
  3027  	if err != nil || localVarHttpResponse == nil {
  3028  		return localVarHttpResponse, err
  3029  	}
  3030  
  3031  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  3032  	localVarHttpResponse.Body.Close()
  3033  	if err != nil {
  3034  		return localVarHttpResponse, err
  3035  	}
  3036  
  3037  	if localVarHttpResponse.StatusCode >= 300 {
  3038  		newErr := GenericOpenAPIError{
  3039  			body:  localVarBody,
  3040  			error: localVarHttpResponse.Status,
  3041  		}
  3042  		return localVarHttpResponse, newErr
  3043  	}
  3044  
  3045  	return localVarHttpResponse, nil
  3046  }