github.com/Finnhub-Stock-API/finnhub-go@v1.2.1/api_default.go (about)

     1  /*
     2   * Finnhub API
     3   *
     4   * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package finnhub
    11  
    12  import (
    13  	_context "context"
    14  	_ioutil "io/ioutil"
    15  	_nethttp "net/http"
    16  	_neturl "net/url"
    17  
    18  	"github.com/antihax/optional"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ _context.Context
    24  )
    25  
    26  // DefaultApiService DefaultApi service
    27  type DefaultApiService service
    28  
    29  /*
    30  AggregateIndicator Aggregate Indicators
    31  Get aggregate signal of multiple technical indicators such as MACD, RSI, Moving Average v.v.
    32   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param symbol symbol
    34   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
    35  @return AggregateIndicators
    36  */
    37  func (a *DefaultApiService) AggregateIndicator(ctx _context.Context, symbol string, resolution string) (AggregateIndicators, *_nethttp.Response, error) {
    38  	var (
    39  		localVarHTTPMethod   = _nethttp.MethodGet
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  		localVarReturnValue  AggregateIndicators
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath + "/scan/technical-indicator"
    49  	localVarHeaderParams := make(map[string]string)
    50  	localVarQueryParams := _neturl.Values{}
    51  	localVarFormParams := _neturl.Values{}
    52  
    53  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
    54  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
    55  	// to determine the Content-Type header
    56  	localVarHTTPContentTypes := []string{}
    57  
    58  	// set Content-Type header
    59  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
    60  	if localVarHTTPContentType != "" {
    61  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
    62  	}
    63  
    64  	// to determine the Accept header
    65  	localVarHTTPHeaderAccepts := []string{"application/json"}
    66  
    67  	// set Accept header
    68  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
    69  	if localVarHTTPHeaderAccept != "" {
    70  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    71  	}
    72  	if ctx != nil {
    73  		// API Key Authentication
    74  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    75  			var key string
    76  			if auth.Prefix != "" {
    77  				key = auth.Prefix + " " + auth.Key
    78  			} else {
    79  				key = auth.Key
    80  			}
    81  			localVarQueryParams.Add("token", key)
    82  		}
    83  	}
    84  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    85  	if err != nil {
    86  		return localVarReturnValue, nil, err
    87  	}
    88  
    89  	localVarHTTPResponse, err := a.client.callAPI(r)
    90  	if err != nil || localVarHTTPResponse == nil {
    91  		return localVarReturnValue, localVarHTTPResponse, err
    92  	}
    93  
    94  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
    95  	localVarHTTPResponse.Body.Close()
    96  	if err != nil {
    97  		return localVarReturnValue, localVarHTTPResponse, err
    98  	}
    99  
   100  	if localVarHTTPResponse.StatusCode >= 300 {
   101  		newErr := GenericOpenAPIError{
   102  			body:  localVarBody,
   103  			error: localVarHTTPResponse.Status,
   104  		}
   105  		return localVarReturnValue, localVarHTTPResponse, newErr
   106  	}
   107  
   108  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   109  	if err != nil {
   110  		newErr := GenericOpenAPIError{
   111  			body:  localVarBody,
   112  			error: err.Error(),
   113  		}
   114  		return localVarReturnValue, localVarHTTPResponse, newErr
   115  	}
   116  
   117  	return localVarReturnValue, localVarHTTPResponse, nil
   118  }
   119  
   120  /*
   121  CompanyBasicFinancials Basic Financials
   122  Get company basic financials such as margin, P/E ratio, 52-week high/low etc.
   123   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   124   * @param symbol Symbol of the company: AAPL.
   125   * @param metric Metric type. Can be 1 of the following values <code>all, price, valuation, margin</code>
   126  @return BasicFinancials
   127  */
   128  func (a *DefaultApiService) CompanyBasicFinancials(ctx _context.Context, symbol string, metric string) (BasicFinancials, *_nethttp.Response, error) {
   129  	var (
   130  		localVarHTTPMethod   = _nethttp.MethodGet
   131  		localVarPostBody     interface{}
   132  		localVarFormFileName string
   133  		localVarFileName     string
   134  		localVarFileBytes    []byte
   135  		localVarReturnValue  BasicFinancials
   136  	)
   137  
   138  	// create path and map variables
   139  	localVarPath := a.client.cfg.BasePath + "/stock/metric"
   140  	localVarHeaderParams := make(map[string]string)
   141  	localVarQueryParams := _neturl.Values{}
   142  	localVarFormParams := _neturl.Values{}
   143  
   144  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   145  	localVarQueryParams.Add("metric", parameterToString(metric, ""))
   146  	// to determine the Content-Type header
   147  	localVarHTTPContentTypes := []string{}
   148  
   149  	// set Content-Type header
   150  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   151  	if localVarHTTPContentType != "" {
   152  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   153  	}
   154  
   155  	// to determine the Accept header
   156  	localVarHTTPHeaderAccepts := []string{"application/json"}
   157  
   158  	// set Accept header
   159  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   160  	if localVarHTTPHeaderAccept != "" {
   161  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   162  	}
   163  	if ctx != nil {
   164  		// API Key Authentication
   165  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   166  			var key string
   167  			if auth.Prefix != "" {
   168  				key = auth.Prefix + " " + auth.Key
   169  			} else {
   170  				key = auth.Key
   171  			}
   172  			localVarQueryParams.Add("token", key)
   173  		}
   174  	}
   175  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   176  	if err != nil {
   177  		return localVarReturnValue, nil, err
   178  	}
   179  
   180  	localVarHTTPResponse, err := a.client.callAPI(r)
   181  	if err != nil || localVarHTTPResponse == nil {
   182  		return localVarReturnValue, localVarHTTPResponse, err
   183  	}
   184  
   185  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   186  	localVarHTTPResponse.Body.Close()
   187  	if err != nil {
   188  		return localVarReturnValue, localVarHTTPResponse, err
   189  	}
   190  
   191  	if localVarHTTPResponse.StatusCode >= 300 {
   192  		newErr := GenericOpenAPIError{
   193  			body:  localVarBody,
   194  			error: localVarHTTPResponse.Status,
   195  		}
   196  		return localVarReturnValue, localVarHTTPResponse, newErr
   197  	}
   198  
   199  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   200  	if err != nil {
   201  		newErr := GenericOpenAPIError{
   202  			body:  localVarBody,
   203  			error: err.Error(),
   204  		}
   205  		return localVarReturnValue, localVarHTTPResponse, newErr
   206  	}
   207  
   208  	return localVarReturnValue, localVarHTTPResponse, nil
   209  }
   210  
   211  // CompanyEarningsOpts Optional parameters for the method 'CompanyEarnings'
   212  type CompanyEarningsOpts struct {
   213  	Limit optional.Int64
   214  }
   215  
   216  /*
   217  CompanyEarnings Earnings Surprises
   218  Get company historical quarterly earnings surprise going back to 2000.
   219   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   220   * @param symbol Symbol of the company: AAPL.
   221   * @param optional nil or *CompanyEarningsOpts - Optional Parameters:
   222   * @param "Limit" (optional.Int64) -  Limit number of period returned. Leave blank to get the full history.
   223  @return []EarningResult
   224  */
   225  func (a *DefaultApiService) CompanyEarnings(ctx _context.Context, symbol string, localVarOptionals *CompanyEarningsOpts) ([]EarningResult, *_nethttp.Response, error) {
   226  	var (
   227  		localVarHTTPMethod   = _nethttp.MethodGet
   228  		localVarPostBody     interface{}
   229  		localVarFormFileName string
   230  		localVarFileName     string
   231  		localVarFileBytes    []byte
   232  		localVarReturnValue  []EarningResult
   233  	)
   234  
   235  	// create path and map variables
   236  	localVarPath := a.client.cfg.BasePath + "/stock/earnings"
   237  	localVarHeaderParams := make(map[string]string)
   238  	localVarQueryParams := _neturl.Values{}
   239  	localVarFormParams := _neturl.Values{}
   240  
   241  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   242  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
   243  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
   244  	}
   245  	// to determine the Content-Type header
   246  	localVarHTTPContentTypes := []string{}
   247  
   248  	// set Content-Type header
   249  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   250  	if localVarHTTPContentType != "" {
   251  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   252  	}
   253  
   254  	// to determine the Accept header
   255  	localVarHTTPHeaderAccepts := []string{"application/json"}
   256  
   257  	// set Accept header
   258  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   259  	if localVarHTTPHeaderAccept != "" {
   260  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   261  	}
   262  	if ctx != nil {
   263  		// API Key Authentication
   264  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   265  			var key string
   266  			if auth.Prefix != "" {
   267  				key = auth.Prefix + " " + auth.Key
   268  			} else {
   269  				key = auth.Key
   270  			}
   271  			localVarQueryParams.Add("token", key)
   272  		}
   273  	}
   274  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   275  	if err != nil {
   276  		return localVarReturnValue, nil, err
   277  	}
   278  
   279  	localVarHTTPResponse, err := a.client.callAPI(r)
   280  	if err != nil || localVarHTTPResponse == nil {
   281  		return localVarReturnValue, localVarHTTPResponse, err
   282  	}
   283  
   284  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   285  	localVarHTTPResponse.Body.Close()
   286  	if err != nil {
   287  		return localVarReturnValue, localVarHTTPResponse, err
   288  	}
   289  
   290  	if localVarHTTPResponse.StatusCode >= 300 {
   291  		newErr := GenericOpenAPIError{
   292  			body:  localVarBody,
   293  			error: localVarHTTPResponse.Status,
   294  		}
   295  		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  // CompanyEpsEstimatesOpts Optional parameters for the method 'CompanyEpsEstimates'
   311  type CompanyEpsEstimatesOpts struct {
   312  	Freq optional.String
   313  }
   314  
   315  /*
   316  CompanyEpsEstimates Earnings Estimates
   317  Get company&#39;s EPS estimates.
   318   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   319   * @param symbol Symbol of the company: AAPL.
   320   * @param optional nil or *CompanyEpsEstimatesOpts - Optional Parameters:
   321   * @param "Freq" (optional.String) -  Can take 1 of the following values: <code>annual, quarterly</code>. Default to <code>quarterly</code>
   322  @return EarningsEstimates
   323  */
   324  func (a *DefaultApiService) CompanyEpsEstimates(ctx _context.Context, symbol string, localVarOptionals *CompanyEpsEstimatesOpts) (EarningsEstimates, *_nethttp.Response, error) {
   325  	var (
   326  		localVarHTTPMethod   = _nethttp.MethodGet
   327  		localVarPostBody     interface{}
   328  		localVarFormFileName string
   329  		localVarFileName     string
   330  		localVarFileBytes    []byte
   331  		localVarReturnValue  EarningsEstimates
   332  	)
   333  
   334  	// create path and map variables
   335  	localVarPath := a.client.cfg.BasePath + "/stock/eps-estimate"
   336  	localVarHeaderParams := make(map[string]string)
   337  	localVarQueryParams := _neturl.Values{}
   338  	localVarFormParams := _neturl.Values{}
   339  
   340  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   341  	if localVarOptionals != nil && localVarOptionals.Freq.IsSet() {
   342  		localVarQueryParams.Add("freq", parameterToString(localVarOptionals.Freq.Value(), ""))
   343  	}
   344  	// to determine the Content-Type header
   345  	localVarHTTPContentTypes := []string{}
   346  
   347  	// set Content-Type header
   348  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   349  	if localVarHTTPContentType != "" {
   350  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   351  	}
   352  
   353  	// to determine the Accept header
   354  	localVarHTTPHeaderAccepts := []string{"application/json"}
   355  
   356  	// set Accept header
   357  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   358  	if localVarHTTPHeaderAccept != "" {
   359  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   360  	}
   361  	if ctx != nil {
   362  		// API Key Authentication
   363  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   364  			var key string
   365  			if auth.Prefix != "" {
   366  				key = auth.Prefix + " " + auth.Key
   367  			} else {
   368  				key = auth.Key
   369  			}
   370  			localVarQueryParams.Add("token", key)
   371  		}
   372  	}
   373  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   374  	if err != nil {
   375  		return localVarReturnValue, nil, err
   376  	}
   377  
   378  	localVarHTTPResponse, err := a.client.callAPI(r)
   379  	if err != nil || localVarHTTPResponse == nil {
   380  		return localVarReturnValue, localVarHTTPResponse, err
   381  	}
   382  
   383  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   384  	localVarHTTPResponse.Body.Close()
   385  	if err != nil {
   386  		return localVarReturnValue, localVarHTTPResponse, err
   387  	}
   388  
   389  	if localVarHTTPResponse.StatusCode >= 300 {
   390  		newErr := GenericOpenAPIError{
   391  			body:  localVarBody,
   392  			error: localVarHTTPResponse.Status,
   393  		}
   394  		return localVarReturnValue, localVarHTTPResponse, newErr
   395  	}
   396  
   397  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   398  	if err != nil {
   399  		newErr := GenericOpenAPIError{
   400  			body:  localVarBody,
   401  			error: err.Error(),
   402  		}
   403  		return localVarReturnValue, localVarHTTPResponse, newErr
   404  	}
   405  
   406  	return localVarReturnValue, localVarHTTPResponse, nil
   407  }
   408  
   409  /*
   410  CompanyExecutive Company Executive
   411  Get a list of company&#39;s executives and members of the Board.
   412   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   413   * @param symbol Symbol of the company: AAPL.
   414  @return CompanyExecutive
   415  */
   416  func (a *DefaultApiService) CompanyExecutive(ctx _context.Context, symbol string) (CompanyExecutive, *_nethttp.Response, error) {
   417  	var (
   418  		localVarHTTPMethod   = _nethttp.MethodGet
   419  		localVarPostBody     interface{}
   420  		localVarFormFileName string
   421  		localVarFileName     string
   422  		localVarFileBytes    []byte
   423  		localVarReturnValue  CompanyExecutive
   424  	)
   425  
   426  	// create path and map variables
   427  	localVarPath := a.client.cfg.BasePath + "/stock/executive"
   428  	localVarHeaderParams := make(map[string]string)
   429  	localVarQueryParams := _neturl.Values{}
   430  	localVarFormParams := _neturl.Values{}
   431  
   432  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   433  	// to determine the Content-Type header
   434  	localVarHTTPContentTypes := []string{}
   435  
   436  	// set Content-Type header
   437  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   438  	if localVarHTTPContentType != "" {
   439  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   440  	}
   441  
   442  	// to determine the Accept header
   443  	localVarHTTPHeaderAccepts := []string{"application/json"}
   444  
   445  	// set Accept header
   446  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   447  	if localVarHTTPHeaderAccept != "" {
   448  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   449  	}
   450  	if ctx != nil {
   451  		// API Key Authentication
   452  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   453  			var key string
   454  			if auth.Prefix != "" {
   455  				key = auth.Prefix + " " + auth.Key
   456  			} else {
   457  				key = auth.Key
   458  			}
   459  			localVarQueryParams.Add("token", key)
   460  		}
   461  	}
   462  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   463  	if err != nil {
   464  		return localVarReturnValue, nil, err
   465  	}
   466  
   467  	localVarHTTPResponse, err := a.client.callAPI(r)
   468  	if err != nil || localVarHTTPResponse == nil {
   469  		return localVarReturnValue, localVarHTTPResponse, err
   470  	}
   471  
   472  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   473  	localVarHTTPResponse.Body.Close()
   474  	if err != nil {
   475  		return localVarReturnValue, localVarHTTPResponse, err
   476  	}
   477  
   478  	if localVarHTTPResponse.StatusCode >= 300 {
   479  		newErr := GenericOpenAPIError{
   480  			body:  localVarBody,
   481  			error: localVarHTTPResponse.Status,
   482  		}
   483  		return localVarReturnValue, localVarHTTPResponse, newErr
   484  	}
   485  
   486  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   487  	if err != nil {
   488  		newErr := GenericOpenAPIError{
   489  			body:  localVarBody,
   490  			error: err.Error(),
   491  		}
   492  		return localVarReturnValue, localVarHTTPResponse, newErr
   493  	}
   494  
   495  	return localVarReturnValue, localVarHTTPResponse, nil
   496  }
   497  
   498  /*
   499  CompanyNews Company News
   500  List latest company news by symbol. This endpoint is only available for North American companies.
   501   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   502   * @param symbol Company symbol.
   503   * @param from From date <code>YYYY-MM-DD</code>.
   504   * @param to To date <code>YYYY-MM-DD</code>.
   505  @return []News
   506  */
   507  func (a *DefaultApiService) CompanyNews(ctx _context.Context, symbol string, from string, to string) ([]News, *_nethttp.Response, error) {
   508  	var (
   509  		localVarHTTPMethod   = _nethttp.MethodGet
   510  		localVarPostBody     interface{}
   511  		localVarFormFileName string
   512  		localVarFileName     string
   513  		localVarFileBytes    []byte
   514  		localVarReturnValue  []News
   515  	)
   516  
   517  	// create path and map variables
   518  	localVarPath := a.client.cfg.BasePath + "/company-news"
   519  	localVarHeaderParams := make(map[string]string)
   520  	localVarQueryParams := _neturl.Values{}
   521  	localVarFormParams := _neturl.Values{}
   522  
   523  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   524  	localVarQueryParams.Add("from", parameterToString(from, ""))
   525  	localVarQueryParams.Add("to", parameterToString(to, ""))
   526  	// to determine the Content-Type header
   527  	localVarHTTPContentTypes := []string{}
   528  
   529  	// set Content-Type header
   530  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   531  	if localVarHTTPContentType != "" {
   532  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   533  	}
   534  
   535  	// to determine the Accept header
   536  	localVarHTTPHeaderAccepts := []string{"application/json"}
   537  
   538  	// set Accept header
   539  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   540  	if localVarHTTPHeaderAccept != "" {
   541  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   542  	}
   543  	if ctx != nil {
   544  		// API Key Authentication
   545  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   546  			var key string
   547  			if auth.Prefix != "" {
   548  				key = auth.Prefix + " " + auth.Key
   549  			} else {
   550  				key = auth.Key
   551  			}
   552  			localVarQueryParams.Add("token", key)
   553  		}
   554  	}
   555  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   556  	if err != nil {
   557  		return localVarReturnValue, nil, err
   558  	}
   559  
   560  	localVarHTTPResponse, err := a.client.callAPI(r)
   561  	if err != nil || localVarHTTPResponse == nil {
   562  		return localVarReturnValue, localVarHTTPResponse, err
   563  	}
   564  
   565  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   566  	localVarHTTPResponse.Body.Close()
   567  	if err != nil {
   568  		return localVarReturnValue, localVarHTTPResponse, err
   569  	}
   570  
   571  	if localVarHTTPResponse.StatusCode >= 300 {
   572  		newErr := GenericOpenAPIError{
   573  			body:  localVarBody,
   574  			error: localVarHTTPResponse.Status,
   575  		}
   576  		return localVarReturnValue, localVarHTTPResponse, newErr
   577  	}
   578  
   579  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   580  	if err != nil {
   581  		newErr := GenericOpenAPIError{
   582  			body:  localVarBody,
   583  			error: err.Error(),
   584  		}
   585  		return localVarReturnValue, localVarHTTPResponse, newErr
   586  	}
   587  
   588  	return localVarReturnValue, localVarHTTPResponse, nil
   589  }
   590  
   591  /*
   592  CompanyPeers Peers
   593  Get company peers. Return a list of peers in the same country and GICS sub-industry
   594   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   595   * @param symbol Symbol of the company: AAPL.
   596  @return []string
   597  */
   598  func (a *DefaultApiService) CompanyPeers(ctx _context.Context, symbol string) ([]string, *_nethttp.Response, error) {
   599  	var (
   600  		localVarHTTPMethod   = _nethttp.MethodGet
   601  		localVarPostBody     interface{}
   602  		localVarFormFileName string
   603  		localVarFileName     string
   604  		localVarFileBytes    []byte
   605  		localVarReturnValue  []string
   606  	)
   607  
   608  	// create path and map variables
   609  	localVarPath := a.client.cfg.BasePath + "/stock/peers"
   610  	localVarHeaderParams := make(map[string]string)
   611  	localVarQueryParams := _neturl.Values{}
   612  	localVarFormParams := _neturl.Values{}
   613  
   614  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   615  	// to determine the Content-Type header
   616  	localVarHTTPContentTypes := []string{}
   617  
   618  	// set Content-Type header
   619  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   620  	if localVarHTTPContentType != "" {
   621  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   622  	}
   623  
   624  	// to determine the Accept header
   625  	localVarHTTPHeaderAccepts := []string{"application/json"}
   626  
   627  	// set Accept header
   628  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   629  	if localVarHTTPHeaderAccept != "" {
   630  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   631  	}
   632  	if ctx != nil {
   633  		// API Key Authentication
   634  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   635  			var key string
   636  			if auth.Prefix != "" {
   637  				key = auth.Prefix + " " + auth.Key
   638  			} else {
   639  				key = auth.Key
   640  			}
   641  			localVarQueryParams.Add("token", key)
   642  		}
   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  		return localVarReturnValue, localVarHTTPResponse, newErr
   666  	}
   667  
   668  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   669  	if err != nil {
   670  		newErr := GenericOpenAPIError{
   671  			body:  localVarBody,
   672  			error: err.Error(),
   673  		}
   674  		return localVarReturnValue, localVarHTTPResponse, newErr
   675  	}
   676  
   677  	return localVarReturnValue, localVarHTTPResponse, nil
   678  }
   679  
   680  // CompanyProfileOpts Optional parameters for the method 'CompanyProfile'
   681  type CompanyProfileOpts struct {
   682  	Symbol optional.String
   683  	Isin   optional.String
   684  	Cusip  optional.String
   685  }
   686  
   687  /*
   688  CompanyProfile Company Profile
   689  Get general information of a company. You can query by symbol, ISIN or CUSIP
   690   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   691   * @param optional nil or *CompanyProfileOpts - Optional Parameters:
   692   * @param "Symbol" (optional.String) -  Symbol of the company: AAPL e.g.
   693   * @param "Isin" (optional.String) -  ISIN
   694   * @param "Cusip" (optional.String) -  CUSIP
   695  @return CompanyProfile
   696  */
   697  func (a *DefaultApiService) CompanyProfile(ctx _context.Context, localVarOptionals *CompanyProfileOpts) (CompanyProfile, *_nethttp.Response, error) {
   698  	var (
   699  		localVarHTTPMethod   = _nethttp.MethodGet
   700  		localVarPostBody     interface{}
   701  		localVarFormFileName string
   702  		localVarFileName     string
   703  		localVarFileBytes    []byte
   704  		localVarReturnValue  CompanyProfile
   705  	)
   706  
   707  	// create path and map variables
   708  	localVarPath := a.client.cfg.BasePath + "/stock/profile"
   709  	localVarHeaderParams := make(map[string]string)
   710  	localVarQueryParams := _neturl.Values{}
   711  	localVarFormParams := _neturl.Values{}
   712  
   713  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
   714  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
   715  	}
   716  	if localVarOptionals != nil && localVarOptionals.Isin.IsSet() {
   717  		localVarQueryParams.Add("isin", parameterToString(localVarOptionals.Isin.Value(), ""))
   718  	}
   719  	if localVarOptionals != nil && localVarOptionals.Cusip.IsSet() {
   720  		localVarQueryParams.Add("cusip", parameterToString(localVarOptionals.Cusip.Value(), ""))
   721  	}
   722  	// to determine the Content-Type header
   723  	localVarHTTPContentTypes := []string{}
   724  
   725  	// set Content-Type header
   726  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   727  	if localVarHTTPContentType != "" {
   728  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   729  	}
   730  
   731  	// to determine the Accept header
   732  	localVarHTTPHeaderAccepts := []string{"application/json"}
   733  
   734  	// set Accept header
   735  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   736  	if localVarHTTPHeaderAccept != "" {
   737  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   738  	}
   739  	if ctx != nil {
   740  		// API Key Authentication
   741  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   742  			var key string
   743  			if auth.Prefix != "" {
   744  				key = auth.Prefix + " " + auth.Key
   745  			} else {
   746  				key = auth.Key
   747  			}
   748  			localVarQueryParams.Add("token", key)
   749  		}
   750  	}
   751  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   752  	if err != nil {
   753  		return localVarReturnValue, nil, err
   754  	}
   755  
   756  	localVarHTTPResponse, err := a.client.callAPI(r)
   757  	if err != nil || localVarHTTPResponse == nil {
   758  		return localVarReturnValue, localVarHTTPResponse, err
   759  	}
   760  
   761  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   762  	localVarHTTPResponse.Body.Close()
   763  	if err != nil {
   764  		return localVarReturnValue, localVarHTTPResponse, err
   765  	}
   766  
   767  	if localVarHTTPResponse.StatusCode >= 300 {
   768  		newErr := GenericOpenAPIError{
   769  			body:  localVarBody,
   770  			error: localVarHTTPResponse.Status,
   771  		}
   772  		return localVarReturnValue, localVarHTTPResponse, newErr
   773  	}
   774  
   775  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   776  	if err != nil {
   777  		newErr := GenericOpenAPIError{
   778  			body:  localVarBody,
   779  			error: err.Error(),
   780  		}
   781  		return localVarReturnValue, localVarHTTPResponse, newErr
   782  	}
   783  
   784  	return localVarReturnValue, localVarHTTPResponse, nil
   785  }
   786  
   787  // CompanyProfile2Opts Optional parameters for the method 'CompanyProfile2'
   788  type CompanyProfile2Opts struct {
   789  	Symbol optional.String
   790  	Isin   optional.String
   791  	Cusip  optional.String
   792  }
   793  
   794  /*
   795  CompanyProfile2 Company Profile 2
   796  Get general information of a company. You can query by symbol, ISIN or CUSIP. This is the free version of &lt;a href&#x3D;\&quot;#company-profile\&quot;&gt;Company Profile&lt;/a&gt;.
   797   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   798   * @param optional nil or *CompanyProfile2Opts - Optional Parameters:
   799   * @param "Symbol" (optional.String) -  Symbol of the company: AAPL e.g.
   800   * @param "Isin" (optional.String) -  ISIN
   801   * @param "Cusip" (optional.String) -  CUSIP
   802  @return CompanyProfile2
   803  */
   804  func (a *DefaultApiService) CompanyProfile2(ctx _context.Context, localVarOptionals *CompanyProfile2Opts) (CompanyProfile2, *_nethttp.Response, error) {
   805  	var (
   806  		localVarHTTPMethod   = _nethttp.MethodGet
   807  		localVarPostBody     interface{}
   808  		localVarFormFileName string
   809  		localVarFileName     string
   810  		localVarFileBytes    []byte
   811  		localVarReturnValue  CompanyProfile2
   812  	)
   813  
   814  	// create path and map variables
   815  	localVarPath := a.client.cfg.BasePath + "/stock/profile2"
   816  	localVarHeaderParams := make(map[string]string)
   817  	localVarQueryParams := _neturl.Values{}
   818  	localVarFormParams := _neturl.Values{}
   819  
   820  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
   821  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
   822  	}
   823  	if localVarOptionals != nil && localVarOptionals.Isin.IsSet() {
   824  		localVarQueryParams.Add("isin", parameterToString(localVarOptionals.Isin.Value(), ""))
   825  	}
   826  	if localVarOptionals != nil && localVarOptionals.Cusip.IsSet() {
   827  		localVarQueryParams.Add("cusip", parameterToString(localVarOptionals.Cusip.Value(), ""))
   828  	}
   829  	// to determine the Content-Type header
   830  	localVarHTTPContentTypes := []string{}
   831  
   832  	// set Content-Type header
   833  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   834  	if localVarHTTPContentType != "" {
   835  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   836  	}
   837  
   838  	// to determine the Accept header
   839  	localVarHTTPHeaderAccepts := []string{"application/json"}
   840  
   841  	// set Accept header
   842  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   843  	if localVarHTTPHeaderAccept != "" {
   844  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   845  	}
   846  	if ctx != nil {
   847  		// API Key Authentication
   848  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   849  			var key string
   850  			if auth.Prefix != "" {
   851  				key = auth.Prefix + " " + auth.Key
   852  			} else {
   853  				key = auth.Key
   854  			}
   855  			localVarQueryParams.Add("token", key)
   856  		}
   857  	}
   858  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   859  	if err != nil {
   860  		return localVarReturnValue, nil, err
   861  	}
   862  
   863  	localVarHTTPResponse, err := a.client.callAPI(r)
   864  	if err != nil || localVarHTTPResponse == nil {
   865  		return localVarReturnValue, localVarHTTPResponse, err
   866  	}
   867  
   868  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   869  	localVarHTTPResponse.Body.Close()
   870  	if err != nil {
   871  		return localVarReturnValue, localVarHTTPResponse, err
   872  	}
   873  
   874  	if localVarHTTPResponse.StatusCode >= 300 {
   875  		newErr := GenericOpenAPIError{
   876  			body:  localVarBody,
   877  			error: localVarHTTPResponse.Status,
   878  		}
   879  		return localVarReturnValue, localVarHTTPResponse, newErr
   880  	}
   881  
   882  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   883  	if err != nil {
   884  		newErr := GenericOpenAPIError{
   885  			body:  localVarBody,
   886  			error: err.Error(),
   887  		}
   888  		return localVarReturnValue, localVarHTTPResponse, newErr
   889  	}
   890  
   891  	return localVarReturnValue, localVarHTTPResponse, nil
   892  }
   893  
   894  // CompanyRevenueEstimatesOpts Optional parameters for the method 'CompanyRevenueEstimates'
   895  type CompanyRevenueEstimatesOpts struct {
   896  	Freq optional.String
   897  }
   898  
   899  /*
   900  CompanyRevenueEstimates Revenue Estimates
   901  Get company&#39;s revenue estimates.
   902   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   903   * @param symbol Symbol of the company: AAPL.
   904   * @param optional nil or *CompanyRevenueEstimatesOpts - Optional Parameters:
   905   * @param "Freq" (optional.String) -  Can take 1 of the following values: <code>annual, quarterly</code>. Default to <code>quarterly</code>
   906  @return RevenueEstimates
   907  */
   908  func (a *DefaultApiService) CompanyRevenueEstimates(ctx _context.Context, symbol string, localVarOptionals *CompanyRevenueEstimatesOpts) (RevenueEstimates, *_nethttp.Response, error) {
   909  	var (
   910  		localVarHTTPMethod   = _nethttp.MethodGet
   911  		localVarPostBody     interface{}
   912  		localVarFormFileName string
   913  		localVarFileName     string
   914  		localVarFileBytes    []byte
   915  		localVarReturnValue  RevenueEstimates
   916  	)
   917  
   918  	// create path and map variables
   919  	localVarPath := a.client.cfg.BasePath + "/stock/revenue-estimate"
   920  	localVarHeaderParams := make(map[string]string)
   921  	localVarQueryParams := _neturl.Values{}
   922  	localVarFormParams := _neturl.Values{}
   923  
   924  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   925  	if localVarOptionals != nil && localVarOptionals.Freq.IsSet() {
   926  		localVarQueryParams.Add("freq", parameterToString(localVarOptionals.Freq.Value(), ""))
   927  	}
   928  	// to determine the Content-Type header
   929  	localVarHTTPContentTypes := []string{}
   930  
   931  	// set Content-Type header
   932  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   933  	if localVarHTTPContentType != "" {
   934  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   935  	}
   936  
   937  	// to determine the Accept header
   938  	localVarHTTPHeaderAccepts := []string{"application/json"}
   939  
   940  	// set Accept header
   941  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   942  	if localVarHTTPHeaderAccept != "" {
   943  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   944  	}
   945  	if ctx != nil {
   946  		// API Key Authentication
   947  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   948  			var key string
   949  			if auth.Prefix != "" {
   950  				key = auth.Prefix + " " + auth.Key
   951  			} else {
   952  				key = auth.Key
   953  			}
   954  			localVarQueryParams.Add("token", key)
   955  		}
   956  	}
   957  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   958  	if err != nil {
   959  		return localVarReturnValue, nil, err
   960  	}
   961  
   962  	localVarHTTPResponse, err := a.client.callAPI(r)
   963  	if err != nil || localVarHTTPResponse == nil {
   964  		return localVarReturnValue, localVarHTTPResponse, err
   965  	}
   966  
   967  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   968  	localVarHTTPResponse.Body.Close()
   969  	if err != nil {
   970  		return localVarReturnValue, localVarHTTPResponse, err
   971  	}
   972  
   973  	if localVarHTTPResponse.StatusCode >= 300 {
   974  		newErr := GenericOpenAPIError{
   975  			body:  localVarBody,
   976  			error: localVarHTTPResponse.Status,
   977  		}
   978  		return localVarReturnValue, localVarHTTPResponse, newErr
   979  	}
   980  
   981  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   982  	if err != nil {
   983  		newErr := GenericOpenAPIError{
   984  			body:  localVarBody,
   985  			error: err.Error(),
   986  		}
   987  		return localVarReturnValue, localVarHTTPResponse, newErr
   988  	}
   989  
   990  	return localVarReturnValue, localVarHTTPResponse, nil
   991  }
   992  
   993  /*
   994  Country Country Metadata
   995  List all countries and metadata.
   996   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   997  @return []CountryMetadata
   998  */
   999  func (a *DefaultApiService) Country(ctx _context.Context) ([]CountryMetadata, *_nethttp.Response, error) {
  1000  	var (
  1001  		localVarHTTPMethod   = _nethttp.MethodGet
  1002  		localVarPostBody     interface{}
  1003  		localVarFormFileName string
  1004  		localVarFileName     string
  1005  		localVarFileBytes    []byte
  1006  		localVarReturnValue  []CountryMetadata
  1007  	)
  1008  
  1009  	// create path and map variables
  1010  	localVarPath := a.client.cfg.BasePath + "/country"
  1011  	localVarHeaderParams := make(map[string]string)
  1012  	localVarQueryParams := _neturl.Values{}
  1013  	localVarFormParams := _neturl.Values{}
  1014  
  1015  	// to determine the Content-Type header
  1016  	localVarHTTPContentTypes := []string{}
  1017  
  1018  	// set Content-Type header
  1019  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1020  	if localVarHTTPContentType != "" {
  1021  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1022  	}
  1023  
  1024  	// to determine the Accept header
  1025  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1026  
  1027  	// set Accept header
  1028  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1029  	if localVarHTTPHeaderAccept != "" {
  1030  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1031  	}
  1032  	if ctx != nil {
  1033  		// API Key Authentication
  1034  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1035  			var key string
  1036  			if auth.Prefix != "" {
  1037  				key = auth.Prefix + " " + auth.Key
  1038  			} else {
  1039  				key = auth.Key
  1040  			}
  1041  			localVarQueryParams.Add("token", key)
  1042  		}
  1043  	}
  1044  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1045  	if err != nil {
  1046  		return localVarReturnValue, nil, err
  1047  	}
  1048  
  1049  	localVarHTTPResponse, err := a.client.callAPI(r)
  1050  	if err != nil || localVarHTTPResponse == nil {
  1051  		return localVarReturnValue, localVarHTTPResponse, err
  1052  	}
  1053  
  1054  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1055  	localVarHTTPResponse.Body.Close()
  1056  	if err != nil {
  1057  		return localVarReturnValue, localVarHTTPResponse, err
  1058  	}
  1059  
  1060  	if localVarHTTPResponse.StatusCode >= 300 {
  1061  		newErr := GenericOpenAPIError{
  1062  			body:  localVarBody,
  1063  			error: localVarHTTPResponse.Status,
  1064  		}
  1065  		return localVarReturnValue, localVarHTTPResponse, newErr
  1066  	}
  1067  
  1068  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1069  	if err != nil {
  1070  		newErr := GenericOpenAPIError{
  1071  			body:  localVarBody,
  1072  			error: err.Error(),
  1073  		}
  1074  		return localVarReturnValue, localVarHTTPResponse, newErr
  1075  	}
  1076  
  1077  	return localVarReturnValue, localVarHTTPResponse, nil
  1078  }
  1079  
  1080  /*
  1081  Covid19 COVID-19
  1082  Get real-time updates on the number of COVID-19 (Corona virus) cases in the US with a state-by-state breakdown. Data is sourced from CDC and reputable sources. You can also access this API &lt;a href&#x3D;\&quot;https://rapidapi.com/Finnhub/api/finnhub-real-time-covid-19\&quot; target&#x3D;\&quot;_blank\&quot; rel&#x3D;\&quot;nofollow\&quot;&gt;here&lt;/a&gt;
  1083   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1084  @return []CovidInfo
  1085  */
  1086  func (a *DefaultApiService) Covid19(ctx _context.Context) ([]CovidInfo, *_nethttp.Response, error) {
  1087  	var (
  1088  		localVarHTTPMethod   = _nethttp.MethodGet
  1089  		localVarPostBody     interface{}
  1090  		localVarFormFileName string
  1091  		localVarFileName     string
  1092  		localVarFileBytes    []byte
  1093  		localVarReturnValue  []CovidInfo
  1094  	)
  1095  
  1096  	// create path and map variables
  1097  	localVarPath := a.client.cfg.BasePath + "/covid19/us"
  1098  	localVarHeaderParams := make(map[string]string)
  1099  	localVarQueryParams := _neturl.Values{}
  1100  	localVarFormParams := _neturl.Values{}
  1101  
  1102  	// to determine the Content-Type header
  1103  	localVarHTTPContentTypes := []string{}
  1104  
  1105  	// set Content-Type header
  1106  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1107  	if localVarHTTPContentType != "" {
  1108  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1109  	}
  1110  
  1111  	// to determine the Accept header
  1112  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1113  
  1114  	// set Accept header
  1115  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1116  	if localVarHTTPHeaderAccept != "" {
  1117  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1118  	}
  1119  	if ctx != nil {
  1120  		// API Key Authentication
  1121  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1122  			var key string
  1123  			if auth.Prefix != "" {
  1124  				key = auth.Prefix + " " + auth.Key
  1125  			} else {
  1126  				key = auth.Key
  1127  			}
  1128  			localVarQueryParams.Add("token", key)
  1129  		}
  1130  	}
  1131  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1132  	if err != nil {
  1133  		return localVarReturnValue, nil, err
  1134  	}
  1135  
  1136  	localVarHTTPResponse, err := a.client.callAPI(r)
  1137  	if err != nil || localVarHTTPResponse == nil {
  1138  		return localVarReturnValue, localVarHTTPResponse, err
  1139  	}
  1140  
  1141  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1142  	localVarHTTPResponse.Body.Close()
  1143  	if err != nil {
  1144  		return localVarReturnValue, localVarHTTPResponse, err
  1145  	}
  1146  
  1147  	if localVarHTTPResponse.StatusCode >= 300 {
  1148  		newErr := GenericOpenAPIError{
  1149  			body:  localVarBody,
  1150  			error: localVarHTTPResponse.Status,
  1151  		}
  1152  		return localVarReturnValue, localVarHTTPResponse, newErr
  1153  	}
  1154  
  1155  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1156  	if err != nil {
  1157  		newErr := GenericOpenAPIError{
  1158  			body:  localVarBody,
  1159  			error: err.Error(),
  1160  		}
  1161  		return localVarReturnValue, localVarHTTPResponse, newErr
  1162  	}
  1163  
  1164  	return localVarReturnValue, localVarHTTPResponse, nil
  1165  }
  1166  
  1167  /*
  1168  CryptoCandles Crypto Candles
  1169  Get candlestick data for crypto symbols.
  1170   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1171   * @param symbol Use symbol returned in <code>/crypto/symbol</code> endpoint for this field.
  1172   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
  1173   * @param from UNIX timestamp. Interval initial value.
  1174   * @param to UNIX timestamp. Interval end value.
  1175  @return CryptoCandles
  1176  */
  1177  func (a *DefaultApiService) CryptoCandles(ctx _context.Context, symbol string, resolution string, from int64, to int64) (CryptoCandles, *_nethttp.Response, error) {
  1178  	var (
  1179  		localVarHTTPMethod   = _nethttp.MethodGet
  1180  		localVarPostBody     interface{}
  1181  		localVarFormFileName string
  1182  		localVarFileName     string
  1183  		localVarFileBytes    []byte
  1184  		localVarReturnValue  CryptoCandles
  1185  	)
  1186  
  1187  	// create path and map variables
  1188  	localVarPath := a.client.cfg.BasePath + "/crypto/candle"
  1189  	localVarHeaderParams := make(map[string]string)
  1190  	localVarQueryParams := _neturl.Values{}
  1191  	localVarFormParams := _neturl.Values{}
  1192  
  1193  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  1194  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
  1195  	localVarQueryParams.Add("from", parameterToString(from, ""))
  1196  	localVarQueryParams.Add("to", parameterToString(to, ""))
  1197  	// to determine the Content-Type header
  1198  	localVarHTTPContentTypes := []string{}
  1199  
  1200  	// set Content-Type header
  1201  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1202  	if localVarHTTPContentType != "" {
  1203  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1204  	}
  1205  
  1206  	// to determine the Accept header
  1207  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1208  
  1209  	// set Accept header
  1210  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1211  	if localVarHTTPHeaderAccept != "" {
  1212  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1213  	}
  1214  	if ctx != nil {
  1215  		// API Key Authentication
  1216  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1217  			var key string
  1218  			if auth.Prefix != "" {
  1219  				key = auth.Prefix + " " + auth.Key
  1220  			} else {
  1221  				key = auth.Key
  1222  			}
  1223  			localVarQueryParams.Add("token", key)
  1224  		}
  1225  	}
  1226  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1227  	if err != nil {
  1228  		return localVarReturnValue, nil, err
  1229  	}
  1230  
  1231  	localVarHTTPResponse, err := a.client.callAPI(r)
  1232  	if err != nil || localVarHTTPResponse == nil {
  1233  		return localVarReturnValue, localVarHTTPResponse, err
  1234  	}
  1235  
  1236  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1237  	localVarHTTPResponse.Body.Close()
  1238  	if err != nil {
  1239  		return localVarReturnValue, localVarHTTPResponse, err
  1240  	}
  1241  
  1242  	if localVarHTTPResponse.StatusCode >= 300 {
  1243  		newErr := GenericOpenAPIError{
  1244  			body:  localVarBody,
  1245  			error: localVarHTTPResponse.Status,
  1246  		}
  1247  		return localVarReturnValue, localVarHTTPResponse, newErr
  1248  	}
  1249  
  1250  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1251  	if err != nil {
  1252  		newErr := GenericOpenAPIError{
  1253  			body:  localVarBody,
  1254  			error: err.Error(),
  1255  		}
  1256  		return localVarReturnValue, localVarHTTPResponse, newErr
  1257  	}
  1258  
  1259  	return localVarReturnValue, localVarHTTPResponse, nil
  1260  }
  1261  
  1262  /*
  1263  CryptoExchanges Crypto Exchanges
  1264  List supported crypto exchanges
  1265   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1266  @return []string
  1267  */
  1268  func (a *DefaultApiService) CryptoExchanges(ctx _context.Context) ([]string, *_nethttp.Response, error) {
  1269  	var (
  1270  		localVarHTTPMethod   = _nethttp.MethodGet
  1271  		localVarPostBody     interface{}
  1272  		localVarFormFileName string
  1273  		localVarFileName     string
  1274  		localVarFileBytes    []byte
  1275  		localVarReturnValue  []string
  1276  	)
  1277  
  1278  	// create path and map variables
  1279  	localVarPath := a.client.cfg.BasePath + "/crypto/exchange"
  1280  	localVarHeaderParams := make(map[string]string)
  1281  	localVarQueryParams := _neturl.Values{}
  1282  	localVarFormParams := _neturl.Values{}
  1283  
  1284  	// to determine the Content-Type header
  1285  	localVarHTTPContentTypes := []string{}
  1286  
  1287  	// set Content-Type header
  1288  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1289  	if localVarHTTPContentType != "" {
  1290  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1291  	}
  1292  
  1293  	// to determine the Accept header
  1294  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1295  
  1296  	// set Accept header
  1297  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1298  	if localVarHTTPHeaderAccept != "" {
  1299  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1300  	}
  1301  	if ctx != nil {
  1302  		// API Key Authentication
  1303  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1304  			var key string
  1305  			if auth.Prefix != "" {
  1306  				key = auth.Prefix + " " + auth.Key
  1307  			} else {
  1308  				key = auth.Key
  1309  			}
  1310  			localVarQueryParams.Add("token", key)
  1311  		}
  1312  	}
  1313  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1314  	if err != nil {
  1315  		return localVarReturnValue, nil, err
  1316  	}
  1317  
  1318  	localVarHTTPResponse, err := a.client.callAPI(r)
  1319  	if err != nil || localVarHTTPResponse == nil {
  1320  		return localVarReturnValue, localVarHTTPResponse, err
  1321  	}
  1322  
  1323  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1324  	localVarHTTPResponse.Body.Close()
  1325  	if err != nil {
  1326  		return localVarReturnValue, localVarHTTPResponse, err
  1327  	}
  1328  
  1329  	if localVarHTTPResponse.StatusCode >= 300 {
  1330  		newErr := GenericOpenAPIError{
  1331  			body:  localVarBody,
  1332  			error: localVarHTTPResponse.Status,
  1333  		}
  1334  		return localVarReturnValue, localVarHTTPResponse, newErr
  1335  	}
  1336  
  1337  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1338  	if err != nil {
  1339  		newErr := GenericOpenAPIError{
  1340  			body:  localVarBody,
  1341  			error: err.Error(),
  1342  		}
  1343  		return localVarReturnValue, localVarHTTPResponse, newErr
  1344  	}
  1345  
  1346  	return localVarReturnValue, localVarHTTPResponse, nil
  1347  }
  1348  
  1349  /*
  1350  CryptoSymbols Crypto Symbol
  1351  List supported crypto symbols by exchange
  1352   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1353   * @param exchange Exchange you want to get the list of symbols from.
  1354  @return []CryptoSymbol
  1355  */
  1356  func (a *DefaultApiService) CryptoSymbols(ctx _context.Context, exchange string) ([]CryptoSymbol, *_nethttp.Response, error) {
  1357  	var (
  1358  		localVarHTTPMethod   = _nethttp.MethodGet
  1359  		localVarPostBody     interface{}
  1360  		localVarFormFileName string
  1361  		localVarFileName     string
  1362  		localVarFileBytes    []byte
  1363  		localVarReturnValue  []CryptoSymbol
  1364  	)
  1365  
  1366  	// create path and map variables
  1367  	localVarPath := a.client.cfg.BasePath + "/crypto/symbol"
  1368  	localVarHeaderParams := make(map[string]string)
  1369  	localVarQueryParams := _neturl.Values{}
  1370  	localVarFormParams := _neturl.Values{}
  1371  
  1372  	localVarQueryParams.Add("exchange", parameterToString(exchange, ""))
  1373  	// to determine the Content-Type header
  1374  	localVarHTTPContentTypes := []string{}
  1375  
  1376  	// set Content-Type header
  1377  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1378  	if localVarHTTPContentType != "" {
  1379  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1380  	}
  1381  
  1382  	// to determine the Accept header
  1383  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1384  
  1385  	// set Accept header
  1386  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1387  	if localVarHTTPHeaderAccept != "" {
  1388  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1389  	}
  1390  	if ctx != nil {
  1391  		// API Key Authentication
  1392  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1393  			var key string
  1394  			if auth.Prefix != "" {
  1395  				key = auth.Prefix + " " + auth.Key
  1396  			} else {
  1397  				key = auth.Key
  1398  			}
  1399  			localVarQueryParams.Add("token", key)
  1400  		}
  1401  	}
  1402  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1403  	if err != nil {
  1404  		return localVarReturnValue, nil, err
  1405  	}
  1406  
  1407  	localVarHTTPResponse, err := a.client.callAPI(r)
  1408  	if err != nil || localVarHTTPResponse == nil {
  1409  		return localVarReturnValue, localVarHTTPResponse, err
  1410  	}
  1411  
  1412  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1413  	localVarHTTPResponse.Body.Close()
  1414  	if err != nil {
  1415  		return localVarReturnValue, localVarHTTPResponse, err
  1416  	}
  1417  
  1418  	if localVarHTTPResponse.StatusCode >= 300 {
  1419  		newErr := GenericOpenAPIError{
  1420  			body:  localVarBody,
  1421  			error: localVarHTTPResponse.Status,
  1422  		}
  1423  		return localVarReturnValue, localVarHTTPResponse, newErr
  1424  	}
  1425  
  1426  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1427  	if err != nil {
  1428  		newErr := GenericOpenAPIError{
  1429  			body:  localVarBody,
  1430  			error: err.Error(),
  1431  		}
  1432  		return localVarReturnValue, localVarHTTPResponse, newErr
  1433  	}
  1434  
  1435  	return localVarReturnValue, localVarHTTPResponse, nil
  1436  }
  1437  
  1438  // EarningsCalendarOpts Optional parameters for the method 'EarningsCalendar'
  1439  type EarningsCalendarOpts struct {
  1440  	From          optional.String
  1441  	To            optional.String
  1442  	Symbol        optional.String
  1443  	International optional.Bool
  1444  }
  1445  
  1446  /*
  1447  EarningsCalendar Earnings Calendar
  1448  Get historical and coming earnings release dating back to 2003. You can setup &lt;a href&#x3D;\&quot;#webhook\&quot;&gt;webhook&lt;/a&gt; to receive real-time earnings update.
  1449   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1450   * @param optional nil or *EarningsCalendarOpts - Optional Parameters:
  1451   * @param "From" (optional.String) -  From date: 2020-03-15.
  1452   * @param "To" (optional.String) -  To date: 2020-03-16.
  1453   * @param "Symbol" (optional.String) -  Filter by symbol: AAPL.
  1454   * @param "International" (optional.Bool) -  Set to <code>true</code> to include international markets. Default value is <code>false</code>
  1455  @return EarningsCalendar
  1456  */
  1457  func (a *DefaultApiService) EarningsCalendar(ctx _context.Context, localVarOptionals *EarningsCalendarOpts) (EarningsCalendar, *_nethttp.Response, error) {
  1458  	var (
  1459  		localVarHTTPMethod   = _nethttp.MethodGet
  1460  		localVarPostBody     interface{}
  1461  		localVarFormFileName string
  1462  		localVarFileName     string
  1463  		localVarFileBytes    []byte
  1464  		localVarReturnValue  EarningsCalendar
  1465  	)
  1466  
  1467  	// create path and map variables
  1468  	localVarPath := a.client.cfg.BasePath + "/calendar/earnings"
  1469  	localVarHeaderParams := make(map[string]string)
  1470  	localVarQueryParams := _neturl.Values{}
  1471  	localVarFormParams := _neturl.Values{}
  1472  
  1473  	if localVarOptionals != nil && localVarOptionals.From.IsSet() {
  1474  		localVarQueryParams.Add("from", parameterToString(localVarOptionals.From.Value(), ""))
  1475  	}
  1476  	if localVarOptionals != nil && localVarOptionals.To.IsSet() {
  1477  		localVarQueryParams.Add("to", parameterToString(localVarOptionals.To.Value(), ""))
  1478  	}
  1479  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
  1480  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
  1481  	}
  1482  	if localVarOptionals != nil && localVarOptionals.International.IsSet() {
  1483  		localVarQueryParams.Add("international", parameterToString(localVarOptionals.International.Value(), ""))
  1484  	}
  1485  	// to determine the Content-Type header
  1486  	localVarHTTPContentTypes := []string{}
  1487  
  1488  	// set Content-Type header
  1489  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1490  	if localVarHTTPContentType != "" {
  1491  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1492  	}
  1493  
  1494  	// to determine the Accept header
  1495  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1496  
  1497  	// set Accept header
  1498  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1499  	if localVarHTTPHeaderAccept != "" {
  1500  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1501  	}
  1502  	if ctx != nil {
  1503  		// API Key Authentication
  1504  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1505  			var key string
  1506  			if auth.Prefix != "" {
  1507  				key = auth.Prefix + " " + auth.Key
  1508  			} else {
  1509  				key = auth.Key
  1510  			}
  1511  			localVarQueryParams.Add("token", key)
  1512  		}
  1513  	}
  1514  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1515  	if err != nil {
  1516  		return localVarReturnValue, nil, err
  1517  	}
  1518  
  1519  	localVarHTTPResponse, err := a.client.callAPI(r)
  1520  	if err != nil || localVarHTTPResponse == nil {
  1521  		return localVarReturnValue, localVarHTTPResponse, err
  1522  	}
  1523  
  1524  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1525  	localVarHTTPResponse.Body.Close()
  1526  	if err != nil {
  1527  		return localVarReturnValue, localVarHTTPResponse, err
  1528  	}
  1529  
  1530  	if localVarHTTPResponse.StatusCode >= 300 {
  1531  		newErr := GenericOpenAPIError{
  1532  			body:  localVarBody,
  1533  			error: localVarHTTPResponse.Status,
  1534  		}
  1535  		return localVarReturnValue, localVarHTTPResponse, newErr
  1536  	}
  1537  
  1538  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1539  	if err != nil {
  1540  		newErr := GenericOpenAPIError{
  1541  			body:  localVarBody,
  1542  			error: err.Error(),
  1543  		}
  1544  		return localVarReturnValue, localVarHTTPResponse, newErr
  1545  	}
  1546  
  1547  	return localVarReturnValue, localVarHTTPResponse, nil
  1548  }
  1549  
  1550  /*
  1551  EconomicCode Economic Code
  1552  List codes of supported economic data.
  1553   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1554  @return []EconomicCode
  1555  */
  1556  func (a *DefaultApiService) EconomicCode(ctx _context.Context) ([]EconomicCode, *_nethttp.Response, error) {
  1557  	var (
  1558  		localVarHTTPMethod   = _nethttp.MethodGet
  1559  		localVarPostBody     interface{}
  1560  		localVarFormFileName string
  1561  		localVarFileName     string
  1562  		localVarFileBytes    []byte
  1563  		localVarReturnValue  []EconomicCode
  1564  	)
  1565  
  1566  	// create path and map variables
  1567  	localVarPath := a.client.cfg.BasePath + "/economic/code"
  1568  	localVarHeaderParams := make(map[string]string)
  1569  	localVarQueryParams := _neturl.Values{}
  1570  	localVarFormParams := _neturl.Values{}
  1571  
  1572  	// to determine the Content-Type header
  1573  	localVarHTTPContentTypes := []string{}
  1574  
  1575  	// set Content-Type header
  1576  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1577  	if localVarHTTPContentType != "" {
  1578  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1579  	}
  1580  
  1581  	// to determine the Accept header
  1582  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1583  
  1584  	// set Accept header
  1585  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1586  	if localVarHTTPHeaderAccept != "" {
  1587  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1588  	}
  1589  	if ctx != nil {
  1590  		// API Key Authentication
  1591  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1592  			var key string
  1593  			if auth.Prefix != "" {
  1594  				key = auth.Prefix + " " + auth.Key
  1595  			} else {
  1596  				key = auth.Key
  1597  			}
  1598  			localVarQueryParams.Add("token", key)
  1599  		}
  1600  	}
  1601  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1602  	if err != nil {
  1603  		return localVarReturnValue, nil, err
  1604  	}
  1605  
  1606  	localVarHTTPResponse, err := a.client.callAPI(r)
  1607  	if err != nil || localVarHTTPResponse == nil {
  1608  		return localVarReturnValue, localVarHTTPResponse, err
  1609  	}
  1610  
  1611  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1612  	localVarHTTPResponse.Body.Close()
  1613  	if err != nil {
  1614  		return localVarReturnValue, localVarHTTPResponse, err
  1615  	}
  1616  
  1617  	if localVarHTTPResponse.StatusCode >= 300 {
  1618  		newErr := GenericOpenAPIError{
  1619  			body:  localVarBody,
  1620  			error: localVarHTTPResponse.Status,
  1621  		}
  1622  		return localVarReturnValue, localVarHTTPResponse, newErr
  1623  	}
  1624  
  1625  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1626  	if err != nil {
  1627  		newErr := GenericOpenAPIError{
  1628  			body:  localVarBody,
  1629  			error: err.Error(),
  1630  		}
  1631  		return localVarReturnValue, localVarHTTPResponse, newErr
  1632  	}
  1633  
  1634  	return localVarReturnValue, localVarHTTPResponse, nil
  1635  }
  1636  
  1637  /*
  1638  EconomicData Economic Data
  1639  Get economic data.
  1640   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1641   * @param code Economic code.
  1642  @return EconomicData
  1643  */
  1644  func (a *DefaultApiService) EconomicData(ctx _context.Context, code string) (EconomicData, *_nethttp.Response, error) {
  1645  	var (
  1646  		localVarHTTPMethod   = _nethttp.MethodGet
  1647  		localVarPostBody     interface{}
  1648  		localVarFormFileName string
  1649  		localVarFileName     string
  1650  		localVarFileBytes    []byte
  1651  		localVarReturnValue  EconomicData
  1652  	)
  1653  
  1654  	// create path and map variables
  1655  	localVarPath := a.client.cfg.BasePath + "/economic"
  1656  	localVarHeaderParams := make(map[string]string)
  1657  	localVarQueryParams := _neturl.Values{}
  1658  	localVarFormParams := _neturl.Values{}
  1659  
  1660  	localVarQueryParams.Add("code", parameterToString(code, ""))
  1661  	// to determine the Content-Type header
  1662  	localVarHTTPContentTypes := []string{}
  1663  
  1664  	// set Content-Type header
  1665  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1666  	if localVarHTTPContentType != "" {
  1667  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1668  	}
  1669  
  1670  	// to determine the Accept header
  1671  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1672  
  1673  	// set Accept header
  1674  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1675  	if localVarHTTPHeaderAccept != "" {
  1676  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1677  	}
  1678  	if ctx != nil {
  1679  		// API Key Authentication
  1680  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1681  			var key string
  1682  			if auth.Prefix != "" {
  1683  				key = auth.Prefix + " " + auth.Key
  1684  			} else {
  1685  				key = auth.Key
  1686  			}
  1687  			localVarQueryParams.Add("token", key)
  1688  		}
  1689  	}
  1690  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1691  	if err != nil {
  1692  		return localVarReturnValue, nil, err
  1693  	}
  1694  
  1695  	localVarHTTPResponse, err := a.client.callAPI(r)
  1696  	if err != nil || localVarHTTPResponse == nil {
  1697  		return localVarReturnValue, localVarHTTPResponse, err
  1698  	}
  1699  
  1700  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1701  	localVarHTTPResponse.Body.Close()
  1702  	if err != nil {
  1703  		return localVarReturnValue, localVarHTTPResponse, err
  1704  	}
  1705  
  1706  	if localVarHTTPResponse.StatusCode >= 300 {
  1707  		newErr := GenericOpenAPIError{
  1708  			body:  localVarBody,
  1709  			error: localVarHTTPResponse.Status,
  1710  		}
  1711  		return localVarReturnValue, localVarHTTPResponse, newErr
  1712  	}
  1713  
  1714  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1715  	if err != nil {
  1716  		newErr := GenericOpenAPIError{
  1717  			body:  localVarBody,
  1718  			error: err.Error(),
  1719  		}
  1720  		return localVarReturnValue, localVarHTTPResponse, newErr
  1721  	}
  1722  
  1723  	return localVarReturnValue, localVarHTTPResponse, nil
  1724  }
  1725  
  1726  /*
  1727  EtfsCountryExposure ETFs Country Exposure
  1728  Get ETF country exposure data.
  1729   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1730   * @param symbol ETF symbol.
  1731  @return EtFsCountryExposure
  1732  */
  1733  func (a *DefaultApiService) EtfsCountryExposure(ctx _context.Context, symbol string) (EtFsCountryExposure, *_nethttp.Response, error) {
  1734  	var (
  1735  		localVarHTTPMethod   = _nethttp.MethodGet
  1736  		localVarPostBody     interface{}
  1737  		localVarFormFileName string
  1738  		localVarFileName     string
  1739  		localVarFileBytes    []byte
  1740  		localVarReturnValue  EtFsCountryExposure
  1741  	)
  1742  
  1743  	// create path and map variables
  1744  	localVarPath := a.client.cfg.BasePath + "/etf/country"
  1745  	localVarHeaderParams := make(map[string]string)
  1746  	localVarQueryParams := _neturl.Values{}
  1747  	localVarFormParams := _neturl.Values{}
  1748  
  1749  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  1750  	// to determine the Content-Type header
  1751  	localVarHTTPContentTypes := []string{}
  1752  
  1753  	// set Content-Type header
  1754  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1755  	if localVarHTTPContentType != "" {
  1756  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1757  	}
  1758  
  1759  	// to determine the Accept header
  1760  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1761  
  1762  	// set Accept header
  1763  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1764  	if localVarHTTPHeaderAccept != "" {
  1765  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1766  	}
  1767  	if ctx != nil {
  1768  		// API Key Authentication
  1769  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1770  			var key string
  1771  			if auth.Prefix != "" {
  1772  				key = auth.Prefix + " " + auth.Key
  1773  			} else {
  1774  				key = auth.Key
  1775  			}
  1776  			localVarQueryParams.Add("token", key)
  1777  		}
  1778  	}
  1779  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1780  	if err != nil {
  1781  		return localVarReturnValue, nil, err
  1782  	}
  1783  
  1784  	localVarHTTPResponse, err := a.client.callAPI(r)
  1785  	if err != nil || localVarHTTPResponse == nil {
  1786  		return localVarReturnValue, localVarHTTPResponse, err
  1787  	}
  1788  
  1789  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1790  	localVarHTTPResponse.Body.Close()
  1791  	if err != nil {
  1792  		return localVarReturnValue, localVarHTTPResponse, err
  1793  	}
  1794  
  1795  	if localVarHTTPResponse.StatusCode >= 300 {
  1796  		newErr := GenericOpenAPIError{
  1797  			body:  localVarBody,
  1798  			error: localVarHTTPResponse.Status,
  1799  		}
  1800  		return localVarReturnValue, localVarHTTPResponse, newErr
  1801  	}
  1802  
  1803  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1804  	if err != nil {
  1805  		newErr := GenericOpenAPIError{
  1806  			body:  localVarBody,
  1807  			error: err.Error(),
  1808  		}
  1809  		return localVarReturnValue, localVarHTTPResponse, newErr
  1810  	}
  1811  
  1812  	return localVarReturnValue, localVarHTTPResponse, nil
  1813  }
  1814  
  1815  /*
  1816  EtfsHoldings ETFs Holdings
  1817  Get current ETF holdings.
  1818   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1819   * @param symbol ETF symbol.
  1820  @return EtFsHoldings
  1821  */
  1822  func (a *DefaultApiService) EtfsHoldings(ctx _context.Context, symbol string) (EtFsHoldings, *_nethttp.Response, error) {
  1823  	var (
  1824  		localVarHTTPMethod   = _nethttp.MethodGet
  1825  		localVarPostBody     interface{}
  1826  		localVarFormFileName string
  1827  		localVarFileName     string
  1828  		localVarFileBytes    []byte
  1829  		localVarReturnValue  EtFsHoldings
  1830  	)
  1831  
  1832  	// create path and map variables
  1833  	localVarPath := a.client.cfg.BasePath + "/etf/holdings"
  1834  	localVarHeaderParams := make(map[string]string)
  1835  	localVarQueryParams := _neturl.Values{}
  1836  	localVarFormParams := _neturl.Values{}
  1837  
  1838  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  1839  	// to determine the Content-Type header
  1840  	localVarHTTPContentTypes := []string{}
  1841  
  1842  	// set Content-Type header
  1843  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1844  	if localVarHTTPContentType != "" {
  1845  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1846  	}
  1847  
  1848  	// to determine the Accept header
  1849  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1850  
  1851  	// set Accept header
  1852  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1853  	if localVarHTTPHeaderAccept != "" {
  1854  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1855  	}
  1856  	if ctx != nil {
  1857  		// API Key Authentication
  1858  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1859  			var key string
  1860  			if auth.Prefix != "" {
  1861  				key = auth.Prefix + " " + auth.Key
  1862  			} else {
  1863  				key = auth.Key
  1864  			}
  1865  			localVarQueryParams.Add("token", key)
  1866  		}
  1867  	}
  1868  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1869  	if err != nil {
  1870  		return localVarReturnValue, nil, err
  1871  	}
  1872  
  1873  	localVarHTTPResponse, err := a.client.callAPI(r)
  1874  	if err != nil || localVarHTTPResponse == nil {
  1875  		return localVarReturnValue, localVarHTTPResponse, err
  1876  	}
  1877  
  1878  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1879  	localVarHTTPResponse.Body.Close()
  1880  	if err != nil {
  1881  		return localVarReturnValue, localVarHTTPResponse, err
  1882  	}
  1883  
  1884  	if localVarHTTPResponse.StatusCode >= 300 {
  1885  		newErr := GenericOpenAPIError{
  1886  			body:  localVarBody,
  1887  			error: localVarHTTPResponse.Status,
  1888  		}
  1889  		return localVarReturnValue, localVarHTTPResponse, newErr
  1890  	}
  1891  
  1892  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1893  	if err != nil {
  1894  		newErr := GenericOpenAPIError{
  1895  			body:  localVarBody,
  1896  			error: err.Error(),
  1897  		}
  1898  		return localVarReturnValue, localVarHTTPResponse, newErr
  1899  	}
  1900  
  1901  	return localVarReturnValue, localVarHTTPResponse, nil
  1902  }
  1903  
  1904  /*
  1905  EtfsIndustryExposure ETFs Industry Exposure
  1906  Get ETF industry exposure data.
  1907   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1908   * @param symbol ETF symbol.
  1909  @return EtFsIndustryExposure
  1910  */
  1911  func (a *DefaultApiService) EtfsIndustryExposure(ctx _context.Context, symbol string) (EtFsIndustryExposure, *_nethttp.Response, error) {
  1912  	var (
  1913  		localVarHTTPMethod   = _nethttp.MethodGet
  1914  		localVarPostBody     interface{}
  1915  		localVarFormFileName string
  1916  		localVarFileName     string
  1917  		localVarFileBytes    []byte
  1918  		localVarReturnValue  EtFsIndustryExposure
  1919  	)
  1920  
  1921  	// create path and map variables
  1922  	localVarPath := a.client.cfg.BasePath + "/etf/sector"
  1923  	localVarHeaderParams := make(map[string]string)
  1924  	localVarQueryParams := _neturl.Values{}
  1925  	localVarFormParams := _neturl.Values{}
  1926  
  1927  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  1928  	// to determine the Content-Type header
  1929  	localVarHTTPContentTypes := []string{}
  1930  
  1931  	// set Content-Type header
  1932  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  1933  	if localVarHTTPContentType != "" {
  1934  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  1935  	}
  1936  
  1937  	// to determine the Accept header
  1938  	localVarHTTPHeaderAccepts := []string{"application/json"}
  1939  
  1940  	// set Accept header
  1941  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  1942  	if localVarHTTPHeaderAccept != "" {
  1943  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  1944  	}
  1945  	if ctx != nil {
  1946  		// API Key Authentication
  1947  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  1948  			var key string
  1949  			if auth.Prefix != "" {
  1950  				key = auth.Prefix + " " + auth.Key
  1951  			} else {
  1952  				key = auth.Key
  1953  			}
  1954  			localVarQueryParams.Add("token", key)
  1955  		}
  1956  	}
  1957  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1958  	if err != nil {
  1959  		return localVarReturnValue, nil, err
  1960  	}
  1961  
  1962  	localVarHTTPResponse, err := a.client.callAPI(r)
  1963  	if err != nil || localVarHTTPResponse == nil {
  1964  		return localVarReturnValue, localVarHTTPResponse, err
  1965  	}
  1966  
  1967  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  1968  	localVarHTTPResponse.Body.Close()
  1969  	if err != nil {
  1970  		return localVarReturnValue, localVarHTTPResponse, err
  1971  	}
  1972  
  1973  	if localVarHTTPResponse.StatusCode >= 300 {
  1974  		newErr := GenericOpenAPIError{
  1975  			body:  localVarBody,
  1976  			error: localVarHTTPResponse.Status,
  1977  		}
  1978  		return localVarReturnValue, localVarHTTPResponse, newErr
  1979  	}
  1980  
  1981  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  1982  	if err != nil {
  1983  		newErr := GenericOpenAPIError{
  1984  			body:  localVarBody,
  1985  			error: err.Error(),
  1986  		}
  1987  		return localVarReturnValue, localVarHTTPResponse, newErr
  1988  	}
  1989  
  1990  	return localVarReturnValue, localVarHTTPResponse, nil
  1991  }
  1992  
  1993  /*
  1994  EtfsProfile ETFs Profile
  1995  Get ETF profile information. Currently support all US ETFs.
  1996   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  1997   * @param symbol ETF symbol.
  1998  @return EtFsProfile
  1999  */
  2000  func (a *DefaultApiService) EtfsProfile(ctx _context.Context, symbol string) (EtFsProfile, *_nethttp.Response, error) {
  2001  	var (
  2002  		localVarHTTPMethod   = _nethttp.MethodGet
  2003  		localVarPostBody     interface{}
  2004  		localVarFormFileName string
  2005  		localVarFileName     string
  2006  		localVarFileBytes    []byte
  2007  		localVarReturnValue  EtFsProfile
  2008  	)
  2009  
  2010  	// create path and map variables
  2011  	localVarPath := a.client.cfg.BasePath + "/etf/profile"
  2012  	localVarHeaderParams := make(map[string]string)
  2013  	localVarQueryParams := _neturl.Values{}
  2014  	localVarFormParams := _neturl.Values{}
  2015  
  2016  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  2017  	// to determine the Content-Type header
  2018  	localVarHTTPContentTypes := []string{}
  2019  
  2020  	// set Content-Type header
  2021  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2022  	if localVarHTTPContentType != "" {
  2023  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2024  	}
  2025  
  2026  	// to determine the Accept header
  2027  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2028  
  2029  	// set Accept header
  2030  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2031  	if localVarHTTPHeaderAccept != "" {
  2032  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2033  	}
  2034  	if ctx != nil {
  2035  		// API Key Authentication
  2036  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2037  			var key string
  2038  			if auth.Prefix != "" {
  2039  				key = auth.Prefix + " " + auth.Key
  2040  			} else {
  2041  				key = auth.Key
  2042  			}
  2043  			localVarQueryParams.Add("token", key)
  2044  		}
  2045  	}
  2046  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2047  	if err != nil {
  2048  		return localVarReturnValue, nil, err
  2049  	}
  2050  
  2051  	localVarHTTPResponse, err := a.client.callAPI(r)
  2052  	if err != nil || localVarHTTPResponse == nil {
  2053  		return localVarReturnValue, localVarHTTPResponse, err
  2054  	}
  2055  
  2056  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2057  	localVarHTTPResponse.Body.Close()
  2058  	if err != nil {
  2059  		return localVarReturnValue, localVarHTTPResponse, err
  2060  	}
  2061  
  2062  	if localVarHTTPResponse.StatusCode >= 300 {
  2063  		newErr := GenericOpenAPIError{
  2064  			body:  localVarBody,
  2065  			error: localVarHTTPResponse.Status,
  2066  		}
  2067  		return localVarReturnValue, localVarHTTPResponse, newErr
  2068  	}
  2069  
  2070  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2071  	if err != nil {
  2072  		newErr := GenericOpenAPIError{
  2073  			body:  localVarBody,
  2074  			error: err.Error(),
  2075  		}
  2076  		return localVarReturnValue, localVarHTTPResponse, newErr
  2077  	}
  2078  
  2079  	return localVarReturnValue, localVarHTTPResponse, nil
  2080  }
  2081  
  2082  // FilingsOpts Optional parameters for the method 'Filings'
  2083  type FilingsOpts struct {
  2084  	Symbol       optional.String
  2085  	Cik          optional.String
  2086  	AccessNumber optional.String
  2087  	Form         optional.String
  2088  	From         optional.String
  2089  	To           optional.String
  2090  }
  2091  
  2092  /*
  2093  Filings Filings
  2094  List company&#39;s filing. Limit to 250 documents at a time. This data is available for bulk download on &lt;a href&#x3D;\&quot;https://www.kaggle.com/finnhub/sec-filings\&quot; target&#x3D;\&quot;_blank\&quot;&gt;Kaggle SEC Filings database&lt;/a&gt;.
  2095   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2096   * @param optional nil or *FilingsOpts - Optional Parameters:
  2097   * @param "Symbol" (optional.String) -  Symbol. Leave <code>symbol</code>,<code>cik</code> and <code>accessNumber</code> empty to list latest filings.
  2098   * @param "Cik" (optional.String) -  CIK.
  2099   * @param "AccessNumber" (optional.String) -  Access number of a specific report you want to retrieve data from.
  2100   * @param "Form" (optional.String) -  Filter by form. You can use this value <code>NT 10-K</code> to find non-timely filings for a company.
  2101   * @param "From" (optional.String) -  From date: 2020-03-15.
  2102   * @param "To" (optional.String) -  To date: 2020-03-16.
  2103  @return []Filing
  2104  */
  2105  func (a *DefaultApiService) Filings(ctx _context.Context, localVarOptionals *FilingsOpts) ([]Filing, *_nethttp.Response, error) {
  2106  	var (
  2107  		localVarHTTPMethod   = _nethttp.MethodGet
  2108  		localVarPostBody     interface{}
  2109  		localVarFormFileName string
  2110  		localVarFileName     string
  2111  		localVarFileBytes    []byte
  2112  		localVarReturnValue  []Filing
  2113  	)
  2114  
  2115  	// create path and map variables
  2116  	localVarPath := a.client.cfg.BasePath + "/stock/filings"
  2117  	localVarHeaderParams := make(map[string]string)
  2118  	localVarQueryParams := _neturl.Values{}
  2119  	localVarFormParams := _neturl.Values{}
  2120  
  2121  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
  2122  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
  2123  	}
  2124  	if localVarOptionals != nil && localVarOptionals.Cik.IsSet() {
  2125  		localVarQueryParams.Add("cik", parameterToString(localVarOptionals.Cik.Value(), ""))
  2126  	}
  2127  	if localVarOptionals != nil && localVarOptionals.AccessNumber.IsSet() {
  2128  		localVarQueryParams.Add("accessNumber", parameterToString(localVarOptionals.AccessNumber.Value(), ""))
  2129  	}
  2130  	if localVarOptionals != nil && localVarOptionals.Form.IsSet() {
  2131  		localVarQueryParams.Add("form", parameterToString(localVarOptionals.Form.Value(), ""))
  2132  	}
  2133  	if localVarOptionals != nil && localVarOptionals.From.IsSet() {
  2134  		localVarQueryParams.Add("from", parameterToString(localVarOptionals.From.Value(), ""))
  2135  	}
  2136  	if localVarOptionals != nil && localVarOptionals.To.IsSet() {
  2137  		localVarQueryParams.Add("to", parameterToString(localVarOptionals.To.Value(), ""))
  2138  	}
  2139  	// to determine the Content-Type header
  2140  	localVarHTTPContentTypes := []string{}
  2141  
  2142  	// set Content-Type header
  2143  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2144  	if localVarHTTPContentType != "" {
  2145  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2146  	}
  2147  
  2148  	// to determine the Accept header
  2149  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2150  
  2151  	// set Accept header
  2152  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2153  	if localVarHTTPHeaderAccept != "" {
  2154  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2155  	}
  2156  	if ctx != nil {
  2157  		// API Key Authentication
  2158  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2159  			var key string
  2160  			if auth.Prefix != "" {
  2161  				key = auth.Prefix + " " + auth.Key
  2162  			} else {
  2163  				key = auth.Key
  2164  			}
  2165  			localVarQueryParams.Add("token", key)
  2166  		}
  2167  	}
  2168  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2169  	if err != nil {
  2170  		return localVarReturnValue, nil, err
  2171  	}
  2172  
  2173  	localVarHTTPResponse, err := a.client.callAPI(r)
  2174  	if err != nil || localVarHTTPResponse == nil {
  2175  		return localVarReturnValue, localVarHTTPResponse, err
  2176  	}
  2177  
  2178  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2179  	localVarHTTPResponse.Body.Close()
  2180  	if err != nil {
  2181  		return localVarReturnValue, localVarHTTPResponse, err
  2182  	}
  2183  
  2184  	if localVarHTTPResponse.StatusCode >= 300 {
  2185  		newErr := GenericOpenAPIError{
  2186  			body:  localVarBody,
  2187  			error: localVarHTTPResponse.Status,
  2188  		}
  2189  		return localVarReturnValue, localVarHTTPResponse, newErr
  2190  	}
  2191  
  2192  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2193  	if err != nil {
  2194  		newErr := GenericOpenAPIError{
  2195  			body:  localVarBody,
  2196  			error: err.Error(),
  2197  		}
  2198  		return localVarReturnValue, localVarHTTPResponse, newErr
  2199  	}
  2200  
  2201  	return localVarReturnValue, localVarHTTPResponse, nil
  2202  }
  2203  
  2204  /*
  2205  Financials Financial Statements
  2206  Get standardized balance sheet, income statement and cash flow for global companies going back 30+ years.
  2207   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2208   * @param symbol Symbol of the company: AAPL.
  2209   * @param statement Statement can take 1 of these values <code>bs, ic, cf</code> for Balance Sheet, Income Statement, Cash Flow respectively.
  2210   * @param freq Frequency can take 1 of these values <code>annual, quarterly, ttm, ytd</code>.  TTM (Trailing Twelve Months) option is available for Income Statement and Cash Flow. YTD (Year To Date) option is only available for Cash Flow.
  2211  @return FinancialStatements
  2212  */
  2213  func (a *DefaultApiService) Financials(ctx _context.Context, symbol string, statement string, freq string) (FinancialStatements, *_nethttp.Response, error) {
  2214  	var (
  2215  		localVarHTTPMethod   = _nethttp.MethodGet
  2216  		localVarPostBody     interface{}
  2217  		localVarFormFileName string
  2218  		localVarFileName     string
  2219  		localVarFileBytes    []byte
  2220  		localVarReturnValue  FinancialStatements
  2221  	)
  2222  
  2223  	// create path and map variables
  2224  	localVarPath := a.client.cfg.BasePath + "/stock/financials"
  2225  	localVarHeaderParams := make(map[string]string)
  2226  	localVarQueryParams := _neturl.Values{}
  2227  	localVarFormParams := _neturl.Values{}
  2228  
  2229  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  2230  	localVarQueryParams.Add("statement", parameterToString(statement, ""))
  2231  	localVarQueryParams.Add("freq", parameterToString(freq, ""))
  2232  	// to determine the Content-Type header
  2233  	localVarHTTPContentTypes := []string{}
  2234  
  2235  	// set Content-Type header
  2236  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2237  	if localVarHTTPContentType != "" {
  2238  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2239  	}
  2240  
  2241  	// to determine the Accept header
  2242  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2243  
  2244  	// set Accept header
  2245  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2246  	if localVarHTTPHeaderAccept != "" {
  2247  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2248  	}
  2249  	if ctx != nil {
  2250  		// API Key Authentication
  2251  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2252  			var key string
  2253  			if auth.Prefix != "" {
  2254  				key = auth.Prefix + " " + auth.Key
  2255  			} else {
  2256  				key = auth.Key
  2257  			}
  2258  			localVarQueryParams.Add("token", key)
  2259  		}
  2260  	}
  2261  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2262  	if err != nil {
  2263  		return localVarReturnValue, nil, err
  2264  	}
  2265  
  2266  	localVarHTTPResponse, err := a.client.callAPI(r)
  2267  	if err != nil || localVarHTTPResponse == nil {
  2268  		return localVarReturnValue, localVarHTTPResponse, err
  2269  	}
  2270  
  2271  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2272  	localVarHTTPResponse.Body.Close()
  2273  	if err != nil {
  2274  		return localVarReturnValue, localVarHTTPResponse, err
  2275  	}
  2276  
  2277  	if localVarHTTPResponse.StatusCode >= 300 {
  2278  		newErr := GenericOpenAPIError{
  2279  			body:  localVarBody,
  2280  			error: localVarHTTPResponse.Status,
  2281  		}
  2282  		return localVarReturnValue, localVarHTTPResponse, newErr
  2283  	}
  2284  
  2285  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2286  	if err != nil {
  2287  		newErr := GenericOpenAPIError{
  2288  			body:  localVarBody,
  2289  			error: err.Error(),
  2290  		}
  2291  		return localVarReturnValue, localVarHTTPResponse, newErr
  2292  	}
  2293  
  2294  	return localVarReturnValue, localVarHTTPResponse, nil
  2295  }
  2296  
  2297  // FinancialsReportedOpts Optional parameters for the method 'FinancialsReported'
  2298  type FinancialsReportedOpts struct {
  2299  	Symbol       optional.String
  2300  	Cik          optional.String
  2301  	AccessNumber optional.String
  2302  	Freq         optional.String
  2303  }
  2304  
  2305  /*
  2306  FinancialsReported Financials As Reported
  2307  Get financials as reported. This data is available for bulk download on &lt;a href&#x3D;\&quot;https://www.kaggle.com/finnhub/reported-financials\&quot; target&#x3D;\&quot;_blank\&quot;&gt;Kaggle SEC Financials database&lt;/a&gt;.
  2308   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2309   * @param optional nil or *FinancialsReportedOpts - Optional Parameters:
  2310   * @param "Symbol" (optional.String) -  Symbol.
  2311   * @param "Cik" (optional.String) -  CIK.
  2312   * @param "AccessNumber" (optional.String) -  Access number of a specific report you want to retrieve financials from.
  2313   * @param "Freq" (optional.String) -  Frequency. Can be either <code>annual</code> or <code>quarterly</code>. Default to <code>annual</code>.
  2314  @return FinancialsAsReported
  2315  */
  2316  func (a *DefaultApiService) FinancialsReported(ctx _context.Context, localVarOptionals *FinancialsReportedOpts) (FinancialsAsReported, *_nethttp.Response, error) {
  2317  	var (
  2318  		localVarHTTPMethod   = _nethttp.MethodGet
  2319  		localVarPostBody     interface{}
  2320  		localVarFormFileName string
  2321  		localVarFileName     string
  2322  		localVarFileBytes    []byte
  2323  		localVarReturnValue  FinancialsAsReported
  2324  	)
  2325  
  2326  	// create path and map variables
  2327  	localVarPath := a.client.cfg.BasePath + "/stock/financials-reported"
  2328  	localVarHeaderParams := make(map[string]string)
  2329  	localVarQueryParams := _neturl.Values{}
  2330  	localVarFormParams := _neturl.Values{}
  2331  
  2332  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
  2333  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
  2334  	}
  2335  	if localVarOptionals != nil && localVarOptionals.Cik.IsSet() {
  2336  		localVarQueryParams.Add("cik", parameterToString(localVarOptionals.Cik.Value(), ""))
  2337  	}
  2338  	if localVarOptionals != nil && localVarOptionals.AccessNumber.IsSet() {
  2339  		localVarQueryParams.Add("accessNumber", parameterToString(localVarOptionals.AccessNumber.Value(), ""))
  2340  	}
  2341  	if localVarOptionals != nil && localVarOptionals.Freq.IsSet() {
  2342  		localVarQueryParams.Add("freq", parameterToString(localVarOptionals.Freq.Value(), ""))
  2343  	}
  2344  	// to determine the Content-Type header
  2345  	localVarHTTPContentTypes := []string{}
  2346  
  2347  	// set Content-Type header
  2348  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2349  	if localVarHTTPContentType != "" {
  2350  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2351  	}
  2352  
  2353  	// to determine the Accept header
  2354  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2355  
  2356  	// set Accept header
  2357  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2358  	if localVarHTTPHeaderAccept != "" {
  2359  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2360  	}
  2361  	if ctx != nil {
  2362  		// API Key Authentication
  2363  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2364  			var key string
  2365  			if auth.Prefix != "" {
  2366  				key = auth.Prefix + " " + auth.Key
  2367  			} else {
  2368  				key = auth.Key
  2369  			}
  2370  			localVarQueryParams.Add("token", key)
  2371  		}
  2372  	}
  2373  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2374  	if err != nil {
  2375  		return localVarReturnValue, nil, err
  2376  	}
  2377  
  2378  	localVarHTTPResponse, err := a.client.callAPI(r)
  2379  	if err != nil || localVarHTTPResponse == nil {
  2380  		return localVarReturnValue, localVarHTTPResponse, err
  2381  	}
  2382  
  2383  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2384  	localVarHTTPResponse.Body.Close()
  2385  	if err != nil {
  2386  		return localVarReturnValue, localVarHTTPResponse, err
  2387  	}
  2388  
  2389  	if localVarHTTPResponse.StatusCode >= 300 {
  2390  		newErr := GenericOpenAPIError{
  2391  			body:  localVarBody,
  2392  			error: localVarHTTPResponse.Status,
  2393  		}
  2394  		return localVarReturnValue, localVarHTTPResponse, newErr
  2395  	}
  2396  
  2397  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2398  	if err != nil {
  2399  		newErr := GenericOpenAPIError{
  2400  			body:  localVarBody,
  2401  			error: err.Error(),
  2402  		}
  2403  		return localVarReturnValue, localVarHTTPResponse, newErr
  2404  	}
  2405  
  2406  	return localVarReturnValue, localVarHTTPResponse, nil
  2407  }
  2408  
  2409  /*
  2410  ForexCandles Forex Candles
  2411  Get candlestick data for forex symbols.
  2412   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2413   * @param symbol Use symbol returned in <code>/forex/symbol</code> endpoint for this field.
  2414   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
  2415   * @param from UNIX timestamp. Interval initial value.
  2416   * @param to UNIX timestamp. Interval end value.
  2417  @return ForexCandles
  2418  */
  2419  func (a *DefaultApiService) ForexCandles(ctx _context.Context, symbol string, resolution string, from int64, to int64) (ForexCandles, *_nethttp.Response, error) {
  2420  	var (
  2421  		localVarHTTPMethod   = _nethttp.MethodGet
  2422  		localVarPostBody     interface{}
  2423  		localVarFormFileName string
  2424  		localVarFileName     string
  2425  		localVarFileBytes    []byte
  2426  		localVarReturnValue  ForexCandles
  2427  	)
  2428  
  2429  	// create path and map variables
  2430  	localVarPath := a.client.cfg.BasePath + "/forex/candle"
  2431  	localVarHeaderParams := make(map[string]string)
  2432  	localVarQueryParams := _neturl.Values{}
  2433  	localVarFormParams := _neturl.Values{}
  2434  
  2435  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  2436  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
  2437  	localVarQueryParams.Add("from", parameterToString(from, ""))
  2438  	localVarQueryParams.Add("to", parameterToString(to, ""))
  2439  	// to determine the Content-Type header
  2440  	localVarHTTPContentTypes := []string{}
  2441  
  2442  	// set Content-Type header
  2443  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2444  	if localVarHTTPContentType != "" {
  2445  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2446  	}
  2447  
  2448  	// to determine the Accept header
  2449  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2450  
  2451  	// set Accept header
  2452  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2453  	if localVarHTTPHeaderAccept != "" {
  2454  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2455  	}
  2456  	if ctx != nil {
  2457  		// API Key Authentication
  2458  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2459  			var key string
  2460  			if auth.Prefix != "" {
  2461  				key = auth.Prefix + " " + auth.Key
  2462  			} else {
  2463  				key = auth.Key
  2464  			}
  2465  			localVarQueryParams.Add("token", key)
  2466  		}
  2467  	}
  2468  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2469  	if err != nil {
  2470  		return localVarReturnValue, nil, err
  2471  	}
  2472  
  2473  	localVarHTTPResponse, err := a.client.callAPI(r)
  2474  	if err != nil || localVarHTTPResponse == nil {
  2475  		return localVarReturnValue, localVarHTTPResponse, err
  2476  	}
  2477  
  2478  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2479  	localVarHTTPResponse.Body.Close()
  2480  	if err != nil {
  2481  		return localVarReturnValue, localVarHTTPResponse, err
  2482  	}
  2483  
  2484  	if localVarHTTPResponse.StatusCode >= 300 {
  2485  		newErr := GenericOpenAPIError{
  2486  			body:  localVarBody,
  2487  			error: localVarHTTPResponse.Status,
  2488  		}
  2489  		return localVarReturnValue, localVarHTTPResponse, newErr
  2490  	}
  2491  
  2492  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2493  	if err != nil {
  2494  		newErr := GenericOpenAPIError{
  2495  			body:  localVarBody,
  2496  			error: err.Error(),
  2497  		}
  2498  		return localVarReturnValue, localVarHTTPResponse, newErr
  2499  	}
  2500  
  2501  	return localVarReturnValue, localVarHTTPResponse, nil
  2502  }
  2503  
  2504  /*
  2505  ForexExchanges Forex Exchanges
  2506  List supported forex exchanges
  2507   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2508  @return []string
  2509  */
  2510  func (a *DefaultApiService) ForexExchanges(ctx _context.Context) ([]string, *_nethttp.Response, error) {
  2511  	var (
  2512  		localVarHTTPMethod   = _nethttp.MethodGet
  2513  		localVarPostBody     interface{}
  2514  		localVarFormFileName string
  2515  		localVarFileName     string
  2516  		localVarFileBytes    []byte
  2517  		localVarReturnValue  []string
  2518  	)
  2519  
  2520  	// create path and map variables
  2521  	localVarPath := a.client.cfg.BasePath + "/forex/exchange"
  2522  	localVarHeaderParams := make(map[string]string)
  2523  	localVarQueryParams := _neturl.Values{}
  2524  	localVarFormParams := _neturl.Values{}
  2525  
  2526  	// to determine the Content-Type header
  2527  	localVarHTTPContentTypes := []string{}
  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  	if ctx != nil {
  2544  		// API Key Authentication
  2545  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2546  			var key string
  2547  			if auth.Prefix != "" {
  2548  				key = auth.Prefix + " " + auth.Key
  2549  			} else {
  2550  				key = auth.Key
  2551  			}
  2552  			localVarQueryParams.Add("token", key)
  2553  		}
  2554  	}
  2555  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2556  	if err != nil {
  2557  		return localVarReturnValue, nil, err
  2558  	}
  2559  
  2560  	localVarHTTPResponse, err := a.client.callAPI(r)
  2561  	if err != nil || localVarHTTPResponse == nil {
  2562  		return localVarReturnValue, localVarHTTPResponse, err
  2563  	}
  2564  
  2565  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2566  	localVarHTTPResponse.Body.Close()
  2567  	if err != nil {
  2568  		return localVarReturnValue, localVarHTTPResponse, err
  2569  	}
  2570  
  2571  	if localVarHTTPResponse.StatusCode >= 300 {
  2572  		newErr := GenericOpenAPIError{
  2573  			body:  localVarBody,
  2574  			error: localVarHTTPResponse.Status,
  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  // ForexRatesOpts Optional parameters for the method 'ForexRates'
  2592  type ForexRatesOpts struct {
  2593  	Base optional.String
  2594  }
  2595  
  2596  /*
  2597  ForexRates Forex rates
  2598  Get rates for all forex pairs. Ideal for currency conversion
  2599   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2600   * @param optional nil or *ForexRatesOpts - Optional Parameters:
  2601   * @param "Base" (optional.String) -  Base currency. Default to EUR.
  2602  @return Forexrates
  2603  */
  2604  func (a *DefaultApiService) ForexRates(ctx _context.Context, localVarOptionals *ForexRatesOpts) (Forexrates, *_nethttp.Response, error) {
  2605  	var (
  2606  		localVarHTTPMethod   = _nethttp.MethodGet
  2607  		localVarPostBody     interface{}
  2608  		localVarFormFileName string
  2609  		localVarFileName     string
  2610  		localVarFileBytes    []byte
  2611  		localVarReturnValue  Forexrates
  2612  	)
  2613  
  2614  	// create path and map variables
  2615  	localVarPath := a.client.cfg.BasePath + "/forex/rates"
  2616  	localVarHeaderParams := make(map[string]string)
  2617  	localVarQueryParams := _neturl.Values{}
  2618  	localVarFormParams := _neturl.Values{}
  2619  
  2620  	if localVarOptionals != nil && localVarOptionals.Base.IsSet() {
  2621  		localVarQueryParams.Add("base", parameterToString(localVarOptionals.Base.Value(), ""))
  2622  	}
  2623  	// to determine the Content-Type header
  2624  	localVarHTTPContentTypes := []string{}
  2625  
  2626  	// set Content-Type header
  2627  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2628  	if localVarHTTPContentType != "" {
  2629  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2630  	}
  2631  
  2632  	// to determine the Accept header
  2633  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2634  
  2635  	// set Accept header
  2636  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2637  	if localVarHTTPHeaderAccept != "" {
  2638  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2639  	}
  2640  	if ctx != nil {
  2641  		// API Key Authentication
  2642  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2643  			var key string
  2644  			if auth.Prefix != "" {
  2645  				key = auth.Prefix + " " + auth.Key
  2646  			} else {
  2647  				key = auth.Key
  2648  			}
  2649  			localVarQueryParams.Add("token", key)
  2650  		}
  2651  	}
  2652  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2653  	if err != nil {
  2654  		return localVarReturnValue, nil, err
  2655  	}
  2656  
  2657  	localVarHTTPResponse, err := a.client.callAPI(r)
  2658  	if err != nil || localVarHTTPResponse == nil {
  2659  		return localVarReturnValue, localVarHTTPResponse, err
  2660  	}
  2661  
  2662  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2663  	localVarHTTPResponse.Body.Close()
  2664  	if err != nil {
  2665  		return localVarReturnValue, localVarHTTPResponse, err
  2666  	}
  2667  
  2668  	if localVarHTTPResponse.StatusCode >= 300 {
  2669  		newErr := GenericOpenAPIError{
  2670  			body:  localVarBody,
  2671  			error: localVarHTTPResponse.Status,
  2672  		}
  2673  		return localVarReturnValue, localVarHTTPResponse, newErr
  2674  	}
  2675  
  2676  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2677  	if err != nil {
  2678  		newErr := GenericOpenAPIError{
  2679  			body:  localVarBody,
  2680  			error: err.Error(),
  2681  		}
  2682  		return localVarReturnValue, localVarHTTPResponse, newErr
  2683  	}
  2684  
  2685  	return localVarReturnValue, localVarHTTPResponse, nil
  2686  }
  2687  
  2688  /*
  2689  ForexSymbols Forex Symbol
  2690  List supported forex symbols.
  2691   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2692   * @param exchange Exchange you want to get the list of symbols from.
  2693  @return []ForexSymbol
  2694  */
  2695  func (a *DefaultApiService) ForexSymbols(ctx _context.Context, exchange string) ([]ForexSymbol, *_nethttp.Response, error) {
  2696  	var (
  2697  		localVarHTTPMethod   = _nethttp.MethodGet
  2698  		localVarPostBody     interface{}
  2699  		localVarFormFileName string
  2700  		localVarFileName     string
  2701  		localVarFileBytes    []byte
  2702  		localVarReturnValue  []ForexSymbol
  2703  	)
  2704  
  2705  	// create path and map variables
  2706  	localVarPath := a.client.cfg.BasePath + "/forex/symbol"
  2707  	localVarHeaderParams := make(map[string]string)
  2708  	localVarQueryParams := _neturl.Values{}
  2709  	localVarFormParams := _neturl.Values{}
  2710  
  2711  	localVarQueryParams.Add("exchange", parameterToString(exchange, ""))
  2712  	// to determine the Content-Type header
  2713  	localVarHTTPContentTypes := []string{}
  2714  
  2715  	// set Content-Type header
  2716  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2717  	if localVarHTTPContentType != "" {
  2718  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2719  	}
  2720  
  2721  	// to determine the Accept header
  2722  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2723  
  2724  	// set Accept header
  2725  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2726  	if localVarHTTPHeaderAccept != "" {
  2727  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2728  	}
  2729  	if ctx != nil {
  2730  		// API Key Authentication
  2731  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2732  			var key string
  2733  			if auth.Prefix != "" {
  2734  				key = auth.Prefix + " " + auth.Key
  2735  			} else {
  2736  				key = auth.Key
  2737  			}
  2738  			localVarQueryParams.Add("token", key)
  2739  		}
  2740  	}
  2741  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2742  	if err != nil {
  2743  		return localVarReturnValue, nil, err
  2744  	}
  2745  
  2746  	localVarHTTPResponse, err := a.client.callAPI(r)
  2747  	if err != nil || localVarHTTPResponse == nil {
  2748  		return localVarReturnValue, localVarHTTPResponse, err
  2749  	}
  2750  
  2751  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2752  	localVarHTTPResponse.Body.Close()
  2753  	if err != nil {
  2754  		return localVarReturnValue, localVarHTTPResponse, err
  2755  	}
  2756  
  2757  	if localVarHTTPResponse.StatusCode >= 300 {
  2758  		newErr := GenericOpenAPIError{
  2759  			body:  localVarBody,
  2760  			error: localVarHTTPResponse.Status,
  2761  		}
  2762  		return localVarReturnValue, localVarHTTPResponse, newErr
  2763  	}
  2764  
  2765  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2766  	if err != nil {
  2767  		newErr := GenericOpenAPIError{
  2768  			body:  localVarBody,
  2769  			error: err.Error(),
  2770  		}
  2771  		return localVarReturnValue, localVarHTTPResponse, newErr
  2772  	}
  2773  
  2774  	return localVarReturnValue, localVarHTTPResponse, nil
  2775  }
  2776  
  2777  // FundOwnershipOpts Optional parameters for the method 'FundOwnership'
  2778  type FundOwnershipOpts struct {
  2779  	Limit optional.Int64
  2780  }
  2781  
  2782  /*
  2783  FundOwnership Fund Ownership
  2784  Get a full list fund and institutional investors of a company in descending order of the number of shares held.
  2785   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2786   * @param symbol Symbol of the company: AAPL.
  2787   * @param optional nil or *FundOwnershipOpts - Optional Parameters:
  2788   * @param "Limit" (optional.Int64) -  Limit number of results. Leave empty to get the full list.
  2789  @return FundOwnership
  2790  */
  2791  func (a *DefaultApiService) FundOwnership(ctx _context.Context, symbol string, localVarOptionals *FundOwnershipOpts) (FundOwnership, *_nethttp.Response, error) {
  2792  	var (
  2793  		localVarHTTPMethod   = _nethttp.MethodGet
  2794  		localVarPostBody     interface{}
  2795  		localVarFormFileName string
  2796  		localVarFileName     string
  2797  		localVarFileBytes    []byte
  2798  		localVarReturnValue  FundOwnership
  2799  	)
  2800  
  2801  	// create path and map variables
  2802  	localVarPath := a.client.cfg.BasePath + "/stock/fund-ownership"
  2803  	localVarHeaderParams := make(map[string]string)
  2804  	localVarQueryParams := _neturl.Values{}
  2805  	localVarFormParams := _neturl.Values{}
  2806  
  2807  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  2808  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
  2809  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
  2810  	}
  2811  	// to determine the Content-Type header
  2812  	localVarHTTPContentTypes := []string{}
  2813  
  2814  	// set Content-Type header
  2815  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  2816  	if localVarHTTPContentType != "" {
  2817  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  2818  	}
  2819  
  2820  	// to determine the Accept header
  2821  	localVarHTTPHeaderAccepts := []string{"application/json"}
  2822  
  2823  	// set Accept header
  2824  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2825  	if localVarHTTPHeaderAccept != "" {
  2826  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2827  	}
  2828  	if ctx != nil {
  2829  		// API Key Authentication
  2830  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2831  			var key string
  2832  			if auth.Prefix != "" {
  2833  				key = auth.Prefix + " " + auth.Key
  2834  			} else {
  2835  				key = auth.Key
  2836  			}
  2837  			localVarQueryParams.Add("token", key)
  2838  		}
  2839  	}
  2840  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2841  	if err != nil {
  2842  		return localVarReturnValue, nil, err
  2843  	}
  2844  
  2845  	localVarHTTPResponse, err := a.client.callAPI(r)
  2846  	if err != nil || localVarHTTPResponse == nil {
  2847  		return localVarReturnValue, localVarHTTPResponse, err
  2848  	}
  2849  
  2850  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2851  	localVarHTTPResponse.Body.Close()
  2852  	if err != nil {
  2853  		return localVarReturnValue, localVarHTTPResponse, err
  2854  	}
  2855  
  2856  	if localVarHTTPResponse.StatusCode >= 300 {
  2857  		newErr := GenericOpenAPIError{
  2858  			body:  localVarBody,
  2859  			error: localVarHTTPResponse.Status,
  2860  		}
  2861  		return localVarReturnValue, localVarHTTPResponse, newErr
  2862  	}
  2863  
  2864  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2865  	if err != nil {
  2866  		newErr := GenericOpenAPIError{
  2867  			body:  localVarBody,
  2868  			error: err.Error(),
  2869  		}
  2870  		return localVarReturnValue, localVarHTTPResponse, newErr
  2871  	}
  2872  
  2873  	return localVarReturnValue, localVarHTTPResponse, nil
  2874  }
  2875  
  2876  // GeneralNewsOpts Optional parameters for the method 'GeneralNews'
  2877  type GeneralNewsOpts struct {
  2878  	MinId optional.String
  2879  }
  2880  
  2881  /*
  2882  GeneralNews General News
  2883  Get latest market news.
  2884   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2885   * @param category This parameter can be 1 of the following values <code>general, forex, crypto, merger</code>.
  2886   * @param optional nil or *GeneralNewsOpts - Optional Parameters:
  2887   * @param "MinId" (optional.String) -  Use this field to get only news after this ID. Default to 0
  2888  @return []News
  2889  */
  2890  func (a *DefaultApiService) GeneralNews(ctx _context.Context, category string, localVarOptionals *GeneralNewsOpts) ([]News, *_nethttp.Response, error) {
  2891  	var (
  2892  		localVarHTTPMethod   = _nethttp.MethodGet
  2893  		localVarPostBody     interface{}
  2894  		localVarFormFileName string
  2895  		localVarFileName     string
  2896  		localVarFileBytes    []byte
  2897  		localVarReturnValue  []News
  2898  	)
  2899  
  2900  	// create path and map variables
  2901  	localVarPath := a.client.cfg.BasePath + "/news"
  2902  	localVarHeaderParams := make(map[string]string)
  2903  	localVarQueryParams := _neturl.Values{}
  2904  	localVarFormParams := _neturl.Values{}
  2905  
  2906  	localVarQueryParams.Add("category", parameterToString(category, ""))
  2907  	if localVarOptionals != nil && localVarOptionals.MinId.IsSet() {
  2908  		localVarQueryParams.Add("minId", parameterToString(localVarOptionals.MinId.Value(), ""))
  2909  	}
  2910  	// to determine the Content-Type header
  2911  	localVarHTTPContentTypes := []string{}
  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{"application/json"}
  2921  
  2922  	// set Accept header
  2923  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  2924  	if localVarHTTPHeaderAccept != "" {
  2925  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  2926  	}
  2927  	if ctx != nil {
  2928  		// API Key Authentication
  2929  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  2930  			var key string
  2931  			if auth.Prefix != "" {
  2932  				key = auth.Prefix + " " + auth.Key
  2933  			} else {
  2934  				key = auth.Key
  2935  			}
  2936  			localVarQueryParams.Add("token", key)
  2937  		}
  2938  	}
  2939  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  2940  	if err != nil {
  2941  		return localVarReturnValue, nil, err
  2942  	}
  2943  
  2944  	localVarHTTPResponse, err := a.client.callAPI(r)
  2945  	if err != nil || localVarHTTPResponse == nil {
  2946  		return localVarReturnValue, localVarHTTPResponse, err
  2947  	}
  2948  
  2949  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  2950  	localVarHTTPResponse.Body.Close()
  2951  	if err != nil {
  2952  		return localVarReturnValue, localVarHTTPResponse, err
  2953  	}
  2954  
  2955  	if localVarHTTPResponse.StatusCode >= 300 {
  2956  		newErr := GenericOpenAPIError{
  2957  			body:  localVarBody,
  2958  			error: localVarHTTPResponse.Status,
  2959  		}
  2960  		return localVarReturnValue, localVarHTTPResponse, newErr
  2961  	}
  2962  
  2963  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  2964  	if err != nil {
  2965  		newErr := GenericOpenAPIError{
  2966  			body:  localVarBody,
  2967  			error: err.Error(),
  2968  		}
  2969  		return localVarReturnValue, localVarHTTPResponse, newErr
  2970  	}
  2971  
  2972  	return localVarReturnValue, localVarHTTPResponse, nil
  2973  }
  2974  
  2975  /*
  2976  IndicesConstituents Indices Constituents
  2977  Get a list of index&#39;s constituents. Currently support &lt;code&gt;^GSPC (S&amp;P 500)&lt;/code&gt;, &lt;code&gt;^NDX (Nasdaq 100)&lt;/code&gt;, &lt;code&gt;^DJI (Dow Jones)&lt;/code&gt;
  2978   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  2979   * @param symbol symbol
  2980  @return IndicesConstituents
  2981  */
  2982  func (a *DefaultApiService) IndicesConstituents(ctx _context.Context, symbol string) (IndicesConstituents, *_nethttp.Response, error) {
  2983  	var (
  2984  		localVarHTTPMethod   = _nethttp.MethodGet
  2985  		localVarPostBody     interface{}
  2986  		localVarFormFileName string
  2987  		localVarFileName     string
  2988  		localVarFileBytes    []byte
  2989  		localVarReturnValue  IndicesConstituents
  2990  	)
  2991  
  2992  	// create path and map variables
  2993  	localVarPath := a.client.cfg.BasePath + "/index/constituents"
  2994  	localVarHeaderParams := make(map[string]string)
  2995  	localVarQueryParams := _neturl.Values{}
  2996  	localVarFormParams := _neturl.Values{}
  2997  
  2998  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  2999  	// to determine the Content-Type header
  3000  	localVarHTTPContentTypes := []string{}
  3001  
  3002  	// set Content-Type header
  3003  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3004  	if localVarHTTPContentType != "" {
  3005  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3006  	}
  3007  
  3008  	// to determine the Accept header
  3009  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3010  
  3011  	// set Accept header
  3012  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3013  	if localVarHTTPHeaderAccept != "" {
  3014  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3015  	}
  3016  	if ctx != nil {
  3017  		// API Key Authentication
  3018  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3019  			var key string
  3020  			if auth.Prefix != "" {
  3021  				key = auth.Prefix + " " + auth.Key
  3022  			} else {
  3023  				key = auth.Key
  3024  			}
  3025  			localVarQueryParams.Add("token", key)
  3026  		}
  3027  	}
  3028  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3029  	if err != nil {
  3030  		return localVarReturnValue, nil, err
  3031  	}
  3032  
  3033  	localVarHTTPResponse, err := a.client.callAPI(r)
  3034  	if err != nil || localVarHTTPResponse == nil {
  3035  		return localVarReturnValue, localVarHTTPResponse, err
  3036  	}
  3037  
  3038  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3039  	localVarHTTPResponse.Body.Close()
  3040  	if err != nil {
  3041  		return localVarReturnValue, localVarHTTPResponse, err
  3042  	}
  3043  
  3044  	if localVarHTTPResponse.StatusCode >= 300 {
  3045  		newErr := GenericOpenAPIError{
  3046  			body:  localVarBody,
  3047  			error: localVarHTTPResponse.Status,
  3048  		}
  3049  		return localVarReturnValue, localVarHTTPResponse, newErr
  3050  	}
  3051  
  3052  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3053  	if err != nil {
  3054  		newErr := GenericOpenAPIError{
  3055  			body:  localVarBody,
  3056  			error: err.Error(),
  3057  		}
  3058  		return localVarReturnValue, localVarHTTPResponse, newErr
  3059  	}
  3060  
  3061  	return localVarReturnValue, localVarHTTPResponse, nil
  3062  }
  3063  
  3064  /*
  3065  IndicesHistoricalConstituents Indices Historical Constituents
  3066  Get full history of index&#39;s constituents including symbols and dates of joining and leaving the Index. Currently support &lt;code&gt;^GSPC (S&amp;P 500)&lt;/code&gt;, &lt;code&gt;^NDX (Nasdaq 100)&lt;/code&gt;, &lt;code&gt;^DJI (Dow Jones)&lt;/code&gt;
  3067   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3068   * @param symbol symbol
  3069  @return IndicesHistoricalConstituents
  3070  */
  3071  func (a *DefaultApiService) IndicesHistoricalConstituents(ctx _context.Context, symbol string) (IndicesHistoricalConstituents, *_nethttp.Response, error) {
  3072  	var (
  3073  		localVarHTTPMethod   = _nethttp.MethodGet
  3074  		localVarPostBody     interface{}
  3075  		localVarFormFileName string
  3076  		localVarFileName     string
  3077  		localVarFileBytes    []byte
  3078  		localVarReturnValue  IndicesHistoricalConstituents
  3079  	)
  3080  
  3081  	// create path and map variables
  3082  	localVarPath := a.client.cfg.BasePath + "/index/historical-constituents"
  3083  	localVarHeaderParams := make(map[string]string)
  3084  	localVarQueryParams := _neturl.Values{}
  3085  	localVarFormParams := _neturl.Values{}
  3086  
  3087  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3088  	// to determine the Content-Type header
  3089  	localVarHTTPContentTypes := []string{}
  3090  
  3091  	// set Content-Type header
  3092  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3093  	if localVarHTTPContentType != "" {
  3094  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3095  	}
  3096  
  3097  	// to determine the Accept header
  3098  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3099  
  3100  	// set Accept header
  3101  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3102  	if localVarHTTPHeaderAccept != "" {
  3103  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3104  	}
  3105  	if ctx != nil {
  3106  		// API Key Authentication
  3107  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3108  			var key string
  3109  			if auth.Prefix != "" {
  3110  				key = auth.Prefix + " " + auth.Key
  3111  			} else {
  3112  				key = auth.Key
  3113  			}
  3114  			localVarQueryParams.Add("token", key)
  3115  		}
  3116  	}
  3117  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3118  	if err != nil {
  3119  		return localVarReturnValue, nil, err
  3120  	}
  3121  
  3122  	localVarHTTPResponse, err := a.client.callAPI(r)
  3123  	if err != nil || localVarHTTPResponse == nil {
  3124  		return localVarReturnValue, localVarHTTPResponse, err
  3125  	}
  3126  
  3127  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3128  	localVarHTTPResponse.Body.Close()
  3129  	if err != nil {
  3130  		return localVarReturnValue, localVarHTTPResponse, err
  3131  	}
  3132  
  3133  	if localVarHTTPResponse.StatusCode >= 300 {
  3134  		newErr := GenericOpenAPIError{
  3135  			body:  localVarBody,
  3136  			error: localVarHTTPResponse.Status,
  3137  		}
  3138  		return localVarReturnValue, localVarHTTPResponse, newErr
  3139  	}
  3140  
  3141  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3142  	if err != nil {
  3143  		newErr := GenericOpenAPIError{
  3144  			body:  localVarBody,
  3145  			error: err.Error(),
  3146  		}
  3147  		return localVarReturnValue, localVarHTTPResponse, newErr
  3148  	}
  3149  
  3150  	return localVarReturnValue, localVarHTTPResponse, nil
  3151  }
  3152  
  3153  // InvestorsOwnershipOpts Optional parameters for the method 'InvestorsOwnership'
  3154  type InvestorsOwnershipOpts struct {
  3155  	Limit optional.Int64
  3156  }
  3157  
  3158  /*
  3159  InvestorsOwnership Investors Ownership
  3160  Get a full list of shareholders/investors of a company in descending order of the number of shares held.
  3161   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3162   * @param symbol Symbol of the company: AAPL.
  3163   * @param optional nil or *InvestorsOwnershipOpts - Optional Parameters:
  3164   * @param "Limit" (optional.Int64) -  Limit number of results. Leave empty to get the full list.
  3165  @return InvestorsOwnership
  3166  */
  3167  func (a *DefaultApiService) InvestorsOwnership(ctx _context.Context, symbol string, localVarOptionals *InvestorsOwnershipOpts) (InvestorsOwnership, *_nethttp.Response, error) {
  3168  	var (
  3169  		localVarHTTPMethod   = _nethttp.MethodGet
  3170  		localVarPostBody     interface{}
  3171  		localVarFormFileName string
  3172  		localVarFileName     string
  3173  		localVarFileBytes    []byte
  3174  		localVarReturnValue  InvestorsOwnership
  3175  	)
  3176  
  3177  	// create path and map variables
  3178  	localVarPath := a.client.cfg.BasePath + "/stock/investor-ownership"
  3179  	localVarHeaderParams := make(map[string]string)
  3180  	localVarQueryParams := _neturl.Values{}
  3181  	localVarFormParams := _neturl.Values{}
  3182  
  3183  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3184  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
  3185  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
  3186  	}
  3187  	// to determine the Content-Type header
  3188  	localVarHTTPContentTypes := []string{}
  3189  
  3190  	// set Content-Type header
  3191  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3192  	if localVarHTTPContentType != "" {
  3193  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3194  	}
  3195  
  3196  	// to determine the Accept header
  3197  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3198  
  3199  	// set Accept header
  3200  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3201  	if localVarHTTPHeaderAccept != "" {
  3202  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3203  	}
  3204  	if ctx != nil {
  3205  		// API Key Authentication
  3206  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3207  			var key string
  3208  			if auth.Prefix != "" {
  3209  				key = auth.Prefix + " " + auth.Key
  3210  			} else {
  3211  				key = auth.Key
  3212  			}
  3213  			localVarQueryParams.Add("token", key)
  3214  		}
  3215  	}
  3216  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3217  	if err != nil {
  3218  		return localVarReturnValue, nil, err
  3219  	}
  3220  
  3221  	localVarHTTPResponse, err := a.client.callAPI(r)
  3222  	if err != nil || localVarHTTPResponse == nil {
  3223  		return localVarReturnValue, localVarHTTPResponse, err
  3224  	}
  3225  
  3226  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3227  	localVarHTTPResponse.Body.Close()
  3228  	if err != nil {
  3229  		return localVarReturnValue, localVarHTTPResponse, err
  3230  	}
  3231  
  3232  	if localVarHTTPResponse.StatusCode >= 300 {
  3233  		newErr := GenericOpenAPIError{
  3234  			body:  localVarBody,
  3235  			error: localVarHTTPResponse.Status,
  3236  		}
  3237  		return localVarReturnValue, localVarHTTPResponse, newErr
  3238  	}
  3239  
  3240  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3241  	if err != nil {
  3242  		newErr := GenericOpenAPIError{
  3243  			body:  localVarBody,
  3244  			error: err.Error(),
  3245  		}
  3246  		return localVarReturnValue, localVarHTTPResponse, newErr
  3247  	}
  3248  
  3249  	return localVarReturnValue, localVarHTTPResponse, nil
  3250  }
  3251  
  3252  /*
  3253  IpoCalendar IPO Calendar
  3254  Get recent and coming IPO.
  3255   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3256   * @param from From date: 2020-03-15.
  3257   * @param to To date: 2020-03-16.
  3258  @return IpoCalendar
  3259  */
  3260  func (a *DefaultApiService) IpoCalendar(ctx _context.Context, from string, to string) (IpoCalendar, *_nethttp.Response, error) {
  3261  	var (
  3262  		localVarHTTPMethod   = _nethttp.MethodGet
  3263  		localVarPostBody     interface{}
  3264  		localVarFormFileName string
  3265  		localVarFileName     string
  3266  		localVarFileBytes    []byte
  3267  		localVarReturnValue  IpoCalendar
  3268  	)
  3269  
  3270  	// create path and map variables
  3271  	localVarPath := a.client.cfg.BasePath + "/calendar/ipo"
  3272  	localVarHeaderParams := make(map[string]string)
  3273  	localVarQueryParams := _neturl.Values{}
  3274  	localVarFormParams := _neturl.Values{}
  3275  
  3276  	localVarQueryParams.Add("from", parameterToString(from, ""))
  3277  	localVarQueryParams.Add("to", parameterToString(to, ""))
  3278  	// to determine the Content-Type header
  3279  	localVarHTTPContentTypes := []string{}
  3280  
  3281  	// set Content-Type header
  3282  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3283  	if localVarHTTPContentType != "" {
  3284  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3285  	}
  3286  
  3287  	// to determine the Accept header
  3288  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3289  
  3290  	// set Accept header
  3291  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3292  	if localVarHTTPHeaderAccept != "" {
  3293  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3294  	}
  3295  	if ctx != nil {
  3296  		// API Key Authentication
  3297  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3298  			var key string
  3299  			if auth.Prefix != "" {
  3300  				key = auth.Prefix + " " + auth.Key
  3301  			} else {
  3302  				key = auth.Key
  3303  			}
  3304  			localVarQueryParams.Add("token", key)
  3305  		}
  3306  	}
  3307  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3308  	if err != nil {
  3309  		return localVarReturnValue, nil, err
  3310  	}
  3311  
  3312  	localVarHTTPResponse, err := a.client.callAPI(r)
  3313  	if err != nil || localVarHTTPResponse == nil {
  3314  		return localVarReturnValue, localVarHTTPResponse, err
  3315  	}
  3316  
  3317  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3318  	localVarHTTPResponse.Body.Close()
  3319  	if err != nil {
  3320  		return localVarReturnValue, localVarHTTPResponse, err
  3321  	}
  3322  
  3323  	if localVarHTTPResponse.StatusCode >= 300 {
  3324  		newErr := GenericOpenAPIError{
  3325  			body:  localVarBody,
  3326  			error: localVarHTTPResponse.Status,
  3327  		}
  3328  		return localVarReturnValue, localVarHTTPResponse, newErr
  3329  	}
  3330  
  3331  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3332  	if err != nil {
  3333  		newErr := GenericOpenAPIError{
  3334  			body:  localVarBody,
  3335  			error: err.Error(),
  3336  		}
  3337  		return localVarReturnValue, localVarHTTPResponse, newErr
  3338  	}
  3339  
  3340  	return localVarReturnValue, localVarHTTPResponse, nil
  3341  }
  3342  
  3343  // MajorDevelopmentsOpts Optional parameters for the method 'MajorDevelopments'
  3344  type MajorDevelopmentsOpts struct {
  3345  	From optional.String
  3346  	To   optional.String
  3347  }
  3348  
  3349  /*
  3350  MajorDevelopments Major Developments
  3351  List latest major developments of a company going back 20 years with 12M+ data points. This data can be used to highlight the most significant events.
  3352   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3353   * @param symbol Company symbol.
  3354   * @param optional nil or *MajorDevelopmentsOpts - Optional Parameters:
  3355   * @param "From" (optional.String) -  From time: 2020-01-01.
  3356   * @param "To" (optional.String) -  To time: 2020-01-05.
  3357  @return MajorDevelopments
  3358  */
  3359  func (a *DefaultApiService) MajorDevelopments(ctx _context.Context, symbol string, localVarOptionals *MajorDevelopmentsOpts) (MajorDevelopments, *_nethttp.Response, error) {
  3360  	var (
  3361  		localVarHTTPMethod   = _nethttp.MethodGet
  3362  		localVarPostBody     interface{}
  3363  		localVarFormFileName string
  3364  		localVarFileName     string
  3365  		localVarFileBytes    []byte
  3366  		localVarReturnValue  MajorDevelopments
  3367  	)
  3368  
  3369  	// create path and map variables
  3370  	localVarPath := a.client.cfg.BasePath + "/major-development"
  3371  	localVarHeaderParams := make(map[string]string)
  3372  	localVarQueryParams := _neturl.Values{}
  3373  	localVarFormParams := _neturl.Values{}
  3374  
  3375  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3376  	if localVarOptionals != nil && localVarOptionals.From.IsSet() {
  3377  		localVarQueryParams.Add("from", parameterToString(localVarOptionals.From.Value(), ""))
  3378  	}
  3379  	if localVarOptionals != nil && localVarOptionals.To.IsSet() {
  3380  		localVarQueryParams.Add("to", parameterToString(localVarOptionals.To.Value(), ""))
  3381  	}
  3382  	// to determine the Content-Type header
  3383  	localVarHTTPContentTypes := []string{}
  3384  
  3385  	// set Content-Type header
  3386  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3387  	if localVarHTTPContentType != "" {
  3388  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3389  	}
  3390  
  3391  	// to determine the Accept header
  3392  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3393  
  3394  	// set Accept header
  3395  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3396  	if localVarHTTPHeaderAccept != "" {
  3397  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3398  	}
  3399  	if ctx != nil {
  3400  		// API Key Authentication
  3401  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3402  			var key string
  3403  			if auth.Prefix != "" {
  3404  				key = auth.Prefix + " " + auth.Key
  3405  			} else {
  3406  				key = auth.Key
  3407  			}
  3408  			localVarQueryParams.Add("token", key)
  3409  		}
  3410  	}
  3411  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3412  	if err != nil {
  3413  		return localVarReturnValue, nil, err
  3414  	}
  3415  
  3416  	localVarHTTPResponse, err := a.client.callAPI(r)
  3417  	if err != nil || localVarHTTPResponse == nil {
  3418  		return localVarReturnValue, localVarHTTPResponse, err
  3419  	}
  3420  
  3421  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3422  	localVarHTTPResponse.Body.Close()
  3423  	if err != nil {
  3424  		return localVarReturnValue, localVarHTTPResponse, err
  3425  	}
  3426  
  3427  	if localVarHTTPResponse.StatusCode >= 300 {
  3428  		newErr := GenericOpenAPIError{
  3429  			body:  localVarBody,
  3430  			error: localVarHTTPResponse.Status,
  3431  		}
  3432  		return localVarReturnValue, localVarHTTPResponse, newErr
  3433  	}
  3434  
  3435  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3436  	if err != nil {
  3437  		newErr := GenericOpenAPIError{
  3438  			body:  localVarBody,
  3439  			error: err.Error(),
  3440  		}
  3441  		return localVarReturnValue, localVarHTTPResponse, newErr
  3442  	}
  3443  
  3444  	return localVarReturnValue, localVarHTTPResponse, nil
  3445  }
  3446  
  3447  /*
  3448  NewsSentiment News Sentiment
  3449  Get company&#39;s news sentiment and statistics. This endpoint is only available for US companies.
  3450   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3451   * @param symbol Company symbol.
  3452  @return NewsSentiment
  3453  */
  3454  func (a *DefaultApiService) NewsSentiment(ctx _context.Context, symbol string) (NewsSentiment, *_nethttp.Response, error) {
  3455  	var (
  3456  		localVarHTTPMethod   = _nethttp.MethodGet
  3457  		localVarPostBody     interface{}
  3458  		localVarFormFileName string
  3459  		localVarFileName     string
  3460  		localVarFileBytes    []byte
  3461  		localVarReturnValue  NewsSentiment
  3462  	)
  3463  
  3464  	// create path and map variables
  3465  	localVarPath := a.client.cfg.BasePath + "/news-sentiment"
  3466  	localVarHeaderParams := make(map[string]string)
  3467  	localVarQueryParams := _neturl.Values{}
  3468  	localVarFormParams := _neturl.Values{}
  3469  
  3470  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3471  	// to determine the Content-Type header
  3472  	localVarHTTPContentTypes := []string{}
  3473  
  3474  	// set Content-Type header
  3475  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3476  	if localVarHTTPContentType != "" {
  3477  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3478  	}
  3479  
  3480  	// to determine the Accept header
  3481  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3482  
  3483  	// set Accept header
  3484  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3485  	if localVarHTTPHeaderAccept != "" {
  3486  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3487  	}
  3488  	if ctx != nil {
  3489  		// API Key Authentication
  3490  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3491  			var key string
  3492  			if auth.Prefix != "" {
  3493  				key = auth.Prefix + " " + auth.Key
  3494  			} else {
  3495  				key = auth.Key
  3496  			}
  3497  			localVarQueryParams.Add("token", key)
  3498  		}
  3499  	}
  3500  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3501  	if err != nil {
  3502  		return localVarReturnValue, nil, err
  3503  	}
  3504  
  3505  	localVarHTTPResponse, err := a.client.callAPI(r)
  3506  	if err != nil || localVarHTTPResponse == nil {
  3507  		return localVarReturnValue, localVarHTTPResponse, err
  3508  	}
  3509  
  3510  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3511  	localVarHTTPResponse.Body.Close()
  3512  	if err != nil {
  3513  		return localVarReturnValue, localVarHTTPResponse, err
  3514  	}
  3515  
  3516  	if localVarHTTPResponse.StatusCode >= 300 {
  3517  		newErr := GenericOpenAPIError{
  3518  			body:  localVarBody,
  3519  			error: localVarHTTPResponse.Status,
  3520  		}
  3521  		return localVarReturnValue, localVarHTTPResponse, newErr
  3522  	}
  3523  
  3524  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3525  	if err != nil {
  3526  		newErr := GenericOpenAPIError{
  3527  			body:  localVarBody,
  3528  			error: err.Error(),
  3529  		}
  3530  		return localVarReturnValue, localVarHTTPResponse, newErr
  3531  	}
  3532  
  3533  	return localVarReturnValue, localVarHTTPResponse, nil
  3534  }
  3535  
  3536  /*
  3537  PatternRecognition Pattern Recognition
  3538  Run pattern recognition algorithm on a symbol. Support double top/bottom, triple top/bottom, head and shoulders, triangle, wedge, channel, flag, and candlestick patterns.
  3539   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3540   * @param symbol Symbol
  3541   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
  3542  @return PatternRecognition
  3543  */
  3544  func (a *DefaultApiService) PatternRecognition(ctx _context.Context, symbol string, resolution string) (PatternRecognition, *_nethttp.Response, error) {
  3545  	var (
  3546  		localVarHTTPMethod   = _nethttp.MethodGet
  3547  		localVarPostBody     interface{}
  3548  		localVarFormFileName string
  3549  		localVarFileName     string
  3550  		localVarFileBytes    []byte
  3551  		localVarReturnValue  PatternRecognition
  3552  	)
  3553  
  3554  	// create path and map variables
  3555  	localVarPath := a.client.cfg.BasePath + "/scan/pattern"
  3556  	localVarHeaderParams := make(map[string]string)
  3557  	localVarQueryParams := _neturl.Values{}
  3558  	localVarFormParams := _neturl.Values{}
  3559  
  3560  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3561  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
  3562  	// to determine the Content-Type header
  3563  	localVarHTTPContentTypes := []string{}
  3564  
  3565  	// set Content-Type header
  3566  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3567  	if localVarHTTPContentType != "" {
  3568  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3569  	}
  3570  
  3571  	// to determine the Accept header
  3572  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3573  
  3574  	// set Accept header
  3575  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3576  	if localVarHTTPHeaderAccept != "" {
  3577  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3578  	}
  3579  	if ctx != nil {
  3580  		// API Key Authentication
  3581  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3582  			var key string
  3583  			if auth.Prefix != "" {
  3584  				key = auth.Prefix + " " + auth.Key
  3585  			} else {
  3586  				key = auth.Key
  3587  			}
  3588  			localVarQueryParams.Add("token", key)
  3589  		}
  3590  	}
  3591  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3592  	if err != nil {
  3593  		return localVarReturnValue, nil, err
  3594  	}
  3595  
  3596  	localVarHTTPResponse, err := a.client.callAPI(r)
  3597  	if err != nil || localVarHTTPResponse == nil {
  3598  		return localVarReturnValue, localVarHTTPResponse, err
  3599  	}
  3600  
  3601  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3602  	localVarHTTPResponse.Body.Close()
  3603  	if err != nil {
  3604  		return localVarReturnValue, localVarHTTPResponse, err
  3605  	}
  3606  
  3607  	if localVarHTTPResponse.StatusCode >= 300 {
  3608  		newErr := GenericOpenAPIError{
  3609  			body:  localVarBody,
  3610  			error: localVarHTTPResponse.Status,
  3611  		}
  3612  		return localVarReturnValue, localVarHTTPResponse, newErr
  3613  	}
  3614  
  3615  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3616  	if err != nil {
  3617  		newErr := GenericOpenAPIError{
  3618  			body:  localVarBody,
  3619  			error: err.Error(),
  3620  		}
  3621  		return localVarReturnValue, localVarHTTPResponse, newErr
  3622  	}
  3623  
  3624  	return localVarReturnValue, localVarHTTPResponse, nil
  3625  }
  3626  
  3627  /*
  3628  PriceTarget Price Target
  3629  Get latest price target consensus.
  3630   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3631   * @param symbol Symbol of the company: AAPL.
  3632  @return PriceTarget
  3633  */
  3634  func (a *DefaultApiService) PriceTarget(ctx _context.Context, symbol string) (PriceTarget, *_nethttp.Response, error) {
  3635  	var (
  3636  		localVarHTTPMethod   = _nethttp.MethodGet
  3637  		localVarPostBody     interface{}
  3638  		localVarFormFileName string
  3639  		localVarFileName     string
  3640  		localVarFileBytes    []byte
  3641  		localVarReturnValue  PriceTarget
  3642  	)
  3643  
  3644  	// create path and map variables
  3645  	localVarPath := a.client.cfg.BasePath + "/stock/price-target"
  3646  	localVarHeaderParams := make(map[string]string)
  3647  	localVarQueryParams := _neturl.Values{}
  3648  	localVarFormParams := _neturl.Values{}
  3649  
  3650  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3651  	// to determine the Content-Type header
  3652  	localVarHTTPContentTypes := []string{}
  3653  
  3654  	// set Content-Type header
  3655  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3656  	if localVarHTTPContentType != "" {
  3657  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3658  	}
  3659  
  3660  	// to determine the Accept header
  3661  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3662  
  3663  	// set Accept header
  3664  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3665  	if localVarHTTPHeaderAccept != "" {
  3666  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3667  	}
  3668  	if ctx != nil {
  3669  		// API Key Authentication
  3670  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3671  			var key string
  3672  			if auth.Prefix != "" {
  3673  				key = auth.Prefix + " " + auth.Key
  3674  			} else {
  3675  				key = auth.Key
  3676  			}
  3677  			localVarQueryParams.Add("token", key)
  3678  		}
  3679  	}
  3680  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3681  	if err != nil {
  3682  		return localVarReturnValue, nil, err
  3683  	}
  3684  
  3685  	localVarHTTPResponse, err := a.client.callAPI(r)
  3686  	if err != nil || localVarHTTPResponse == nil {
  3687  		return localVarReturnValue, localVarHTTPResponse, err
  3688  	}
  3689  
  3690  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3691  	localVarHTTPResponse.Body.Close()
  3692  	if err != nil {
  3693  		return localVarReturnValue, localVarHTTPResponse, err
  3694  	}
  3695  
  3696  	if localVarHTTPResponse.StatusCode >= 300 {
  3697  		newErr := GenericOpenAPIError{
  3698  			body:  localVarBody,
  3699  			error: localVarHTTPResponse.Status,
  3700  		}
  3701  		return localVarReturnValue, localVarHTTPResponse, newErr
  3702  	}
  3703  
  3704  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3705  	if err != nil {
  3706  		newErr := GenericOpenAPIError{
  3707  			body:  localVarBody,
  3708  			error: err.Error(),
  3709  		}
  3710  		return localVarReturnValue, localVarHTTPResponse, newErr
  3711  	}
  3712  
  3713  	return localVarReturnValue, localVarHTTPResponse, nil
  3714  }
  3715  
  3716  /*
  3717  Quote Quote
  3718  &lt;p&gt;Get real-time quote data for US stocks. Constant polling is not recommended. Use websocket if you need real-time update.&lt;/p&gt;&lt;p&gt;Real-time stock prices for international markets are supported for Enterprise clients via our partner&#39;s feed. &lt;a href&#x3D;\&quot;mailto:support@finnhub.io\&quot;&gt;Contact Us&lt;/a&gt; to learn more.&lt;/p&gt;
  3719   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3720   * @param symbol Symbol
  3721  @return Quote
  3722  */
  3723  func (a *DefaultApiService) Quote(ctx _context.Context, symbol string) (Quote, *_nethttp.Response, error) {
  3724  	var (
  3725  		localVarHTTPMethod   = _nethttp.MethodGet
  3726  		localVarPostBody     interface{}
  3727  		localVarFormFileName string
  3728  		localVarFileName     string
  3729  		localVarFileBytes    []byte
  3730  		localVarReturnValue  Quote
  3731  	)
  3732  
  3733  	// create path and map variables
  3734  	localVarPath := a.client.cfg.BasePath + "/quote"
  3735  	localVarHeaderParams := make(map[string]string)
  3736  	localVarQueryParams := _neturl.Values{}
  3737  	localVarFormParams := _neturl.Values{}
  3738  
  3739  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3740  	// to determine the Content-Type header
  3741  	localVarHTTPContentTypes := []string{}
  3742  
  3743  	// set Content-Type header
  3744  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3745  	if localVarHTTPContentType != "" {
  3746  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3747  	}
  3748  
  3749  	// to determine the Accept header
  3750  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3751  
  3752  	// set Accept header
  3753  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3754  	if localVarHTTPHeaderAccept != "" {
  3755  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3756  	}
  3757  	if ctx != nil {
  3758  		// API Key Authentication
  3759  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3760  			var key string
  3761  			if auth.Prefix != "" {
  3762  				key = auth.Prefix + " " + auth.Key
  3763  			} else {
  3764  				key = auth.Key
  3765  			}
  3766  			localVarQueryParams.Add("token", key)
  3767  		}
  3768  	}
  3769  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3770  	if err != nil {
  3771  		return localVarReturnValue, nil, err
  3772  	}
  3773  
  3774  	localVarHTTPResponse, err := a.client.callAPI(r)
  3775  	if err != nil || localVarHTTPResponse == nil {
  3776  		return localVarReturnValue, localVarHTTPResponse, err
  3777  	}
  3778  
  3779  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3780  	localVarHTTPResponse.Body.Close()
  3781  	if err != nil {
  3782  		return localVarReturnValue, localVarHTTPResponse, err
  3783  	}
  3784  
  3785  	if localVarHTTPResponse.StatusCode >= 300 {
  3786  		newErr := GenericOpenAPIError{
  3787  			body:  localVarBody,
  3788  			error: localVarHTTPResponse.Status,
  3789  		}
  3790  		return localVarReturnValue, localVarHTTPResponse, newErr
  3791  	}
  3792  
  3793  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3794  	if err != nil {
  3795  		newErr := GenericOpenAPIError{
  3796  			body:  localVarBody,
  3797  			error: err.Error(),
  3798  		}
  3799  		return localVarReturnValue, localVarHTTPResponse, newErr
  3800  	}
  3801  
  3802  	return localVarReturnValue, localVarHTTPResponse, nil
  3803  }
  3804  
  3805  /*
  3806  RecommendationTrends Recommendation Trends
  3807  Get latest analyst recommendation trends for a company.
  3808   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3809   * @param symbol Symbol of the company: AAPL.
  3810  @return []RecommendationTrend
  3811  */
  3812  func (a *DefaultApiService) RecommendationTrends(ctx _context.Context, symbol string) ([]RecommendationTrend, *_nethttp.Response, error) {
  3813  	var (
  3814  		localVarHTTPMethod   = _nethttp.MethodGet
  3815  		localVarPostBody     interface{}
  3816  		localVarFormFileName string
  3817  		localVarFileName     string
  3818  		localVarFileBytes    []byte
  3819  		localVarReturnValue  []RecommendationTrend
  3820  	)
  3821  
  3822  	// create path and map variables
  3823  	localVarPath := a.client.cfg.BasePath + "/stock/recommendation"
  3824  	localVarHeaderParams := make(map[string]string)
  3825  	localVarQueryParams := _neturl.Values{}
  3826  	localVarFormParams := _neturl.Values{}
  3827  
  3828  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  3829  	// to determine the Content-Type header
  3830  	localVarHTTPContentTypes := []string{}
  3831  
  3832  	// set Content-Type header
  3833  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3834  	if localVarHTTPContentType != "" {
  3835  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3836  	}
  3837  
  3838  	// to determine the Accept header
  3839  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3840  
  3841  	// set Accept header
  3842  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3843  	if localVarHTTPHeaderAccept != "" {
  3844  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3845  	}
  3846  	if ctx != nil {
  3847  		// API Key Authentication
  3848  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3849  			var key string
  3850  			if auth.Prefix != "" {
  3851  				key = auth.Prefix + " " + auth.Key
  3852  			} else {
  3853  				key = auth.Key
  3854  			}
  3855  			localVarQueryParams.Add("token", key)
  3856  		}
  3857  	}
  3858  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3859  	if err != nil {
  3860  		return localVarReturnValue, nil, err
  3861  	}
  3862  
  3863  	localVarHTTPResponse, err := a.client.callAPI(r)
  3864  	if err != nil || localVarHTTPResponse == nil {
  3865  		return localVarReturnValue, localVarHTTPResponse, err
  3866  	}
  3867  
  3868  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3869  	localVarHTTPResponse.Body.Close()
  3870  	if err != nil {
  3871  		return localVarReturnValue, localVarHTTPResponse, err
  3872  	}
  3873  
  3874  	if localVarHTTPResponse.StatusCode >= 300 {
  3875  		newErr := GenericOpenAPIError{
  3876  			body:  localVarBody,
  3877  			error: localVarHTTPResponse.Status,
  3878  		}
  3879  		return localVarReturnValue, localVarHTTPResponse, newErr
  3880  	}
  3881  
  3882  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3883  	if err != nil {
  3884  		newErr := GenericOpenAPIError{
  3885  			body:  localVarBody,
  3886  			error: err.Error(),
  3887  		}
  3888  		return localVarReturnValue, localVarHTTPResponse, newErr
  3889  	}
  3890  
  3891  	return localVarReturnValue, localVarHTTPResponse, nil
  3892  }
  3893  
  3894  // SimilarityIndexOpts Optional parameters for the method 'SimilarityIndex'
  3895  type SimilarityIndexOpts struct {
  3896  	Symbol optional.String
  3897  	Cik    optional.String
  3898  	Freq   optional.String
  3899  }
  3900  
  3901  /*
  3902  SimilarityIndex Similarity Index
  3903  &lt;p&gt;Calculate the textual difference between a company&#39;s 10-K / 10-Q reports and the same type of report in the previous year using Cosine Similarity. For example, this endpoint compares 2019&#39;s 10-K with 2018&#39;s 10-K. Companies breaking from its routines in disclosure of financial condition and risk analysis section can signal a significant change in the company&#39;s stock price in the upcoming 4 quarters.&lt;/p&gt;
  3904   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  3905   * @param optional nil or *SimilarityIndexOpts - Optional Parameters:
  3906   * @param "Symbol" (optional.String) -  Symbol. Required if cik is empty
  3907   * @param "Cik" (optional.String) -  CIK. Required if symbol is empty
  3908   * @param "Freq" (optional.String) -  <code>annual</code> or <code>quarterly</code>. Default to <code>annual</code>
  3909  @return SimilarityIndex
  3910  */
  3911  func (a *DefaultApiService) SimilarityIndex(ctx _context.Context, localVarOptionals *SimilarityIndexOpts) (SimilarityIndex, *_nethttp.Response, error) {
  3912  	var (
  3913  		localVarHTTPMethod   = _nethttp.MethodGet
  3914  		localVarPostBody     interface{}
  3915  		localVarFormFileName string
  3916  		localVarFileName     string
  3917  		localVarFileBytes    []byte
  3918  		localVarReturnValue  SimilarityIndex
  3919  	)
  3920  
  3921  	// create path and map variables
  3922  	localVarPath := a.client.cfg.BasePath + "/stock/similarity-index"
  3923  	localVarHeaderParams := make(map[string]string)
  3924  	localVarQueryParams := _neturl.Values{}
  3925  	localVarFormParams := _neturl.Values{}
  3926  
  3927  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
  3928  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
  3929  	}
  3930  	if localVarOptionals != nil && localVarOptionals.Cik.IsSet() {
  3931  		localVarQueryParams.Add("cik", parameterToString(localVarOptionals.Cik.Value(), ""))
  3932  	}
  3933  	if localVarOptionals != nil && localVarOptionals.Freq.IsSet() {
  3934  		localVarQueryParams.Add("freq", parameterToString(localVarOptionals.Freq.Value(), ""))
  3935  	}
  3936  	// to determine the Content-Type header
  3937  	localVarHTTPContentTypes := []string{}
  3938  
  3939  	// set Content-Type header
  3940  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  3941  	if localVarHTTPContentType != "" {
  3942  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  3943  	}
  3944  
  3945  	// to determine the Accept header
  3946  	localVarHTTPHeaderAccepts := []string{"application/json"}
  3947  
  3948  	// set Accept header
  3949  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  3950  	if localVarHTTPHeaderAccept != "" {
  3951  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  3952  	}
  3953  	if ctx != nil {
  3954  		// API Key Authentication
  3955  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  3956  			var key string
  3957  			if auth.Prefix != "" {
  3958  				key = auth.Prefix + " " + auth.Key
  3959  			} else {
  3960  				key = auth.Key
  3961  			}
  3962  			localVarQueryParams.Add("token", key)
  3963  		}
  3964  	}
  3965  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  3966  	if err != nil {
  3967  		return localVarReturnValue, nil, err
  3968  	}
  3969  
  3970  	localVarHTTPResponse, err := a.client.callAPI(r)
  3971  	if err != nil || localVarHTTPResponse == nil {
  3972  		return localVarReturnValue, localVarHTTPResponse, err
  3973  	}
  3974  
  3975  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  3976  	localVarHTTPResponse.Body.Close()
  3977  	if err != nil {
  3978  		return localVarReturnValue, localVarHTTPResponse, err
  3979  	}
  3980  
  3981  	if localVarHTTPResponse.StatusCode >= 300 {
  3982  		newErr := GenericOpenAPIError{
  3983  			body:  localVarBody,
  3984  			error: localVarHTTPResponse.Status,
  3985  		}
  3986  		return localVarReturnValue, localVarHTTPResponse, newErr
  3987  	}
  3988  
  3989  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  3990  	if err != nil {
  3991  		newErr := GenericOpenAPIError{
  3992  			body:  localVarBody,
  3993  			error: err.Error(),
  3994  		}
  3995  		return localVarReturnValue, localVarHTTPResponse, newErr
  3996  	}
  3997  
  3998  	return localVarReturnValue, localVarHTTPResponse, nil
  3999  }
  4000  
  4001  /*
  4002  StockBidask Last Bid-Ask
  4003  Get last bid/ask data for US stocks.
  4004   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4005   * @param symbol Symbol.
  4006  @return LastBidAsk
  4007  */
  4008  func (a *DefaultApiService) StockBidask(ctx _context.Context, symbol string) (LastBidAsk, *_nethttp.Response, error) {
  4009  	var (
  4010  		localVarHTTPMethod   = _nethttp.MethodGet
  4011  		localVarPostBody     interface{}
  4012  		localVarFormFileName string
  4013  		localVarFileName     string
  4014  		localVarFileBytes    []byte
  4015  		localVarReturnValue  LastBidAsk
  4016  	)
  4017  
  4018  	// create path and map variables
  4019  	localVarPath := a.client.cfg.BasePath + "/stock/bidask"
  4020  	localVarHeaderParams := make(map[string]string)
  4021  	localVarQueryParams := _neturl.Values{}
  4022  	localVarFormParams := _neturl.Values{}
  4023  
  4024  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4025  	// to determine the Content-Type header
  4026  	localVarHTTPContentTypes := []string{}
  4027  
  4028  	// set Content-Type header
  4029  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4030  	if localVarHTTPContentType != "" {
  4031  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4032  	}
  4033  
  4034  	// to determine the Accept header
  4035  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4036  
  4037  	// set Accept header
  4038  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4039  	if localVarHTTPHeaderAccept != "" {
  4040  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4041  	}
  4042  	if ctx != nil {
  4043  		// API Key Authentication
  4044  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4045  			var key string
  4046  			if auth.Prefix != "" {
  4047  				key = auth.Prefix + " " + auth.Key
  4048  			} else {
  4049  				key = auth.Key
  4050  			}
  4051  			localVarQueryParams.Add("token", key)
  4052  		}
  4053  	}
  4054  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4055  	if err != nil {
  4056  		return localVarReturnValue, nil, err
  4057  	}
  4058  
  4059  	localVarHTTPResponse, err := a.client.callAPI(r)
  4060  	if err != nil || localVarHTTPResponse == nil {
  4061  		return localVarReturnValue, localVarHTTPResponse, err
  4062  	}
  4063  
  4064  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4065  	localVarHTTPResponse.Body.Close()
  4066  	if err != nil {
  4067  		return localVarReturnValue, localVarHTTPResponse, err
  4068  	}
  4069  
  4070  	if localVarHTTPResponse.StatusCode >= 300 {
  4071  		newErr := GenericOpenAPIError{
  4072  			body:  localVarBody,
  4073  			error: localVarHTTPResponse.Status,
  4074  		}
  4075  		return localVarReturnValue, localVarHTTPResponse, newErr
  4076  	}
  4077  
  4078  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4079  	if err != nil {
  4080  		newErr := GenericOpenAPIError{
  4081  			body:  localVarBody,
  4082  			error: err.Error(),
  4083  		}
  4084  		return localVarReturnValue, localVarHTTPResponse, newErr
  4085  	}
  4086  
  4087  	return localVarReturnValue, localVarHTTPResponse, nil
  4088  }
  4089  
  4090  // StockCandlesOpts Optional parameters for the method 'StockCandles'
  4091  type StockCandlesOpts struct {
  4092  	Adjusted optional.String
  4093  }
  4094  
  4095  /*
  4096  StockCandles Stock Candles
  4097  &lt;p&gt;Get candlestick data for stocks going back 25 years for US stocks.&lt;/p&gt;&lt;p&gt;Real-time stock prices for international markets are supported for Enterprise clients via our partner&#39;s feed. &lt;a href&#x3D;\&quot;mailto:support@finnhub.io\&quot;&gt;Contact Us&lt;/a&gt; to learn more.&lt;/p&gt;
  4098   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4099   * @param symbol Symbol.
  4100   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
  4101   * @param from UNIX timestamp. Interval initial value.
  4102   * @param to UNIX timestamp. Interval end value.
  4103   * @param optional nil or *StockCandlesOpts - Optional Parameters:
  4104   * @param "Adjusted" (optional.String) -  By default, <code>adjusted=false</code>. Use <code>true</code> to get adjusted data.
  4105  @return StockCandles
  4106  */
  4107  func (a *DefaultApiService) StockCandles(ctx _context.Context, symbol string, resolution string, from int64, to int64, localVarOptionals *StockCandlesOpts) (StockCandles, *_nethttp.Response, error) {
  4108  	var (
  4109  		localVarHTTPMethod   = _nethttp.MethodGet
  4110  		localVarPostBody     interface{}
  4111  		localVarFormFileName string
  4112  		localVarFileName     string
  4113  		localVarFileBytes    []byte
  4114  		localVarReturnValue  StockCandles
  4115  	)
  4116  
  4117  	// create path and map variables
  4118  	localVarPath := a.client.cfg.BasePath + "/stock/candle"
  4119  	localVarHeaderParams := make(map[string]string)
  4120  	localVarQueryParams := _neturl.Values{}
  4121  	localVarFormParams := _neturl.Values{}
  4122  
  4123  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4124  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
  4125  	localVarQueryParams.Add("from", parameterToString(from, ""))
  4126  	localVarQueryParams.Add("to", parameterToString(to, ""))
  4127  	if localVarOptionals != nil && localVarOptionals.Adjusted.IsSet() {
  4128  		localVarQueryParams.Add("adjusted", parameterToString(localVarOptionals.Adjusted.Value(), ""))
  4129  	}
  4130  	// to determine the Content-Type header
  4131  	localVarHTTPContentTypes := []string{}
  4132  
  4133  	// set Content-Type header
  4134  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4135  	if localVarHTTPContentType != "" {
  4136  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4137  	}
  4138  
  4139  	// to determine the Accept header
  4140  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4141  
  4142  	// set Accept header
  4143  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4144  	if localVarHTTPHeaderAccept != "" {
  4145  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4146  	}
  4147  	if ctx != nil {
  4148  		// API Key Authentication
  4149  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4150  			var key string
  4151  			if auth.Prefix != "" {
  4152  				key = auth.Prefix + " " + auth.Key
  4153  			} else {
  4154  				key = auth.Key
  4155  			}
  4156  			localVarQueryParams.Add("token", key)
  4157  		}
  4158  	}
  4159  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4160  	if err != nil {
  4161  		return localVarReturnValue, nil, err
  4162  	}
  4163  
  4164  	localVarHTTPResponse, err := a.client.callAPI(r)
  4165  	if err != nil || localVarHTTPResponse == nil {
  4166  		return localVarReturnValue, localVarHTTPResponse, err
  4167  	}
  4168  
  4169  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4170  	localVarHTTPResponse.Body.Close()
  4171  	if err != nil {
  4172  		return localVarReturnValue, localVarHTTPResponse, err
  4173  	}
  4174  
  4175  	if localVarHTTPResponse.StatusCode >= 300 {
  4176  		newErr := GenericOpenAPIError{
  4177  			body:  localVarBody,
  4178  			error: localVarHTTPResponse.Status,
  4179  		}
  4180  		return localVarReturnValue, localVarHTTPResponse, newErr
  4181  	}
  4182  
  4183  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4184  	if err != nil {
  4185  		newErr := GenericOpenAPIError{
  4186  			body:  localVarBody,
  4187  			error: err.Error(),
  4188  		}
  4189  		return localVarReturnValue, localVarHTTPResponse, newErr
  4190  	}
  4191  
  4192  	return localVarReturnValue, localVarHTTPResponse, nil
  4193  }
  4194  
  4195  /*
  4196  StockDividends Dividends
  4197  Get dividends data for common stocks going back 30 years.
  4198   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4199   * @param symbol Symbol.
  4200   * @param from YYYY-MM-DD.
  4201   * @param to YYYY-MM-DD.
  4202  @return []Dividends
  4203  */
  4204  func (a *DefaultApiService) StockDividends(ctx _context.Context, symbol string, from string, to string) ([]Dividends, *_nethttp.Response, error) {
  4205  	var (
  4206  		localVarHTTPMethod   = _nethttp.MethodGet
  4207  		localVarPostBody     interface{}
  4208  		localVarFormFileName string
  4209  		localVarFileName     string
  4210  		localVarFileBytes    []byte
  4211  		localVarReturnValue  []Dividends
  4212  	)
  4213  
  4214  	// create path and map variables
  4215  	localVarPath := a.client.cfg.BasePath + "/stock/dividend"
  4216  	localVarHeaderParams := make(map[string]string)
  4217  	localVarQueryParams := _neturl.Values{}
  4218  	localVarFormParams := _neturl.Values{}
  4219  
  4220  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4221  	localVarQueryParams.Add("from", parameterToString(from, ""))
  4222  	localVarQueryParams.Add("to", parameterToString(to, ""))
  4223  	// to determine the Content-Type header
  4224  	localVarHTTPContentTypes := []string{}
  4225  
  4226  	// set Content-Type header
  4227  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4228  	if localVarHTTPContentType != "" {
  4229  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4230  	}
  4231  
  4232  	// to determine the Accept header
  4233  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4234  
  4235  	// set Accept header
  4236  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4237  	if localVarHTTPHeaderAccept != "" {
  4238  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4239  	}
  4240  	if ctx != nil {
  4241  		// API Key Authentication
  4242  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4243  			var key string
  4244  			if auth.Prefix != "" {
  4245  				key = auth.Prefix + " " + auth.Key
  4246  			} else {
  4247  				key = auth.Key
  4248  			}
  4249  			localVarQueryParams.Add("token", key)
  4250  		}
  4251  	}
  4252  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4253  	if err != nil {
  4254  		return localVarReturnValue, nil, err
  4255  	}
  4256  
  4257  	localVarHTTPResponse, err := a.client.callAPI(r)
  4258  	if err != nil || localVarHTTPResponse == nil {
  4259  		return localVarReturnValue, localVarHTTPResponse, err
  4260  	}
  4261  
  4262  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4263  	localVarHTTPResponse.Body.Close()
  4264  	if err != nil {
  4265  		return localVarReturnValue, localVarHTTPResponse, err
  4266  	}
  4267  
  4268  	if localVarHTTPResponse.StatusCode >= 300 {
  4269  		newErr := GenericOpenAPIError{
  4270  			body:  localVarBody,
  4271  			error: localVarHTTPResponse.Status,
  4272  		}
  4273  		return localVarReturnValue, localVarHTTPResponse, newErr
  4274  	}
  4275  
  4276  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4277  	if err != nil {
  4278  		newErr := GenericOpenAPIError{
  4279  			body:  localVarBody,
  4280  			error: err.Error(),
  4281  		}
  4282  		return localVarReturnValue, localVarHTTPResponse, newErr
  4283  	}
  4284  
  4285  	return localVarReturnValue, localVarHTTPResponse, nil
  4286  }
  4287  
  4288  /*
  4289  StockSplits Splits
  4290  Get splits data for stocks.
  4291   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4292   * @param symbol Symbol.
  4293   * @param from YYYY-MM-DD.
  4294   * @param to YYYY-MM-DD.
  4295  @return []Split
  4296  */
  4297  func (a *DefaultApiService) StockSplits(ctx _context.Context, symbol string, from string, to string) ([]Split, *_nethttp.Response, error) {
  4298  	var (
  4299  		localVarHTTPMethod   = _nethttp.MethodGet
  4300  		localVarPostBody     interface{}
  4301  		localVarFormFileName string
  4302  		localVarFileName     string
  4303  		localVarFileBytes    []byte
  4304  		localVarReturnValue  []Split
  4305  	)
  4306  
  4307  	// create path and map variables
  4308  	localVarPath := a.client.cfg.BasePath + "/stock/split"
  4309  	localVarHeaderParams := make(map[string]string)
  4310  	localVarQueryParams := _neturl.Values{}
  4311  	localVarFormParams := _neturl.Values{}
  4312  
  4313  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4314  	localVarQueryParams.Add("from", parameterToString(from, ""))
  4315  	localVarQueryParams.Add("to", parameterToString(to, ""))
  4316  	// to determine the Content-Type header
  4317  	localVarHTTPContentTypes := []string{}
  4318  
  4319  	// set Content-Type header
  4320  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4321  	if localVarHTTPContentType != "" {
  4322  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4323  	}
  4324  
  4325  	// to determine the Accept header
  4326  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4327  
  4328  	// set Accept header
  4329  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4330  	if localVarHTTPHeaderAccept != "" {
  4331  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4332  	}
  4333  	if ctx != nil {
  4334  		// API Key Authentication
  4335  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4336  			var key string
  4337  			if auth.Prefix != "" {
  4338  				key = auth.Prefix + " " + auth.Key
  4339  			} else {
  4340  				key = auth.Key
  4341  			}
  4342  			localVarQueryParams.Add("token", key)
  4343  		}
  4344  	}
  4345  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4346  	if err != nil {
  4347  		return localVarReturnValue, nil, err
  4348  	}
  4349  
  4350  	localVarHTTPResponse, err := a.client.callAPI(r)
  4351  	if err != nil || localVarHTTPResponse == nil {
  4352  		return localVarReturnValue, localVarHTTPResponse, err
  4353  	}
  4354  
  4355  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4356  	localVarHTTPResponse.Body.Close()
  4357  	if err != nil {
  4358  		return localVarReturnValue, localVarHTTPResponse, err
  4359  	}
  4360  
  4361  	if localVarHTTPResponse.StatusCode >= 300 {
  4362  		newErr := GenericOpenAPIError{
  4363  			body:  localVarBody,
  4364  			error: localVarHTTPResponse.Status,
  4365  		}
  4366  		return localVarReturnValue, localVarHTTPResponse, newErr
  4367  	}
  4368  
  4369  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4370  	if err != nil {
  4371  		newErr := GenericOpenAPIError{
  4372  			body:  localVarBody,
  4373  			error: err.Error(),
  4374  		}
  4375  		return localVarReturnValue, localVarHTTPResponse, newErr
  4376  	}
  4377  
  4378  	return localVarReturnValue, localVarHTTPResponse, nil
  4379  }
  4380  
  4381  /*
  4382  StockSymbols Stock Symbol
  4383  List supported stocks. A list of supported CFD Indices can be found &lt;a href&#x3D;\&quot;https://docs.google.com/spreadsheets/d/1BAbIXBgl405fj0oHeEyRFEu8mW4QD1PhvtaBATLoR14/edit?usp&#x3D;sharing\&quot; target&#x3D;\&quot;_blank\&quot;&gt;here&lt;/a&gt;.
  4384   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4385   * @param exchange Exchange you want to get the list of symbols from. List of exchanges with fundamental data can be found <a href=\"https://docs.google.com/spreadsheets/d/1I3pBxjfXB056-g_JYf_6o3Rns3BV2kMGG1nCatb91ls/edit?usp=sharing\" target=\"_blank\">here</a>.
  4386  @return []Stock
  4387  */
  4388  func (a *DefaultApiService) StockSymbols(ctx _context.Context, exchange string) ([]Stock, *_nethttp.Response, error) {
  4389  	var (
  4390  		localVarHTTPMethod   = _nethttp.MethodGet
  4391  		localVarPostBody     interface{}
  4392  		localVarFormFileName string
  4393  		localVarFileName     string
  4394  		localVarFileBytes    []byte
  4395  		localVarReturnValue  []Stock
  4396  	)
  4397  
  4398  	// create path and map variables
  4399  	localVarPath := a.client.cfg.BasePath + "/stock/symbol"
  4400  	localVarHeaderParams := make(map[string]string)
  4401  	localVarQueryParams := _neturl.Values{}
  4402  	localVarFormParams := _neturl.Values{}
  4403  
  4404  	localVarQueryParams.Add("exchange", parameterToString(exchange, ""))
  4405  	// to determine the Content-Type header
  4406  	localVarHTTPContentTypes := []string{}
  4407  
  4408  	// set Content-Type header
  4409  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4410  	if localVarHTTPContentType != "" {
  4411  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4412  	}
  4413  
  4414  	// to determine the Accept header
  4415  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4416  
  4417  	// set Accept header
  4418  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4419  	if localVarHTTPHeaderAccept != "" {
  4420  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4421  	}
  4422  	if ctx != nil {
  4423  		// API Key Authentication
  4424  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4425  			var key string
  4426  			if auth.Prefix != "" {
  4427  				key = auth.Prefix + " " + auth.Key
  4428  			} else {
  4429  				key = auth.Key
  4430  			}
  4431  			localVarQueryParams.Add("token", key)
  4432  		}
  4433  	}
  4434  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4435  	if err != nil {
  4436  		return localVarReturnValue, nil, err
  4437  	}
  4438  
  4439  	localVarHTTPResponse, err := a.client.callAPI(r)
  4440  	if err != nil || localVarHTTPResponse == nil {
  4441  		return localVarReturnValue, localVarHTTPResponse, err
  4442  	}
  4443  
  4444  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4445  	localVarHTTPResponse.Body.Close()
  4446  	if err != nil {
  4447  		return localVarReturnValue, localVarHTTPResponse, err
  4448  	}
  4449  
  4450  	if localVarHTTPResponse.StatusCode >= 300 {
  4451  		newErr := GenericOpenAPIError{
  4452  			body:  localVarBody,
  4453  			error: localVarHTTPResponse.Status,
  4454  		}
  4455  		return localVarReturnValue, localVarHTTPResponse, newErr
  4456  	}
  4457  
  4458  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4459  	if err != nil {
  4460  		newErr := GenericOpenAPIError{
  4461  			body:  localVarBody,
  4462  			error: err.Error(),
  4463  		}
  4464  		return localVarReturnValue, localVarHTTPResponse, newErr
  4465  	}
  4466  
  4467  	return localVarReturnValue, localVarHTTPResponse, nil
  4468  }
  4469  
  4470  /*
  4471  StockTick Tick Data
  4472  &lt;p&gt;Get historical tick data for US stocks from all 13 exchanges. You can send the request directly to our tick server at &lt;a href&#x3D;\&quot;https://tick.finnhub.io/\&quot;&gt;https://tick.finnhub.io/&lt;/a&gt; with the same path and parameters or get redirected there if you call our main server. Data is updated at the end of each trading day.&lt;/p&gt;&lt;p&gt;Tick data from 1985 is available for Enterprise clients. &lt;a href&#x3D;\&quot;mailto:support@finnhub.io\&quot;&gt;Contact us&lt;/a&gt; to learn more.&lt;/p&gt;
  4473   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4474   * @param symbol Symbol.
  4475   * @param date Date: 2020-04-02.
  4476   * @param limit Limit number of ticks returned. Maximum value: <code>25000</code>
  4477   * @param skip Number of ticks to skip. Use this parameter to loop through the entire data.
  4478  @return TickData
  4479  */
  4480  func (a *DefaultApiService) StockTick(ctx _context.Context, symbol string, date string, limit int64, skip int64) (TickData, *_nethttp.Response, error) {
  4481  	var (
  4482  		localVarHTTPMethod   = _nethttp.MethodGet
  4483  		localVarPostBody     interface{}
  4484  		localVarFormFileName string
  4485  		localVarFileName     string
  4486  		localVarFileBytes    []byte
  4487  		localVarReturnValue  TickData
  4488  	)
  4489  
  4490  	// create path and map variables
  4491  	localVarPath := a.client.cfg.BasePath + "/stock/tick"
  4492  	localVarHeaderParams := make(map[string]string)
  4493  	localVarQueryParams := _neturl.Values{}
  4494  	localVarFormParams := _neturl.Values{}
  4495  
  4496  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4497  	localVarQueryParams.Add("date", parameterToString(date, ""))
  4498  	localVarQueryParams.Add("limit", parameterToString(limit, ""))
  4499  	localVarQueryParams.Add("skip", parameterToString(skip, ""))
  4500  	// to determine the Content-Type header
  4501  	localVarHTTPContentTypes := []string{}
  4502  
  4503  	// set Content-Type header
  4504  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4505  	if localVarHTTPContentType != "" {
  4506  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4507  	}
  4508  
  4509  	// to determine the Accept header
  4510  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4511  
  4512  	// set Accept header
  4513  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4514  	if localVarHTTPHeaderAccept != "" {
  4515  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4516  	}
  4517  	if ctx != nil {
  4518  		// API Key Authentication
  4519  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4520  			var key string
  4521  			if auth.Prefix != "" {
  4522  				key = auth.Prefix + " " + auth.Key
  4523  			} else {
  4524  				key = auth.Key
  4525  			}
  4526  			localVarQueryParams.Add("token", key)
  4527  		}
  4528  	}
  4529  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4530  	if err != nil {
  4531  		return localVarReturnValue, nil, err
  4532  	}
  4533  
  4534  	localVarHTTPResponse, err := a.client.callAPI(r)
  4535  	if err != nil || localVarHTTPResponse == nil {
  4536  		return localVarReturnValue, localVarHTTPResponse, err
  4537  	}
  4538  
  4539  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4540  	localVarHTTPResponse.Body.Close()
  4541  	if err != nil {
  4542  		return localVarReturnValue, localVarHTTPResponse, err
  4543  	}
  4544  
  4545  	if localVarHTTPResponse.StatusCode >= 300 {
  4546  		newErr := GenericOpenAPIError{
  4547  			body:  localVarBody,
  4548  			error: localVarHTTPResponse.Status,
  4549  		}
  4550  		return localVarReturnValue, localVarHTTPResponse, newErr
  4551  	}
  4552  
  4553  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4554  	if err != nil {
  4555  		newErr := GenericOpenAPIError{
  4556  			body:  localVarBody,
  4557  			error: err.Error(),
  4558  		}
  4559  		return localVarReturnValue, localVarHTTPResponse, newErr
  4560  	}
  4561  
  4562  	return localVarReturnValue, localVarHTTPResponse, nil
  4563  }
  4564  
  4565  /*
  4566  SupportResistance Support/Resistance
  4567  Get support and resistance levels for a symbol.
  4568   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4569   * @param symbol Symbol
  4570   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
  4571  @return SupportResistance
  4572  */
  4573  func (a *DefaultApiService) SupportResistance(ctx _context.Context, symbol string, resolution string) (SupportResistance, *_nethttp.Response, error) {
  4574  	var (
  4575  		localVarHTTPMethod   = _nethttp.MethodGet
  4576  		localVarPostBody     interface{}
  4577  		localVarFormFileName string
  4578  		localVarFileName     string
  4579  		localVarFileBytes    []byte
  4580  		localVarReturnValue  SupportResistance
  4581  	)
  4582  
  4583  	// create path and map variables
  4584  	localVarPath := a.client.cfg.BasePath + "/scan/support-resistance"
  4585  	localVarHeaderParams := make(map[string]string)
  4586  	localVarQueryParams := _neturl.Values{}
  4587  	localVarFormParams := _neturl.Values{}
  4588  
  4589  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4590  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
  4591  	// to determine the Content-Type header
  4592  	localVarHTTPContentTypes := []string{}
  4593  
  4594  	// set Content-Type header
  4595  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4596  	if localVarHTTPContentType != "" {
  4597  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4598  	}
  4599  
  4600  	// to determine the Accept header
  4601  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4602  
  4603  	// set Accept header
  4604  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4605  	if localVarHTTPHeaderAccept != "" {
  4606  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4607  	}
  4608  	if ctx != nil {
  4609  		// API Key Authentication
  4610  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4611  			var key string
  4612  			if auth.Prefix != "" {
  4613  				key = auth.Prefix + " " + auth.Key
  4614  			} else {
  4615  				key = auth.Key
  4616  			}
  4617  			localVarQueryParams.Add("token", key)
  4618  		}
  4619  	}
  4620  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4621  	if err != nil {
  4622  		return localVarReturnValue, nil, err
  4623  	}
  4624  
  4625  	localVarHTTPResponse, err := a.client.callAPI(r)
  4626  	if err != nil || localVarHTTPResponse == nil {
  4627  		return localVarReturnValue, localVarHTTPResponse, err
  4628  	}
  4629  
  4630  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4631  	localVarHTTPResponse.Body.Close()
  4632  	if err != nil {
  4633  		return localVarReturnValue, localVarHTTPResponse, err
  4634  	}
  4635  
  4636  	if localVarHTTPResponse.StatusCode >= 300 {
  4637  		newErr := GenericOpenAPIError{
  4638  			body:  localVarBody,
  4639  			error: localVarHTTPResponse.Status,
  4640  		}
  4641  		return localVarReturnValue, localVarHTTPResponse, newErr
  4642  	}
  4643  
  4644  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4645  	if err != nil {
  4646  		newErr := GenericOpenAPIError{
  4647  			body:  localVarBody,
  4648  			error: err.Error(),
  4649  		}
  4650  		return localVarReturnValue, localVarHTTPResponse, newErr
  4651  	}
  4652  
  4653  	return localVarReturnValue, localVarHTTPResponse, nil
  4654  }
  4655  
  4656  // TechnicalIndicatorOpts Optional parameters for the method 'TechnicalIndicator'
  4657  type TechnicalIndicatorOpts struct {
  4658  	IndicatorFields map[string]interface{}
  4659  }
  4660  
  4661  /*
  4662  TechnicalIndicator Technical Indicators
  4663  Return technical indicator with price data. List of supported indicators can be found &lt;a href&#x3D;\&quot;https://docs.google.com/spreadsheets/d/1ylUvKHVYN2E87WdwIza8ROaCpd48ggEl1k5i5SgA29k/edit?usp&#x3D;sharing\&quot; target&#x3D;\&quot;_blank\&quot;&gt;here&lt;/a&gt;.
  4664   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4665   * @param symbol symbol
  4666   * @param resolution Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
  4667   * @param from UNIX timestamp. Interval initial value.
  4668   * @param to UNIX timestamp. Interval end value.
  4669   * @param indicator Indicator name. Full list can be found <a href=\"https://docs.google.com/spreadsheets/d/1ylUvKHVYN2E87WdwIza8ROaCpd48ggEl1k5i5SgA29k/edit?usp=sharing\" target=\"_blank\">here</a>.
  4670   * @param optional nil or *TechnicalIndicatorOpts - Optional Parameters:
  4671   * @param "IndicatorFields" (optional.Map[string]interface{}) -  Check out <a href=\"https://docs.google.com/spreadsheets/d/1ylUvKHVYN2E87WdwIza8ROaCpd48ggEl1k5i5SgA29k/edit?usp=sharing\" target=\"_blank\">this page</a> to see which indicators and params are supported.
  4672  @return map[string]interface{}
  4673  */
  4674  func (a *DefaultApiService) TechnicalIndicator(ctx _context.Context, symbol string, resolution string, from int64, to int64, indicator string, localVarOptionals *TechnicalIndicatorOpts) (map[string]interface{}, *_nethttp.Response, error) {
  4675  	var (
  4676  		localVarHTTPMethod   = _nethttp.MethodPost
  4677  		localVarPostBody     interface{}
  4678  		localVarFormFileName string
  4679  		localVarFileName     string
  4680  		localVarFileBytes    []byte
  4681  		localVarReturnValue  map[string]interface{}
  4682  	)
  4683  
  4684  	// create path and map variables
  4685  	localVarPath := a.client.cfg.BasePath + "/indicator"
  4686  	localVarHeaderParams := make(map[string]string)
  4687  	localVarQueryParams := _neturl.Values{}
  4688  	localVarFormParams := _neturl.Values{}
  4689  
  4690  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4691  	localVarQueryParams.Add("resolution", parameterToString(resolution, ""))
  4692  	localVarQueryParams.Add("from", parameterToString(from, ""))
  4693  	localVarQueryParams.Add("to", parameterToString(to, ""))
  4694  	localVarQueryParams.Add("indicator", parameterToString(indicator, ""))
  4695  	// to determine the Content-Type header
  4696  	localVarHTTPContentTypes := []string{"application/json"}
  4697  
  4698  	// set Content-Type header
  4699  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4700  	if localVarHTTPContentType != "" {
  4701  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4702  	}
  4703  
  4704  	// to determine the Accept header
  4705  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4706  
  4707  	// set Accept header
  4708  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4709  	if localVarHTTPHeaderAccept != "" {
  4710  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4711  	}
  4712  	// body params
  4713  	if localVarOptionals != nil && localVarOptionals.IndicatorFields != nil {
  4714  		localVarPostBody = localVarOptionals.IndicatorFields
  4715  	}
  4716  
  4717  	if ctx != nil {
  4718  		// API Key Authentication
  4719  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4720  			var key string
  4721  			if auth.Prefix != "" {
  4722  				key = auth.Prefix + " " + auth.Key
  4723  			} else {
  4724  				key = auth.Key
  4725  			}
  4726  			localVarQueryParams.Add("token", key)
  4727  		}
  4728  	}
  4729  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4730  	if err != nil {
  4731  		return localVarReturnValue, nil, err
  4732  	}
  4733  
  4734  	localVarHTTPResponse, err := a.client.callAPI(r)
  4735  	if err != nil || localVarHTTPResponse == nil {
  4736  		return localVarReturnValue, localVarHTTPResponse, err
  4737  	}
  4738  
  4739  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4740  	localVarHTTPResponse.Body.Close()
  4741  	if err != nil {
  4742  		return localVarReturnValue, localVarHTTPResponse, err
  4743  	}
  4744  
  4745  	if localVarHTTPResponse.StatusCode >= 300 {
  4746  		newErr := GenericOpenAPIError{
  4747  			body:  localVarBody,
  4748  			error: localVarHTTPResponse.Status,
  4749  		}
  4750  		return localVarReturnValue, localVarHTTPResponse, newErr
  4751  	}
  4752  
  4753  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4754  	if err != nil {
  4755  		newErr := GenericOpenAPIError{
  4756  			body:  localVarBody,
  4757  			error: err.Error(),
  4758  		}
  4759  		return localVarReturnValue, localVarHTTPResponse, newErr
  4760  	}
  4761  
  4762  	return localVarReturnValue, localVarHTTPResponse, nil
  4763  }
  4764  
  4765  /*
  4766  Transcripts Earnings Call Transcripts
  4767  &lt;p&gt;Get earnings call transcripts, audio and participants&#39; list. This endpoint is only available for US companies. &lt;p&gt;17+ years of data is available with 170,000+ audio which add up to 6TB in size.&lt;/p&gt;
  4768   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4769   * @param id Transcript's id obtained with <a href=\"#transcripts-list\">Transcripts List endpoint</a>.
  4770  @return EarningsCallTranscripts
  4771  */
  4772  func (a *DefaultApiService) Transcripts(ctx _context.Context, id string) (EarningsCallTranscripts, *_nethttp.Response, error) {
  4773  	var (
  4774  		localVarHTTPMethod   = _nethttp.MethodGet
  4775  		localVarPostBody     interface{}
  4776  		localVarFormFileName string
  4777  		localVarFileName     string
  4778  		localVarFileBytes    []byte
  4779  		localVarReturnValue  EarningsCallTranscripts
  4780  	)
  4781  
  4782  	// create path and map variables
  4783  	localVarPath := a.client.cfg.BasePath + "/stock/transcripts"
  4784  	localVarHeaderParams := make(map[string]string)
  4785  	localVarQueryParams := _neturl.Values{}
  4786  	localVarFormParams := _neturl.Values{}
  4787  
  4788  	localVarQueryParams.Add("id", parameterToString(id, ""))
  4789  	// to determine the Content-Type header
  4790  	localVarHTTPContentTypes := []string{}
  4791  
  4792  	// set Content-Type header
  4793  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4794  	if localVarHTTPContentType != "" {
  4795  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4796  	}
  4797  
  4798  	// to determine the Accept header
  4799  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4800  
  4801  	// set Accept header
  4802  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4803  	if localVarHTTPHeaderAccept != "" {
  4804  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4805  	}
  4806  	if ctx != nil {
  4807  		// API Key Authentication
  4808  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4809  			var key string
  4810  			if auth.Prefix != "" {
  4811  				key = auth.Prefix + " " + auth.Key
  4812  			} else {
  4813  				key = auth.Key
  4814  			}
  4815  			localVarQueryParams.Add("token", key)
  4816  		}
  4817  	}
  4818  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4819  	if err != nil {
  4820  		return localVarReturnValue, nil, err
  4821  	}
  4822  
  4823  	localVarHTTPResponse, err := a.client.callAPI(r)
  4824  	if err != nil || localVarHTTPResponse == nil {
  4825  		return localVarReturnValue, localVarHTTPResponse, err
  4826  	}
  4827  
  4828  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4829  	localVarHTTPResponse.Body.Close()
  4830  	if err != nil {
  4831  		return localVarReturnValue, localVarHTTPResponse, err
  4832  	}
  4833  
  4834  	if localVarHTTPResponse.StatusCode >= 300 {
  4835  		newErr := GenericOpenAPIError{
  4836  			body:  localVarBody,
  4837  			error: localVarHTTPResponse.Status,
  4838  		}
  4839  		return localVarReturnValue, localVarHTTPResponse, newErr
  4840  	}
  4841  
  4842  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4843  	if err != nil {
  4844  		newErr := GenericOpenAPIError{
  4845  			body:  localVarBody,
  4846  			error: err.Error(),
  4847  		}
  4848  		return localVarReturnValue, localVarHTTPResponse, newErr
  4849  	}
  4850  
  4851  	return localVarReturnValue, localVarHTTPResponse, nil
  4852  }
  4853  
  4854  /*
  4855  TranscriptsList Earnings Call Transcripts List
  4856  List earnings call transcripts&#39; metadata. This endpoint is only available for US companies.
  4857   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4858   * @param symbol Company symbol: AAPL. Leave empty to list the latest transcripts
  4859  @return EarningsCallTranscriptsList
  4860  */
  4861  func (a *DefaultApiService) TranscriptsList(ctx _context.Context, symbol string) (EarningsCallTranscriptsList, *_nethttp.Response, error) {
  4862  	var (
  4863  		localVarHTTPMethod   = _nethttp.MethodGet
  4864  		localVarPostBody     interface{}
  4865  		localVarFormFileName string
  4866  		localVarFileName     string
  4867  		localVarFileBytes    []byte
  4868  		localVarReturnValue  EarningsCallTranscriptsList
  4869  	)
  4870  
  4871  	// create path and map variables
  4872  	localVarPath := a.client.cfg.BasePath + "/stock/transcripts/list"
  4873  	localVarHeaderParams := make(map[string]string)
  4874  	localVarQueryParams := _neturl.Values{}
  4875  	localVarFormParams := _neturl.Values{}
  4876  
  4877  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
  4878  	// to determine the Content-Type header
  4879  	localVarHTTPContentTypes := []string{}
  4880  
  4881  	// set Content-Type header
  4882  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4883  	if localVarHTTPContentType != "" {
  4884  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4885  	}
  4886  
  4887  	// to determine the Accept header
  4888  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4889  
  4890  	// set Accept header
  4891  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4892  	if localVarHTTPHeaderAccept != "" {
  4893  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  4894  	}
  4895  	if ctx != nil {
  4896  		// API Key Authentication
  4897  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  4898  			var key string
  4899  			if auth.Prefix != "" {
  4900  				key = auth.Prefix + " " + auth.Key
  4901  			} else {
  4902  				key = auth.Key
  4903  			}
  4904  			localVarQueryParams.Add("token", key)
  4905  		}
  4906  	}
  4907  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  4908  	if err != nil {
  4909  		return localVarReturnValue, nil, err
  4910  	}
  4911  
  4912  	localVarHTTPResponse, err := a.client.callAPI(r)
  4913  	if err != nil || localVarHTTPResponse == nil {
  4914  		return localVarReturnValue, localVarHTTPResponse, err
  4915  	}
  4916  
  4917  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  4918  	localVarHTTPResponse.Body.Close()
  4919  	if err != nil {
  4920  		return localVarReturnValue, localVarHTTPResponse, err
  4921  	}
  4922  
  4923  	if localVarHTTPResponse.StatusCode >= 300 {
  4924  		newErr := GenericOpenAPIError{
  4925  			body:  localVarBody,
  4926  			error: localVarHTTPResponse.Status,
  4927  		}
  4928  		return localVarReturnValue, localVarHTTPResponse, newErr
  4929  	}
  4930  
  4931  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  4932  	if err != nil {
  4933  		newErr := GenericOpenAPIError{
  4934  			body:  localVarBody,
  4935  			error: err.Error(),
  4936  		}
  4937  		return localVarReturnValue, localVarHTTPResponse, newErr
  4938  	}
  4939  
  4940  	return localVarReturnValue, localVarHTTPResponse, nil
  4941  }
  4942  
  4943  // UpgradeDowngradeOpts Optional parameters for the method 'UpgradeDowngrade'
  4944  type UpgradeDowngradeOpts struct {
  4945  	Symbol optional.String
  4946  	From   optional.String
  4947  	To     optional.String
  4948  }
  4949  
  4950  /*
  4951  UpgradeDowngrade Stock Upgrade/Downgrade
  4952  Get latest stock upgrade and downgrade.
  4953   * @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  4954   * @param optional nil or *UpgradeDowngradeOpts - Optional Parameters:
  4955   * @param "Symbol" (optional.String) -  Symbol of the company: AAPL. If left blank, the API will return latest stock upgrades/downgrades.
  4956   * @param "From" (optional.String) -  From date: 2000-03-15.
  4957   * @param "To" (optional.String) -  To date: 2020-03-16.
  4958  @return []UpgradeDowngrade
  4959  */
  4960  func (a *DefaultApiService) UpgradeDowngrade(ctx _context.Context, localVarOptionals *UpgradeDowngradeOpts) ([]UpgradeDowngrade, *_nethttp.Response, error) {
  4961  	var (
  4962  		localVarHTTPMethod   = _nethttp.MethodGet
  4963  		localVarPostBody     interface{}
  4964  		localVarFormFileName string
  4965  		localVarFileName     string
  4966  		localVarFileBytes    []byte
  4967  		localVarReturnValue  []UpgradeDowngrade
  4968  	)
  4969  
  4970  	// create path and map variables
  4971  	localVarPath := a.client.cfg.BasePath + "/stock/upgrade-downgrade"
  4972  	localVarHeaderParams := make(map[string]string)
  4973  	localVarQueryParams := _neturl.Values{}
  4974  	localVarFormParams := _neturl.Values{}
  4975  
  4976  	if localVarOptionals != nil && localVarOptionals.Symbol.IsSet() {
  4977  		localVarQueryParams.Add("symbol", parameterToString(localVarOptionals.Symbol.Value(), ""))
  4978  	}
  4979  	if localVarOptionals != nil && localVarOptionals.From.IsSet() {
  4980  		localVarQueryParams.Add("from", parameterToString(localVarOptionals.From.Value(), ""))
  4981  	}
  4982  	if localVarOptionals != nil && localVarOptionals.To.IsSet() {
  4983  		localVarQueryParams.Add("to", parameterToString(localVarOptionals.To.Value(), ""))
  4984  	}
  4985  	// to determine the Content-Type header
  4986  	localVarHTTPContentTypes := []string{}
  4987  
  4988  	// set Content-Type header
  4989  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
  4990  	if localVarHTTPContentType != "" {
  4991  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
  4992  	}
  4993  
  4994  	// to determine the Accept header
  4995  	localVarHTTPHeaderAccepts := []string{"application/json"}
  4996  
  4997  	// set Accept header
  4998  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
  4999  	if localVarHTTPHeaderAccept != "" {
  5000  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
  5001  	}
  5002  	if ctx != nil {
  5003  		// API Key Authentication
  5004  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
  5005  			var key string
  5006  			if auth.Prefix != "" {
  5007  				key = auth.Prefix + " " + auth.Key
  5008  			} else {
  5009  				key = auth.Key
  5010  			}
  5011  			localVarQueryParams.Add("token", key)
  5012  		}
  5013  	}
  5014  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  5015  	if err != nil {
  5016  		return localVarReturnValue, nil, err
  5017  	}
  5018  
  5019  	localVarHTTPResponse, err := a.client.callAPI(r)
  5020  	if err != nil || localVarHTTPResponse == nil {
  5021  		return localVarReturnValue, localVarHTTPResponse, err
  5022  	}
  5023  
  5024  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
  5025  	localVarHTTPResponse.Body.Close()
  5026  	if err != nil {
  5027  		return localVarReturnValue, localVarHTTPResponse, err
  5028  	}
  5029  
  5030  	if localVarHTTPResponse.StatusCode >= 300 {
  5031  		newErr := GenericOpenAPIError{
  5032  			body:  localVarBody,
  5033  			error: localVarHTTPResponse.Status,
  5034  		}
  5035  		return localVarReturnValue, localVarHTTPResponse, newErr
  5036  	}
  5037  
  5038  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
  5039  	if err != nil {
  5040  		newErr := GenericOpenAPIError{
  5041  			body:  localVarBody,
  5042  			error: err.Error(),
  5043  		}
  5044  		return localVarReturnValue, localVarHTTPResponse, newErr
  5045  	}
  5046  
  5047  	return localVarReturnValue, localVarHTTPResponse, nil
  5048  }