finnhub_ruby 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +201 -0
  4. data/README.md +164 -0
  5. data/Rakefile +10 -0
  6. data/docs/AggregateIndicators.md +19 -0
  7. data/docs/BasicFinancials.md +21 -0
  8. data/docs/Company.md +29 -0
  9. data/docs/CompanyExecutive.md +19 -0
  10. data/docs/CompanyNewsStatistics.md +21 -0
  11. data/docs/CompanyProfile.md +71 -0
  12. data/docs/CompanyProfile2.md +39 -0
  13. data/docs/CountryMetadata.md +27 -0
  14. data/docs/CovidInfo.md +23 -0
  15. data/docs/CryptoCandles.md +29 -0
  16. data/docs/CryptoSymbol.md +21 -0
  17. data/docs/DefaultApi.md +2662 -0
  18. data/docs/Development.md +23 -0
  19. data/docs/Dividends.md +31 -0
  20. data/docs/EarningEstimate.md +25 -0
  21. data/docs/EarningRelease.md +33 -0
  22. data/docs/EarningResult.md +23 -0
  23. data/docs/EarningsCalendar.md +17 -0
  24. data/docs/EarningsCallTranscripts.md +33 -0
  25. data/docs/EarningsCallTranscriptsList.md +19 -0
  26. data/docs/EarningsEstimates.md +21 -0
  27. data/docs/EconomicCalendar.md +17 -0
  28. data/docs/EconomicCode.md +23 -0
  29. data/docs/EconomicData.md +19 -0
  30. data/docs/EconomicEvent.md +31 -0
  31. data/docs/Estimate.md +25 -0
  32. data/docs/Filing.md +31 -0
  33. data/docs/FinancialStatements.md +19 -0
  34. data/docs/FinancialsAsReported.md +21 -0
  35. data/docs/ForexCandles.md +29 -0
  36. data/docs/ForexSymbol.md +21 -0
  37. data/docs/Forexrates.md +19 -0
  38. data/docs/FundOwnership.md +19 -0
  39. data/docs/IPOCalendar.md +17 -0
  40. data/docs/IPOEvent.md +31 -0
  41. data/docs/Indicator.md +21 -0
  42. data/docs/Investor.md +23 -0
  43. data/docs/InvestorsOwnership.md +19 -0
  44. data/docs/LastBidAsk.md +25 -0
  45. data/docs/MajorDevelopments.md +19 -0
  46. data/docs/News.md +33 -0
  47. data/docs/NewsSentiment.md +27 -0
  48. data/docs/PatternRecognition.md +17 -0
  49. data/docs/PriceTarget.md +27 -0
  50. data/docs/Quote.md +25 -0
  51. data/docs/RecommendationTrend.md +29 -0
  52. data/docs/Report.md +37 -0
  53. data/docs/RevenueEstimates.md +21 -0
  54. data/docs/Sentiment.md +19 -0
  55. data/docs/Split.md +23 -0
  56. data/docs/Stock.md +21 -0
  57. data/docs/StockCandles.md +29 -0
  58. data/docs/StockTranscripts.md +25 -0
  59. data/docs/SupportResistance.md +17 -0
  60. data/docs/TechnicalAnalysis.md +19 -0
  61. data/docs/TickData.md +31 -0
  62. data/docs/TranscriptContent.md +19 -0
  63. data/docs/TranscriptParticipant.md +19 -0
  64. data/docs/Trend.md +17 -0
  65. data/docs/UpgradeDowngrade.md +27 -0
  66. data/finnhub_ruby-0.0.1.gem +0 -0
  67. data/finnhub_ruby-0.0.2.gem +0 -0
  68. data/finnhub_ruby.gemspec +39 -0
  69. data/git_push.sh +58 -0
  70. data/lib/finnhub_ruby.rb +99 -0
  71. data/lib/finnhub_ruby/api/default_api.rb +3142 -0
  72. data/lib/finnhub_ruby/api_client.rb +389 -0
  73. data/lib/finnhub_ruby/api_error.rb +57 -0
  74. data/lib/finnhub_ruby/configuration.rb +248 -0
  75. data/lib/finnhub_ruby/models/aggregate_indicators.rb +215 -0
  76. data/lib/finnhub_ruby/models/basic_financials.rb +226 -0
  77. data/lib/finnhub_ruby/models/company.rb +267 -0
  78. data/lib/finnhub_ruby/models/company_executive.rb +219 -0
  79. data/lib/finnhub_ruby/models/company_news_statistics.rb +227 -0
  80. data/lib/finnhub_ruby/models/company_profile.rb +477 -0
  81. data/lib/finnhub_ruby/models/company_profile2.rb +317 -0
  82. data/lib/finnhub_ruby/models/country_metadata.rb +257 -0
  83. data/lib/finnhub_ruby/models/covid_info.rb +237 -0
  84. data/lib/finnhub_ruby/models/crypto_candles.rb +279 -0
  85. data/lib/finnhub_ruby/models/crypto_symbol.rb +227 -0
  86. data/lib/finnhub_ruby/models/development.rb +237 -0
  87. data/lib/finnhub_ruby/models/dividends.rb +277 -0
  88. data/lib/finnhub_ruby/models/earning_estimate.rb +247 -0
  89. data/lib/finnhub_ruby/models/earning_release.rb +287 -0
  90. data/lib/finnhub_ruby/models/earning_result.rb +237 -0
  91. data/lib/finnhub_ruby/models/earnings_calendar.rb +209 -0
  92. data/lib/finnhub_ruby/models/earnings_call_transcripts.rb +291 -0
  93. data/lib/finnhub_ruby/models/earnings_call_transcripts_list.rb +219 -0
  94. data/lib/finnhub_ruby/models/earnings_estimates.rb +229 -0
  95. data/lib/finnhub_ruby/models/economic_calendar.rb +209 -0
  96. data/lib/finnhub_ruby/models/economic_code.rb +237 -0
  97. data/lib/finnhub_ruby/models/economic_data.rb +219 -0
  98. data/lib/finnhub_ruby/models/economic_event.rb +277 -0
  99. data/lib/finnhub_ruby/models/estimate.rb +247 -0
  100. data/lib/finnhub_ruby/models/filing.rb +277 -0
  101. data/lib/finnhub_ruby/models/financial_statements.rb +219 -0
  102. data/lib/finnhub_ruby/models/financials_as_reported.rb +229 -0
  103. data/lib/finnhub_ruby/models/forex_candles.rb +279 -0
  104. data/lib/finnhub_ruby/models/forex_symbol.rb +227 -0
  105. data/lib/finnhub_ruby/models/forexrates.rb +216 -0
  106. data/lib/finnhub_ruby/models/fund_ownership.rb +219 -0
  107. data/lib/finnhub_ruby/models/indicator.rb +227 -0
  108. data/lib/finnhub_ruby/models/investor.rb +237 -0
  109. data/lib/finnhub_ruby/models/investors_ownership.rb +219 -0
  110. data/lib/finnhub_ruby/models/ipo_calendar.rb +209 -0
  111. data/lib/finnhub_ruby/models/ipo_event.rb +277 -0
  112. data/lib/finnhub_ruby/models/last_bid_ask.rb +247 -0
  113. data/lib/finnhub_ruby/models/major_developments.rb +219 -0
  114. data/lib/finnhub_ruby/models/news.rb +287 -0
  115. data/lib/finnhub_ruby/models/news_sentiment.rb +255 -0
  116. data/lib/finnhub_ruby/models/pattern_recognition.rb +209 -0
  117. data/lib/finnhub_ruby/models/price_target.rb +257 -0
  118. data/lib/finnhub_ruby/models/quote.rb +247 -0
  119. data/lib/finnhub_ruby/models/recommendation_trend.rb +267 -0
  120. data/lib/finnhub_ruby/models/report.rb +306 -0
  121. data/lib/finnhub_ruby/models/revenue_estimates.rb +229 -0
  122. data/lib/finnhub_ruby/models/sentiment.rb +217 -0
  123. data/lib/finnhub_ruby/models/split.rb +237 -0
  124. data/lib/finnhub_ruby/models/stock.rb +227 -0
  125. data/lib/finnhub_ruby/models/stock_candles.rb +279 -0
  126. data/lib/finnhub_ruby/models/stock_transcripts.rb +247 -0
  127. data/lib/finnhub_ruby/models/support_resistance.rb +209 -0
  128. data/lib/finnhub_ruby/models/technical_analysis.rb +216 -0
  129. data/lib/finnhub_ruby/models/tick_data.rb +285 -0
  130. data/lib/finnhub_ruby/models/transcript_content.rb +219 -0
  131. data/lib/finnhub_ruby/models/transcript_participant.rb +217 -0
  132. data/lib/finnhub_ruby/models/trend.rb +207 -0
  133. data/lib/finnhub_ruby/models/upgrade_downgrade.rb +257 -0
  134. data/lib/finnhub_ruby/version.rb +15 -0
  135. data/release.sh +2 -0
  136. data/spec/api/default_api_spec.rb +638 -0
  137. data/spec/api_client_spec.rb +226 -0
  138. data/spec/configuration_spec.rb +42 -0
  139. data/spec/models/aggregate_indicators_spec.rb +47 -0
  140. data/spec/models/basic_financials_spec.rb +53 -0
  141. data/spec/models/company_executive_spec.rb +47 -0
  142. data/spec/models/company_news_statistics_spec.rb +53 -0
  143. data/spec/models/company_profile2_spec.rb +107 -0
  144. data/spec/models/company_profile_spec.rb +203 -0
  145. data/spec/models/company_spec.rb +77 -0
  146. data/spec/models/country_metadata_spec.rb +71 -0
  147. data/spec/models/covid_info_spec.rb +59 -0
  148. data/spec/models/crypto_candles_spec.rb +77 -0
  149. data/spec/models/crypto_symbol_spec.rb +53 -0
  150. data/spec/models/development_spec.rb +59 -0
  151. data/spec/models/dividends_spec.rb +83 -0
  152. data/spec/models/earning_estimate_spec.rb +65 -0
  153. data/spec/models/earning_release_spec.rb +89 -0
  154. data/spec/models/earning_result_spec.rb +59 -0
  155. data/spec/models/earnings_calendar_spec.rb +41 -0
  156. data/spec/models/earnings_call_transcripts_list_spec.rb +47 -0
  157. data/spec/models/earnings_call_transcripts_spec.rb +89 -0
  158. data/spec/models/earnings_estimates_spec.rb +53 -0
  159. data/spec/models/economic_calendar_spec.rb +41 -0
  160. data/spec/models/economic_code_spec.rb +59 -0
  161. data/spec/models/economic_data_spec.rb +47 -0
  162. data/spec/models/economic_event_spec.rb +83 -0
  163. data/spec/models/estimate_spec.rb +65 -0
  164. data/spec/models/filing_spec.rb +83 -0
  165. data/spec/models/financial_statements_spec.rb +47 -0
  166. data/spec/models/financials_as_reported_spec.rb +53 -0
  167. data/spec/models/forex_candles_spec.rb +77 -0
  168. data/spec/models/forex_symbol_spec.rb +53 -0
  169. data/spec/models/forexrates_spec.rb +47 -0
  170. data/spec/models/fund_ownership_spec.rb +47 -0
  171. data/spec/models/indicator_spec.rb +53 -0
  172. data/spec/models/investor_spec.rb +59 -0
  173. data/spec/models/investors_ownership_spec.rb +47 -0
  174. data/spec/models/ipo_calendar_spec.rb +41 -0
  175. data/spec/models/ipo_event_spec.rb +83 -0
  176. data/spec/models/last_bid_ask_spec.rb +65 -0
  177. data/spec/models/major_developments_spec.rb +47 -0
  178. data/spec/models/news_sentiment_spec.rb +71 -0
  179. data/spec/models/news_spec.rb +89 -0
  180. data/spec/models/pattern_recognition_spec.rb +41 -0
  181. data/spec/models/price_target_spec.rb +71 -0
  182. data/spec/models/quote_spec.rb +65 -0
  183. data/spec/models/recommendation_trend_spec.rb +77 -0
  184. data/spec/models/report_spec.rb +101 -0
  185. data/spec/models/revenue_estimates_spec.rb +53 -0
  186. data/spec/models/sentiment_spec.rb +47 -0
  187. data/spec/models/split_spec.rb +59 -0
  188. data/spec/models/stock_candles_spec.rb +77 -0
  189. data/spec/models/stock_spec.rb +53 -0
  190. data/spec/models/stock_transcripts_spec.rb +65 -0
  191. data/spec/models/support_resistance_spec.rb +41 -0
  192. data/spec/models/technical_analysis_spec.rb +47 -0
  193. data/spec/models/tick_data_spec.rb +83 -0
  194. data/spec/models/transcript_content_spec.rb +47 -0
  195. data/spec/models/transcript_participant_spec.rb +47 -0
  196. data/spec/models/trend_spec.rb +41 -0
  197. data/spec/models/upgrade_downgrade_spec.rb +71 -0
  198. data/spec/spec_helper.rb +111 -0
  199. data/test.rb +139 -0
  200. metadata +364 -0
@@ -0,0 +1,3142 @@
1
+ =begin
2
+ #Finnhub API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module FinnhubRuby
16
+ class DefaultApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Aggregate Indicators
23
+ # Get aggregate signal of multiple technical indicators such as MACD, RSI, Moving Average v.v.
24
+ # @param symbol [String] symbol
25
+ # @param resolution [String] Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [AggregateIndicators]
28
+ def aggregate_indicator(symbol, resolution, opts = {})
29
+ data, _status_code, _headers = aggregate_indicator_with_http_info(symbol, resolution, opts)
30
+ data
31
+ end
32
+
33
+ # Aggregate Indicators
34
+ # Get aggregate signal of multiple technical indicators such as MACD, RSI, Moving Average v.v.
35
+ # @param symbol [String] symbol
36
+ # @param resolution [String] Supported resolution includes <code>1, 5, 15, 30, 60, D, W, M </code>.Some timeframes might not be available depending on the exchange.
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(AggregateIndicators, Integer, Hash)>] AggregateIndicators data, response status code and response headers
39
+ def aggregate_indicator_with_http_info(symbol, resolution, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: DefaultApi.aggregate_indicator ...'
42
+ end
43
+ # verify the required parameter 'symbol' is set
44
+ if @api_client.config.client_side_validation && symbol.nil?
45
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.aggregate_indicator"
46
+ end
47
+ # verify the required parameter 'resolution' is set
48
+ if @api_client.config.client_side_validation && resolution.nil?
49
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.aggregate_indicator"
50
+ end
51
+ # resource path
52
+ local_var_path = '/scan/technical-indicator'
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+ query_params[:'symbol'] = symbol
57
+ query_params[:'resolution'] = resolution
58
+
59
+ # header parameters
60
+ header_params = opts[:header_params] || {}
61
+ # HTTP header 'Accept' (if needed)
62
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
63
+
64
+ # form parameters
65
+ form_params = opts[:form_params] || {}
66
+
67
+ # http body (model)
68
+ post_body = opts[:body]
69
+
70
+ # return_type
71
+ return_type = opts[:return_type] || 'AggregateIndicators'
72
+
73
+ # auth_names
74
+ auth_names = opts[:auth_names] || ['api_key']
75
+
76
+ new_options = opts.merge(
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: DefaultApi#aggregate_indicator\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Basic Financials
93
+ # Get company basic financials such as margin, P/E ratio, 52-week high/low etc.
94
+ # @param symbol [String] Symbol of the company: AAPL.
95
+ # @param metric [String] Metric type. Can be 1 of the following values &lt;code&gt;all, price, valuation, margin&lt;/code&gt;
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [BasicFinancials]
98
+ def company_basic_financials(symbol, metric, opts = {})
99
+ data, _status_code, _headers = company_basic_financials_with_http_info(symbol, metric, opts)
100
+ data
101
+ end
102
+
103
+ # Basic Financials
104
+ # Get company basic financials such as margin, P/E ratio, 52-week high/low etc.
105
+ # @param symbol [String] Symbol of the company: AAPL.
106
+ # @param metric [String] Metric type. Can be 1 of the following values &lt;code&gt;all, price, valuation, margin&lt;/code&gt;
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Array<(BasicFinancials, Integer, Hash)>] BasicFinancials data, response status code and response headers
109
+ def company_basic_financials_with_http_info(symbol, metric, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_basic_financials ...'
112
+ end
113
+ # verify the required parameter 'symbol' is set
114
+ if @api_client.config.client_side_validation && symbol.nil?
115
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_basic_financials"
116
+ end
117
+ # verify the required parameter 'metric' is set
118
+ if @api_client.config.client_side_validation && metric.nil?
119
+ fail ArgumentError, "Missing the required parameter 'metric' when calling DefaultApi.company_basic_financials"
120
+ end
121
+ # resource path
122
+ local_var_path = '/stock/metric'
123
+
124
+ # query parameters
125
+ query_params = opts[:query_params] || {}
126
+ query_params[:'symbol'] = symbol
127
+ query_params[:'metric'] = metric
128
+
129
+ # header parameters
130
+ header_params = opts[:header_params] || {}
131
+ # HTTP header 'Accept' (if needed)
132
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
133
+
134
+ # form parameters
135
+ form_params = opts[:form_params] || {}
136
+
137
+ # http body (model)
138
+ post_body = opts[:body]
139
+
140
+ # return_type
141
+ return_type = opts[:return_type] || 'BasicFinancials'
142
+
143
+ # auth_names
144
+ auth_names = opts[:auth_names] || ['api_key']
145
+
146
+ new_options = opts.merge(
147
+ :header_params => header_params,
148
+ :query_params => query_params,
149
+ :form_params => form_params,
150
+ :body => post_body,
151
+ :auth_names => auth_names,
152
+ :return_type => return_type
153
+ )
154
+
155
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug "API called: DefaultApi#company_basic_financials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
158
+ end
159
+ return data, status_code, headers
160
+ end
161
+
162
+ # Earnings Surprises
163
+ # Get company historical quarterly earnings surprise going back to 2000.
164
+ # @param symbol [String] Symbol of the company: AAPL.
165
+ # @param [Hash] opts the optional parameters
166
+ # @option opts [Integer] :limit Limit number of period returned. Leave blank to get the full history.
167
+ # @return [Array<EarningResult>]
168
+ def company_earnings(symbol, opts = {})
169
+ data, _status_code, _headers = company_earnings_with_http_info(symbol, opts)
170
+ data
171
+ end
172
+
173
+ # Earnings Surprises
174
+ # Get company historical quarterly earnings surprise going back to 2000.
175
+ # @param symbol [String] Symbol of the company: AAPL.
176
+ # @param [Hash] opts the optional parameters
177
+ # @option opts [Integer] :limit Limit number of period returned. Leave blank to get the full history.
178
+ # @return [Array<(Array<EarningResult>, Integer, Hash)>] Array<EarningResult> data, response status code and response headers
179
+ def company_earnings_with_http_info(symbol, opts = {})
180
+ if @api_client.config.debugging
181
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_earnings ...'
182
+ end
183
+ # verify the required parameter 'symbol' is set
184
+ if @api_client.config.client_side_validation && symbol.nil?
185
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_earnings"
186
+ end
187
+ # resource path
188
+ local_var_path = '/stock/earnings'
189
+
190
+ # query parameters
191
+ query_params = opts[:query_params] || {}
192
+ query_params[:'symbol'] = symbol
193
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
194
+
195
+ # header parameters
196
+ header_params = opts[:header_params] || {}
197
+ # HTTP header 'Accept' (if needed)
198
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
199
+
200
+ # form parameters
201
+ form_params = opts[:form_params] || {}
202
+
203
+ # http body (model)
204
+ post_body = opts[:body]
205
+
206
+ # return_type
207
+ return_type = opts[:return_type] || 'Array<EarningResult>'
208
+
209
+ # auth_names
210
+ auth_names = opts[:auth_names] || ['api_key']
211
+
212
+ new_options = opts.merge(
213
+ :header_params => header_params,
214
+ :query_params => query_params,
215
+ :form_params => form_params,
216
+ :body => post_body,
217
+ :auth_names => auth_names,
218
+ :return_type => return_type
219
+ )
220
+
221
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
222
+ if @api_client.config.debugging
223
+ @api_client.config.logger.debug "API called: DefaultApi#company_earnings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
224
+ end
225
+ return data, status_code, headers
226
+ end
227
+
228
+ # Earnings Estimates
229
+ # Get company's EPS estimates.
230
+ # @param symbol [String] Symbol of the company: AAPL.
231
+ # @param [Hash] opts the optional parameters
232
+ # @option opts [String] :freq Can take 1 of the following values: &lt;code&gt;annual, quarterly&lt;/code&gt;. Default to &lt;code&gt;quarterly&lt;/code&gt;
233
+ # @return [EarningsEstimates]
234
+ def company_eps_estimates(symbol, opts = {})
235
+ data, _status_code, _headers = company_eps_estimates_with_http_info(symbol, opts)
236
+ data
237
+ end
238
+
239
+ # Earnings Estimates
240
+ # Get company&#39;s EPS estimates.
241
+ # @param symbol [String] Symbol of the company: AAPL.
242
+ # @param [Hash] opts the optional parameters
243
+ # @option opts [String] :freq Can take 1 of the following values: &lt;code&gt;annual, quarterly&lt;/code&gt;. Default to &lt;code&gt;quarterly&lt;/code&gt;
244
+ # @return [Array<(EarningsEstimates, Integer, Hash)>] EarningsEstimates data, response status code and response headers
245
+ def company_eps_estimates_with_http_info(symbol, opts = {})
246
+ if @api_client.config.debugging
247
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_eps_estimates ...'
248
+ end
249
+ # verify the required parameter 'symbol' is set
250
+ if @api_client.config.client_side_validation && symbol.nil?
251
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_eps_estimates"
252
+ end
253
+ # resource path
254
+ local_var_path = '/stock/eps-estimate'
255
+
256
+ # query parameters
257
+ query_params = opts[:query_params] || {}
258
+ query_params[:'symbol'] = symbol
259
+ query_params[:'freq'] = opts[:'freq'] if !opts[:'freq'].nil?
260
+
261
+ # header parameters
262
+ header_params = opts[:header_params] || {}
263
+ # HTTP header 'Accept' (if needed)
264
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
265
+
266
+ # form parameters
267
+ form_params = opts[:form_params] || {}
268
+
269
+ # http body (model)
270
+ post_body = opts[:body]
271
+
272
+ # return_type
273
+ return_type = opts[:return_type] || 'EarningsEstimates'
274
+
275
+ # auth_names
276
+ auth_names = opts[:auth_names] || ['api_key']
277
+
278
+ new_options = opts.merge(
279
+ :header_params => header_params,
280
+ :query_params => query_params,
281
+ :form_params => form_params,
282
+ :body => post_body,
283
+ :auth_names => auth_names,
284
+ :return_type => return_type
285
+ )
286
+
287
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
288
+ if @api_client.config.debugging
289
+ @api_client.config.logger.debug "API called: DefaultApi#company_eps_estimates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
290
+ end
291
+ return data, status_code, headers
292
+ end
293
+
294
+ # Company Executive
295
+ # Get a list of company's executives and members of the Board.
296
+ # @param symbol [String] Symbol of the company: AAPL.
297
+ # @param [Hash] opts the optional parameters
298
+ # @return [CompanyExecutive]
299
+ def company_executive(symbol, opts = {})
300
+ data, _status_code, _headers = company_executive_with_http_info(symbol, opts)
301
+ data
302
+ end
303
+
304
+ # Company Executive
305
+ # Get a list of company&#39;s executives and members of the Board.
306
+ # @param symbol [String] Symbol of the company: AAPL.
307
+ # @param [Hash] opts the optional parameters
308
+ # @return [Array<(CompanyExecutive, Integer, Hash)>] CompanyExecutive data, response status code and response headers
309
+ def company_executive_with_http_info(symbol, opts = {})
310
+ if @api_client.config.debugging
311
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_executive ...'
312
+ end
313
+ # verify the required parameter 'symbol' is set
314
+ if @api_client.config.client_side_validation && symbol.nil?
315
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_executive"
316
+ end
317
+ # resource path
318
+ local_var_path = '/stock/executive'
319
+
320
+ # query parameters
321
+ query_params = opts[:query_params] || {}
322
+ query_params[:'symbol'] = symbol
323
+
324
+ # header parameters
325
+ header_params = opts[:header_params] || {}
326
+ # HTTP header 'Accept' (if needed)
327
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
328
+
329
+ # form parameters
330
+ form_params = opts[:form_params] || {}
331
+
332
+ # http body (model)
333
+ post_body = opts[:body]
334
+
335
+ # return_type
336
+ return_type = opts[:return_type] || 'CompanyExecutive'
337
+
338
+ # auth_names
339
+ auth_names = opts[:auth_names] || ['api_key']
340
+
341
+ new_options = opts.merge(
342
+ :header_params => header_params,
343
+ :query_params => query_params,
344
+ :form_params => form_params,
345
+ :body => post_body,
346
+ :auth_names => auth_names,
347
+ :return_type => return_type
348
+ )
349
+
350
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
351
+ if @api_client.config.debugging
352
+ @api_client.config.logger.debug "API called: DefaultApi#company_executive\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
353
+ end
354
+ return data, status_code, headers
355
+ end
356
+
357
+ # Company News
358
+ # List latest company news by symbol. This endpoint is only available for North American companies.
359
+ # @param symbol [String] Company symbol.
360
+ # @param from [Date] From date &lt;code&gt;YYYY-MM-DD&lt;/code&gt;.
361
+ # @param to [Date] To date &lt;code&gt;YYYY-MM-DD&lt;/code&gt;.
362
+ # @param [Hash] opts the optional parameters
363
+ # @return [Array<News>]
364
+ def company_news(symbol, from, to, opts = {})
365
+ data, _status_code, _headers = company_news_with_http_info(symbol, from, to, opts)
366
+ data
367
+ end
368
+
369
+ # Company News
370
+ # List latest company news by symbol. This endpoint is only available for North American companies.
371
+ # @param symbol [String] Company symbol.
372
+ # @param from [Date] From date &lt;code&gt;YYYY-MM-DD&lt;/code&gt;.
373
+ # @param to [Date] To date &lt;code&gt;YYYY-MM-DD&lt;/code&gt;.
374
+ # @param [Hash] opts the optional parameters
375
+ # @return [Array<(Array<News>, Integer, Hash)>] Array<News> data, response status code and response headers
376
+ def company_news_with_http_info(symbol, from, to, opts = {})
377
+ if @api_client.config.debugging
378
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_news ...'
379
+ end
380
+ # verify the required parameter 'symbol' is set
381
+ if @api_client.config.client_side_validation && symbol.nil?
382
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_news"
383
+ end
384
+ # verify the required parameter 'from' is set
385
+ if @api_client.config.client_side_validation && from.nil?
386
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.company_news"
387
+ end
388
+ # verify the required parameter 'to' is set
389
+ if @api_client.config.client_side_validation && to.nil?
390
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.company_news"
391
+ end
392
+ # resource path
393
+ local_var_path = '/company-news'
394
+
395
+ # query parameters
396
+ query_params = opts[:query_params] || {}
397
+ query_params[:'symbol'] = symbol
398
+ query_params[:'from'] = from
399
+ query_params[:'to'] = to
400
+
401
+ # header parameters
402
+ header_params = opts[:header_params] || {}
403
+ # HTTP header 'Accept' (if needed)
404
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
405
+
406
+ # form parameters
407
+ form_params = opts[:form_params] || {}
408
+
409
+ # http body (model)
410
+ post_body = opts[:body]
411
+
412
+ # return_type
413
+ return_type = opts[:return_type] || 'Array<News>'
414
+
415
+ # auth_names
416
+ auth_names = opts[:auth_names] || ['api_key']
417
+
418
+ new_options = opts.merge(
419
+ :header_params => header_params,
420
+ :query_params => query_params,
421
+ :form_params => form_params,
422
+ :body => post_body,
423
+ :auth_names => auth_names,
424
+ :return_type => return_type
425
+ )
426
+
427
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug "API called: DefaultApi#company_news\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
430
+ end
431
+ return data, status_code, headers
432
+ end
433
+
434
+ # Peers
435
+ # Get company peers. Return a list of peers in the same country and GICS sub-industry
436
+ # @param symbol [String] Symbol of the company: AAPL.
437
+ # @param [Hash] opts the optional parameters
438
+ # @return [Array<String>]
439
+ def company_peers(symbol, opts = {})
440
+ data, _status_code, _headers = company_peers_with_http_info(symbol, opts)
441
+ data
442
+ end
443
+
444
+ # Peers
445
+ # Get company peers. Return a list of peers in the same country and GICS sub-industry
446
+ # @param symbol [String] Symbol of the company: AAPL.
447
+ # @param [Hash] opts the optional parameters
448
+ # @return [Array<(Array<String>, Integer, Hash)>] Array<String> data, response status code and response headers
449
+ def company_peers_with_http_info(symbol, opts = {})
450
+ if @api_client.config.debugging
451
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_peers ...'
452
+ end
453
+ # verify the required parameter 'symbol' is set
454
+ if @api_client.config.client_side_validation && symbol.nil?
455
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_peers"
456
+ end
457
+ # resource path
458
+ local_var_path = '/stock/peers'
459
+
460
+ # query parameters
461
+ query_params = opts[:query_params] || {}
462
+ query_params[:'symbol'] = symbol
463
+
464
+ # header parameters
465
+ header_params = opts[:header_params] || {}
466
+ # HTTP header 'Accept' (if needed)
467
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
468
+
469
+ # form parameters
470
+ form_params = opts[:form_params] || {}
471
+
472
+ # http body (model)
473
+ post_body = opts[:body]
474
+
475
+ # return_type
476
+ return_type = opts[:return_type] || 'Array<String>'
477
+
478
+ # auth_names
479
+ auth_names = opts[:auth_names] || ['api_key']
480
+
481
+ new_options = opts.merge(
482
+ :header_params => header_params,
483
+ :query_params => query_params,
484
+ :form_params => form_params,
485
+ :body => post_body,
486
+ :auth_names => auth_names,
487
+ :return_type => return_type
488
+ )
489
+
490
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
491
+ if @api_client.config.debugging
492
+ @api_client.config.logger.debug "API called: DefaultApi#company_peers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
493
+ end
494
+ return data, status_code, headers
495
+ end
496
+
497
+ # Company Profile
498
+ # Get general information of a company. You can query by symbol, ISIN or CUSIP
499
+ # @param [Hash] opts the optional parameters
500
+ # @option opts [String] :symbol Symbol of the company: AAPL e.g.
501
+ # @option opts [String] :isin ISIN
502
+ # @option opts [String] :cusip CUSIP
503
+ # @return [CompanyProfile]
504
+ def company_profile(opts = {})
505
+ data, _status_code, _headers = company_profile_with_http_info(opts)
506
+ data
507
+ end
508
+
509
+ # Company Profile
510
+ # Get general information of a company. You can query by symbol, ISIN or CUSIP
511
+ # @param [Hash] opts the optional parameters
512
+ # @option opts [String] :symbol Symbol of the company: AAPL e.g.
513
+ # @option opts [String] :isin ISIN
514
+ # @option opts [String] :cusip CUSIP
515
+ # @return [Array<(CompanyProfile, Integer, Hash)>] CompanyProfile data, response status code and response headers
516
+ def company_profile_with_http_info(opts = {})
517
+ if @api_client.config.debugging
518
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_profile ...'
519
+ end
520
+ # resource path
521
+ local_var_path = '/stock/profile'
522
+
523
+ # query parameters
524
+ query_params = opts[:query_params] || {}
525
+ query_params[:'symbol'] = opts[:'symbol'] if !opts[:'symbol'].nil?
526
+ query_params[:'isin'] = opts[:'isin'] if !opts[:'isin'].nil?
527
+ query_params[:'cusip'] = opts[:'cusip'] if !opts[:'cusip'].nil?
528
+
529
+ # header parameters
530
+ header_params = opts[:header_params] || {}
531
+ # HTTP header 'Accept' (if needed)
532
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
533
+
534
+ # form parameters
535
+ form_params = opts[:form_params] || {}
536
+
537
+ # http body (model)
538
+ post_body = opts[:body]
539
+
540
+ # return_type
541
+ return_type = opts[:return_type] || 'CompanyProfile'
542
+
543
+ # auth_names
544
+ auth_names = opts[:auth_names] || ['api_key']
545
+
546
+ new_options = opts.merge(
547
+ :header_params => header_params,
548
+ :query_params => query_params,
549
+ :form_params => form_params,
550
+ :body => post_body,
551
+ :auth_names => auth_names,
552
+ :return_type => return_type
553
+ )
554
+
555
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
556
+ if @api_client.config.debugging
557
+ @api_client.config.logger.debug "API called: DefaultApi#company_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
558
+ end
559
+ return data, status_code, headers
560
+ end
561
+
562
+ # Company Profile 2
563
+ # Get general information of a company. You can query by symbol, ISIN or CUSIP. This is the free version of <a href=\"#company-profile\">Company Profile</a>.
564
+ # @param [Hash] opts the optional parameters
565
+ # @option opts [String] :symbol Symbol of the company: AAPL e.g.
566
+ # @option opts [String] :isin ISIN
567
+ # @option opts [String] :cusip CUSIP
568
+ # @return [CompanyProfile2]
569
+ def company_profile2(opts = {})
570
+ data, _status_code, _headers = company_profile2_with_http_info(opts)
571
+ data
572
+ end
573
+
574
+ # Company Profile 2
575
+ # 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;.
576
+ # @param [Hash] opts the optional parameters
577
+ # @option opts [String] :symbol Symbol of the company: AAPL e.g.
578
+ # @option opts [String] :isin ISIN
579
+ # @option opts [String] :cusip CUSIP
580
+ # @return [Array<(CompanyProfile2, Integer, Hash)>] CompanyProfile2 data, response status code and response headers
581
+ def company_profile2_with_http_info(opts = {})
582
+ if @api_client.config.debugging
583
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_profile2 ...'
584
+ end
585
+ # resource path
586
+ local_var_path = '/stock/profile2'
587
+
588
+ # query parameters
589
+ query_params = opts[:query_params] || {}
590
+ query_params[:'symbol'] = opts[:'symbol'] if !opts[:'symbol'].nil?
591
+ query_params[:'isin'] = opts[:'isin'] if !opts[:'isin'].nil?
592
+ query_params[:'cusip'] = opts[:'cusip'] if !opts[:'cusip'].nil?
593
+
594
+ # header parameters
595
+ header_params = opts[:header_params] || {}
596
+ # HTTP header 'Accept' (if needed)
597
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
598
+
599
+ # form parameters
600
+ form_params = opts[:form_params] || {}
601
+
602
+ # http body (model)
603
+ post_body = opts[:body]
604
+
605
+ # return_type
606
+ return_type = opts[:return_type] || 'CompanyProfile2'
607
+
608
+ # auth_names
609
+ auth_names = opts[:auth_names] || ['api_key']
610
+
611
+ new_options = opts.merge(
612
+ :header_params => header_params,
613
+ :query_params => query_params,
614
+ :form_params => form_params,
615
+ :body => post_body,
616
+ :auth_names => auth_names,
617
+ :return_type => return_type
618
+ )
619
+
620
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
621
+ if @api_client.config.debugging
622
+ @api_client.config.logger.debug "API called: DefaultApi#company_profile2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
623
+ end
624
+ return data, status_code, headers
625
+ end
626
+
627
+ # Revenue Estimates
628
+ # Get company's revenue estimates.
629
+ # @param symbol [String] Symbol of the company: AAPL.
630
+ # @param [Hash] opts the optional parameters
631
+ # @option opts [String] :freq Can take 1 of the following values: &lt;code&gt;annual, quarterly&lt;/code&gt;. Default to &lt;code&gt;quarterly&lt;/code&gt;
632
+ # @return [RevenueEstimates]
633
+ def company_revenue_estimates(symbol, opts = {})
634
+ data, _status_code, _headers = company_revenue_estimates_with_http_info(symbol, opts)
635
+ data
636
+ end
637
+
638
+ # Revenue Estimates
639
+ # Get company&#39;s revenue estimates.
640
+ # @param symbol [String] Symbol of the company: AAPL.
641
+ # @param [Hash] opts the optional parameters
642
+ # @option opts [String] :freq Can take 1 of the following values: &lt;code&gt;annual, quarterly&lt;/code&gt;. Default to &lt;code&gt;quarterly&lt;/code&gt;
643
+ # @return [Array<(RevenueEstimates, Integer, Hash)>] RevenueEstimates data, response status code and response headers
644
+ def company_revenue_estimates_with_http_info(symbol, opts = {})
645
+ if @api_client.config.debugging
646
+ @api_client.config.logger.debug 'Calling API: DefaultApi.company_revenue_estimates ...'
647
+ end
648
+ # verify the required parameter 'symbol' is set
649
+ if @api_client.config.client_side_validation && symbol.nil?
650
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.company_revenue_estimates"
651
+ end
652
+ # resource path
653
+ local_var_path = '/stock/revenue-estimate'
654
+
655
+ # query parameters
656
+ query_params = opts[:query_params] || {}
657
+ query_params[:'symbol'] = symbol
658
+ query_params[:'freq'] = opts[:'freq'] if !opts[:'freq'].nil?
659
+
660
+ # header parameters
661
+ header_params = opts[:header_params] || {}
662
+ # HTTP header 'Accept' (if needed)
663
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
664
+
665
+ # form parameters
666
+ form_params = opts[:form_params] || {}
667
+
668
+ # http body (model)
669
+ post_body = opts[:body]
670
+
671
+ # return_type
672
+ return_type = opts[:return_type] || 'RevenueEstimates'
673
+
674
+ # auth_names
675
+ auth_names = opts[:auth_names] || ['api_key']
676
+
677
+ new_options = opts.merge(
678
+ :header_params => header_params,
679
+ :query_params => query_params,
680
+ :form_params => form_params,
681
+ :body => post_body,
682
+ :auth_names => auth_names,
683
+ :return_type => return_type
684
+ )
685
+
686
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
687
+ if @api_client.config.debugging
688
+ @api_client.config.logger.debug "API called: DefaultApi#company_revenue_estimates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
689
+ end
690
+ return data, status_code, headers
691
+ end
692
+
693
+ # Country Metadata
694
+ # List all countries and metadata.
695
+ # @param [Hash] opts the optional parameters
696
+ # @return [Array<CountryMetadata>]
697
+ def country(opts = {})
698
+ data, _status_code, _headers = country_with_http_info(opts)
699
+ data
700
+ end
701
+
702
+ # Country Metadata
703
+ # List all countries and metadata.
704
+ # @param [Hash] opts the optional parameters
705
+ # @return [Array<(Array<CountryMetadata>, Integer, Hash)>] Array<CountryMetadata> data, response status code and response headers
706
+ def country_with_http_info(opts = {})
707
+ if @api_client.config.debugging
708
+ @api_client.config.logger.debug 'Calling API: DefaultApi.country ...'
709
+ end
710
+ # resource path
711
+ local_var_path = '/country'
712
+
713
+ # query parameters
714
+ query_params = opts[:query_params] || {}
715
+
716
+ # header parameters
717
+ header_params = opts[:header_params] || {}
718
+ # HTTP header 'Accept' (if needed)
719
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
720
+
721
+ # form parameters
722
+ form_params = opts[:form_params] || {}
723
+
724
+ # http body (model)
725
+ post_body = opts[:body]
726
+
727
+ # return_type
728
+ return_type = opts[:return_type] || 'Array<CountryMetadata>'
729
+
730
+ # auth_names
731
+ auth_names = opts[:auth_names] || ['api_key']
732
+
733
+ new_options = opts.merge(
734
+ :header_params => header_params,
735
+ :query_params => query_params,
736
+ :form_params => form_params,
737
+ :body => post_body,
738
+ :auth_names => auth_names,
739
+ :return_type => return_type
740
+ )
741
+
742
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
743
+ if @api_client.config.debugging
744
+ @api_client.config.logger.debug "API called: DefaultApi#country\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
745
+ end
746
+ return data, status_code, headers
747
+ end
748
+
749
+ # COVID-19
750
+ # 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 <a href=\"https://rapidapi.com/Finnhub/api/finnhub-real-time-covid-19\" target=\"_blank\" rel=\"nofollow\">here</a>
751
+ # @param [Hash] opts the optional parameters
752
+ # @return [Array<CovidInfo>]
753
+ def covid19(opts = {})
754
+ data, _status_code, _headers = covid19_with_http_info(opts)
755
+ data
756
+ end
757
+
758
+ # COVID-19
759
+ # 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;
760
+ # @param [Hash] opts the optional parameters
761
+ # @return [Array<(Array<CovidInfo>, Integer, Hash)>] Array<CovidInfo> data, response status code and response headers
762
+ def covid19_with_http_info(opts = {})
763
+ if @api_client.config.debugging
764
+ @api_client.config.logger.debug 'Calling API: DefaultApi.covid19 ...'
765
+ end
766
+ # resource path
767
+ local_var_path = '/covid19/us'
768
+
769
+ # query parameters
770
+ query_params = opts[:query_params] || {}
771
+
772
+ # header parameters
773
+ header_params = opts[:header_params] || {}
774
+ # HTTP header 'Accept' (if needed)
775
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
776
+
777
+ # form parameters
778
+ form_params = opts[:form_params] || {}
779
+
780
+ # http body (model)
781
+ post_body = opts[:body]
782
+
783
+ # return_type
784
+ return_type = opts[:return_type] || 'Array<CovidInfo>'
785
+
786
+ # auth_names
787
+ auth_names = opts[:auth_names] || ['api_key']
788
+
789
+ new_options = opts.merge(
790
+ :header_params => header_params,
791
+ :query_params => query_params,
792
+ :form_params => form_params,
793
+ :body => post_body,
794
+ :auth_names => auth_names,
795
+ :return_type => return_type
796
+ )
797
+
798
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
799
+ if @api_client.config.debugging
800
+ @api_client.config.logger.debug "API called: DefaultApi#covid19\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
801
+ end
802
+ return data, status_code, headers
803
+ end
804
+
805
+ # Crypto Candles
806
+ # Get candlestick data for crypto symbols.
807
+ # @param symbol [String] Use symbol returned in &lt;code&gt;/crypto/symbol&lt;/code&gt; endpoint for this field.
808
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
809
+ # @param from [Integer] UNIX timestamp. Interval initial value.
810
+ # @param to [Integer] UNIX timestamp. Interval end value.
811
+ # @param [Hash] opts the optional parameters
812
+ # @return [CryptoCandles]
813
+ def crypto_candles(symbol, resolution, from, to, opts = {})
814
+ data, _status_code, _headers = crypto_candles_with_http_info(symbol, resolution, from, to, opts)
815
+ data
816
+ end
817
+
818
+ # Crypto Candles
819
+ # Get candlestick data for crypto symbols.
820
+ # @param symbol [String] Use symbol returned in &lt;code&gt;/crypto/symbol&lt;/code&gt; endpoint for this field.
821
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
822
+ # @param from [Integer] UNIX timestamp. Interval initial value.
823
+ # @param to [Integer] UNIX timestamp. Interval end value.
824
+ # @param [Hash] opts the optional parameters
825
+ # @return [Array<(CryptoCandles, Integer, Hash)>] CryptoCandles data, response status code and response headers
826
+ def crypto_candles_with_http_info(symbol, resolution, from, to, opts = {})
827
+ if @api_client.config.debugging
828
+ @api_client.config.logger.debug 'Calling API: DefaultApi.crypto_candles ...'
829
+ end
830
+ # verify the required parameter 'symbol' is set
831
+ if @api_client.config.client_side_validation && symbol.nil?
832
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.crypto_candles"
833
+ end
834
+ # verify the required parameter 'resolution' is set
835
+ if @api_client.config.client_side_validation && resolution.nil?
836
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.crypto_candles"
837
+ end
838
+ # verify the required parameter 'from' is set
839
+ if @api_client.config.client_side_validation && from.nil?
840
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.crypto_candles"
841
+ end
842
+ # verify the required parameter 'to' is set
843
+ if @api_client.config.client_side_validation && to.nil?
844
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.crypto_candles"
845
+ end
846
+ # resource path
847
+ local_var_path = '/crypto/candle'
848
+
849
+ # query parameters
850
+ query_params = opts[:query_params] || {}
851
+ query_params[:'symbol'] = symbol
852
+ query_params[:'resolution'] = resolution
853
+ query_params[:'from'] = from
854
+ query_params[:'to'] = to
855
+
856
+ # header parameters
857
+ header_params = opts[:header_params] || {}
858
+ # HTTP header 'Accept' (if needed)
859
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
860
+
861
+ # form parameters
862
+ form_params = opts[:form_params] || {}
863
+
864
+ # http body (model)
865
+ post_body = opts[:body]
866
+
867
+ # return_type
868
+ return_type = opts[:return_type] || 'CryptoCandles'
869
+
870
+ # auth_names
871
+ auth_names = opts[:auth_names] || ['api_key']
872
+
873
+ new_options = opts.merge(
874
+ :header_params => header_params,
875
+ :query_params => query_params,
876
+ :form_params => form_params,
877
+ :body => post_body,
878
+ :auth_names => auth_names,
879
+ :return_type => return_type
880
+ )
881
+
882
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
883
+ if @api_client.config.debugging
884
+ @api_client.config.logger.debug "API called: DefaultApi#crypto_candles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
885
+ end
886
+ return data, status_code, headers
887
+ end
888
+
889
+ # Crypto Exchanges
890
+ # List supported crypto exchanges
891
+ # @param [Hash] opts the optional parameters
892
+ # @return [Array<String>]
893
+ def crypto_exchanges(opts = {})
894
+ data, _status_code, _headers = crypto_exchanges_with_http_info(opts)
895
+ data
896
+ end
897
+
898
+ # Crypto Exchanges
899
+ # List supported crypto exchanges
900
+ # @param [Hash] opts the optional parameters
901
+ # @return [Array<(Array<String>, Integer, Hash)>] Array<String> data, response status code and response headers
902
+ def crypto_exchanges_with_http_info(opts = {})
903
+ if @api_client.config.debugging
904
+ @api_client.config.logger.debug 'Calling API: DefaultApi.crypto_exchanges ...'
905
+ end
906
+ # resource path
907
+ local_var_path = '/crypto/exchange'
908
+
909
+ # query parameters
910
+ query_params = opts[:query_params] || {}
911
+
912
+ # header parameters
913
+ header_params = opts[:header_params] || {}
914
+ # HTTP header 'Accept' (if needed)
915
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
916
+
917
+ # form parameters
918
+ form_params = opts[:form_params] || {}
919
+
920
+ # http body (model)
921
+ post_body = opts[:body]
922
+
923
+ # return_type
924
+ return_type = opts[:return_type] || 'Array<String>'
925
+
926
+ # auth_names
927
+ auth_names = opts[:auth_names] || ['api_key']
928
+
929
+ new_options = opts.merge(
930
+ :header_params => header_params,
931
+ :query_params => query_params,
932
+ :form_params => form_params,
933
+ :body => post_body,
934
+ :auth_names => auth_names,
935
+ :return_type => return_type
936
+ )
937
+
938
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
939
+ if @api_client.config.debugging
940
+ @api_client.config.logger.debug "API called: DefaultApi#crypto_exchanges\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
941
+ end
942
+ return data, status_code, headers
943
+ end
944
+
945
+ # Crypto Symbol
946
+ # List supported crypto symbols by exchange
947
+ # @param exchange [String] Exchange you want to get the list of symbols from.
948
+ # @param [Hash] opts the optional parameters
949
+ # @return [Array<CryptoSymbol>]
950
+ def crypto_symbols(exchange, opts = {})
951
+ data, _status_code, _headers = crypto_symbols_with_http_info(exchange, opts)
952
+ data
953
+ end
954
+
955
+ # Crypto Symbol
956
+ # List supported crypto symbols by exchange
957
+ # @param exchange [String] Exchange you want to get the list of symbols from.
958
+ # @param [Hash] opts the optional parameters
959
+ # @return [Array<(Array<CryptoSymbol>, Integer, Hash)>] Array<CryptoSymbol> data, response status code and response headers
960
+ def crypto_symbols_with_http_info(exchange, opts = {})
961
+ if @api_client.config.debugging
962
+ @api_client.config.logger.debug 'Calling API: DefaultApi.crypto_symbols ...'
963
+ end
964
+ # verify the required parameter 'exchange' is set
965
+ if @api_client.config.client_side_validation && exchange.nil?
966
+ fail ArgumentError, "Missing the required parameter 'exchange' when calling DefaultApi.crypto_symbols"
967
+ end
968
+ # resource path
969
+ local_var_path = '/crypto/symbol'
970
+
971
+ # query parameters
972
+ query_params = opts[:query_params] || {}
973
+ query_params[:'exchange'] = exchange
974
+
975
+ # header parameters
976
+ header_params = opts[:header_params] || {}
977
+ # HTTP header 'Accept' (if needed)
978
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
979
+
980
+ # form parameters
981
+ form_params = opts[:form_params] || {}
982
+
983
+ # http body (model)
984
+ post_body = opts[:body]
985
+
986
+ # return_type
987
+ return_type = opts[:return_type] || 'Array<CryptoSymbol>'
988
+
989
+ # auth_names
990
+ auth_names = opts[:auth_names] || ['api_key']
991
+
992
+ new_options = opts.merge(
993
+ :header_params => header_params,
994
+ :query_params => query_params,
995
+ :form_params => form_params,
996
+ :body => post_body,
997
+ :auth_names => auth_names,
998
+ :return_type => return_type
999
+ )
1000
+
1001
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1002
+ if @api_client.config.debugging
1003
+ @api_client.config.logger.debug "API called: DefaultApi#crypto_symbols\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1004
+ end
1005
+ return data, status_code, headers
1006
+ end
1007
+
1008
+ # Earnings Calendar
1009
+ # Get historical and coming earnings release dating back to 2003. You can setup <a href=\"#webhook\">webhook</a> to receive real-time earnings update.
1010
+ # @param [Hash] opts the optional parameters
1011
+ # @option opts [Date] :from From date: 2020-03-15.
1012
+ # @option opts [Date] :to To date: 2020-03-16.
1013
+ # @option opts [String] :symbol Filter by symbol: AAPL.
1014
+ # @option opts [AnyType] :international Set to &lt;code&gt;true&lt;/code&gt; to include international markets. Default value is &lt;code&gt;false&lt;/code&gt;
1015
+ # @return [EarningsCalendar]
1016
+ def earnings_calendar(opts = {})
1017
+ data, _status_code, _headers = earnings_calendar_with_http_info(opts)
1018
+ data
1019
+ end
1020
+
1021
+ # Earnings Calendar
1022
+ # 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.
1023
+ # @param [Hash] opts the optional parameters
1024
+ # @option opts [Date] :from From date: 2020-03-15.
1025
+ # @option opts [Date] :to To date: 2020-03-16.
1026
+ # @option opts [String] :symbol Filter by symbol: AAPL.
1027
+ # @option opts [AnyType] :international Set to &lt;code&gt;true&lt;/code&gt; to include international markets. Default value is &lt;code&gt;false&lt;/code&gt;
1028
+ # @return [Array<(EarningsCalendar, Integer, Hash)>] EarningsCalendar data, response status code and response headers
1029
+ def earnings_calendar_with_http_info(opts = {})
1030
+ if @api_client.config.debugging
1031
+ @api_client.config.logger.debug 'Calling API: DefaultApi.earnings_calendar ...'
1032
+ end
1033
+ # resource path
1034
+ local_var_path = '/calendar/earnings'
1035
+
1036
+ # query parameters
1037
+ query_params = opts[:query_params] || {}
1038
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
1039
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
1040
+ query_params[:'symbol'] = opts[:'symbol'] if !opts[:'symbol'].nil?
1041
+ query_params[:'international'] = opts[:'international'] if !opts[:'international'].nil?
1042
+
1043
+ # header parameters
1044
+ header_params = opts[:header_params] || {}
1045
+ # HTTP header 'Accept' (if needed)
1046
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1047
+
1048
+ # form parameters
1049
+ form_params = opts[:form_params] || {}
1050
+
1051
+ # http body (model)
1052
+ post_body = opts[:body]
1053
+
1054
+ # return_type
1055
+ return_type = opts[:return_type] || 'EarningsCalendar'
1056
+
1057
+ # auth_names
1058
+ auth_names = opts[:auth_names] || ['api_key']
1059
+
1060
+ new_options = opts.merge(
1061
+ :header_params => header_params,
1062
+ :query_params => query_params,
1063
+ :form_params => form_params,
1064
+ :body => post_body,
1065
+ :auth_names => auth_names,
1066
+ :return_type => return_type
1067
+ )
1068
+
1069
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1070
+ if @api_client.config.debugging
1071
+ @api_client.config.logger.debug "API called: DefaultApi#earnings_calendar\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1072
+ end
1073
+ return data, status_code, headers
1074
+ end
1075
+
1076
+ # Economic Code
1077
+ # List codes of supported economic data.
1078
+ # @param [Hash] opts the optional parameters
1079
+ # @return [Array<EconomicCode>]
1080
+ def economic_code(opts = {})
1081
+ data, _status_code, _headers = economic_code_with_http_info(opts)
1082
+ data
1083
+ end
1084
+
1085
+ # Economic Code
1086
+ # List codes of supported economic data.
1087
+ # @param [Hash] opts the optional parameters
1088
+ # @return [Array<(Array<EconomicCode>, Integer, Hash)>] Array<EconomicCode> data, response status code and response headers
1089
+ def economic_code_with_http_info(opts = {})
1090
+ if @api_client.config.debugging
1091
+ @api_client.config.logger.debug 'Calling API: DefaultApi.economic_code ...'
1092
+ end
1093
+ # resource path
1094
+ local_var_path = '/economic/code'
1095
+
1096
+ # query parameters
1097
+ query_params = opts[:query_params] || {}
1098
+
1099
+ # header parameters
1100
+ header_params = opts[:header_params] || {}
1101
+ # HTTP header 'Accept' (if needed)
1102
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1103
+
1104
+ # form parameters
1105
+ form_params = opts[:form_params] || {}
1106
+
1107
+ # http body (model)
1108
+ post_body = opts[:body]
1109
+
1110
+ # return_type
1111
+ return_type = opts[:return_type] || 'Array<EconomicCode>'
1112
+
1113
+ # auth_names
1114
+ auth_names = opts[:auth_names] || ['api_key']
1115
+
1116
+ new_options = opts.merge(
1117
+ :header_params => header_params,
1118
+ :query_params => query_params,
1119
+ :form_params => form_params,
1120
+ :body => post_body,
1121
+ :auth_names => auth_names,
1122
+ :return_type => return_type
1123
+ )
1124
+
1125
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1126
+ if @api_client.config.debugging
1127
+ @api_client.config.logger.debug "API called: DefaultApi#economic_code\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1128
+ end
1129
+ return data, status_code, headers
1130
+ end
1131
+
1132
+ # Economic Data
1133
+ # Get economic data.
1134
+ # @param code [String] Economic code.
1135
+ # @param [Hash] opts the optional parameters
1136
+ # @return [EconomicData]
1137
+ def economic_data(code, opts = {})
1138
+ data, _status_code, _headers = economic_data_with_http_info(code, opts)
1139
+ data
1140
+ end
1141
+
1142
+ # Economic Data
1143
+ # Get economic data.
1144
+ # @param code [String] Economic code.
1145
+ # @param [Hash] opts the optional parameters
1146
+ # @return [Array<(EconomicData, Integer, Hash)>] EconomicData data, response status code and response headers
1147
+ def economic_data_with_http_info(code, opts = {})
1148
+ if @api_client.config.debugging
1149
+ @api_client.config.logger.debug 'Calling API: DefaultApi.economic_data ...'
1150
+ end
1151
+ # verify the required parameter 'code' is set
1152
+ if @api_client.config.client_side_validation && code.nil?
1153
+ fail ArgumentError, "Missing the required parameter 'code' when calling DefaultApi.economic_data"
1154
+ end
1155
+ # resource path
1156
+ local_var_path = '/economic'
1157
+
1158
+ # query parameters
1159
+ query_params = opts[:query_params] || {}
1160
+ query_params[:'code'] = code
1161
+
1162
+ # header parameters
1163
+ header_params = opts[:header_params] || {}
1164
+ # HTTP header 'Accept' (if needed)
1165
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1166
+
1167
+ # form parameters
1168
+ form_params = opts[:form_params] || {}
1169
+
1170
+ # http body (model)
1171
+ post_body = opts[:body]
1172
+
1173
+ # return_type
1174
+ return_type = opts[:return_type] || 'EconomicData'
1175
+
1176
+ # auth_names
1177
+ auth_names = opts[:auth_names] || ['api_key']
1178
+
1179
+ new_options = opts.merge(
1180
+ :header_params => header_params,
1181
+ :query_params => query_params,
1182
+ :form_params => form_params,
1183
+ :body => post_body,
1184
+ :auth_names => auth_names,
1185
+ :return_type => return_type
1186
+ )
1187
+
1188
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1189
+ if @api_client.config.debugging
1190
+ @api_client.config.logger.debug "API called: DefaultApi#economic_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1191
+ end
1192
+ return data, status_code, headers
1193
+ end
1194
+
1195
+ # Filings
1196
+ # List company's filing. Limit to 250 documents at a time. This data is available for bulk download on <a href=\"https://www.kaggle.com/finnhub/sec-filings\" target=\"_blank\">Kaggle SEC Filings database</a>.
1197
+ # @param [Hash] opts the optional parameters
1198
+ # @option opts [String] :symbol Symbol. Leave &lt;code&gt;symbol&lt;/code&gt;,&lt;code&gt;cik&lt;/code&gt; and &lt;code&gt;accessNumber&lt;/code&gt; empty to list latest filings.
1199
+ # @option opts [String] :cik CIK.
1200
+ # @option opts [String] :access_number Access number of a specific report you want to retrieve data from.
1201
+ # @option opts [String] :form Filter by form. You can use this value &lt;code&gt;NT 10-K&lt;/code&gt; to find non-timely filings for a company.
1202
+ # @option opts [Date] :from From date: 2020-03-15.
1203
+ # @option opts [Date] :to To date: 2020-03-16.
1204
+ # @return [Array<Filing>]
1205
+ def filings(opts = {})
1206
+ data, _status_code, _headers = filings_with_http_info(opts)
1207
+ data
1208
+ end
1209
+
1210
+ # Filings
1211
+ # 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;.
1212
+ # @param [Hash] opts the optional parameters
1213
+ # @option opts [String] :symbol Symbol. Leave &lt;code&gt;symbol&lt;/code&gt;,&lt;code&gt;cik&lt;/code&gt; and &lt;code&gt;accessNumber&lt;/code&gt; empty to list latest filings.
1214
+ # @option opts [String] :cik CIK.
1215
+ # @option opts [String] :access_number Access number of a specific report you want to retrieve data from.
1216
+ # @option opts [String] :form Filter by form. You can use this value &lt;code&gt;NT 10-K&lt;/code&gt; to find non-timely filings for a company.
1217
+ # @option opts [Date] :from From date: 2020-03-15.
1218
+ # @option opts [Date] :to To date: 2020-03-16.
1219
+ # @return [Array<(Array<Filing>, Integer, Hash)>] Array<Filing> data, response status code and response headers
1220
+ def filings_with_http_info(opts = {})
1221
+ if @api_client.config.debugging
1222
+ @api_client.config.logger.debug 'Calling API: DefaultApi.filings ...'
1223
+ end
1224
+ # resource path
1225
+ local_var_path = '/stock/filings'
1226
+
1227
+ # query parameters
1228
+ query_params = opts[:query_params] || {}
1229
+ query_params[:'symbol'] = opts[:'symbol'] if !opts[:'symbol'].nil?
1230
+ query_params[:'cik'] = opts[:'cik'] if !opts[:'cik'].nil?
1231
+ query_params[:'accessNumber'] = opts[:'access_number'] if !opts[:'access_number'].nil?
1232
+ query_params[:'form'] = opts[:'form'] if !opts[:'form'].nil?
1233
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
1234
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
1235
+
1236
+ # header parameters
1237
+ header_params = opts[:header_params] || {}
1238
+ # HTTP header 'Accept' (if needed)
1239
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1240
+
1241
+ # form parameters
1242
+ form_params = opts[:form_params] || {}
1243
+
1244
+ # http body (model)
1245
+ post_body = opts[:body]
1246
+
1247
+ # return_type
1248
+ return_type = opts[:return_type] || 'Array<Filing>'
1249
+
1250
+ # auth_names
1251
+ auth_names = opts[:auth_names] || ['api_key']
1252
+
1253
+ new_options = opts.merge(
1254
+ :header_params => header_params,
1255
+ :query_params => query_params,
1256
+ :form_params => form_params,
1257
+ :body => post_body,
1258
+ :auth_names => auth_names,
1259
+ :return_type => return_type
1260
+ )
1261
+
1262
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1263
+ if @api_client.config.debugging
1264
+ @api_client.config.logger.debug "API called: DefaultApi#filings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1265
+ end
1266
+ return data, status_code, headers
1267
+ end
1268
+
1269
+ # Financial Statements
1270
+ # Get standardized balance sheet, income statement and cash flow for global companies going back 30+ years.
1271
+ # @param symbol [String] Symbol of the company: AAPL.
1272
+ # @param statement [String] Statement can take 1 of these values &lt;code&gt;bs, ic, cf&lt;/code&gt; for Balance Sheet, Income Statement, Cash Flow respectively.
1273
+ # @param freq [String] Frequency can take 1 of these values &lt;code&gt;annual, quarterly, ttm, ytd&lt;/code&gt;. TTM (Trailing Twelve Months) option is available for Income Statement and Cash Flow. YTD (Year To Date) option is only available for Cash Flow.
1274
+ # @param [Hash] opts the optional parameters
1275
+ # @return [FinancialStatements]
1276
+ def financials(symbol, statement, freq, opts = {})
1277
+ data, _status_code, _headers = financials_with_http_info(symbol, statement, freq, opts)
1278
+ data
1279
+ end
1280
+
1281
+ # Financial Statements
1282
+ # Get standardized balance sheet, income statement and cash flow for global companies going back 30+ years.
1283
+ # @param symbol [String] Symbol of the company: AAPL.
1284
+ # @param statement [String] Statement can take 1 of these values &lt;code&gt;bs, ic, cf&lt;/code&gt; for Balance Sheet, Income Statement, Cash Flow respectively.
1285
+ # @param freq [String] Frequency can take 1 of these values &lt;code&gt;annual, quarterly, ttm, ytd&lt;/code&gt;. TTM (Trailing Twelve Months) option is available for Income Statement and Cash Flow. YTD (Year To Date) option is only available for Cash Flow.
1286
+ # @param [Hash] opts the optional parameters
1287
+ # @return [Array<(FinancialStatements, Integer, Hash)>] FinancialStatements data, response status code and response headers
1288
+ def financials_with_http_info(symbol, statement, freq, opts = {})
1289
+ if @api_client.config.debugging
1290
+ @api_client.config.logger.debug 'Calling API: DefaultApi.financials ...'
1291
+ end
1292
+ # verify the required parameter 'symbol' is set
1293
+ if @api_client.config.client_side_validation && symbol.nil?
1294
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.financials"
1295
+ end
1296
+ # verify the required parameter 'statement' is set
1297
+ if @api_client.config.client_side_validation && statement.nil?
1298
+ fail ArgumentError, "Missing the required parameter 'statement' when calling DefaultApi.financials"
1299
+ end
1300
+ # verify the required parameter 'freq' is set
1301
+ if @api_client.config.client_side_validation && freq.nil?
1302
+ fail ArgumentError, "Missing the required parameter 'freq' when calling DefaultApi.financials"
1303
+ end
1304
+ # resource path
1305
+ local_var_path = '/stock/financials'
1306
+
1307
+ # query parameters
1308
+ query_params = opts[:query_params] || {}
1309
+ query_params[:'symbol'] = symbol
1310
+ query_params[:'statement'] = statement
1311
+ query_params[:'freq'] = freq
1312
+
1313
+ # header parameters
1314
+ header_params = opts[:header_params] || {}
1315
+ # HTTP header 'Accept' (if needed)
1316
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1317
+
1318
+ # form parameters
1319
+ form_params = opts[:form_params] || {}
1320
+
1321
+ # http body (model)
1322
+ post_body = opts[:body]
1323
+
1324
+ # return_type
1325
+ return_type = opts[:return_type] || 'FinancialStatements'
1326
+
1327
+ # auth_names
1328
+ auth_names = opts[:auth_names] || ['api_key']
1329
+
1330
+ new_options = opts.merge(
1331
+ :header_params => header_params,
1332
+ :query_params => query_params,
1333
+ :form_params => form_params,
1334
+ :body => post_body,
1335
+ :auth_names => auth_names,
1336
+ :return_type => return_type
1337
+ )
1338
+
1339
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1340
+ if @api_client.config.debugging
1341
+ @api_client.config.logger.debug "API called: DefaultApi#financials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1342
+ end
1343
+ return data, status_code, headers
1344
+ end
1345
+
1346
+ # Financials As Reported
1347
+ # Get financials as reported. This data is available for bulk download on <a href=\"https://www.kaggle.com/finnhub/reported-financials\" target=\"_blank\">Kaggle SEC Financials database</a>.
1348
+ # @param [Hash] opts the optional parameters
1349
+ # @option opts [String] :symbol Symbol.
1350
+ # @option opts [String] :cik CIK.
1351
+ # @option opts [String] :access_number Access number of a specific report you want to retrieve financials from.
1352
+ # @option opts [String] :freq Frequency. Can be either &lt;code&gt;annual&lt;/code&gt; or &lt;code&gt;quarterly&lt;/code&gt;. Default to &lt;code&gt;annual&lt;/code&gt;.
1353
+ # @return [FinancialsAsReported]
1354
+ def financials_reported(opts = {})
1355
+ data, _status_code, _headers = financials_reported_with_http_info(opts)
1356
+ data
1357
+ end
1358
+
1359
+ # Financials As Reported
1360
+ # 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;.
1361
+ # @param [Hash] opts the optional parameters
1362
+ # @option opts [String] :symbol Symbol.
1363
+ # @option opts [String] :cik CIK.
1364
+ # @option opts [String] :access_number Access number of a specific report you want to retrieve financials from.
1365
+ # @option opts [String] :freq Frequency. Can be either &lt;code&gt;annual&lt;/code&gt; or &lt;code&gt;quarterly&lt;/code&gt;. Default to &lt;code&gt;annual&lt;/code&gt;.
1366
+ # @return [Array<(FinancialsAsReported, Integer, Hash)>] FinancialsAsReported data, response status code and response headers
1367
+ def financials_reported_with_http_info(opts = {})
1368
+ if @api_client.config.debugging
1369
+ @api_client.config.logger.debug 'Calling API: DefaultApi.financials_reported ...'
1370
+ end
1371
+ # resource path
1372
+ local_var_path = '/stock/financials-reported'
1373
+
1374
+ # query parameters
1375
+ query_params = opts[:query_params] || {}
1376
+ query_params[:'symbol'] = opts[:'symbol'] if !opts[:'symbol'].nil?
1377
+ query_params[:'cik'] = opts[:'cik'] if !opts[:'cik'].nil?
1378
+ query_params[:'accessNumber'] = opts[:'access_number'] if !opts[:'access_number'].nil?
1379
+ query_params[:'freq'] = opts[:'freq'] if !opts[:'freq'].nil?
1380
+
1381
+ # header parameters
1382
+ header_params = opts[:header_params] || {}
1383
+ # HTTP header 'Accept' (if needed)
1384
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1385
+
1386
+ # form parameters
1387
+ form_params = opts[:form_params] || {}
1388
+
1389
+ # http body (model)
1390
+ post_body = opts[:body]
1391
+
1392
+ # return_type
1393
+ return_type = opts[:return_type] || 'FinancialsAsReported'
1394
+
1395
+ # auth_names
1396
+ auth_names = opts[:auth_names] || ['api_key']
1397
+
1398
+ new_options = opts.merge(
1399
+ :header_params => header_params,
1400
+ :query_params => query_params,
1401
+ :form_params => form_params,
1402
+ :body => post_body,
1403
+ :auth_names => auth_names,
1404
+ :return_type => return_type
1405
+ )
1406
+
1407
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1408
+ if @api_client.config.debugging
1409
+ @api_client.config.logger.debug "API called: DefaultApi#financials_reported\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1410
+ end
1411
+ return data, status_code, headers
1412
+ end
1413
+
1414
+ # Forex Candles
1415
+ # Get candlestick data for forex symbols.
1416
+ # @param symbol [String] Use symbol returned in &lt;code&gt;/forex/symbol&lt;/code&gt; endpoint for this field.
1417
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
1418
+ # @param from [Integer] UNIX timestamp. Interval initial value.
1419
+ # @param to [Integer] UNIX timestamp. Interval end value.
1420
+ # @param [Hash] opts the optional parameters
1421
+ # @return [ForexCandles]
1422
+ def forex_candles(symbol, resolution, from, to, opts = {})
1423
+ data, _status_code, _headers = forex_candles_with_http_info(symbol, resolution, from, to, opts)
1424
+ data
1425
+ end
1426
+
1427
+ # Forex Candles
1428
+ # Get candlestick data for forex symbols.
1429
+ # @param symbol [String] Use symbol returned in &lt;code&gt;/forex/symbol&lt;/code&gt; endpoint for this field.
1430
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
1431
+ # @param from [Integer] UNIX timestamp. Interval initial value.
1432
+ # @param to [Integer] UNIX timestamp. Interval end value.
1433
+ # @param [Hash] opts the optional parameters
1434
+ # @return [Array<(ForexCandles, Integer, Hash)>] ForexCandles data, response status code and response headers
1435
+ def forex_candles_with_http_info(symbol, resolution, from, to, opts = {})
1436
+ if @api_client.config.debugging
1437
+ @api_client.config.logger.debug 'Calling API: DefaultApi.forex_candles ...'
1438
+ end
1439
+ # verify the required parameter 'symbol' is set
1440
+ if @api_client.config.client_side_validation && symbol.nil?
1441
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.forex_candles"
1442
+ end
1443
+ # verify the required parameter 'resolution' is set
1444
+ if @api_client.config.client_side_validation && resolution.nil?
1445
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.forex_candles"
1446
+ end
1447
+ # verify the required parameter 'from' is set
1448
+ if @api_client.config.client_side_validation && from.nil?
1449
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.forex_candles"
1450
+ end
1451
+ # verify the required parameter 'to' is set
1452
+ if @api_client.config.client_side_validation && to.nil?
1453
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.forex_candles"
1454
+ end
1455
+ # resource path
1456
+ local_var_path = '/forex/candle'
1457
+
1458
+ # query parameters
1459
+ query_params = opts[:query_params] || {}
1460
+ query_params[:'symbol'] = symbol
1461
+ query_params[:'resolution'] = resolution
1462
+ query_params[:'from'] = from
1463
+ query_params[:'to'] = to
1464
+
1465
+ # header parameters
1466
+ header_params = opts[:header_params] || {}
1467
+ # HTTP header 'Accept' (if needed)
1468
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1469
+
1470
+ # form parameters
1471
+ form_params = opts[:form_params] || {}
1472
+
1473
+ # http body (model)
1474
+ post_body = opts[:body]
1475
+
1476
+ # return_type
1477
+ return_type = opts[:return_type] || 'ForexCandles'
1478
+
1479
+ # auth_names
1480
+ auth_names = opts[:auth_names] || ['api_key']
1481
+
1482
+ new_options = opts.merge(
1483
+ :header_params => header_params,
1484
+ :query_params => query_params,
1485
+ :form_params => form_params,
1486
+ :body => post_body,
1487
+ :auth_names => auth_names,
1488
+ :return_type => return_type
1489
+ )
1490
+
1491
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1492
+ if @api_client.config.debugging
1493
+ @api_client.config.logger.debug "API called: DefaultApi#forex_candles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1494
+ end
1495
+ return data, status_code, headers
1496
+ end
1497
+
1498
+ # Forex Exchanges
1499
+ # List supported forex exchanges
1500
+ # @param [Hash] opts the optional parameters
1501
+ # @return [Array<String>]
1502
+ def forex_exchanges(opts = {})
1503
+ data, _status_code, _headers = forex_exchanges_with_http_info(opts)
1504
+ data
1505
+ end
1506
+
1507
+ # Forex Exchanges
1508
+ # List supported forex exchanges
1509
+ # @param [Hash] opts the optional parameters
1510
+ # @return [Array<(Array<String>, Integer, Hash)>] Array<String> data, response status code and response headers
1511
+ def forex_exchanges_with_http_info(opts = {})
1512
+ if @api_client.config.debugging
1513
+ @api_client.config.logger.debug 'Calling API: DefaultApi.forex_exchanges ...'
1514
+ end
1515
+ # resource path
1516
+ local_var_path = '/forex/exchange'
1517
+
1518
+ # query parameters
1519
+ query_params = opts[:query_params] || {}
1520
+
1521
+ # header parameters
1522
+ header_params = opts[:header_params] || {}
1523
+ # HTTP header 'Accept' (if needed)
1524
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1525
+
1526
+ # form parameters
1527
+ form_params = opts[:form_params] || {}
1528
+
1529
+ # http body (model)
1530
+ post_body = opts[:body]
1531
+
1532
+ # return_type
1533
+ return_type = opts[:return_type] || 'Array<String>'
1534
+
1535
+ # auth_names
1536
+ auth_names = opts[:auth_names] || ['api_key']
1537
+
1538
+ new_options = opts.merge(
1539
+ :header_params => header_params,
1540
+ :query_params => query_params,
1541
+ :form_params => form_params,
1542
+ :body => post_body,
1543
+ :auth_names => auth_names,
1544
+ :return_type => return_type
1545
+ )
1546
+
1547
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1548
+ if @api_client.config.debugging
1549
+ @api_client.config.logger.debug "API called: DefaultApi#forex_exchanges\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1550
+ end
1551
+ return data, status_code, headers
1552
+ end
1553
+
1554
+ # Forex rates
1555
+ # Get rates for all forex pairs. Ideal for currency conversion
1556
+ # @param [Hash] opts the optional parameters
1557
+ # @option opts [String] :base Base currency. Default to EUR.
1558
+ # @return [Forexrates]
1559
+ def forex_rates(opts = {})
1560
+ data, _status_code, _headers = forex_rates_with_http_info(opts)
1561
+ data
1562
+ end
1563
+
1564
+ # Forex rates
1565
+ # Get rates for all forex pairs. Ideal for currency conversion
1566
+ # @param [Hash] opts the optional parameters
1567
+ # @option opts [String] :base Base currency. Default to EUR.
1568
+ # @return [Array<(Forexrates, Integer, Hash)>] Forexrates data, response status code and response headers
1569
+ def forex_rates_with_http_info(opts = {})
1570
+ if @api_client.config.debugging
1571
+ @api_client.config.logger.debug 'Calling API: DefaultApi.forex_rates ...'
1572
+ end
1573
+ # resource path
1574
+ local_var_path = '/forex/rates'
1575
+
1576
+ # query parameters
1577
+ query_params = opts[:query_params] || {}
1578
+ query_params[:'base'] = opts[:'base'] if !opts[:'base'].nil?
1579
+
1580
+ # header parameters
1581
+ header_params = opts[:header_params] || {}
1582
+ # HTTP header 'Accept' (if needed)
1583
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1584
+
1585
+ # form parameters
1586
+ form_params = opts[:form_params] || {}
1587
+
1588
+ # http body (model)
1589
+ post_body = opts[:body]
1590
+
1591
+ # return_type
1592
+ return_type = opts[:return_type] || 'Forexrates'
1593
+
1594
+ # auth_names
1595
+ auth_names = opts[:auth_names] || ['api_key']
1596
+
1597
+ new_options = opts.merge(
1598
+ :header_params => header_params,
1599
+ :query_params => query_params,
1600
+ :form_params => form_params,
1601
+ :body => post_body,
1602
+ :auth_names => auth_names,
1603
+ :return_type => return_type
1604
+ )
1605
+
1606
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1607
+ if @api_client.config.debugging
1608
+ @api_client.config.logger.debug "API called: DefaultApi#forex_rates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1609
+ end
1610
+ return data, status_code, headers
1611
+ end
1612
+
1613
+ # Forex Symbol
1614
+ # List supported forex symbols.
1615
+ # @param exchange [String] Exchange you want to get the list of symbols from.
1616
+ # @param [Hash] opts the optional parameters
1617
+ # @return [Array<ForexSymbol>]
1618
+ def forex_symbols(exchange, opts = {})
1619
+ data, _status_code, _headers = forex_symbols_with_http_info(exchange, opts)
1620
+ data
1621
+ end
1622
+
1623
+ # Forex Symbol
1624
+ # List supported forex symbols.
1625
+ # @param exchange [String] Exchange you want to get the list of symbols from.
1626
+ # @param [Hash] opts the optional parameters
1627
+ # @return [Array<(Array<ForexSymbol>, Integer, Hash)>] Array<ForexSymbol> data, response status code and response headers
1628
+ def forex_symbols_with_http_info(exchange, opts = {})
1629
+ if @api_client.config.debugging
1630
+ @api_client.config.logger.debug 'Calling API: DefaultApi.forex_symbols ...'
1631
+ end
1632
+ # verify the required parameter 'exchange' is set
1633
+ if @api_client.config.client_side_validation && exchange.nil?
1634
+ fail ArgumentError, "Missing the required parameter 'exchange' when calling DefaultApi.forex_symbols"
1635
+ end
1636
+ # resource path
1637
+ local_var_path = '/forex/symbol'
1638
+
1639
+ # query parameters
1640
+ query_params = opts[:query_params] || {}
1641
+ query_params[:'exchange'] = exchange
1642
+
1643
+ # header parameters
1644
+ header_params = opts[:header_params] || {}
1645
+ # HTTP header 'Accept' (if needed)
1646
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1647
+
1648
+ # form parameters
1649
+ form_params = opts[:form_params] || {}
1650
+
1651
+ # http body (model)
1652
+ post_body = opts[:body]
1653
+
1654
+ # return_type
1655
+ return_type = opts[:return_type] || 'Array<ForexSymbol>'
1656
+
1657
+ # auth_names
1658
+ auth_names = opts[:auth_names] || ['api_key']
1659
+
1660
+ new_options = opts.merge(
1661
+ :header_params => header_params,
1662
+ :query_params => query_params,
1663
+ :form_params => form_params,
1664
+ :body => post_body,
1665
+ :auth_names => auth_names,
1666
+ :return_type => return_type
1667
+ )
1668
+
1669
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1670
+ if @api_client.config.debugging
1671
+ @api_client.config.logger.debug "API called: DefaultApi#forex_symbols\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1672
+ end
1673
+ return data, status_code, headers
1674
+ end
1675
+
1676
+ # Fund Ownership
1677
+ # Get a full list fund and institutional investors of a company in descending order of the number of shares held.
1678
+ # @param symbol [String] Symbol of the company: AAPL.
1679
+ # @param [Hash] opts the optional parameters
1680
+ # @option opts [Integer] :limit Limit number of results. Leave empty to get the full list.
1681
+ # @return [FundOwnership]
1682
+ def fund_ownership(symbol, opts = {})
1683
+ data, _status_code, _headers = fund_ownership_with_http_info(symbol, opts)
1684
+ data
1685
+ end
1686
+
1687
+ # Fund Ownership
1688
+ # Get a full list fund and institutional investors of a company in descending order of the number of shares held.
1689
+ # @param symbol [String] Symbol of the company: AAPL.
1690
+ # @param [Hash] opts the optional parameters
1691
+ # @option opts [Integer] :limit Limit number of results. Leave empty to get the full list.
1692
+ # @return [Array<(FundOwnership, Integer, Hash)>] FundOwnership data, response status code and response headers
1693
+ def fund_ownership_with_http_info(symbol, opts = {})
1694
+ if @api_client.config.debugging
1695
+ @api_client.config.logger.debug 'Calling API: DefaultApi.fund_ownership ...'
1696
+ end
1697
+ # verify the required parameter 'symbol' is set
1698
+ if @api_client.config.client_side_validation && symbol.nil?
1699
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.fund_ownership"
1700
+ end
1701
+ # resource path
1702
+ local_var_path = '/stock/fund-ownership'
1703
+
1704
+ # query parameters
1705
+ query_params = opts[:query_params] || {}
1706
+ query_params[:'symbol'] = symbol
1707
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1708
+
1709
+ # header parameters
1710
+ header_params = opts[:header_params] || {}
1711
+ # HTTP header 'Accept' (if needed)
1712
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1713
+
1714
+ # form parameters
1715
+ form_params = opts[:form_params] || {}
1716
+
1717
+ # http body (model)
1718
+ post_body = opts[:body]
1719
+
1720
+ # return_type
1721
+ return_type = opts[:return_type] || 'FundOwnership'
1722
+
1723
+ # auth_names
1724
+ auth_names = opts[:auth_names] || ['api_key']
1725
+
1726
+ new_options = opts.merge(
1727
+ :header_params => header_params,
1728
+ :query_params => query_params,
1729
+ :form_params => form_params,
1730
+ :body => post_body,
1731
+ :auth_names => auth_names,
1732
+ :return_type => return_type
1733
+ )
1734
+
1735
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1736
+ if @api_client.config.debugging
1737
+ @api_client.config.logger.debug "API called: DefaultApi#fund_ownership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1738
+ end
1739
+ return data, status_code, headers
1740
+ end
1741
+
1742
+ # General News
1743
+ # Get latest market news.
1744
+ # @param category [String] This parameter can be 1 of the following values &lt;code&gt;general, forex, crypto, merger&lt;/code&gt;.
1745
+ # @param [Hash] opts the optional parameters
1746
+ # @option opts [String] :min_id Use this field to get only news after this ID. Default to 0
1747
+ # @return [Array<News>]
1748
+ def general_news(category, opts = {})
1749
+ data, _status_code, _headers = general_news_with_http_info(category, opts)
1750
+ data
1751
+ end
1752
+
1753
+ # General News
1754
+ # Get latest market news.
1755
+ # @param category [String] This parameter can be 1 of the following values &lt;code&gt;general, forex, crypto, merger&lt;/code&gt;.
1756
+ # @param [Hash] opts the optional parameters
1757
+ # @option opts [String] :min_id Use this field to get only news after this ID. Default to 0
1758
+ # @return [Array<(Array<News>, Integer, Hash)>] Array<News> data, response status code and response headers
1759
+ def general_news_with_http_info(category, opts = {})
1760
+ if @api_client.config.debugging
1761
+ @api_client.config.logger.debug 'Calling API: DefaultApi.general_news ...'
1762
+ end
1763
+ # verify the required parameter 'category' is set
1764
+ if @api_client.config.client_side_validation && category.nil?
1765
+ fail ArgumentError, "Missing the required parameter 'category' when calling DefaultApi.general_news"
1766
+ end
1767
+ # resource path
1768
+ local_var_path = '/news'
1769
+
1770
+ # query parameters
1771
+ query_params = opts[:query_params] || {}
1772
+ query_params[:'category'] = category
1773
+ query_params[:'minId'] = opts[:'min_id'] if !opts[:'min_id'].nil?
1774
+
1775
+ # header parameters
1776
+ header_params = opts[:header_params] || {}
1777
+ # HTTP header 'Accept' (if needed)
1778
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1779
+
1780
+ # form parameters
1781
+ form_params = opts[:form_params] || {}
1782
+
1783
+ # http body (model)
1784
+ post_body = opts[:body]
1785
+
1786
+ # return_type
1787
+ return_type = opts[:return_type] || 'Array<News>'
1788
+
1789
+ # auth_names
1790
+ auth_names = opts[:auth_names] || ['api_key']
1791
+
1792
+ new_options = opts.merge(
1793
+ :header_params => header_params,
1794
+ :query_params => query_params,
1795
+ :form_params => form_params,
1796
+ :body => post_body,
1797
+ :auth_names => auth_names,
1798
+ :return_type => return_type
1799
+ )
1800
+
1801
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1802
+ if @api_client.config.debugging
1803
+ @api_client.config.logger.debug "API called: DefaultApi#general_news\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1804
+ end
1805
+ return data, status_code, headers
1806
+ end
1807
+
1808
+ # Investors Ownership
1809
+ # Get a full list of shareholders/investors of a company in descending order of the number of shares held.
1810
+ # @param symbol [String] Symbol of the company: AAPL.
1811
+ # @param [Hash] opts the optional parameters
1812
+ # @option opts [Integer] :limit Limit number of results. Leave empty to get the full list.
1813
+ # @return [InvestorsOwnership]
1814
+ def investors_ownership(symbol, opts = {})
1815
+ data, _status_code, _headers = investors_ownership_with_http_info(symbol, opts)
1816
+ data
1817
+ end
1818
+
1819
+ # Investors Ownership
1820
+ # Get a full list of shareholders/investors of a company in descending order of the number of shares held.
1821
+ # @param symbol [String] Symbol of the company: AAPL.
1822
+ # @param [Hash] opts the optional parameters
1823
+ # @option opts [Integer] :limit Limit number of results. Leave empty to get the full list.
1824
+ # @return [Array<(InvestorsOwnership, Integer, Hash)>] InvestorsOwnership data, response status code and response headers
1825
+ def investors_ownership_with_http_info(symbol, opts = {})
1826
+ if @api_client.config.debugging
1827
+ @api_client.config.logger.debug 'Calling API: DefaultApi.investors_ownership ...'
1828
+ end
1829
+ # verify the required parameter 'symbol' is set
1830
+ if @api_client.config.client_side_validation && symbol.nil?
1831
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.investors_ownership"
1832
+ end
1833
+ # resource path
1834
+ local_var_path = '/stock/investor-ownership'
1835
+
1836
+ # query parameters
1837
+ query_params = opts[:query_params] || {}
1838
+ query_params[:'symbol'] = symbol
1839
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1840
+
1841
+ # header parameters
1842
+ header_params = opts[:header_params] || {}
1843
+ # HTTP header 'Accept' (if needed)
1844
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1845
+
1846
+ # form parameters
1847
+ form_params = opts[:form_params] || {}
1848
+
1849
+ # http body (model)
1850
+ post_body = opts[:body]
1851
+
1852
+ # return_type
1853
+ return_type = opts[:return_type] || 'InvestorsOwnership'
1854
+
1855
+ # auth_names
1856
+ auth_names = opts[:auth_names] || ['api_key']
1857
+
1858
+ new_options = opts.merge(
1859
+ :header_params => header_params,
1860
+ :query_params => query_params,
1861
+ :form_params => form_params,
1862
+ :body => post_body,
1863
+ :auth_names => auth_names,
1864
+ :return_type => return_type
1865
+ )
1866
+
1867
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1868
+ if @api_client.config.debugging
1869
+ @api_client.config.logger.debug "API called: DefaultApi#investors_ownership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1870
+ end
1871
+ return data, status_code, headers
1872
+ end
1873
+
1874
+ # IPO Calendar
1875
+ # Get recent and coming IPO.
1876
+ # @param from [Date] From date: 2020-03-15.
1877
+ # @param to [Date] To date: 2020-03-16.
1878
+ # @param [Hash] opts the optional parameters
1879
+ # @return [IPOCalendar]
1880
+ def ipo_calendar(from, to, opts = {})
1881
+ data, _status_code, _headers = ipo_calendar_with_http_info(from, to, opts)
1882
+ data
1883
+ end
1884
+
1885
+ # IPO Calendar
1886
+ # Get recent and coming IPO.
1887
+ # @param from [Date] From date: 2020-03-15.
1888
+ # @param to [Date] To date: 2020-03-16.
1889
+ # @param [Hash] opts the optional parameters
1890
+ # @return [Array<(IPOCalendar, Integer, Hash)>] IPOCalendar data, response status code and response headers
1891
+ def ipo_calendar_with_http_info(from, to, opts = {})
1892
+ if @api_client.config.debugging
1893
+ @api_client.config.logger.debug 'Calling API: DefaultApi.ipo_calendar ...'
1894
+ end
1895
+ # verify the required parameter 'from' is set
1896
+ if @api_client.config.client_side_validation && from.nil?
1897
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.ipo_calendar"
1898
+ end
1899
+ # verify the required parameter 'to' is set
1900
+ if @api_client.config.client_side_validation && to.nil?
1901
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.ipo_calendar"
1902
+ end
1903
+ # resource path
1904
+ local_var_path = '/calendar/ipo'
1905
+
1906
+ # query parameters
1907
+ query_params = opts[:query_params] || {}
1908
+ query_params[:'from'] = from
1909
+ query_params[:'to'] = to
1910
+
1911
+ # header parameters
1912
+ header_params = opts[:header_params] || {}
1913
+ # HTTP header 'Accept' (if needed)
1914
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1915
+
1916
+ # form parameters
1917
+ form_params = opts[:form_params] || {}
1918
+
1919
+ # http body (model)
1920
+ post_body = opts[:body]
1921
+
1922
+ # return_type
1923
+ return_type = opts[:return_type] || 'IPOCalendar'
1924
+
1925
+ # auth_names
1926
+ auth_names = opts[:auth_names] || ['api_key']
1927
+
1928
+ new_options = opts.merge(
1929
+ :header_params => header_params,
1930
+ :query_params => query_params,
1931
+ :form_params => form_params,
1932
+ :body => post_body,
1933
+ :auth_names => auth_names,
1934
+ :return_type => return_type
1935
+ )
1936
+
1937
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1938
+ if @api_client.config.debugging
1939
+ @api_client.config.logger.debug "API called: DefaultApi#ipo_calendar\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1940
+ end
1941
+ return data, status_code, headers
1942
+ end
1943
+
1944
+ # Major Developments
1945
+ # 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.
1946
+ # @param symbol [String] Company symbol.
1947
+ # @param [Hash] opts the optional parameters
1948
+ # @option opts [Date] :from From time: 2020-01-01.
1949
+ # @option opts [Date] :to To time: 2020-01-05.
1950
+ # @return [MajorDevelopments]
1951
+ def major_developments(symbol, opts = {})
1952
+ data, _status_code, _headers = major_developments_with_http_info(symbol, opts)
1953
+ data
1954
+ end
1955
+
1956
+ # Major Developments
1957
+ # 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.
1958
+ # @param symbol [String] Company symbol.
1959
+ # @param [Hash] opts the optional parameters
1960
+ # @option opts [Date] :from From time: 2020-01-01.
1961
+ # @option opts [Date] :to To time: 2020-01-05.
1962
+ # @return [Array<(MajorDevelopments, Integer, Hash)>] MajorDevelopments data, response status code and response headers
1963
+ def major_developments_with_http_info(symbol, opts = {})
1964
+ if @api_client.config.debugging
1965
+ @api_client.config.logger.debug 'Calling API: DefaultApi.major_developments ...'
1966
+ end
1967
+ # verify the required parameter 'symbol' is set
1968
+ if @api_client.config.client_side_validation && symbol.nil?
1969
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.major_developments"
1970
+ end
1971
+ # resource path
1972
+ local_var_path = '/major-development'
1973
+
1974
+ # query parameters
1975
+ query_params = opts[:query_params] || {}
1976
+ query_params[:'symbol'] = symbol
1977
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
1978
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
1979
+
1980
+ # header parameters
1981
+ header_params = opts[:header_params] || {}
1982
+ # HTTP header 'Accept' (if needed)
1983
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1984
+
1985
+ # form parameters
1986
+ form_params = opts[:form_params] || {}
1987
+
1988
+ # http body (model)
1989
+ post_body = opts[:body]
1990
+
1991
+ # return_type
1992
+ return_type = opts[:return_type] || 'MajorDevelopments'
1993
+
1994
+ # auth_names
1995
+ auth_names = opts[:auth_names] || ['api_key']
1996
+
1997
+ new_options = opts.merge(
1998
+ :header_params => header_params,
1999
+ :query_params => query_params,
2000
+ :form_params => form_params,
2001
+ :body => post_body,
2002
+ :auth_names => auth_names,
2003
+ :return_type => return_type
2004
+ )
2005
+
2006
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2007
+ if @api_client.config.debugging
2008
+ @api_client.config.logger.debug "API called: DefaultApi#major_developments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2009
+ end
2010
+ return data, status_code, headers
2011
+ end
2012
+
2013
+ # News Sentiment
2014
+ # Get company's news sentiment and statistics. This endpoint is only available for US companies.
2015
+ # @param symbol [String] Company symbol.
2016
+ # @param [Hash] opts the optional parameters
2017
+ # @return [NewsSentiment]
2018
+ def news_sentiment(symbol, opts = {})
2019
+ data, _status_code, _headers = news_sentiment_with_http_info(symbol, opts)
2020
+ data
2021
+ end
2022
+
2023
+ # News Sentiment
2024
+ # Get company&#39;s news sentiment and statistics. This endpoint is only available for US companies.
2025
+ # @param symbol [String] Company symbol.
2026
+ # @param [Hash] opts the optional parameters
2027
+ # @return [Array<(NewsSentiment, Integer, Hash)>] NewsSentiment data, response status code and response headers
2028
+ def news_sentiment_with_http_info(symbol, opts = {})
2029
+ if @api_client.config.debugging
2030
+ @api_client.config.logger.debug 'Calling API: DefaultApi.news_sentiment ...'
2031
+ end
2032
+ # verify the required parameter 'symbol' is set
2033
+ if @api_client.config.client_side_validation && symbol.nil?
2034
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.news_sentiment"
2035
+ end
2036
+ # resource path
2037
+ local_var_path = '/news-sentiment'
2038
+
2039
+ # query parameters
2040
+ query_params = opts[:query_params] || {}
2041
+ query_params[:'symbol'] = symbol
2042
+
2043
+ # header parameters
2044
+ header_params = opts[:header_params] || {}
2045
+ # HTTP header 'Accept' (if needed)
2046
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2047
+
2048
+ # form parameters
2049
+ form_params = opts[:form_params] || {}
2050
+
2051
+ # http body (model)
2052
+ post_body = opts[:body]
2053
+
2054
+ # return_type
2055
+ return_type = opts[:return_type] || 'NewsSentiment'
2056
+
2057
+ # auth_names
2058
+ auth_names = opts[:auth_names] || ['api_key']
2059
+
2060
+ new_options = opts.merge(
2061
+ :header_params => header_params,
2062
+ :query_params => query_params,
2063
+ :form_params => form_params,
2064
+ :body => post_body,
2065
+ :auth_names => auth_names,
2066
+ :return_type => return_type
2067
+ )
2068
+
2069
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2070
+ if @api_client.config.debugging
2071
+ @api_client.config.logger.debug "API called: DefaultApi#news_sentiment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2072
+ end
2073
+ return data, status_code, headers
2074
+ end
2075
+
2076
+ # Pattern Recognition
2077
+ # Run pattern recognition algorithm on a symbol. Support double top/bottom, triple top/bottom, head and shoulders, triangle, wedge, channel, flag, and candlestick patterns.
2078
+ # @param symbol [String] Symbol
2079
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2080
+ # @param [Hash] opts the optional parameters
2081
+ # @return [PatternRecognition]
2082
+ def pattern_recognition(symbol, resolution, opts = {})
2083
+ data, _status_code, _headers = pattern_recognition_with_http_info(symbol, resolution, opts)
2084
+ data
2085
+ end
2086
+
2087
+ # Pattern Recognition
2088
+ # Run pattern recognition algorithm on a symbol. Support double top/bottom, triple top/bottom, head and shoulders, triangle, wedge, channel, flag, and candlestick patterns.
2089
+ # @param symbol [String] Symbol
2090
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2091
+ # @param [Hash] opts the optional parameters
2092
+ # @return [Array<(PatternRecognition, Integer, Hash)>] PatternRecognition data, response status code and response headers
2093
+ def pattern_recognition_with_http_info(symbol, resolution, opts = {})
2094
+ if @api_client.config.debugging
2095
+ @api_client.config.logger.debug 'Calling API: DefaultApi.pattern_recognition ...'
2096
+ end
2097
+ # verify the required parameter 'symbol' is set
2098
+ if @api_client.config.client_side_validation && symbol.nil?
2099
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.pattern_recognition"
2100
+ end
2101
+ # verify the required parameter 'resolution' is set
2102
+ if @api_client.config.client_side_validation && resolution.nil?
2103
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.pattern_recognition"
2104
+ end
2105
+ # resource path
2106
+ local_var_path = '/scan/pattern'
2107
+
2108
+ # query parameters
2109
+ query_params = opts[:query_params] || {}
2110
+ query_params[:'symbol'] = symbol
2111
+ query_params[:'resolution'] = resolution
2112
+
2113
+ # header parameters
2114
+ header_params = opts[:header_params] || {}
2115
+ # HTTP header 'Accept' (if needed)
2116
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2117
+
2118
+ # form parameters
2119
+ form_params = opts[:form_params] || {}
2120
+
2121
+ # http body (model)
2122
+ post_body = opts[:body]
2123
+
2124
+ # return_type
2125
+ return_type = opts[:return_type] || 'PatternRecognition'
2126
+
2127
+ # auth_names
2128
+ auth_names = opts[:auth_names] || ['api_key']
2129
+
2130
+ new_options = opts.merge(
2131
+ :header_params => header_params,
2132
+ :query_params => query_params,
2133
+ :form_params => form_params,
2134
+ :body => post_body,
2135
+ :auth_names => auth_names,
2136
+ :return_type => return_type
2137
+ )
2138
+
2139
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2140
+ if @api_client.config.debugging
2141
+ @api_client.config.logger.debug "API called: DefaultApi#pattern_recognition\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2142
+ end
2143
+ return data, status_code, headers
2144
+ end
2145
+
2146
+ # Price Target
2147
+ # Get latest price target consensus.
2148
+ # @param symbol [String] Symbol of the company: AAPL.
2149
+ # @param [Hash] opts the optional parameters
2150
+ # @return [PriceTarget]
2151
+ def price_target(symbol, opts = {})
2152
+ data, _status_code, _headers = price_target_with_http_info(symbol, opts)
2153
+ data
2154
+ end
2155
+
2156
+ # Price Target
2157
+ # Get latest price target consensus.
2158
+ # @param symbol [String] Symbol of the company: AAPL.
2159
+ # @param [Hash] opts the optional parameters
2160
+ # @return [Array<(PriceTarget, Integer, Hash)>] PriceTarget data, response status code and response headers
2161
+ def price_target_with_http_info(symbol, opts = {})
2162
+ if @api_client.config.debugging
2163
+ @api_client.config.logger.debug 'Calling API: DefaultApi.price_target ...'
2164
+ end
2165
+ # verify the required parameter 'symbol' is set
2166
+ if @api_client.config.client_side_validation && symbol.nil?
2167
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.price_target"
2168
+ end
2169
+ # resource path
2170
+ local_var_path = '/stock/price-target'
2171
+
2172
+ # query parameters
2173
+ query_params = opts[:query_params] || {}
2174
+ query_params[:'symbol'] = symbol
2175
+
2176
+ # header parameters
2177
+ header_params = opts[:header_params] || {}
2178
+ # HTTP header 'Accept' (if needed)
2179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2180
+
2181
+ # form parameters
2182
+ form_params = opts[:form_params] || {}
2183
+
2184
+ # http body (model)
2185
+ post_body = opts[:body]
2186
+
2187
+ # return_type
2188
+ return_type = opts[:return_type] || 'PriceTarget'
2189
+
2190
+ # auth_names
2191
+ auth_names = opts[:auth_names] || ['api_key']
2192
+
2193
+ new_options = opts.merge(
2194
+ :header_params => header_params,
2195
+ :query_params => query_params,
2196
+ :form_params => form_params,
2197
+ :body => post_body,
2198
+ :auth_names => auth_names,
2199
+ :return_type => return_type
2200
+ )
2201
+
2202
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2203
+ if @api_client.config.debugging
2204
+ @api_client.config.logger.debug "API called: DefaultApi#price_target\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2205
+ end
2206
+ return data, status_code, headers
2207
+ end
2208
+
2209
+ # Quote
2210
+ # <p>Get real-time quote data for US stocks. Constant polling is not recommended. Use websocket if you need real-time update.</p><p>Real-time stock prices for international markets are supported for Enterprise clients via our partner's feed. <a href=\"mailto:support@finnhub.io\">Contact Us</a> to learn more.</p>
2211
+ # @param symbol [String] Symbol
2212
+ # @param [Hash] opts the optional parameters
2213
+ # @return [Quote]
2214
+ def quote(symbol, opts = {})
2215
+ data, _status_code, _headers = quote_with_http_info(symbol, opts)
2216
+ data
2217
+ end
2218
+
2219
+ # Quote
2220
+ # &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;
2221
+ # @param symbol [String] Symbol
2222
+ # @param [Hash] opts the optional parameters
2223
+ # @return [Array<(Quote, Integer, Hash)>] Quote data, response status code and response headers
2224
+ def quote_with_http_info(symbol, opts = {})
2225
+ if @api_client.config.debugging
2226
+ @api_client.config.logger.debug 'Calling API: DefaultApi.quote ...'
2227
+ end
2228
+ # verify the required parameter 'symbol' is set
2229
+ if @api_client.config.client_side_validation && symbol.nil?
2230
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.quote"
2231
+ end
2232
+ # resource path
2233
+ local_var_path = '/quote'
2234
+
2235
+ # query parameters
2236
+ query_params = opts[:query_params] || {}
2237
+ query_params[:'symbol'] = symbol
2238
+
2239
+ # header parameters
2240
+ header_params = opts[:header_params] || {}
2241
+ # HTTP header 'Accept' (if needed)
2242
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2243
+
2244
+ # form parameters
2245
+ form_params = opts[:form_params] || {}
2246
+
2247
+ # http body (model)
2248
+ post_body = opts[:body]
2249
+
2250
+ # return_type
2251
+ return_type = opts[:return_type] || 'Quote'
2252
+
2253
+ # auth_names
2254
+ auth_names = opts[:auth_names] || ['api_key']
2255
+
2256
+ new_options = opts.merge(
2257
+ :header_params => header_params,
2258
+ :query_params => query_params,
2259
+ :form_params => form_params,
2260
+ :body => post_body,
2261
+ :auth_names => auth_names,
2262
+ :return_type => return_type
2263
+ )
2264
+
2265
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2266
+ if @api_client.config.debugging
2267
+ @api_client.config.logger.debug "API called: DefaultApi#quote\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2268
+ end
2269
+ return data, status_code, headers
2270
+ end
2271
+
2272
+ # Recommendation Trends
2273
+ # Get latest analyst recommendation trends for a company.
2274
+ # @param symbol [String] Symbol of the company: AAPL.
2275
+ # @param [Hash] opts the optional parameters
2276
+ # @return [Array<RecommendationTrend>]
2277
+ def recommendation_trends(symbol, opts = {})
2278
+ data, _status_code, _headers = recommendation_trends_with_http_info(symbol, opts)
2279
+ data
2280
+ end
2281
+
2282
+ # Recommendation Trends
2283
+ # Get latest analyst recommendation trends for a company.
2284
+ # @param symbol [String] Symbol of the company: AAPL.
2285
+ # @param [Hash] opts the optional parameters
2286
+ # @return [Array<(Array<RecommendationTrend>, Integer, Hash)>] Array<RecommendationTrend> data, response status code and response headers
2287
+ def recommendation_trends_with_http_info(symbol, opts = {})
2288
+ if @api_client.config.debugging
2289
+ @api_client.config.logger.debug 'Calling API: DefaultApi.recommendation_trends ...'
2290
+ end
2291
+ # verify the required parameter 'symbol' is set
2292
+ if @api_client.config.client_side_validation && symbol.nil?
2293
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.recommendation_trends"
2294
+ end
2295
+ # resource path
2296
+ local_var_path = '/stock/recommendation'
2297
+
2298
+ # query parameters
2299
+ query_params = opts[:query_params] || {}
2300
+ query_params[:'symbol'] = symbol
2301
+
2302
+ # header parameters
2303
+ header_params = opts[:header_params] || {}
2304
+ # HTTP header 'Accept' (if needed)
2305
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2306
+
2307
+ # form parameters
2308
+ form_params = opts[:form_params] || {}
2309
+
2310
+ # http body (model)
2311
+ post_body = opts[:body]
2312
+
2313
+ # return_type
2314
+ return_type = opts[:return_type] || 'Array<RecommendationTrend>'
2315
+
2316
+ # auth_names
2317
+ auth_names = opts[:auth_names] || ['api_key']
2318
+
2319
+ new_options = opts.merge(
2320
+ :header_params => header_params,
2321
+ :query_params => query_params,
2322
+ :form_params => form_params,
2323
+ :body => post_body,
2324
+ :auth_names => auth_names,
2325
+ :return_type => return_type
2326
+ )
2327
+
2328
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2329
+ if @api_client.config.debugging
2330
+ @api_client.config.logger.debug "API called: DefaultApi#recommendation_trends\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2331
+ end
2332
+ return data, status_code, headers
2333
+ end
2334
+
2335
+ # Last Bid-Ask
2336
+ # Get last bid/ask data for US stocks.
2337
+ # @param symbol [String] Symbol.
2338
+ # @param [Hash] opts the optional parameters
2339
+ # @return [LastBidAsk]
2340
+ def stock_bidask(symbol, opts = {})
2341
+ data, _status_code, _headers = stock_bidask_with_http_info(symbol, opts)
2342
+ data
2343
+ end
2344
+
2345
+ # Last Bid-Ask
2346
+ # Get last bid/ask data for US stocks.
2347
+ # @param symbol [String] Symbol.
2348
+ # @param [Hash] opts the optional parameters
2349
+ # @return [Array<(LastBidAsk, Integer, Hash)>] LastBidAsk data, response status code and response headers
2350
+ def stock_bidask_with_http_info(symbol, opts = {})
2351
+ if @api_client.config.debugging
2352
+ @api_client.config.logger.debug 'Calling API: DefaultApi.stock_bidask ...'
2353
+ end
2354
+ # verify the required parameter 'symbol' is set
2355
+ if @api_client.config.client_side_validation && symbol.nil?
2356
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.stock_bidask"
2357
+ end
2358
+ # resource path
2359
+ local_var_path = '/stock/bidask'
2360
+
2361
+ # query parameters
2362
+ query_params = opts[:query_params] || {}
2363
+ query_params[:'symbol'] = symbol
2364
+
2365
+ # header parameters
2366
+ header_params = opts[:header_params] || {}
2367
+ # HTTP header 'Accept' (if needed)
2368
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2369
+
2370
+ # form parameters
2371
+ form_params = opts[:form_params] || {}
2372
+
2373
+ # http body (model)
2374
+ post_body = opts[:body]
2375
+
2376
+ # return_type
2377
+ return_type = opts[:return_type] || 'LastBidAsk'
2378
+
2379
+ # auth_names
2380
+ auth_names = opts[:auth_names] || ['api_key']
2381
+
2382
+ new_options = opts.merge(
2383
+ :header_params => header_params,
2384
+ :query_params => query_params,
2385
+ :form_params => form_params,
2386
+ :body => post_body,
2387
+ :auth_names => auth_names,
2388
+ :return_type => return_type
2389
+ )
2390
+
2391
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2392
+ if @api_client.config.debugging
2393
+ @api_client.config.logger.debug "API called: DefaultApi#stock_bidask\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2394
+ end
2395
+ return data, status_code, headers
2396
+ end
2397
+
2398
+ # Stock Candles
2399
+ # <p>Get candlestick data for stocks going back 25 years for US stocks.</p><p>Real-time stock prices for international markets are supported for Enterprise clients via our partner's feed. <a href=\"mailto:support@finnhub.io\">Contact Us</a> to learn more.</p>
2400
+ # @param symbol [String] Symbol.
2401
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2402
+ # @param from [Integer] UNIX timestamp. Interval initial value.
2403
+ # @param to [Integer] UNIX timestamp. Interval end value.
2404
+ # @param [Hash] opts the optional parameters
2405
+ # @option opts [String] :adjusted By default, &lt;code&gt;adjusted&#x3D;false&lt;/code&gt;. Use &lt;code&gt;true&lt;/code&gt; to get adjusted data.
2406
+ # @return [StockCandles]
2407
+ def stock_candles(symbol, resolution, from, to, opts = {})
2408
+ data, _status_code, _headers = stock_candles_with_http_info(symbol, resolution, from, to, opts)
2409
+ data
2410
+ end
2411
+
2412
+ # Stock Candles
2413
+ # &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;
2414
+ # @param symbol [String] Symbol.
2415
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2416
+ # @param from [Integer] UNIX timestamp. Interval initial value.
2417
+ # @param to [Integer] UNIX timestamp. Interval end value.
2418
+ # @param [Hash] opts the optional parameters
2419
+ # @option opts [String] :adjusted By default, &lt;code&gt;adjusted&#x3D;false&lt;/code&gt;. Use &lt;code&gt;true&lt;/code&gt; to get adjusted data.
2420
+ # @return [Array<(StockCandles, Integer, Hash)>] StockCandles data, response status code and response headers
2421
+ def stock_candles_with_http_info(symbol, resolution, from, to, opts = {})
2422
+ if @api_client.config.debugging
2423
+ @api_client.config.logger.debug 'Calling API: DefaultApi.stock_candles ...'
2424
+ end
2425
+ # verify the required parameter 'symbol' is set
2426
+ if @api_client.config.client_side_validation && symbol.nil?
2427
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.stock_candles"
2428
+ end
2429
+ # verify the required parameter 'resolution' is set
2430
+ if @api_client.config.client_side_validation && resolution.nil?
2431
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.stock_candles"
2432
+ end
2433
+ # verify the required parameter 'from' is set
2434
+ if @api_client.config.client_side_validation && from.nil?
2435
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.stock_candles"
2436
+ end
2437
+ # verify the required parameter 'to' is set
2438
+ if @api_client.config.client_side_validation && to.nil?
2439
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.stock_candles"
2440
+ end
2441
+ # resource path
2442
+ local_var_path = '/stock/candle'
2443
+
2444
+ # query parameters
2445
+ query_params = opts[:query_params] || {}
2446
+ query_params[:'symbol'] = symbol
2447
+ query_params[:'resolution'] = resolution
2448
+ query_params[:'from'] = from
2449
+ query_params[:'to'] = to
2450
+ query_params[:'adjusted'] = opts[:'adjusted'] if !opts[:'adjusted'].nil?
2451
+
2452
+ # header parameters
2453
+ header_params = opts[:header_params] || {}
2454
+ # HTTP header 'Accept' (if needed)
2455
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2456
+
2457
+ # form parameters
2458
+ form_params = opts[:form_params] || {}
2459
+
2460
+ # http body (model)
2461
+ post_body = opts[:body]
2462
+
2463
+ # return_type
2464
+ return_type = opts[:return_type] || 'StockCandles'
2465
+
2466
+ # auth_names
2467
+ auth_names = opts[:auth_names] || ['api_key']
2468
+
2469
+ new_options = opts.merge(
2470
+ :header_params => header_params,
2471
+ :query_params => query_params,
2472
+ :form_params => form_params,
2473
+ :body => post_body,
2474
+ :auth_names => auth_names,
2475
+ :return_type => return_type
2476
+ )
2477
+
2478
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2479
+ if @api_client.config.debugging
2480
+ @api_client.config.logger.debug "API called: DefaultApi#stock_candles\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2481
+ end
2482
+ return data, status_code, headers
2483
+ end
2484
+
2485
+ # Dividends
2486
+ # Get dividends data for common stocks going back 30 years.
2487
+ # @param symbol [String] Symbol.
2488
+ # @param from [Date] YYYY-MM-DD.
2489
+ # @param to [Date] YYYY-MM-DD.
2490
+ # @param [Hash] opts the optional parameters
2491
+ # @return [Array<Dividends>]
2492
+ def stock_dividends(symbol, from, to, opts = {})
2493
+ data, _status_code, _headers = stock_dividends_with_http_info(symbol, from, to, opts)
2494
+ data
2495
+ end
2496
+
2497
+ # Dividends
2498
+ # Get dividends data for common stocks going back 30 years.
2499
+ # @param symbol [String] Symbol.
2500
+ # @param from [Date] YYYY-MM-DD.
2501
+ # @param to [Date] YYYY-MM-DD.
2502
+ # @param [Hash] opts the optional parameters
2503
+ # @return [Array<(Array<Dividends>, Integer, Hash)>] Array<Dividends> data, response status code and response headers
2504
+ def stock_dividends_with_http_info(symbol, from, to, opts = {})
2505
+ if @api_client.config.debugging
2506
+ @api_client.config.logger.debug 'Calling API: DefaultApi.stock_dividends ...'
2507
+ end
2508
+ # verify the required parameter 'symbol' is set
2509
+ if @api_client.config.client_side_validation && symbol.nil?
2510
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.stock_dividends"
2511
+ end
2512
+ # verify the required parameter 'from' is set
2513
+ if @api_client.config.client_side_validation && from.nil?
2514
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.stock_dividends"
2515
+ end
2516
+ # verify the required parameter 'to' is set
2517
+ if @api_client.config.client_side_validation && to.nil?
2518
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.stock_dividends"
2519
+ end
2520
+ # resource path
2521
+ local_var_path = '/stock/dividend'
2522
+
2523
+ # query parameters
2524
+ query_params = opts[:query_params] || {}
2525
+ query_params[:'symbol'] = symbol
2526
+ query_params[:'from'] = from
2527
+ query_params[:'to'] = to
2528
+
2529
+ # header parameters
2530
+ header_params = opts[:header_params] || {}
2531
+ # HTTP header 'Accept' (if needed)
2532
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2533
+
2534
+ # form parameters
2535
+ form_params = opts[:form_params] || {}
2536
+
2537
+ # http body (model)
2538
+ post_body = opts[:body]
2539
+
2540
+ # return_type
2541
+ return_type = opts[:return_type] || 'Array<Dividends>'
2542
+
2543
+ # auth_names
2544
+ auth_names = opts[:auth_names] || ['api_key']
2545
+
2546
+ new_options = opts.merge(
2547
+ :header_params => header_params,
2548
+ :query_params => query_params,
2549
+ :form_params => form_params,
2550
+ :body => post_body,
2551
+ :auth_names => auth_names,
2552
+ :return_type => return_type
2553
+ )
2554
+
2555
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2556
+ if @api_client.config.debugging
2557
+ @api_client.config.logger.debug "API called: DefaultApi#stock_dividends\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2558
+ end
2559
+ return data, status_code, headers
2560
+ end
2561
+
2562
+ # Splits
2563
+ # Get splits data for stocks.
2564
+ # @param symbol [String] Symbol.
2565
+ # @param from [Date] YYYY-MM-DD.
2566
+ # @param to [Date] YYYY-MM-DD.
2567
+ # @param [Hash] opts the optional parameters
2568
+ # @return [Array<Split>]
2569
+ def stock_splits(symbol, from, to, opts = {})
2570
+ data, _status_code, _headers = stock_splits_with_http_info(symbol, from, to, opts)
2571
+ data
2572
+ end
2573
+
2574
+ # Splits
2575
+ # Get splits data for stocks.
2576
+ # @param symbol [String] Symbol.
2577
+ # @param from [Date] YYYY-MM-DD.
2578
+ # @param to [Date] YYYY-MM-DD.
2579
+ # @param [Hash] opts the optional parameters
2580
+ # @return [Array<(Array<Split>, Integer, Hash)>] Array<Split> data, response status code and response headers
2581
+ def stock_splits_with_http_info(symbol, from, to, opts = {})
2582
+ if @api_client.config.debugging
2583
+ @api_client.config.logger.debug 'Calling API: DefaultApi.stock_splits ...'
2584
+ end
2585
+ # verify the required parameter 'symbol' is set
2586
+ if @api_client.config.client_side_validation && symbol.nil?
2587
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.stock_splits"
2588
+ end
2589
+ # verify the required parameter 'from' is set
2590
+ if @api_client.config.client_side_validation && from.nil?
2591
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.stock_splits"
2592
+ end
2593
+ # verify the required parameter 'to' is set
2594
+ if @api_client.config.client_side_validation && to.nil?
2595
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.stock_splits"
2596
+ end
2597
+ # resource path
2598
+ local_var_path = '/stock/split'
2599
+
2600
+ # query parameters
2601
+ query_params = opts[:query_params] || {}
2602
+ query_params[:'symbol'] = symbol
2603
+ query_params[:'from'] = from
2604
+ query_params[:'to'] = to
2605
+
2606
+ # header parameters
2607
+ header_params = opts[:header_params] || {}
2608
+ # HTTP header 'Accept' (if needed)
2609
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2610
+
2611
+ # form parameters
2612
+ form_params = opts[:form_params] || {}
2613
+
2614
+ # http body (model)
2615
+ post_body = opts[:body]
2616
+
2617
+ # return_type
2618
+ return_type = opts[:return_type] || 'Array<Split>'
2619
+
2620
+ # auth_names
2621
+ auth_names = opts[:auth_names] || ['api_key']
2622
+
2623
+ new_options = opts.merge(
2624
+ :header_params => header_params,
2625
+ :query_params => query_params,
2626
+ :form_params => form_params,
2627
+ :body => post_body,
2628
+ :auth_names => auth_names,
2629
+ :return_type => return_type
2630
+ )
2631
+
2632
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2633
+ if @api_client.config.debugging
2634
+ @api_client.config.logger.debug "API called: DefaultApi#stock_splits\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2635
+ end
2636
+ return data, status_code, headers
2637
+ end
2638
+
2639
+ # Stock Symbol
2640
+ # List supported stocks.
2641
+ # @param exchange [String] Exchange you want to get the list of symbols from. List of exchanges with fundamental data can be found &lt;a href&#x3D;\&quot;https://docs.google.com/spreadsheets/d/1I3pBxjfXB056-g_JYf_6o3Rns3BV2kMGG1nCatb91ls/edit?usp&#x3D;sharing\&quot; target&#x3D;\&quot;_blank\&quot;&gt;here&lt;/a&gt;.
2642
+ # @param [Hash] opts the optional parameters
2643
+ # @return [Array<Stock>]
2644
+ def stock_symbols(exchange, opts = {})
2645
+ data, _status_code, _headers = stock_symbols_with_http_info(exchange, opts)
2646
+ data
2647
+ end
2648
+
2649
+ # Stock Symbol
2650
+ # List supported stocks.
2651
+ # @param exchange [String] Exchange you want to get the list of symbols from. List of exchanges with fundamental data can be found &lt;a href&#x3D;\&quot;https://docs.google.com/spreadsheets/d/1I3pBxjfXB056-g_JYf_6o3Rns3BV2kMGG1nCatb91ls/edit?usp&#x3D;sharing\&quot; target&#x3D;\&quot;_blank\&quot;&gt;here&lt;/a&gt;.
2652
+ # @param [Hash] opts the optional parameters
2653
+ # @return [Array<(Array<Stock>, Integer, Hash)>] Array<Stock> data, response status code and response headers
2654
+ def stock_symbols_with_http_info(exchange, opts = {})
2655
+ if @api_client.config.debugging
2656
+ @api_client.config.logger.debug 'Calling API: DefaultApi.stock_symbols ...'
2657
+ end
2658
+ # verify the required parameter 'exchange' is set
2659
+ if @api_client.config.client_side_validation && exchange.nil?
2660
+ fail ArgumentError, "Missing the required parameter 'exchange' when calling DefaultApi.stock_symbols"
2661
+ end
2662
+ # resource path
2663
+ local_var_path = '/stock/symbol'
2664
+
2665
+ # query parameters
2666
+ query_params = opts[:query_params] || {}
2667
+ query_params[:'exchange'] = exchange
2668
+
2669
+ # header parameters
2670
+ header_params = opts[:header_params] || {}
2671
+ # HTTP header 'Accept' (if needed)
2672
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2673
+
2674
+ # form parameters
2675
+ form_params = opts[:form_params] || {}
2676
+
2677
+ # http body (model)
2678
+ post_body = opts[:body]
2679
+
2680
+ # return_type
2681
+ return_type = opts[:return_type] || 'Array<Stock>'
2682
+
2683
+ # auth_names
2684
+ auth_names = opts[:auth_names] || ['api_key']
2685
+
2686
+ new_options = opts.merge(
2687
+ :header_params => header_params,
2688
+ :query_params => query_params,
2689
+ :form_params => form_params,
2690
+ :body => post_body,
2691
+ :auth_names => auth_names,
2692
+ :return_type => return_type
2693
+ )
2694
+
2695
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2696
+ if @api_client.config.debugging
2697
+ @api_client.config.logger.debug "API called: DefaultApi#stock_symbols\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2698
+ end
2699
+ return data, status_code, headers
2700
+ end
2701
+
2702
+ # Tick Data
2703
+ # <p>Get historical tick data for US stocks from all 13 exchanges. You can send the request directly to our tick server at <a href=\"https://tick.finnhub.io/\">https://tick.finnhub.io/</a> 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.</p><p>Tick data from 1985 is available for Enterprise clients. <a href=\"mailto:support@finnhub.io\">Contact us</a> to learn more.</p>
2704
+ # @param symbol [String] Symbol.
2705
+ # @param date [Date] Date: 2020-04-02.
2706
+ # @param limit [Integer] Limit number of ticks returned. Maximum value: &lt;code&gt;25000&lt;/code&gt;
2707
+ # @param skip [Integer] Number of ticks to skip. Use this parameter to loop through the entire data.
2708
+ # @param [Hash] opts the optional parameters
2709
+ # @return [TickData]
2710
+ def stock_tick(symbol, date, limit, skip, opts = {})
2711
+ data, _status_code, _headers = stock_tick_with_http_info(symbol, date, limit, skip, opts)
2712
+ data
2713
+ end
2714
+
2715
+ # Tick Data
2716
+ # &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;
2717
+ # @param symbol [String] Symbol.
2718
+ # @param date [Date] Date: 2020-04-02.
2719
+ # @param limit [Integer] Limit number of ticks returned. Maximum value: &lt;code&gt;25000&lt;/code&gt;
2720
+ # @param skip [Integer] Number of ticks to skip. Use this parameter to loop through the entire data.
2721
+ # @param [Hash] opts the optional parameters
2722
+ # @return [Array<(TickData, Integer, Hash)>] TickData data, response status code and response headers
2723
+ def stock_tick_with_http_info(symbol, date, limit, skip, opts = {})
2724
+ if @api_client.config.debugging
2725
+ @api_client.config.logger.debug 'Calling API: DefaultApi.stock_tick ...'
2726
+ end
2727
+ # verify the required parameter 'symbol' is set
2728
+ if @api_client.config.client_side_validation && symbol.nil?
2729
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.stock_tick"
2730
+ end
2731
+ # verify the required parameter 'date' is set
2732
+ if @api_client.config.client_side_validation && date.nil?
2733
+ fail ArgumentError, "Missing the required parameter 'date' when calling DefaultApi.stock_tick"
2734
+ end
2735
+ # verify the required parameter 'limit' is set
2736
+ if @api_client.config.client_side_validation && limit.nil?
2737
+ fail ArgumentError, "Missing the required parameter 'limit' when calling DefaultApi.stock_tick"
2738
+ end
2739
+ # verify the required parameter 'skip' is set
2740
+ if @api_client.config.client_side_validation && skip.nil?
2741
+ fail ArgumentError, "Missing the required parameter 'skip' when calling DefaultApi.stock_tick"
2742
+ end
2743
+ # resource path
2744
+ local_var_path = '/stock/tick'
2745
+
2746
+ # query parameters
2747
+ query_params = opts[:query_params] || {}
2748
+ query_params[:'symbol'] = symbol
2749
+ query_params[:'date'] = date
2750
+ query_params[:'limit'] = limit
2751
+ query_params[:'skip'] = skip
2752
+
2753
+ # header parameters
2754
+ header_params = opts[:header_params] || {}
2755
+ # HTTP header 'Accept' (if needed)
2756
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2757
+
2758
+ # form parameters
2759
+ form_params = opts[:form_params] || {}
2760
+
2761
+ # http body (model)
2762
+ post_body = opts[:body]
2763
+
2764
+ # return_type
2765
+ return_type = opts[:return_type] || 'TickData'
2766
+
2767
+ # auth_names
2768
+ auth_names = opts[:auth_names] || ['api_key']
2769
+
2770
+ new_options = opts.merge(
2771
+ :header_params => header_params,
2772
+ :query_params => query_params,
2773
+ :form_params => form_params,
2774
+ :body => post_body,
2775
+ :auth_names => auth_names,
2776
+ :return_type => return_type
2777
+ )
2778
+
2779
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2780
+ if @api_client.config.debugging
2781
+ @api_client.config.logger.debug "API called: DefaultApi#stock_tick\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2782
+ end
2783
+ return data, status_code, headers
2784
+ end
2785
+
2786
+ # Support/Resistance
2787
+ # Get support and resistance levels for a symbol.
2788
+ # @param symbol [String] Symbol
2789
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2790
+ # @param [Hash] opts the optional parameters
2791
+ # @return [SupportResistance]
2792
+ def support_resistance(symbol, resolution, opts = {})
2793
+ data, _status_code, _headers = support_resistance_with_http_info(symbol, resolution, opts)
2794
+ data
2795
+ end
2796
+
2797
+ # Support/Resistance
2798
+ # Get support and resistance levels for a symbol.
2799
+ # @param symbol [String] Symbol
2800
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2801
+ # @param [Hash] opts the optional parameters
2802
+ # @return [Array<(SupportResistance, Integer, Hash)>] SupportResistance data, response status code and response headers
2803
+ def support_resistance_with_http_info(symbol, resolution, opts = {})
2804
+ if @api_client.config.debugging
2805
+ @api_client.config.logger.debug 'Calling API: DefaultApi.support_resistance ...'
2806
+ end
2807
+ # verify the required parameter 'symbol' is set
2808
+ if @api_client.config.client_side_validation && symbol.nil?
2809
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.support_resistance"
2810
+ end
2811
+ # verify the required parameter 'resolution' is set
2812
+ if @api_client.config.client_side_validation && resolution.nil?
2813
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.support_resistance"
2814
+ end
2815
+ # resource path
2816
+ local_var_path = '/scan/support-resistance'
2817
+
2818
+ # query parameters
2819
+ query_params = opts[:query_params] || {}
2820
+ query_params[:'symbol'] = symbol
2821
+ query_params[:'resolution'] = resolution
2822
+
2823
+ # header parameters
2824
+ header_params = opts[:header_params] || {}
2825
+ # HTTP header 'Accept' (if needed)
2826
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2827
+
2828
+ # form parameters
2829
+ form_params = opts[:form_params] || {}
2830
+
2831
+ # http body (model)
2832
+ post_body = opts[:body]
2833
+
2834
+ # return_type
2835
+ return_type = opts[:return_type] || 'SupportResistance'
2836
+
2837
+ # auth_names
2838
+ auth_names = opts[:auth_names] || ['api_key']
2839
+
2840
+ new_options = opts.merge(
2841
+ :header_params => header_params,
2842
+ :query_params => query_params,
2843
+ :form_params => form_params,
2844
+ :body => post_body,
2845
+ :auth_names => auth_names,
2846
+ :return_type => return_type
2847
+ )
2848
+
2849
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2850
+ if @api_client.config.debugging
2851
+ @api_client.config.logger.debug "API called: DefaultApi#support_resistance\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2852
+ end
2853
+ return data, status_code, headers
2854
+ end
2855
+
2856
+ # Technical Indicators
2857
+ # Return technical indicator with price data. List of supported indicators can be found <a href=\"https://docs.google.com/spreadsheets/d/1ylUvKHVYN2E87WdwIza8ROaCpd48ggEl1k5i5SgA29k/edit?usp=sharing\" target=\"_blank\">here</a>.
2858
+ # @param symbol [String] symbol
2859
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2860
+ # @param from [Integer] UNIX timestamp. Interval initial value.
2861
+ # @param to [Integer] UNIX timestamp. Interval end value.
2862
+ # @param indicator [String] Indicator name. Full list 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;.
2863
+ # @param [Hash] opts the optional parameters
2864
+ # @option opts [Object] :indicator_fields Check out &lt;a href&#x3D;\&quot;https://docs.google.com/spreadsheets/d/1ylUvKHVYN2E87WdwIza8ROaCpd48ggEl1k5i5SgA29k/edit?usp&#x3D;sharing\&quot; target&#x3D;\&quot;_blank\&quot;&gt;this page&lt;/a&gt; to see which indicators and params are supported.
2865
+ # @return [Object]
2866
+ def technical_indicator(symbol, resolution, from, to, indicator, opts = {})
2867
+ data, _status_code, _headers = technical_indicator_with_http_info(symbol, resolution, from, to, indicator, opts)
2868
+ data
2869
+ end
2870
+
2871
+ # Technical Indicators
2872
+ # 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;.
2873
+ # @param symbol [String] symbol
2874
+ # @param resolution [String] Supported resolution includes &lt;code&gt;1, 5, 15, 30, 60, D, W, M &lt;/code&gt;.Some timeframes might not be available depending on the exchange.
2875
+ # @param from [Integer] UNIX timestamp. Interval initial value.
2876
+ # @param to [Integer] UNIX timestamp. Interval end value.
2877
+ # @param indicator [String] Indicator name. Full list 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;.
2878
+ # @param [Hash] opts the optional parameters
2879
+ # @option opts [Object] :indicator_fields Check out &lt;a href&#x3D;\&quot;https://docs.google.com/spreadsheets/d/1ylUvKHVYN2E87WdwIza8ROaCpd48ggEl1k5i5SgA29k/edit?usp&#x3D;sharing\&quot; target&#x3D;\&quot;_blank\&quot;&gt;this page&lt;/a&gt; to see which indicators and params are supported.
2880
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
2881
+ def technical_indicator_with_http_info(symbol, resolution, from, to, indicator, opts = {})
2882
+ if @api_client.config.debugging
2883
+ @api_client.config.logger.debug 'Calling API: DefaultApi.technical_indicator ...'
2884
+ end
2885
+ # verify the required parameter 'symbol' is set
2886
+ if @api_client.config.client_side_validation && symbol.nil?
2887
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.technical_indicator"
2888
+ end
2889
+ # verify the required parameter 'resolution' is set
2890
+ if @api_client.config.client_side_validation && resolution.nil?
2891
+ fail ArgumentError, "Missing the required parameter 'resolution' when calling DefaultApi.technical_indicator"
2892
+ end
2893
+ # verify the required parameter 'from' is set
2894
+ if @api_client.config.client_side_validation && from.nil?
2895
+ fail ArgumentError, "Missing the required parameter 'from' when calling DefaultApi.technical_indicator"
2896
+ end
2897
+ # verify the required parameter 'to' is set
2898
+ if @api_client.config.client_side_validation && to.nil?
2899
+ fail ArgumentError, "Missing the required parameter 'to' when calling DefaultApi.technical_indicator"
2900
+ end
2901
+ # verify the required parameter 'indicator' is set
2902
+ if @api_client.config.client_side_validation && indicator.nil?
2903
+ fail ArgumentError, "Missing the required parameter 'indicator' when calling DefaultApi.technical_indicator"
2904
+ end
2905
+ # resource path
2906
+ local_var_path = '/indicator'
2907
+
2908
+ # query parameters
2909
+ query_params = opts[:query_params] || {}
2910
+ query_params[:'symbol'] = symbol
2911
+ query_params[:'resolution'] = resolution
2912
+ query_params[:'from'] = from
2913
+ query_params[:'to'] = to
2914
+ query_params[:'indicator'] = indicator
2915
+
2916
+ # header parameters
2917
+ header_params = opts[:header_params] || {}
2918
+ # HTTP header 'Accept' (if needed)
2919
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2920
+ # HTTP header 'Content-Type'
2921
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2922
+
2923
+ # form parameters
2924
+ form_params = opts[:form_params] || {}
2925
+
2926
+ # http body (model)
2927
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'indicator_fields'])
2928
+
2929
+ # return_type
2930
+ return_type = opts[:return_type] || 'Object'
2931
+
2932
+ # auth_names
2933
+ auth_names = opts[:auth_names] || ['api_key']
2934
+
2935
+ new_options = opts.merge(
2936
+ :header_params => header_params,
2937
+ :query_params => query_params,
2938
+ :form_params => form_params,
2939
+ :body => post_body,
2940
+ :auth_names => auth_names,
2941
+ :return_type => return_type
2942
+ )
2943
+
2944
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2945
+ if @api_client.config.debugging
2946
+ @api_client.config.logger.debug "API called: DefaultApi#technical_indicator\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2947
+ end
2948
+ return data, status_code, headers
2949
+ end
2950
+
2951
+ # Earnings Call Transcripts
2952
+ # <p>Get earnings call transcripts, audio and participants' list. This endpoint is only available for US companies. <p>17+ years of data is available with 170,000+ audio which add up to 6TB in size.</p>
2953
+ # @param id [String] Transcript&#39;s id obtained with &lt;a href&#x3D;\&quot;#transcripts-list\&quot;&gt;Transcripts List endpoint&lt;/a&gt;.
2954
+ # @param [Hash] opts the optional parameters
2955
+ # @return [EarningsCallTranscripts]
2956
+ def transcripts(id, opts = {})
2957
+ data, _status_code, _headers = transcripts_with_http_info(id, opts)
2958
+ data
2959
+ end
2960
+
2961
+ # Earnings Call Transcripts
2962
+ # &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;
2963
+ # @param id [String] Transcript&#39;s id obtained with &lt;a href&#x3D;\&quot;#transcripts-list\&quot;&gt;Transcripts List endpoint&lt;/a&gt;.
2964
+ # @param [Hash] opts the optional parameters
2965
+ # @return [Array<(EarningsCallTranscripts, Integer, Hash)>] EarningsCallTranscripts data, response status code and response headers
2966
+ def transcripts_with_http_info(id, opts = {})
2967
+ if @api_client.config.debugging
2968
+ @api_client.config.logger.debug 'Calling API: DefaultApi.transcripts ...'
2969
+ end
2970
+ # verify the required parameter 'id' is set
2971
+ if @api_client.config.client_side_validation && id.nil?
2972
+ fail ArgumentError, "Missing the required parameter 'id' when calling DefaultApi.transcripts"
2973
+ end
2974
+ # resource path
2975
+ local_var_path = '/stock/transcripts'
2976
+
2977
+ # query parameters
2978
+ query_params = opts[:query_params] || {}
2979
+ query_params[:'id'] = id
2980
+
2981
+ # header parameters
2982
+ header_params = opts[:header_params] || {}
2983
+ # HTTP header 'Accept' (if needed)
2984
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2985
+
2986
+ # form parameters
2987
+ form_params = opts[:form_params] || {}
2988
+
2989
+ # http body (model)
2990
+ post_body = opts[:body]
2991
+
2992
+ # return_type
2993
+ return_type = opts[:return_type] || 'EarningsCallTranscripts'
2994
+
2995
+ # auth_names
2996
+ auth_names = opts[:auth_names] || ['api_key']
2997
+
2998
+ new_options = opts.merge(
2999
+ :header_params => header_params,
3000
+ :query_params => query_params,
3001
+ :form_params => form_params,
3002
+ :body => post_body,
3003
+ :auth_names => auth_names,
3004
+ :return_type => return_type
3005
+ )
3006
+
3007
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
3008
+ if @api_client.config.debugging
3009
+ @api_client.config.logger.debug "API called: DefaultApi#transcripts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3010
+ end
3011
+ return data, status_code, headers
3012
+ end
3013
+
3014
+ # Earnings Call Transcripts List
3015
+ # List earnings call transcripts' metadata. This endpoint is only available for US companies.
3016
+ # @param symbol [String] Company symbol: AAPL. Leave empty to list the latest transcripts
3017
+ # @param [Hash] opts the optional parameters
3018
+ # @return [EarningsCallTranscriptsList]
3019
+ def transcripts_list(symbol, opts = {})
3020
+ data, _status_code, _headers = transcripts_list_with_http_info(symbol, opts)
3021
+ data
3022
+ end
3023
+
3024
+ # Earnings Call Transcripts List
3025
+ # List earnings call transcripts&#39; metadata. This endpoint is only available for US companies.
3026
+ # @param symbol [String] Company symbol: AAPL. Leave empty to list the latest transcripts
3027
+ # @param [Hash] opts the optional parameters
3028
+ # @return [Array<(EarningsCallTranscriptsList, Integer, Hash)>] EarningsCallTranscriptsList data, response status code and response headers
3029
+ def transcripts_list_with_http_info(symbol, opts = {})
3030
+ if @api_client.config.debugging
3031
+ @api_client.config.logger.debug 'Calling API: DefaultApi.transcripts_list ...'
3032
+ end
3033
+ # verify the required parameter 'symbol' is set
3034
+ if @api_client.config.client_side_validation && symbol.nil?
3035
+ fail ArgumentError, "Missing the required parameter 'symbol' when calling DefaultApi.transcripts_list"
3036
+ end
3037
+ # resource path
3038
+ local_var_path = '/stock/transcripts/list'
3039
+
3040
+ # query parameters
3041
+ query_params = opts[:query_params] || {}
3042
+ query_params[:'symbol'] = symbol
3043
+
3044
+ # header parameters
3045
+ header_params = opts[:header_params] || {}
3046
+ # HTTP header 'Accept' (if needed)
3047
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3048
+
3049
+ # form parameters
3050
+ form_params = opts[:form_params] || {}
3051
+
3052
+ # http body (model)
3053
+ post_body = opts[:body]
3054
+
3055
+ # return_type
3056
+ return_type = opts[:return_type] || 'EarningsCallTranscriptsList'
3057
+
3058
+ # auth_names
3059
+ auth_names = opts[:auth_names] || ['api_key']
3060
+
3061
+ new_options = opts.merge(
3062
+ :header_params => header_params,
3063
+ :query_params => query_params,
3064
+ :form_params => form_params,
3065
+ :body => post_body,
3066
+ :auth_names => auth_names,
3067
+ :return_type => return_type
3068
+ )
3069
+
3070
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
3071
+ if @api_client.config.debugging
3072
+ @api_client.config.logger.debug "API called: DefaultApi#transcripts_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3073
+ end
3074
+ return data, status_code, headers
3075
+ end
3076
+
3077
+ # Stock Upgrade/Downgrade
3078
+ # Get latest stock upgrade and downgrade.
3079
+ # @param [Hash] opts the optional parameters
3080
+ # @option opts [String] :symbol Symbol of the company: AAPL. If left blank, the API will return latest stock upgrades/downgrades.
3081
+ # @option opts [Date] :from From date: 2000-03-15.
3082
+ # @option opts [Date] :to To date: 2020-03-16.
3083
+ # @return [Array<UpgradeDowngrade>]
3084
+ def upgrade_downgrade(opts = {})
3085
+ data, _status_code, _headers = upgrade_downgrade_with_http_info(opts)
3086
+ data
3087
+ end
3088
+
3089
+ # Stock Upgrade/Downgrade
3090
+ # Get latest stock upgrade and downgrade.
3091
+ # @param [Hash] opts the optional parameters
3092
+ # @option opts [String] :symbol Symbol of the company: AAPL. If left blank, the API will return latest stock upgrades/downgrades.
3093
+ # @option opts [Date] :from From date: 2000-03-15.
3094
+ # @option opts [Date] :to To date: 2020-03-16.
3095
+ # @return [Array<(Array<UpgradeDowngrade>, Integer, Hash)>] Array<UpgradeDowngrade> data, response status code and response headers
3096
+ def upgrade_downgrade_with_http_info(opts = {})
3097
+ if @api_client.config.debugging
3098
+ @api_client.config.logger.debug 'Calling API: DefaultApi.upgrade_downgrade ...'
3099
+ end
3100
+ # resource path
3101
+ local_var_path = '/stock/upgrade-downgrade'
3102
+
3103
+ # query parameters
3104
+ query_params = opts[:query_params] || {}
3105
+ query_params[:'symbol'] = opts[:'symbol'] if !opts[:'symbol'].nil?
3106
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
3107
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
3108
+
3109
+ # header parameters
3110
+ header_params = opts[:header_params] || {}
3111
+ # HTTP header 'Accept' (if needed)
3112
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3113
+
3114
+ # form parameters
3115
+ form_params = opts[:form_params] || {}
3116
+
3117
+ # http body (model)
3118
+ post_body = opts[:body]
3119
+
3120
+ # return_type
3121
+ return_type = opts[:return_type] || 'Array<UpgradeDowngrade>'
3122
+
3123
+ # auth_names
3124
+ auth_names = opts[:auth_names] || ['api_key']
3125
+
3126
+ new_options = opts.merge(
3127
+ :header_params => header_params,
3128
+ :query_params => query_params,
3129
+ :form_params => form_params,
3130
+ :body => post_body,
3131
+ :auth_names => auth_names,
3132
+ :return_type => return_type
3133
+ )
3134
+
3135
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
3136
+ if @api_client.config.debugging
3137
+ @api_client.config.logger.debug "API called: DefaultApi#upgrade_downgrade\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3138
+ end
3139
+ return data, status_code, headers
3140
+ end
3141
+ end
3142
+ end