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

     1  /*
     2   * RingCentral Connect Platform API Explorer
     3   *
     4   * <p>This is a beta interactive API explorer for the RingCentral Connect Platform. To use this service, you will need to have an account with the proper credentials to generate an OAuth2 access token.</p><p><h2>Quick Start</h2></p><ol><li>1) Go to <b>Authentication > /oauth/token</b></li><li>2) Enter <b>app_key, app_secret, username, password</b> fields and then click \"Try it out!\"</li><li>3) Upon success, your access_token is loaded and you can access any form requiring authorization.</li></ol><h2>Links</h2><ul><li><a href=\"https://github.com/ringcentral\" target=\"_blank\">RingCentral SDKs on Github</a></li><li><a href=\"mailto:devsupport@ringcentral.com\">RingCentral Developer Support Email</a></li></ul>
     5   *
     6   * API version: 1.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package ringcentral
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"github.com/antihax/optional"
    16  	"io/ioutil"
    17  	"net/http"
    18  	"net/url"
    19  	"strings"
    20  )
    21  
    22  // Linger please
    23  var (
    24  	_ context.Context
    25  )
    26  
    27  type CompanySettingsApiService service
    28  
    29  /*
    30  CompanySettingsApiService Delete Account
    31  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.0&lt;/p&gt;&lt;p&gt;Updates account information.&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;
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param accountId
    34  */
    35  func (a *CompanySettingsApiService) DeleteAccount(ctx context.Context, accountId string) (*http.Response, error) {
    36  	var (
    37  		localVarHttpMethod   = strings.ToUpper("Delete")
    38  		localVarPostBody     interface{}
    39  		localVarFormFileName string
    40  		localVarFileName     string
    41  		localVarFileBytes    []byte
    42  	)
    43  
    44  	// create path and map variables
    45  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}"
    46  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    47  
    48  	localVarHeaderParams := make(map[string]string)
    49  	localVarQueryParams := url.Values{}
    50  	localVarFormParams := url.Values{}
    51  
    52  	// to determine the Content-Type header
    53  	localVarHttpContentTypes := []string{}
    54  
    55  	// set Content-Type header
    56  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    57  	if localVarHttpContentType != "" {
    58  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    59  	}
    60  
    61  	// to determine the Accept header
    62  	localVarHttpHeaderAccepts := []string{}
    63  
    64  	// set Accept header
    65  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    66  	if localVarHttpHeaderAccept != "" {
    67  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    68  	}
    69  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    70  	if err != nil {
    71  		return nil, err
    72  	}
    73  
    74  	localVarHttpResponse, err := a.client.callAPI(r)
    75  	if err != nil || localVarHttpResponse == nil {
    76  		return localVarHttpResponse, err
    77  	}
    78  
    79  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    80  	localVarHttpResponse.Body.Close()
    81  	if err != nil {
    82  		return localVarHttpResponse, err
    83  	}
    84  
    85  	if localVarHttpResponse.StatusCode >= 300 {
    86  		newErr := GenericOpenAPIError{
    87  			body:  localVarBody,
    88  			error: localVarHttpResponse.Status,
    89  		}
    90  		return localVarHttpResponse, newErr
    91  	}
    92  
    93  	return localVarHttpResponse, nil
    94  }
    95  
    96  /*
    97  CompanySettingsApiService Get Available Dialing Plans
    98  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns list of countries which can be selected for a dialing plan (to call short numbers and special services).&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;
    99   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   100   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   101   * @param optional nil or *ListDialingPlansOpts - Optional Parameters:
   102   * @param "Page" (optional.Int32) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   103   * @param "PerPage" (optional.Int32) -  Indicates the page size (number of items). If not specified, the value is '100' by default
   104  @return GetDialingPlanInfo
   105  */
   106  
   107  type ListDialingPlansOpts struct {
   108  	Page    optional.Int32
   109  	PerPage optional.Int32
   110  }
   111  
   112  func (a *CompanySettingsApiService) ListDialingPlans(ctx context.Context, accountId string, localVarOptionals *ListDialingPlansOpts) (GetDialingPlanInfo, *http.Response, error) {
   113  	var (
   114  		localVarHttpMethod   = strings.ToUpper("Get")
   115  		localVarPostBody     interface{}
   116  		localVarFormFileName string
   117  		localVarFileName     string
   118  		localVarFileBytes    []byte
   119  		localVarReturnValue  GetDialingPlanInfo
   120  	)
   121  
   122  	// create path and map variables
   123  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/dialing-plan"
   124  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   125  
   126  	localVarHeaderParams := make(map[string]string)
   127  	localVarQueryParams := url.Values{}
   128  	localVarFormParams := url.Values{}
   129  
   130  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   131  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   132  	}
   133  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   134  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   135  	}
   136  	// to determine the Content-Type header
   137  	localVarHttpContentTypes := []string{}
   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  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   154  	if err != nil {
   155  		return localVarReturnValue, nil, err
   156  	}
   157  
   158  	localVarHttpResponse, err := a.client.callAPI(r)
   159  	if err != nil || localVarHttpResponse == nil {
   160  		return localVarReturnValue, localVarHttpResponse, err
   161  	}
   162  
   163  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   164  	localVarHttpResponse.Body.Close()
   165  	if err != nil {
   166  		return localVarReturnValue, localVarHttpResponse, err
   167  	}
   168  
   169  	if localVarHttpResponse.StatusCode >= 300 {
   170  		newErr := GenericOpenAPIError{
   171  			body:  localVarBody,
   172  			error: localVarHttpResponse.Status,
   173  		}
   174  		if localVarHttpResponse.StatusCode == 0 {
   175  			var v GetDialingPlanInfo
   176  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   177  			if err != nil {
   178  				newErr.error = err.Error()
   179  				return localVarReturnValue, localVarHttpResponse, newErr
   180  			}
   181  			newErr.model = v
   182  			return localVarReturnValue, localVarHttpResponse, newErr
   183  		}
   184  		return localVarReturnValue, localVarHttpResponse, newErr
   185  	}
   186  
   187  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   188  	if err != nil {
   189  		newErr := GenericOpenAPIError{
   190  			body:  localVarBody,
   191  			error: err.Error(),
   192  		}
   193  		return localVarReturnValue, localVarHttpResponse, newErr
   194  	}
   195  
   196  	return localVarReturnValue, localVarHttpResponse, nil
   197  }
   198  
   199  /*
   200  CompanySettingsApiService Get Company Info
   201  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.0&lt;/p&gt;&lt;p&gt;Returns basic information about a particular RingCentral customer account.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   202   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   203   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   204  @return GetAccountInfoResponse
   205  */
   206  func (a *CompanySettingsApiService) LoadAccount(ctx context.Context, accountId string) (GetAccountInfoResponse, *http.Response, error) {
   207  	var (
   208  		localVarHttpMethod   = strings.ToUpper("Get")
   209  		localVarPostBody     interface{}
   210  		localVarFormFileName string
   211  		localVarFileName     string
   212  		localVarFileBytes    []byte
   213  		localVarReturnValue  GetAccountInfoResponse
   214  	)
   215  
   216  	// create path and map variables
   217  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}"
   218  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   219  
   220  	localVarHeaderParams := make(map[string]string)
   221  	localVarQueryParams := url.Values{}
   222  	localVarFormParams := url.Values{}
   223  
   224  	// to determine the Content-Type header
   225  	localVarHttpContentTypes := []string{}
   226  
   227  	// set Content-Type header
   228  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   229  	if localVarHttpContentType != "" {
   230  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   231  	}
   232  
   233  	// to determine the Accept header
   234  	localVarHttpHeaderAccepts := []string{"application/json"}
   235  
   236  	// set Accept header
   237  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   238  	if localVarHttpHeaderAccept != "" {
   239  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   240  	}
   241  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   242  	if err != nil {
   243  		return localVarReturnValue, nil, err
   244  	}
   245  
   246  	localVarHttpResponse, err := a.client.callAPI(r)
   247  	if err != nil || localVarHttpResponse == nil {
   248  		return localVarReturnValue, localVarHttpResponse, err
   249  	}
   250  
   251  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   252  	localVarHttpResponse.Body.Close()
   253  	if err != nil {
   254  		return localVarReturnValue, localVarHttpResponse, err
   255  	}
   256  
   257  	if localVarHttpResponse.StatusCode >= 300 {
   258  		newErr := GenericOpenAPIError{
   259  			body:  localVarBody,
   260  			error: localVarHttpResponse.Status,
   261  		}
   262  		if localVarHttpResponse.StatusCode == 0 {
   263  			var v GetAccountInfoResponse
   264  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   265  			if err != nil {
   266  				newErr.error = err.Error()
   267  				return localVarReturnValue, localVarHttpResponse, newErr
   268  			}
   269  			newErr.model = v
   270  			return localVarReturnValue, localVarHttpResponse, newErr
   271  		}
   272  		return localVarReturnValue, localVarHttpResponse, newErr
   273  	}
   274  
   275  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   276  	if err != nil {
   277  		newErr := GenericOpenAPIError{
   278  			body:  localVarBody,
   279  			error: err.Error(),
   280  		}
   281  		return localVarReturnValue, localVarHttpResponse, newErr
   282  	}
   283  
   284  	return localVarReturnValue, localVarHttpResponse, nil
   285  }
   286  
   287  /*
   288  CompanySettingsApiService Get Company Business Address
   289  &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;
   290   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   291   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   292  @return GetAccountInfoResponse
   293  */
   294  func (a *CompanySettingsApiService) LoadAccountBusinessAddress(ctx context.Context, accountId string) (GetAccountInfoResponse, *http.Response, error) {
   295  	var (
   296  		localVarHttpMethod   = strings.ToUpper("Get")
   297  		localVarPostBody     interface{}
   298  		localVarFormFileName string
   299  		localVarFileName     string
   300  		localVarFileBytes    []byte
   301  		localVarReturnValue  GetAccountInfoResponse
   302  	)
   303  
   304  	// create path and map variables
   305  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/business-address"
   306  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   307  
   308  	localVarHeaderParams := make(map[string]string)
   309  	localVarQueryParams := url.Values{}
   310  	localVarFormParams := url.Values{}
   311  
   312  	// to determine the Content-Type header
   313  	localVarHttpContentTypes := []string{}
   314  
   315  	// set Content-Type header
   316  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   317  	if localVarHttpContentType != "" {
   318  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   319  	}
   320  
   321  	// to determine the Accept header
   322  	localVarHttpHeaderAccepts := []string{"application/json"}
   323  
   324  	// set Accept header
   325  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   326  	if localVarHttpHeaderAccept != "" {
   327  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   328  	}
   329  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   330  	if err != nil {
   331  		return localVarReturnValue, nil, err
   332  	}
   333  
   334  	localVarHttpResponse, err := a.client.callAPI(r)
   335  	if err != nil || localVarHttpResponse == nil {
   336  		return localVarReturnValue, localVarHttpResponse, err
   337  	}
   338  
   339  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   340  	localVarHttpResponse.Body.Close()
   341  	if err != nil {
   342  		return localVarReturnValue, localVarHttpResponse, err
   343  	}
   344  
   345  	if localVarHttpResponse.StatusCode >= 300 {
   346  		newErr := GenericOpenAPIError{
   347  			body:  localVarBody,
   348  			error: localVarHttpResponse.Status,
   349  		}
   350  		if localVarHttpResponse.StatusCode == 0 {
   351  			var v GetAccountInfoResponse
   352  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   353  			if err != nil {
   354  				newErr.error = err.Error()
   355  				return localVarReturnValue, localVarHttpResponse, newErr
   356  			}
   357  			newErr.model = v
   358  			return localVarReturnValue, localVarHttpResponse, newErr
   359  		}
   360  		return localVarReturnValue, localVarHttpResponse, newErr
   361  	}
   362  
   363  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   364  	if err != nil {
   365  		newErr := GenericOpenAPIError{
   366  			body:  localVarBody,
   367  			error: err.Error(),
   368  		}
   369  		return localVarReturnValue, localVarHttpResponse, newErr
   370  	}
   371  
   372  	return localVarReturnValue, localVarHttpResponse, nil
   373  }
   374  
   375  /*
   376  CompanySettingsApiService Get Account Service Info
   377  &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;
   378   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   379   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   380  @return GetServiceInfoResponse
   381  */
   382  func (a *CompanySettingsApiService) LoadServiceInfo(ctx context.Context, accountId string) (GetServiceInfoResponse, *http.Response, error) {
   383  	var (
   384  		localVarHttpMethod   = strings.ToUpper("Get")
   385  		localVarPostBody     interface{}
   386  		localVarFormFileName string
   387  		localVarFileName     string
   388  		localVarFileBytes    []byte
   389  		localVarReturnValue  GetServiceInfoResponse
   390  	)
   391  
   392  	// create path and map variables
   393  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/service-info"
   394  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   395  
   396  	localVarHeaderParams := make(map[string]string)
   397  	localVarQueryParams := url.Values{}
   398  	localVarFormParams := url.Values{}
   399  
   400  	// to determine the Content-Type header
   401  	localVarHttpContentTypes := []string{}
   402  
   403  	// set Content-Type header
   404  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   405  	if localVarHttpContentType != "" {
   406  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   407  	}
   408  
   409  	// to determine the Accept header
   410  	localVarHttpHeaderAccepts := []string{"application/json"}
   411  
   412  	// set Accept header
   413  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   414  	if localVarHttpHeaderAccept != "" {
   415  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   416  	}
   417  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   418  	if err != nil {
   419  		return localVarReturnValue, nil, err
   420  	}
   421  
   422  	localVarHttpResponse, err := a.client.callAPI(r)
   423  	if err != nil || localVarHttpResponse == nil {
   424  		return localVarReturnValue, localVarHttpResponse, err
   425  	}
   426  
   427  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   428  	localVarHttpResponse.Body.Close()
   429  	if err != nil {
   430  		return localVarReturnValue, localVarHttpResponse, err
   431  	}
   432  
   433  	if localVarHttpResponse.StatusCode >= 300 {
   434  		newErr := GenericOpenAPIError{
   435  			body:  localVarBody,
   436  			error: localVarHttpResponse.Status,
   437  		}
   438  		if localVarHttpResponse.StatusCode == 0 {
   439  			var v GetServiceInfoResponse
   440  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   441  			if err != nil {
   442  				newErr.error = err.Error()
   443  				return localVarReturnValue, localVarHttpResponse, newErr
   444  			}
   445  			newErr.model = v
   446  			return localVarReturnValue, localVarHttpResponse, newErr
   447  		}
   448  		return localVarReturnValue, localVarHttpResponse, newErr
   449  	}
   450  
   451  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   452  	if err != nil {
   453  		newErr := GenericOpenAPIError{
   454  			body:  localVarBody,
   455  			error: err.Error(),
   456  		}
   457  		return localVarReturnValue, localVarHttpResponse, newErr
   458  	}
   459  
   460  	return localVarReturnValue, localVarHttpResponse, nil
   461  }
   462  
   463  /*
   464  CompanySettingsApiService Update Company
   465  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.0&lt;/p&gt;&lt;p&gt;Updates account information.&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;
   466   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   467   * @param accountId
   468   * @param updateAccountRequest JSON body
   469  @return GetAccountInfoResponse
   470  */
   471  func (a *CompanySettingsApiService) ModifyAccount(ctx context.Context, accountId string, updateAccountRequest UpdateAccountRequest) (GetAccountInfoResponse, *http.Response, error) {
   472  	var (
   473  		localVarHttpMethod   = strings.ToUpper("Put")
   474  		localVarPostBody     interface{}
   475  		localVarFormFileName string
   476  		localVarFileName     string
   477  		localVarFileBytes    []byte
   478  		localVarReturnValue  GetAccountInfoResponse
   479  	)
   480  
   481  	// create path and map variables
   482  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}"
   483  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   484  
   485  	localVarHeaderParams := make(map[string]string)
   486  	localVarQueryParams := url.Values{}
   487  	localVarFormParams := url.Values{}
   488  
   489  	// to determine the Content-Type header
   490  	localVarHttpContentTypes := []string{"application/json"}
   491  
   492  	// set Content-Type header
   493  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   494  	if localVarHttpContentType != "" {
   495  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   496  	}
   497  
   498  	// to determine the Accept header
   499  	localVarHttpHeaderAccepts := []string{"application/json"}
   500  
   501  	// set Accept header
   502  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   503  	if localVarHttpHeaderAccept != "" {
   504  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   505  	}
   506  	// body params
   507  	localVarPostBody = &updateAccountRequest
   508  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   509  	if err != nil {
   510  		return localVarReturnValue, nil, err
   511  	}
   512  
   513  	localVarHttpResponse, err := a.client.callAPI(r)
   514  	if err != nil || localVarHttpResponse == nil {
   515  		return localVarReturnValue, localVarHttpResponse, err
   516  	}
   517  
   518  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   519  	localVarHttpResponse.Body.Close()
   520  	if err != nil {
   521  		return localVarReturnValue, localVarHttpResponse, err
   522  	}
   523  
   524  	if localVarHttpResponse.StatusCode >= 300 {
   525  		newErr := GenericOpenAPIError{
   526  			body:  localVarBody,
   527  			error: localVarHttpResponse.Status,
   528  		}
   529  		if localVarHttpResponse.StatusCode == 0 {
   530  			var v GetAccountInfoResponse
   531  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   532  			if err != nil {
   533  				newErr.error = err.Error()
   534  				return localVarReturnValue, localVarHttpResponse, newErr
   535  			}
   536  			newErr.model = v
   537  			return localVarReturnValue, localVarHttpResponse, newErr
   538  		}
   539  		return localVarReturnValue, localVarHttpResponse, newErr
   540  	}
   541  
   542  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   543  	if err != nil {
   544  		newErr := GenericOpenAPIError{
   545  			body:  localVarBody,
   546  			error: err.Error(),
   547  		}
   548  		return localVarReturnValue, localVarHttpResponse, newErr
   549  	}
   550  
   551  	return localVarReturnValue, localVarHttpResponse, nil
   552  }
   553  
   554  /*
   555  CompanySettingsApiService Update Company Business Address
   556  &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;Medium&lt;/p&gt;
   557   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   558   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   559   * @param modifyAccountBusinessAddressRequest JSON body
   560  @return AccountBusinessAddressResource
   561  */
   562  func (a *CompanySettingsApiService) UpdateAccountBusinessAddress(ctx context.Context, accountId string, modifyAccountBusinessAddressRequest ModifyAccountBusinessAddressRequest) (AccountBusinessAddressResource, *http.Response, error) {
   563  	var (
   564  		localVarHttpMethod   = strings.ToUpper("Put")
   565  		localVarPostBody     interface{}
   566  		localVarFormFileName string
   567  		localVarFileName     string
   568  		localVarFileBytes    []byte
   569  		localVarReturnValue  AccountBusinessAddressResource
   570  	)
   571  
   572  	// create path and map variables
   573  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/business-address"
   574  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   575  
   576  	localVarHeaderParams := make(map[string]string)
   577  	localVarQueryParams := url.Values{}
   578  	localVarFormParams := url.Values{}
   579  
   580  	// to determine the Content-Type header
   581  	localVarHttpContentTypes := []string{"application/json"}
   582  
   583  	// set Content-Type header
   584  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   585  	if localVarHttpContentType != "" {
   586  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   587  	}
   588  
   589  	// to determine the Accept header
   590  	localVarHttpHeaderAccepts := []string{"application/json"}
   591  
   592  	// set Accept header
   593  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   594  	if localVarHttpHeaderAccept != "" {
   595  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   596  	}
   597  	// body params
   598  	localVarPostBody = &modifyAccountBusinessAddressRequest
   599  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   600  	if err != nil {
   601  		return localVarReturnValue, nil, err
   602  	}
   603  
   604  	localVarHttpResponse, err := a.client.callAPI(r)
   605  	if err != nil || localVarHttpResponse == nil {
   606  		return localVarReturnValue, localVarHttpResponse, err
   607  	}
   608  
   609  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   610  	localVarHttpResponse.Body.Close()
   611  	if err != nil {
   612  		return localVarReturnValue, localVarHttpResponse, err
   613  	}
   614  
   615  	if localVarHttpResponse.StatusCode >= 300 {
   616  		newErr := GenericOpenAPIError{
   617  			body:  localVarBody,
   618  			error: localVarHttpResponse.Status,
   619  		}
   620  		if localVarHttpResponse.StatusCode == 0 {
   621  			var v AccountBusinessAddressResource
   622  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   623  			if err != nil {
   624  				newErr.error = err.Error()
   625  				return localVarReturnValue, localVarHttpResponse, newErr
   626  			}
   627  			newErr.model = v
   628  			return localVarReturnValue, localVarHttpResponse, newErr
   629  		}
   630  		return localVarReturnValue, localVarHttpResponse, newErr
   631  	}
   632  
   633  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   634  	if err != nil {
   635  		newErr := GenericOpenAPIError{
   636  			body:  localVarBody,
   637  			error: err.Error(),
   638  		}
   639  		return localVarReturnValue, localVarHttpResponse, newErr
   640  	}
   641  
   642  	return localVarReturnValue, localVarHttpResponse, nil
   643  }
   644  
   645  /*
   646  CompanySettingsApiService Update Account Service Info [Beta]
   647  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.29 (Release 9.0)&lt;/p&gt;&lt;p&gt;Updates limitations for a particular RingCentral customer account.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;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;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   648   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   649   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   650   * @param serviceInfoRequest JSON body
   651  @return AccountServiceInfo
   652  */
   653  func (a *CompanySettingsApiService) UpdateServiceInfo(ctx context.Context, accountId string, serviceInfoRequest ServiceInfoRequest) (AccountServiceInfo, *http.Response, error) {
   654  	var (
   655  		localVarHttpMethod   = strings.ToUpper("Put")
   656  		localVarPostBody     interface{}
   657  		localVarFormFileName string
   658  		localVarFileName     string
   659  		localVarFileBytes    []byte
   660  		localVarReturnValue  AccountServiceInfo
   661  	)
   662  
   663  	// create path and map variables
   664  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/service-info"
   665  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   666  
   667  	localVarHeaderParams := make(map[string]string)
   668  	localVarQueryParams := url.Values{}
   669  	localVarFormParams := url.Values{}
   670  
   671  	// to determine the Content-Type header
   672  	localVarHttpContentTypes := []string{"application/json"}
   673  
   674  	// set Content-Type header
   675  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   676  	if localVarHttpContentType != "" {
   677  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   678  	}
   679  
   680  	// to determine the Accept header
   681  	localVarHttpHeaderAccepts := []string{"application/json"}
   682  
   683  	// set Accept header
   684  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   685  	if localVarHttpHeaderAccept != "" {
   686  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   687  	}
   688  	// body params
   689  	localVarPostBody = &serviceInfoRequest
   690  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   691  	if err != nil {
   692  		return localVarReturnValue, nil, err
   693  	}
   694  
   695  	localVarHttpResponse, err := a.client.callAPI(r)
   696  	if err != nil || localVarHttpResponse == nil {
   697  		return localVarReturnValue, localVarHttpResponse, err
   698  	}
   699  
   700  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   701  	localVarHttpResponse.Body.Close()
   702  	if err != nil {
   703  		return localVarReturnValue, localVarHttpResponse, err
   704  	}
   705  
   706  	if localVarHttpResponse.StatusCode >= 300 {
   707  		newErr := GenericOpenAPIError{
   708  			body:  localVarBody,
   709  			error: localVarHttpResponse.Status,
   710  		}
   711  		if localVarHttpResponse.StatusCode == 0 {
   712  			var v AccountServiceInfo
   713  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   714  			if err != nil {
   715  				newErr.error = err.Error()
   716  				return localVarReturnValue, localVarHttpResponse, newErr
   717  			}
   718  			newErr.model = v
   719  			return localVarReturnValue, localVarHttpResponse, newErr
   720  		}
   721  		return localVarReturnValue, localVarHttpResponse, newErr
   722  	}
   723  
   724  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   725  	if err != nil {
   726  		newErr := GenericOpenAPIError{
   727  			body:  localVarBody,
   728  			error: err.Error(),
   729  		}
   730  		return localVarReturnValue, localVarHttpResponse, newErr
   731  	}
   732  
   733  	return localVarReturnValue, localVarHttpResponse, nil
   734  }