invinite-data-api 0.1.0__py3-none-any.whl

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 (257) hide show
  1. invinite_data_api/__init__.py +534 -0
  2. invinite_data_api/api/__init__.py +25 -0
  3. invinite_data_api/api/account_api.py +316 -0
  4. invinite_data_api/api/as_reported_balance_sheet_api.py +1086 -0
  5. invinite_data_api/api/as_reported_cash_flow_statement_api.py +1086 -0
  6. invinite_data_api/api/as_reported_income_statement_api.py +1086 -0
  7. invinite_data_api/api/as_reported_snapshot_api.py +1035 -0
  8. invinite_data_api/api/company_api.py +1907 -0
  9. invinite_data_api/api/earnings_calls_api.py +11855 -0
  10. invinite_data_api/api/financial_metrics_api.py +1101 -0
  11. invinite_data_api/api/health_api.py +280 -0
  12. invinite_data_api/api/insider_trades_api.py +434 -0
  13. invinite_data_api/api/institutional_ownership_api.py +1480 -0
  14. invinite_data_api/api/ipos_api.py +397 -0
  15. invinite_data_api/api/market_api.py +344 -0
  16. invinite_data_api/api/metadata_api.py +540 -0
  17. invinite_data_api/api/sec_filings_api.py +1325 -0
  18. invinite_data_api/api/segmented_financials_api.py +759 -0
  19. invinite_data_api/api/standardized_balance_sheet_api.py +1086 -0
  20. invinite_data_api/api/standardized_cash_flow_statement_api.py +1086 -0
  21. invinite_data_api/api/standardized_income_statement_api.py +1086 -0
  22. invinite_data_api/api/standardized_snapshot_api.py +1035 -0
  23. invinite_data_api/api/status_api.py +535 -0
  24. invinite_data_api/api_client.py +804 -0
  25. invinite_data_api/api_response.py +21 -0
  26. invinite_data_api/configuration.py +605 -0
  27. invinite_data_api/exceptions.py +218 -0
  28. invinite_data_api/models/__init__.py +239 -0
  29. invinite_data_api/models/account_usage200_response.py +133 -0
  30. invinite_data_api/models/account_usage200_response_by_family_inner.py +94 -0
  31. invinite_data_api/models/account_usage200_response_by_key_inner.py +108 -0
  32. invinite_data_api/models/account_usage200_response_daily_inner.py +99 -0
  33. invinite_data_api/models/account_usage200_response_daily_inner_errors.py +96 -0
  34. invinite_data_api/models/account_usage200_response_period.py +109 -0
  35. invinite_data_api/models/as_reported_income_statement200_response.py +96 -0
  36. invinite_data_api/models/as_reported_income_statement200_response_companies_inner.py +102 -0
  37. invinite_data_api/models/as_reported_income_statement200_response_companies_inner_periods_inner.py +100 -0
  38. invinite_data_api/models/as_reported_income_statement_detailed200_response.py +96 -0
  39. invinite_data_api/models/as_reported_income_statement_detailed200_response_companies_inner.py +102 -0
  40. invinite_data_api/models/as_reported_income_statement_detailed200_response_companies_inner_periods_inner.py +113 -0
  41. invinite_data_api/models/as_reported_income_statement_detailed200_response_companies_inner_periods_inner_facts_value.py +120 -0
  42. invinite_data_api/models/as_reported_income_statement_presentation200_response.py +96 -0
  43. invinite_data_api/models/as_reported_income_statement_presentation200_response_companies_inner.py +102 -0
  44. invinite_data_api/models/as_reported_income_statement_presentation200_response_companies_inner_periods_inner.py +108 -0
  45. invinite_data_api/models/as_reported_snapshot_detailed200_response.py +97 -0
  46. invinite_data_api/models/as_reported_snapshot_detailed200_response_companies_inner.py +117 -0
  47. invinite_data_api/models/as_reported_snapshot_detailed200_response_companies_inner_statements.py +117 -0
  48. invinite_data_api/models/as_reported_snapshot_detailed200_response_companies_inner_statements_income_statement.py +101 -0
  49. invinite_data_api/models/as_reported_snapshot_presentation200_response.py +97 -0
  50. invinite_data_api/models/as_reported_snapshot_presentation200_response_companies_inner.py +117 -0
  51. invinite_data_api/models/as_reported_snapshot_presentation200_response_companies_inner_statements.py +117 -0
  52. invinite_data_api/models/as_reported_snapshot_presentation200_response_companies_inner_statements_income_statement.py +96 -0
  53. invinite_data_api/models/bad_request_error.py +90 -0
  54. invinite_data_api/models/company_available_companies200_response.py +98 -0
  55. invinite_data_api/models/company_available_companies200_response_companies_inner.py +92 -0
  56. invinite_data_api/models/company_available_companies401_response.py +90 -0
  57. invinite_data_api/models/company_details200_response.py +96 -0
  58. invinite_data_api/models/company_details200_response_companies_inner.py +279 -0
  59. invinite_data_api/models/company_dividends200_response.py +96 -0
  60. invinite_data_api/models/company_dividends200_response_companies_inner.py +102 -0
  61. invinite_data_api/models/company_dividends200_response_companies_inner_dividends_inner.py +101 -0
  62. invinite_data_api/models/company_fiscal_periods200_response.py +96 -0
  63. invinite_data_api/models/company_fiscal_periods200_response_companies_inner.py +102 -0
  64. invinite_data_api/models/company_fiscal_periods200_response_companies_inner_periods_inner.py +97 -0
  65. invinite_data_api/models/company_search200_response.py +100 -0
  66. invinite_data_api/models/company_search200_response_companies_inner.py +99 -0
  67. invinite_data_api/models/company_splits200_response.py +96 -0
  68. invinite_data_api/models/company_splits200_response_companies_inner.py +102 -0
  69. invinite_data_api/models/company_splits200_response_companies_inner_splits_inner.py +95 -0
  70. invinite_data_api/models/earnings_calls_analysts200_response.py +102 -0
  71. invinite_data_api/models/earnings_calls_analysts200_response_analysts_inner.py +116 -0
  72. invinite_data_api/models/earnings_calls_audio200_response.py +135 -0
  73. invinite_data_api/models/earnings_calls_audio202_response.py +97 -0
  74. invinite_data_api/models/earnings_calls_calendar200_response.py +103 -0
  75. invinite_data_api/models/earnings_calls_calendar200_response_events_inner.py +228 -0
  76. invinite_data_api/models/earnings_calls_company_document200_response.py +98 -0
  77. invinite_data_api/models/earnings_calls_company_documents200_response.py +104 -0
  78. invinite_data_api/models/earnings_calls_company_documents200_response_company.py +92 -0
  79. invinite_data_api/models/earnings_calls_company_documents200_response_documents_inner.py +293 -0
  80. invinite_data_api/models/earnings_calls_diff200_response.py +190 -0
  81. invinite_data_api/models/earnings_calls_diff200_response_hedging.py +100 -0
  82. invinite_data_api/models/earnings_calls_diff200_response_new_topics_inner.py +97 -0
  83. invinite_data_api/models/earnings_calls_diff200_response_prior_event.py +92 -0
  84. invinite_data_api/models/earnings_calls_diff200_response_slide_diff.py +98 -0
  85. invinite_data_api/models/earnings_calls_document_search200_response.py +98 -0
  86. invinite_data_api/models/earnings_calls_document_search200_response_hits_inner.py +177 -0
  87. invinite_data_api/models/earnings_calls_documents200_response.py +104 -0
  88. invinite_data_api/models/earnings_calls_documents200_response_documents_inner.py +206 -0
  89. invinite_data_api/models/earnings_calls_events200_response.py +104 -0
  90. invinite_data_api/models/earnings_calls_events200_response_events_inner.py +238 -0
  91. invinite_data_api/models/earnings_calls_events200_response_events_inner_observations_inner.py +119 -0
  92. invinite_data_api/models/earnings_calls_extractions200_response.py +123 -0
  93. invinite_data_api/models/earnings_calls_extractions200_response_guidance_inner.py +187 -0
  94. invinite_data_api/models/earnings_calls_extractions200_response_guidance_inner_sources_inner.py +110 -0
  95. invinite_data_api/models/earnings_calls_extractions200_response_guidance_inner_sources_inner_speaker.py +107 -0
  96. invinite_data_api/models/earnings_calls_extractions200_response_kpis_inner.py +155 -0
  97. invinite_data_api/models/earnings_calls_extractions200_response_kpis_inner_filing_link.py +166 -0
  98. invinite_data_api/models/earnings_calls_extractions200_response_kpis_inner_filing_link_fact_period.py +110 -0
  99. invinite_data_api/models/earnings_calls_guidance_history200_response.py +102 -0
  100. invinite_data_api/models/earnings_calls_guidance_history200_response_series_inner.py +183 -0
  101. invinite_data_api/models/earnings_calls_guidance_history200_response_series_inner_change_vs_prior.py +107 -0
  102. invinite_data_api/models/earnings_calls_live200_response.py +99 -0
  103. invinite_data_api/models/earnings_calls_live200_response_events_inner.py +236 -0
  104. invinite_data_api/models/earnings_calls_live_stream200_response.py +141 -0
  105. invinite_data_api/models/earnings_calls_live_stream200_response_event.py +96 -0
  106. invinite_data_api/models/earnings_calls_metrics200_response.py +158 -0
  107. invinite_data_api/models/earnings_calls_participants200_response.py +109 -0
  108. invinite_data_api/models/earnings_calls_participants200_response_participants_inner.py +148 -0
  109. invinite_data_api/models/earnings_calls_participants200_response_participants_inner_evidence_inner.py +90 -0
  110. invinite_data_api/models/earnings_calls_participants200_response_participation_events_inner.py +105 -0
  111. invinite_data_api/models/earnings_calls_person200_response.py +133 -0
  112. invinite_data_api/models/earnings_calls_person200_response_appearances_inner.py +134 -0
  113. invinite_data_api/models/earnings_calls_press_release200_response.py +146 -0
  114. invinite_data_api/models/earnings_calls_press_release200_response_participants_inner.py +102 -0
  115. invinite_data_api/models/earnings_calls_price_attribution200_response.py +190 -0
  116. invinite_data_api/models/earnings_calls_price_attribution200_response_buckets_inner.py +105 -0
  117. invinite_data_api/models/earnings_calls_price_attribution200_response_buckets_inner_utterance_refs_inner.py +92 -0
  118. invinite_data_api/models/earnings_calls_price_attribution200_response_top_minutes_inner.py +101 -0
  119. invinite_data_api/models/earnings_calls_prosody200_response.py +111 -0
  120. invinite_data_api/models/earnings_calls_prosody200_response_speakers_inner.py +177 -0
  121. invinite_data_api/models/earnings_calls_prosody200_response_speakers_inner_speaker.py +109 -0
  122. invinite_data_api/models/earnings_calls_qa200_response.py +101 -0
  123. invinite_data_api/models/earnings_calls_qa200_response_pairs_inner.py +149 -0
  124. invinite_data_api/models/earnings_calls_qa200_response_pairs_inner_analyst.py +110 -0
  125. invinite_data_api/models/earnings_calls_qa200_response_pairs_inner_answers_inner.py +110 -0
  126. invinite_data_api/models/earnings_calls_qa200_response_pairs_inner_scores.py +119 -0
  127. invinite_data_api/models/earnings_calls_qa200_response_pairs_inner_scores_evidence.py +97 -0
  128. invinite_data_api/models/earnings_calls_search200_response.py +98 -0
  129. invinite_data_api/models/earnings_calls_search200_response_hits_inner.py +161 -0
  130. invinite_data_api/models/earnings_calls_search200_response_hits_inner_slide.py +95 -0
  131. invinite_data_api/models/earnings_calls_slides200_response.py +113 -0
  132. invinite_data_api/models/earnings_calls_slides200_response_deck.py +124 -0
  133. invinite_data_api/models/earnings_calls_slides200_response_slides_inner.py +104 -0
  134. invinite_data_api/models/earnings_calls_transcript200_response.py +140 -0
  135. invinite_data_api/models/earnings_calls_transcript404_response.py +98 -0
  136. invinite_data_api/models/earnings_calls_transcript_diff200_response.py +111 -0
  137. invinite_data_api/models/earnings_calls_transcript_diff200_response_changes_inner.py +104 -0
  138. invinite_data_api/models/earnings_calls_transcript_diff200_response_stats.py +90 -0
  139. invinite_data_api/models/earnings_calls_transcript_versions200_response.py +106 -0
  140. invinite_data_api/models/earnings_calls_transcript_versions200_response_versions_inner.py +116 -0
  141. invinite_data_api/models/earnings_calls_webhooks_create201_response.py +126 -0
  142. invinite_data_api/models/earnings_calls_webhooks_create_request.py +97 -0
  143. invinite_data_api/models/earnings_calls_webhooks_create_request_filters.py +91 -0
  144. invinite_data_api/models/earnings_calls_webhooks_deliveries200_response.py +97 -0
  145. invinite_data_api/models/earnings_calls_webhooks_deliveries200_response_data_inner.py +133 -0
  146. invinite_data_api/models/earnings_calls_webhooks_list200_response.py +96 -0
  147. invinite_data_api/models/earnings_calls_webhooks_list200_response_data_inner.py +124 -0
  148. invinite_data_api/models/earnings_calls_webhooks_list200_response_data_inner_filters.py +90 -0
  149. invinite_data_api/models/earnings_calls_webhooks_rotate_secret200_response.py +91 -0
  150. invinite_data_api/models/earnings_calls_webhooks_test202_response.py +98 -0
  151. invinite_data_api/models/earnings_calls_webhooks_update_request.py +95 -0
  152. invinite_data_api/models/financial_metrics_ratios200_response.py +97 -0
  153. invinite_data_api/models/financial_metrics_ratios200_response_companies_inner.py +103 -0
  154. invinite_data_api/models/financial_metrics_ratios200_response_companies_inner_periods_inner.py +109 -0
  155. invinite_data_api/models/forbidden_error.py +90 -0
  156. invinite_data_api/models/health_get200_response.py +90 -0
  157. invinite_data_api/models/insider_trades_list200_response.py +102 -0
  158. invinite_data_api/models/insider_trades_list200_response_transactions_inner.py +146 -0
  159. invinite_data_api/models/institutional_ownership_holdings_by_company200_response.py +102 -0
  160. invinite_data_api/models/institutional_ownership_holdings_by_investor200_response.py +100 -0
  161. invinite_data_api/models/institutional_ownership_holdings_by_investor200_response_holdings_inner.py +171 -0
  162. invinite_data_api/models/institutional_ownership_institutions200_response.py +98 -0
  163. invinite_data_api/models/institutional_ownership_institutions200_response_institutions_inner.py +132 -0
  164. invinite_data_api/models/institutional_ownership_transactions200_response.py +98 -0
  165. invinite_data_api/models/institutional_ownership_transactions200_response_transactions_inner.py +186 -0
  166. invinite_data_api/models/internal_server_error.py +90 -0
  167. invinite_data_api/models/ipos_list200_response.py +98 -0
  168. invinite_data_api/models/ipos_list200_response_ipos_inner.py +130 -0
  169. invinite_data_api/models/market_holidays200_response.py +98 -0
  170. invinite_data_api/models/market_holidays200_response_holidays_inner.py +105 -0
  171. invinite_data_api/models/metadata_available_metrics200_response.py +96 -0
  172. invinite_data_api/models/metadata_available_metrics200_response_metrics_inner.py +90 -0
  173. invinite_data_api/models/metadata_available_section_ids200_response.py +96 -0
  174. invinite_data_api/models/metadata_available_section_ids200_response_form_types_inner.py +105 -0
  175. invinite_data_api/models/metadata_available_section_ids200_response_form_types_inner_sections_inner.py +94 -0
  176. invinite_data_api/models/not_found_error.py +90 -0
  177. invinite_data_api/models/presentation_fact.py +112 -0
  178. invinite_data_api/models/sec_filings_available_form_types200_response.py +88 -0
  179. invinite_data_api/models/sec_filings_list200_response.py +96 -0
  180. invinite_data_api/models/sec_filings_list200_response_companies_inner.py +102 -0
  181. invinite_data_api/models/sec_filings_list200_response_companies_inner_filings_inner.py +127 -0
  182. invinite_data_api/models/sec_filings_search200_response.py +98 -0
  183. invinite_data_api/models/sec_filings_search200_response_sources_inner.py +99 -0
  184. invinite_data_api/models/sec_filings_sections200_response.py +96 -0
  185. invinite_data_api/models/sec_filings_sections200_response_companies_inner.py +100 -0
  186. invinite_data_api/models/sec_filings_sections200_response_companies_inner_sections_inner.py +132 -0
  187. invinite_data_api/models/segmented_financials200_response.py +96 -0
  188. invinite_data_api/models/segmented_financials200_response_companies_inner.py +102 -0
  189. invinite_data_api/models/segmented_financials200_response_companies_inner_periods_inner.py +123 -0
  190. invinite_data_api/models/segmented_financials200_response_companies_inner_periods_inner_facts_value_inner.py +104 -0
  191. invinite_data_api/models/segmented_financials_detailed200_response.py +96 -0
  192. invinite_data_api/models/segmented_financials_detailed200_response_companies_inner.py +102 -0
  193. invinite_data_api/models/segmented_financials_detailed200_response_companies_inner_periods_inner.py +123 -0
  194. invinite_data_api/models/segmented_financials_detailed200_response_companies_inner_periods_inner_facts_value_inner.py +141 -0
  195. invinite_data_api/models/service_unavailable_error.py +90 -0
  196. invinite_data_api/models/standardized_income_statement200_response.py +97 -0
  197. invinite_data_api/models/standardized_income_statement200_response_companies_inner.py +103 -0
  198. invinite_data_api/models/standardized_income_statement200_response_companies_inner_periods_inner.py +109 -0
  199. invinite_data_api/models/standardized_income_statement_detailed200_response.py +97 -0
  200. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner.py +103 -0
  201. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner_periods_inner.py +122 -0
  202. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner_periods_inner_facts_value.py +120 -0
  203. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner_periods_inner_facts_value_formula.py +98 -0
  204. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner_periods_inner_facts_value_formula_members_inner.py +137 -0
  205. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner_periods_inner_facts_value_formula_members_inner_one_of.py +134 -0
  206. invinite_data_api/models/standardized_income_statement_detailed200_response_companies_inner_periods_inner_facts_value_formula_members_inner_one_of1.py +120 -0
  207. invinite_data_api/models/standardized_income_statement_presentation200_response.py +97 -0
  208. invinite_data_api/models/standardized_income_statement_presentation200_response_companies_inner.py +103 -0
  209. invinite_data_api/models/standardized_income_statement_presentation200_response_companies_inner_periods_inner.py +117 -0
  210. invinite_data_api/models/standardized_presentation_fact.py +101 -0
  211. invinite_data_api/models/standardized_snapshot200_response.py +97 -0
  212. invinite_data_api/models/standardized_snapshot200_response_companies_inner.py +117 -0
  213. invinite_data_api/models/standardized_snapshot200_response_companies_inner_statements.py +117 -0
  214. invinite_data_api/models/standardized_snapshot200_response_companies_inner_statements_income_statement.py +88 -0
  215. invinite_data_api/models/standardized_snapshot_detailed200_response.py +97 -0
  216. invinite_data_api/models/standardized_snapshot_detailed200_response_companies_inner.py +117 -0
  217. invinite_data_api/models/standardized_snapshot_detailed200_response_companies_inner_statements.py +117 -0
  218. invinite_data_api/models/standardized_snapshot_detailed200_response_companies_inner_statements_income_statement.py +101 -0
  219. invinite_data_api/models/standardized_snapshot_presentation200_response.py +97 -0
  220. invinite_data_api/models/standardized_snapshot_presentation200_response_companies_inner.py +117 -0
  221. invinite_data_api/models/standardized_snapshot_presentation200_response_companies_inner_statements.py +117 -0
  222. invinite_data_api/models/standardized_snapshot_presentation200_response_companies_inner_statements_income_statement.py +96 -0
  223. invinite_data_api/models/status_get200_response.py +110 -0
  224. invinite_data_api/models/status_get200_response_services_inner.py +125 -0
  225. invinite_data_api/models/status_get200_response_universe.py +99 -0
  226. invinite_data_api/models/status_get200_response_universe_earnings_calls.py +90 -0
  227. invinite_data_api/models/status_licensing200_response.py +130 -0
  228. invinite_data_api/models/status_licensing200_response_families_inner.py +105 -0
  229. invinite_data_api/models/status_licensing200_response_families_inner_routes_inner.py +106 -0
  230. invinite_data_api/models/status_licensing200_response_notes.py +98 -0
  231. invinite_data_api/models/status_licensing200_response_tiers.py +107 -0
  232. invinite_data_api/models/status_licensing200_response_tiers_free.py +98 -0
  233. invinite_data_api/models/unauthorized_error.py +90 -0
  234. invinite_data_api/models/web_socket_call_lifecycle_event.py +116 -0
  235. invinite_data_api/models/web_socket_error_event.py +109 -0
  236. invinite_data_api/models/web_socket_filing.py +127 -0
  237. invinite_data_api/models/web_socket_gap_event.py +104 -0
  238. invinite_data_api/models/web_socket_guidance_flash_event.py +156 -0
  239. invinite_data_api/models/web_socket_keyword_hit_event.py +177 -0
  240. invinite_data_api/models/web_socket_new_filing_event.py +101 -0
  241. invinite_data_api/models/web_socket_ping_event.py +95 -0
  242. invinite_data_api/models/web_socket_price_tick_event.py +170 -0
  243. invinite_data_api/models/web_socket_speaker_names_event.py +112 -0
  244. invinite_data_api/models/web_socket_speaker_names_event_assignments_inner.py +120 -0
  245. invinite_data_api/models/web_socket_subscribe_earnings_call.py +183 -0
  246. invinite_data_api/models/web_socket_subscribed_event.py +142 -0
  247. invinite_data_api/models/web_socket_transcript_segment_event.py +118 -0
  248. invinite_data_api/models/web_socket_unsubscribe.py +98 -0
  249. invinite_data_api/models/web_socket_unsubscribed_event.py +107 -0
  250. invinite_data_api/models/web_socket_warning_event.py +109 -0
  251. invinite_data_api/models/webhook_envelope.py +103 -0
  252. invinite_data_api/py.typed +0 -0
  253. invinite_data_api/rest.py +263 -0
  254. invinite_data_api-0.1.0.dist-info/METADATA +133 -0
  255. invinite_data_api-0.1.0.dist-info/RECORD +257 -0
  256. invinite_data_api-0.1.0.dist-info/WHEEL +5 -0
  257. invinite_data_api-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1086 @@
1
+ """
2
+ Invinite API
3
+
4
+ Invinite financial data API. Each endpoint has a base credit cost: `x-credits` is the base cost; responses add 1 credit per started 1,000 rows beyond the first 1,000; `X-Credits-Charged` reports the final debit and `X-Credits-Included-Remaining` what is left of the plan's included credits. `GET /v1/account/usage` returns your account's usage by day, endpoint family and key (it costs no credits). SEC filing search has a 100-credit base cost. ## Webhooks Accounts on LITE and above subscribe with `POST /v1/earnings-calls/webhooks` to the `earnings_call.*` lifecycle events (filtered by CIK); see `x-webhooks` for each `data` object. What a subscription may hold depends on the plan (a create / update beyond it is refused with the plan's limit; `ping` needs no subscription — the test route and the disabled notice send it to any subscription): | Plan | Webhooks | Events | CIKs per webhook | Keywords per webhook | |---|---|---|---|---| | FREE | 0 | — | — | — | | LITE | 5 | `.scheduled`, `.rescheduled`, `.started`, `.ended`, `.transcript_ready`, `.assets_ready` | ≤ 10 | — | | STANDARD | 15 | LITE + `.transcript_provisional`, `.transcript_corrected`, `.documents_updated` | ≤ 25 | — | | PRO / ENTERPRISE | 50 | STANDARD + `.guidance_flash`, `.keyword_hit` | ≤ 100 | ≤ 20 (on ≤ 10 webhooks) | Every delivery is a `POST` with `Content-Type: application/json`, `X-Invinite-Event`, `X-Invinite-Delivery` and `X-Invinite-Signature: t=<unix seconds>,v1=<hex>` where `v1` = HMAC-SHA256(secret, `<t>.<raw body>`); during a secret rotation the header carries one `v1` per valid secret. Reject a signature older than 5 minutes. Any 2xx within 10 s acknowledges; redirects are not followed. A failed delivery is retried after 1 min, 5 min, 30 min, 2 h, 6 h, 12 h, 24 h (8 attempts in all, the same delivery id each time). A subscription is disabled after 8 consecutive dead-lettered deliveries (a final `ping` with `notice: subscription_disabled` is sent). Deliveries are at-least-once and unordered: dedupe on the delivery id, order by `created_at`. ## Licensing | Tier | display | redistribute | rag | train | audio | resell | | --- | --- | --- | --- | --- | --- | --- | | FREE | ✓ | – | – | – | – | – | | LITE | ✓ | – | – | – | – | – | | STANDARD | ✓ | – | ✓ | – | – | – | | PRO | ✓ | ✓ | ✓ | – | ✓ | – | Invinite data may be shown and, from PRO, redistributed inside the licensee's own product with attribution (\"Source: Invinite\" on screen or in the API response that carries it). It may never be resold, relicensed, white-labelled or offered as a data feed as the licensee's own data, at any tier, under any contract. Policy version: 2026-10-draft. Draft — pending counsel sign-off. Audio files are forensically watermarked per customer. Audio is served through signed URLs, is subject to per-company takedown and may not be re-hosted; every delivered file carries a per-account forensic watermark: a copy found elsewhere is traced to the account that received it. SEC data: Figures and filings originate from SEC EDGAR; the standardisation, mapping and derived metrics are Invinite's. Every `/v1/*` data operation carries `x-license`, the minimum use right its data ships with; `GET /status/licensing` serves the same matrix per route, rendered at [data.invinite.com/docs/licensing](https://data.invinite.com/docs/licensing). `/v1/account/usage` serves no licensed data and carries none. ## Status [`/status`](/status) reports whether each product family works (a status and its uptime over 7, 30 and 90 days); [`/status/licensing`](/status/licensing) serves the licensing matrix per route. The status routes need no API key and are cached for 5 minutes. The public status page is [status.data.invinite.com](https://status.data.invinite.com): a snapshot of `/status` every 15 minutes plus an external reachability probe of the API. Uptime is the share of requests answered without a server error, measured by the API per product family; a window with too little traffic to judge shows no figure. Status reflects the last 24 hours. Product families: Company, Financials, SEC Filings, Insider Trades, Institutional Ownership, IPOs, Market, Metadata, Earnings Calls, WebSocket, Account.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+
9
+ Do not edit the class manually.
10
+ """ # noqa: E501
11
+
12
+
13
+ import warnings
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from pydantic import Field, StrictStr, field_validator
19
+ from typing import Optional
20
+ from typing_extensions import Annotated
21
+ from invinite_data_api.models.as_reported_income_statement200_response import AsReportedIncomeStatement200Response
22
+ from invinite_data_api.models.as_reported_income_statement_detailed200_response import AsReportedIncomeStatementDetailed200Response
23
+ from invinite_data_api.models.as_reported_income_statement_presentation200_response import AsReportedIncomeStatementPresentation200Response
24
+
25
+ from invinite_data_api.api_client import ApiClient, RequestSerialized
26
+ from invinite_data_api.api_response import ApiResponse
27
+ from invinite_data_api.rest import RESTResponseType
28
+
29
+
30
+ class AsReportedBalanceSheetApi:
31
+ """NOTE: This class is auto generated by OpenAPI Generator
32
+ Ref: https://openapi-generator.tech
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ def __init__(self, api_client=None) -> None:
38
+ if api_client is None:
39
+ api_client = ApiClient.get_default()
40
+ self.api_client = api_client
41
+
42
+
43
+ @validate_call
44
+ def as_reported_balance_sheet(
45
+ self,
46
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
47
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
48
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
49
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
50
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
51
+ _request_timeout: Union[
52
+ None,
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Tuple[
55
+ Annotated[StrictFloat, Field(gt=0)],
56
+ Annotated[StrictFloat, Field(gt=0)]
57
+ ]
58
+ ] = None,
59
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
60
+ _content_type: Optional[StrictStr] = None,
61
+ _headers: Optional[Dict[StrictStr, Any]] = None,
62
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
63
+ ) -> AsReportedIncomeStatement200Response:
64
+ """As-reported balance sheet
65
+
66
+ Fetch as-reported balance sheet data for a company. Minimum tier for redistribute: PRO.
67
+
68
+ :param identifier: Ticker symbol or CIK (required)
69
+ :type identifier: str
70
+ :param fiscal_period_type: Type of fiscal period (required)
71
+ :type fiscal_period_type: str
72
+ :param sort: Sort direction for periods by period_end
73
+ :type sort: str
74
+ :param limit: Maximum number of periods per ticker
75
+ :type limit: int
76
+ :param offset: Number of periods to skip for pagination
77
+ :type offset: int
78
+ :param _request_timeout: timeout setting for this request. If one
79
+ number provided, it will be total request
80
+ timeout. It can also be a pair (tuple) of
81
+ (connection, read) timeouts.
82
+ :type _request_timeout: int, tuple(int, int), optional
83
+ :param _request_auth: set to override the auth_settings for an a single
84
+ request; this effectively ignores the
85
+ authentication in the spec for a single request.
86
+ :type _request_auth: dict, optional
87
+ :param _content_type: force content-type for the request.
88
+ :type _content_type: str, Optional
89
+ :param _headers: set to override the headers for a single
90
+ request; this effectively ignores the headers
91
+ in the spec for a single request.
92
+ :type _headers: dict, optional
93
+ :param _host_index: set to override the host_index for a single
94
+ request; this effectively ignores the host_index
95
+ in the spec for a single request.
96
+ :type _host_index: int, optional
97
+ :return: Returns the result object.
98
+ """ # noqa: E501
99
+
100
+ _param = self._as_reported_balance_sheet_serialize(
101
+ identifier=identifier,
102
+ fiscal_period_type=fiscal_period_type,
103
+ sort=sort,
104
+ limit=limit,
105
+ offset=offset,
106
+ _request_auth=_request_auth,
107
+ _content_type=_content_type,
108
+ _headers=_headers,
109
+ _host_index=_host_index
110
+ )
111
+
112
+ _response_types_map: Dict[str, Optional[str]] = {
113
+ '200': "AsReportedIncomeStatement200Response",
114
+ '400': "CompanyAvailableCompanies401Response",
115
+ '401': "CompanyAvailableCompanies401Response",
116
+ '404': "CompanyAvailableCompanies401Response",
117
+ '500': "CompanyAvailableCompanies401Response",
118
+ }
119
+ response_data = self.api_client.call_api(
120
+ *_param,
121
+ _request_timeout=_request_timeout
122
+ )
123
+ response_data.read()
124
+ return self.api_client.response_deserialize(
125
+ response_data=response_data,
126
+ response_types_map=_response_types_map,
127
+ ).data
128
+
129
+
130
+ @validate_call
131
+ def as_reported_balance_sheet_with_http_info(
132
+ self,
133
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
134
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
135
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
136
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
137
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
138
+ _request_timeout: Union[
139
+ None,
140
+ Annotated[StrictFloat, Field(gt=0)],
141
+ Tuple[
142
+ Annotated[StrictFloat, Field(gt=0)],
143
+ Annotated[StrictFloat, Field(gt=0)]
144
+ ]
145
+ ] = None,
146
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
147
+ _content_type: Optional[StrictStr] = None,
148
+ _headers: Optional[Dict[StrictStr, Any]] = None,
149
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
150
+ ) -> ApiResponse[AsReportedIncomeStatement200Response]:
151
+ """As-reported balance sheet
152
+
153
+ Fetch as-reported balance sheet data for a company. Minimum tier for redistribute: PRO.
154
+
155
+ :param identifier: Ticker symbol or CIK (required)
156
+ :type identifier: str
157
+ :param fiscal_period_type: Type of fiscal period (required)
158
+ :type fiscal_period_type: str
159
+ :param sort: Sort direction for periods by period_end
160
+ :type sort: str
161
+ :param limit: Maximum number of periods per ticker
162
+ :type limit: int
163
+ :param offset: Number of periods to skip for pagination
164
+ :type offset: int
165
+ :param _request_timeout: timeout setting for this request. If one
166
+ number provided, it will be total request
167
+ timeout. It can also be a pair (tuple) of
168
+ (connection, read) timeouts.
169
+ :type _request_timeout: int, tuple(int, int), optional
170
+ :param _request_auth: set to override the auth_settings for an a single
171
+ request; this effectively ignores the
172
+ authentication in the spec for a single request.
173
+ :type _request_auth: dict, optional
174
+ :param _content_type: force content-type for the request.
175
+ :type _content_type: str, Optional
176
+ :param _headers: set to override the headers for a single
177
+ request; this effectively ignores the headers
178
+ in the spec for a single request.
179
+ :type _headers: dict, optional
180
+ :param _host_index: set to override the host_index for a single
181
+ request; this effectively ignores the host_index
182
+ in the spec for a single request.
183
+ :type _host_index: int, optional
184
+ :return: Returns the result object.
185
+ """ # noqa: E501
186
+
187
+ _param = self._as_reported_balance_sheet_serialize(
188
+ identifier=identifier,
189
+ fiscal_period_type=fiscal_period_type,
190
+ sort=sort,
191
+ limit=limit,
192
+ offset=offset,
193
+ _request_auth=_request_auth,
194
+ _content_type=_content_type,
195
+ _headers=_headers,
196
+ _host_index=_host_index
197
+ )
198
+
199
+ _response_types_map: Dict[str, Optional[str]] = {
200
+ '200': "AsReportedIncomeStatement200Response",
201
+ '400': "CompanyAvailableCompanies401Response",
202
+ '401': "CompanyAvailableCompanies401Response",
203
+ '404': "CompanyAvailableCompanies401Response",
204
+ '500': "CompanyAvailableCompanies401Response",
205
+ }
206
+ response_data = self.api_client.call_api(
207
+ *_param,
208
+ _request_timeout=_request_timeout
209
+ )
210
+ response_data.read()
211
+ return self.api_client.response_deserialize(
212
+ response_data=response_data,
213
+ response_types_map=_response_types_map,
214
+ )
215
+
216
+
217
+ @validate_call
218
+ def as_reported_balance_sheet_without_preload_content(
219
+ self,
220
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
221
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
222
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
223
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
224
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
225
+ _request_timeout: Union[
226
+ None,
227
+ Annotated[StrictFloat, Field(gt=0)],
228
+ Tuple[
229
+ Annotated[StrictFloat, Field(gt=0)],
230
+ Annotated[StrictFloat, Field(gt=0)]
231
+ ]
232
+ ] = None,
233
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
234
+ _content_type: Optional[StrictStr] = None,
235
+ _headers: Optional[Dict[StrictStr, Any]] = None,
236
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
237
+ ) -> RESTResponseType:
238
+ """As-reported balance sheet
239
+
240
+ Fetch as-reported balance sheet data for a company. Minimum tier for redistribute: PRO.
241
+
242
+ :param identifier: Ticker symbol or CIK (required)
243
+ :type identifier: str
244
+ :param fiscal_period_type: Type of fiscal period (required)
245
+ :type fiscal_period_type: str
246
+ :param sort: Sort direction for periods by period_end
247
+ :type sort: str
248
+ :param limit: Maximum number of periods per ticker
249
+ :type limit: int
250
+ :param offset: Number of periods to skip for pagination
251
+ :type offset: int
252
+ :param _request_timeout: timeout setting for this request. If one
253
+ number provided, it will be total request
254
+ timeout. It can also be a pair (tuple) of
255
+ (connection, read) timeouts.
256
+ :type _request_timeout: int, tuple(int, int), optional
257
+ :param _request_auth: set to override the auth_settings for an a single
258
+ request; this effectively ignores the
259
+ authentication in the spec for a single request.
260
+ :type _request_auth: dict, optional
261
+ :param _content_type: force content-type for the request.
262
+ :type _content_type: str, Optional
263
+ :param _headers: set to override the headers for a single
264
+ request; this effectively ignores the headers
265
+ in the spec for a single request.
266
+ :type _headers: dict, optional
267
+ :param _host_index: set to override the host_index for a single
268
+ request; this effectively ignores the host_index
269
+ in the spec for a single request.
270
+ :type _host_index: int, optional
271
+ :return: Returns the result object.
272
+ """ # noqa: E501
273
+
274
+ _param = self._as_reported_balance_sheet_serialize(
275
+ identifier=identifier,
276
+ fiscal_period_type=fiscal_period_type,
277
+ sort=sort,
278
+ limit=limit,
279
+ offset=offset,
280
+ _request_auth=_request_auth,
281
+ _content_type=_content_type,
282
+ _headers=_headers,
283
+ _host_index=_host_index
284
+ )
285
+
286
+ _response_types_map: Dict[str, Optional[str]] = {
287
+ '200': "AsReportedIncomeStatement200Response",
288
+ '400': "CompanyAvailableCompanies401Response",
289
+ '401': "CompanyAvailableCompanies401Response",
290
+ '404': "CompanyAvailableCompanies401Response",
291
+ '500': "CompanyAvailableCompanies401Response",
292
+ }
293
+ response_data = self.api_client.call_api(
294
+ *_param,
295
+ _request_timeout=_request_timeout
296
+ )
297
+ return response_data.response
298
+
299
+
300
+ def _as_reported_balance_sheet_serialize(
301
+ self,
302
+ identifier,
303
+ fiscal_period_type,
304
+ sort,
305
+ limit,
306
+ offset,
307
+ _request_auth,
308
+ _content_type,
309
+ _headers,
310
+ _host_index,
311
+ ) -> RequestSerialized:
312
+
313
+ _host = None
314
+
315
+ _collection_formats: Dict[str, str] = {
316
+ }
317
+
318
+ _path_params: Dict[str, str] = {}
319
+ _query_params: List[Tuple[str, str]] = []
320
+ _header_params: Dict[str, Optional[str]] = _headers or {}
321
+ _form_params: List[Tuple[str, str]] = []
322
+ _files: Dict[
323
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
324
+ ] = {}
325
+ _body_params: Optional[bytes] = None
326
+
327
+ # process the path parameters
328
+ # process the query parameters
329
+ if identifier is not None:
330
+
331
+ _query_params.append(('identifier', identifier))
332
+
333
+ if fiscal_period_type is not None:
334
+
335
+ _query_params.append(('fiscal_period_type', fiscal_period_type))
336
+
337
+ if sort is not None:
338
+
339
+ _query_params.append(('sort', sort))
340
+
341
+ if limit is not None:
342
+
343
+ _query_params.append(('limit', limit))
344
+
345
+ if offset is not None:
346
+
347
+ _query_params.append(('offset', offset))
348
+
349
+ # process the header parameters
350
+ # process the form parameters
351
+ # process the body parameter
352
+
353
+
354
+ # set the HTTP header `Accept`
355
+ if 'Accept' not in _header_params:
356
+ _header_params['Accept'] = self.api_client.select_header_accept(
357
+ [
358
+ 'application/json'
359
+ ]
360
+ )
361
+
362
+
363
+ # authentication setting
364
+ _auth_settings: List[str] = [
365
+ 'bearerAuth'
366
+ ]
367
+
368
+ return self.api_client.param_serialize(
369
+ method='GET',
370
+ resource_path='/v1/as-reported/balance-sheet',
371
+ path_params=_path_params,
372
+ query_params=_query_params,
373
+ header_params=_header_params,
374
+ body=_body_params,
375
+ post_params=_form_params,
376
+ files=_files,
377
+ auth_settings=_auth_settings,
378
+ collection_formats=_collection_formats,
379
+ _host=_host,
380
+ _request_auth=_request_auth
381
+ )
382
+
383
+
384
+
385
+
386
+ @validate_call
387
+ def as_reported_balance_sheet_detailed(
388
+ self,
389
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
390
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
391
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
392
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
393
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
394
+ with_formula: Annotated[Optional[StrictStr], Field(description="Include formula in response")] = None,
395
+ _request_timeout: Union[
396
+ None,
397
+ Annotated[StrictFloat, Field(gt=0)],
398
+ Tuple[
399
+ Annotated[StrictFloat, Field(gt=0)],
400
+ Annotated[StrictFloat, Field(gt=0)]
401
+ ]
402
+ ] = None,
403
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
404
+ _content_type: Optional[StrictStr] = None,
405
+ _headers: Optional[Dict[StrictStr, Any]] = None,
406
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
407
+ ) -> AsReportedIncomeStatementDetailed200Response:
408
+ """As-reported balance sheet (detailed)
409
+
410
+ Fetch detailed as-reported balance sheet data with html_label, formula, accession number, and html tag info. Minimum tier for redistribute: PRO.
411
+
412
+ :param identifier: Ticker symbol or CIK (required)
413
+ :type identifier: str
414
+ :param fiscal_period_type: Type of fiscal period (required)
415
+ :type fiscal_period_type: str
416
+ :param sort: Sort direction for periods by period_end
417
+ :type sort: str
418
+ :param limit: Maximum number of periods per ticker
419
+ :type limit: int
420
+ :param offset: Number of periods to skip for pagination
421
+ :type offset: int
422
+ :param with_formula: Include formula in response
423
+ :type with_formula: str
424
+ :param _request_timeout: timeout setting for this request. If one
425
+ number provided, it will be total request
426
+ timeout. It can also be a pair (tuple) of
427
+ (connection, read) timeouts.
428
+ :type _request_timeout: int, tuple(int, int), optional
429
+ :param _request_auth: set to override the auth_settings for an a single
430
+ request; this effectively ignores the
431
+ authentication in the spec for a single request.
432
+ :type _request_auth: dict, optional
433
+ :param _content_type: force content-type for the request.
434
+ :type _content_type: str, Optional
435
+ :param _headers: set to override the headers for a single
436
+ request; this effectively ignores the headers
437
+ in the spec for a single request.
438
+ :type _headers: dict, optional
439
+ :param _host_index: set to override the host_index for a single
440
+ request; this effectively ignores the host_index
441
+ in the spec for a single request.
442
+ :type _host_index: int, optional
443
+ :return: Returns the result object.
444
+ """ # noqa: E501
445
+
446
+ _param = self._as_reported_balance_sheet_detailed_serialize(
447
+ identifier=identifier,
448
+ fiscal_period_type=fiscal_period_type,
449
+ sort=sort,
450
+ limit=limit,
451
+ offset=offset,
452
+ with_formula=with_formula,
453
+ _request_auth=_request_auth,
454
+ _content_type=_content_type,
455
+ _headers=_headers,
456
+ _host_index=_host_index
457
+ )
458
+
459
+ _response_types_map: Dict[str, Optional[str]] = {
460
+ '200': "AsReportedIncomeStatementDetailed200Response",
461
+ '400': "CompanyAvailableCompanies401Response",
462
+ '401': "CompanyAvailableCompanies401Response",
463
+ '404': "CompanyAvailableCompanies401Response",
464
+ '500': "CompanyAvailableCompanies401Response",
465
+ }
466
+ response_data = self.api_client.call_api(
467
+ *_param,
468
+ _request_timeout=_request_timeout
469
+ )
470
+ response_data.read()
471
+ return self.api_client.response_deserialize(
472
+ response_data=response_data,
473
+ response_types_map=_response_types_map,
474
+ ).data
475
+
476
+
477
+ @validate_call
478
+ def as_reported_balance_sheet_detailed_with_http_info(
479
+ self,
480
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
481
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
482
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
483
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
484
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
485
+ with_formula: Annotated[Optional[StrictStr], Field(description="Include formula in response")] = None,
486
+ _request_timeout: Union[
487
+ None,
488
+ Annotated[StrictFloat, Field(gt=0)],
489
+ Tuple[
490
+ Annotated[StrictFloat, Field(gt=0)],
491
+ Annotated[StrictFloat, Field(gt=0)]
492
+ ]
493
+ ] = None,
494
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
495
+ _content_type: Optional[StrictStr] = None,
496
+ _headers: Optional[Dict[StrictStr, Any]] = None,
497
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
498
+ ) -> ApiResponse[AsReportedIncomeStatementDetailed200Response]:
499
+ """As-reported balance sheet (detailed)
500
+
501
+ Fetch detailed as-reported balance sheet data with html_label, formula, accession number, and html tag info. Minimum tier for redistribute: PRO.
502
+
503
+ :param identifier: Ticker symbol or CIK (required)
504
+ :type identifier: str
505
+ :param fiscal_period_type: Type of fiscal period (required)
506
+ :type fiscal_period_type: str
507
+ :param sort: Sort direction for periods by period_end
508
+ :type sort: str
509
+ :param limit: Maximum number of periods per ticker
510
+ :type limit: int
511
+ :param offset: Number of periods to skip for pagination
512
+ :type offset: int
513
+ :param with_formula: Include formula in response
514
+ :type with_formula: str
515
+ :param _request_timeout: timeout setting for this request. If one
516
+ number provided, it will be total request
517
+ timeout. It can also be a pair (tuple) of
518
+ (connection, read) timeouts.
519
+ :type _request_timeout: int, tuple(int, int), optional
520
+ :param _request_auth: set to override the auth_settings for an a single
521
+ request; this effectively ignores the
522
+ authentication in the spec for a single request.
523
+ :type _request_auth: dict, optional
524
+ :param _content_type: force content-type for the request.
525
+ :type _content_type: str, Optional
526
+ :param _headers: set to override the headers for a single
527
+ request; this effectively ignores the headers
528
+ in the spec for a single request.
529
+ :type _headers: dict, optional
530
+ :param _host_index: set to override the host_index for a single
531
+ request; this effectively ignores the host_index
532
+ in the spec for a single request.
533
+ :type _host_index: int, optional
534
+ :return: Returns the result object.
535
+ """ # noqa: E501
536
+
537
+ _param = self._as_reported_balance_sheet_detailed_serialize(
538
+ identifier=identifier,
539
+ fiscal_period_type=fiscal_period_type,
540
+ sort=sort,
541
+ limit=limit,
542
+ offset=offset,
543
+ with_formula=with_formula,
544
+ _request_auth=_request_auth,
545
+ _content_type=_content_type,
546
+ _headers=_headers,
547
+ _host_index=_host_index
548
+ )
549
+
550
+ _response_types_map: Dict[str, Optional[str]] = {
551
+ '200': "AsReportedIncomeStatementDetailed200Response",
552
+ '400': "CompanyAvailableCompanies401Response",
553
+ '401': "CompanyAvailableCompanies401Response",
554
+ '404': "CompanyAvailableCompanies401Response",
555
+ '500': "CompanyAvailableCompanies401Response",
556
+ }
557
+ response_data = self.api_client.call_api(
558
+ *_param,
559
+ _request_timeout=_request_timeout
560
+ )
561
+ response_data.read()
562
+ return self.api_client.response_deserialize(
563
+ response_data=response_data,
564
+ response_types_map=_response_types_map,
565
+ )
566
+
567
+
568
+ @validate_call
569
+ def as_reported_balance_sheet_detailed_without_preload_content(
570
+ self,
571
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
572
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
573
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
574
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
575
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
576
+ with_formula: Annotated[Optional[StrictStr], Field(description="Include formula in response")] = None,
577
+ _request_timeout: Union[
578
+ None,
579
+ Annotated[StrictFloat, Field(gt=0)],
580
+ Tuple[
581
+ Annotated[StrictFloat, Field(gt=0)],
582
+ Annotated[StrictFloat, Field(gt=0)]
583
+ ]
584
+ ] = None,
585
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
586
+ _content_type: Optional[StrictStr] = None,
587
+ _headers: Optional[Dict[StrictStr, Any]] = None,
588
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
589
+ ) -> RESTResponseType:
590
+ """As-reported balance sheet (detailed)
591
+
592
+ Fetch detailed as-reported balance sheet data with html_label, formula, accession number, and html tag info. Minimum tier for redistribute: PRO.
593
+
594
+ :param identifier: Ticker symbol or CIK (required)
595
+ :type identifier: str
596
+ :param fiscal_period_type: Type of fiscal period (required)
597
+ :type fiscal_period_type: str
598
+ :param sort: Sort direction for periods by period_end
599
+ :type sort: str
600
+ :param limit: Maximum number of periods per ticker
601
+ :type limit: int
602
+ :param offset: Number of periods to skip for pagination
603
+ :type offset: int
604
+ :param with_formula: Include formula in response
605
+ :type with_formula: str
606
+ :param _request_timeout: timeout setting for this request. If one
607
+ number provided, it will be total request
608
+ timeout. It can also be a pair (tuple) of
609
+ (connection, read) timeouts.
610
+ :type _request_timeout: int, tuple(int, int), optional
611
+ :param _request_auth: set to override the auth_settings for an a single
612
+ request; this effectively ignores the
613
+ authentication in the spec for a single request.
614
+ :type _request_auth: dict, optional
615
+ :param _content_type: force content-type for the request.
616
+ :type _content_type: str, Optional
617
+ :param _headers: set to override the headers for a single
618
+ request; this effectively ignores the headers
619
+ in the spec for a single request.
620
+ :type _headers: dict, optional
621
+ :param _host_index: set to override the host_index for a single
622
+ request; this effectively ignores the host_index
623
+ in the spec for a single request.
624
+ :type _host_index: int, optional
625
+ :return: Returns the result object.
626
+ """ # noqa: E501
627
+
628
+ _param = self._as_reported_balance_sheet_detailed_serialize(
629
+ identifier=identifier,
630
+ fiscal_period_type=fiscal_period_type,
631
+ sort=sort,
632
+ limit=limit,
633
+ offset=offset,
634
+ with_formula=with_formula,
635
+ _request_auth=_request_auth,
636
+ _content_type=_content_type,
637
+ _headers=_headers,
638
+ _host_index=_host_index
639
+ )
640
+
641
+ _response_types_map: Dict[str, Optional[str]] = {
642
+ '200': "AsReportedIncomeStatementDetailed200Response",
643
+ '400': "CompanyAvailableCompanies401Response",
644
+ '401': "CompanyAvailableCompanies401Response",
645
+ '404': "CompanyAvailableCompanies401Response",
646
+ '500': "CompanyAvailableCompanies401Response",
647
+ }
648
+ response_data = self.api_client.call_api(
649
+ *_param,
650
+ _request_timeout=_request_timeout
651
+ )
652
+ return response_data.response
653
+
654
+
655
+ def _as_reported_balance_sheet_detailed_serialize(
656
+ self,
657
+ identifier,
658
+ fiscal_period_type,
659
+ sort,
660
+ limit,
661
+ offset,
662
+ with_formula,
663
+ _request_auth,
664
+ _content_type,
665
+ _headers,
666
+ _host_index,
667
+ ) -> RequestSerialized:
668
+
669
+ _host = None
670
+
671
+ _collection_formats: Dict[str, str] = {
672
+ }
673
+
674
+ _path_params: Dict[str, str] = {}
675
+ _query_params: List[Tuple[str, str]] = []
676
+ _header_params: Dict[str, Optional[str]] = _headers or {}
677
+ _form_params: List[Tuple[str, str]] = []
678
+ _files: Dict[
679
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
680
+ ] = {}
681
+ _body_params: Optional[bytes] = None
682
+
683
+ # process the path parameters
684
+ # process the query parameters
685
+ if identifier is not None:
686
+
687
+ _query_params.append(('identifier', identifier))
688
+
689
+ if fiscal_period_type is not None:
690
+
691
+ _query_params.append(('fiscal_period_type', fiscal_period_type))
692
+
693
+ if sort is not None:
694
+
695
+ _query_params.append(('sort', sort))
696
+
697
+ if limit is not None:
698
+
699
+ _query_params.append(('limit', limit))
700
+
701
+ if offset is not None:
702
+
703
+ _query_params.append(('offset', offset))
704
+
705
+ if with_formula is not None:
706
+
707
+ _query_params.append(('with_formula', with_formula))
708
+
709
+ # process the header parameters
710
+ # process the form parameters
711
+ # process the body parameter
712
+
713
+
714
+ # set the HTTP header `Accept`
715
+ if 'Accept' not in _header_params:
716
+ _header_params['Accept'] = self.api_client.select_header_accept(
717
+ [
718
+ 'application/json'
719
+ ]
720
+ )
721
+
722
+
723
+ # authentication setting
724
+ _auth_settings: List[str] = [
725
+ 'bearerAuth'
726
+ ]
727
+
728
+ return self.api_client.param_serialize(
729
+ method='GET',
730
+ resource_path='/v1/as-reported/balance-sheet/detailed',
731
+ path_params=_path_params,
732
+ query_params=_query_params,
733
+ header_params=_header_params,
734
+ body=_body_params,
735
+ post_params=_form_params,
736
+ files=_files,
737
+ auth_settings=_auth_settings,
738
+ collection_formats=_collection_formats,
739
+ _host=_host,
740
+ _request_auth=_request_auth
741
+ )
742
+
743
+
744
+
745
+
746
+ @validate_call
747
+ def as_reported_balance_sheet_presentation(
748
+ self,
749
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
750
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
751
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
752
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
753
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
754
+ _request_timeout: Union[
755
+ None,
756
+ Annotated[StrictFloat, Field(gt=0)],
757
+ Tuple[
758
+ Annotated[StrictFloat, Field(gt=0)],
759
+ Annotated[StrictFloat, Field(gt=0)]
760
+ ]
761
+ ] = None,
762
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
763
+ _content_type: Optional[StrictStr] = None,
764
+ _headers: Optional[Dict[StrictStr, Any]] = None,
765
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
766
+ ) -> AsReportedIncomeStatementPresentation200Response:
767
+ """As-reported balance sheet (presentation)
768
+
769
+ Fetch as-reported balance sheet data in presentation format (nested tree structure based on parent_path). Minimum tier for redistribute: PRO.
770
+
771
+ :param identifier: Ticker symbol or CIK (required)
772
+ :type identifier: str
773
+ :param fiscal_period_type: Type of fiscal period (required)
774
+ :type fiscal_period_type: str
775
+ :param sort: Sort direction for periods by period_end
776
+ :type sort: str
777
+ :param limit: Maximum number of periods per ticker
778
+ :type limit: int
779
+ :param offset: Number of periods to skip for pagination
780
+ :type offset: int
781
+ :param _request_timeout: timeout setting for this request. If one
782
+ number provided, it will be total request
783
+ timeout. It can also be a pair (tuple) of
784
+ (connection, read) timeouts.
785
+ :type _request_timeout: int, tuple(int, int), optional
786
+ :param _request_auth: set to override the auth_settings for an a single
787
+ request; this effectively ignores the
788
+ authentication in the spec for a single request.
789
+ :type _request_auth: dict, optional
790
+ :param _content_type: force content-type for the request.
791
+ :type _content_type: str, Optional
792
+ :param _headers: set to override the headers for a single
793
+ request; this effectively ignores the headers
794
+ in the spec for a single request.
795
+ :type _headers: dict, optional
796
+ :param _host_index: set to override the host_index for a single
797
+ request; this effectively ignores the host_index
798
+ in the spec for a single request.
799
+ :type _host_index: int, optional
800
+ :return: Returns the result object.
801
+ """ # noqa: E501
802
+
803
+ _param = self._as_reported_balance_sheet_presentation_serialize(
804
+ identifier=identifier,
805
+ fiscal_period_type=fiscal_period_type,
806
+ sort=sort,
807
+ limit=limit,
808
+ offset=offset,
809
+ _request_auth=_request_auth,
810
+ _content_type=_content_type,
811
+ _headers=_headers,
812
+ _host_index=_host_index
813
+ )
814
+
815
+ _response_types_map: Dict[str, Optional[str]] = {
816
+ '200': "AsReportedIncomeStatementPresentation200Response",
817
+ '400': "CompanyAvailableCompanies401Response",
818
+ '401': "CompanyAvailableCompanies401Response",
819
+ '404': "CompanyAvailableCompanies401Response",
820
+ '500': "CompanyAvailableCompanies401Response",
821
+ }
822
+ response_data = self.api_client.call_api(
823
+ *_param,
824
+ _request_timeout=_request_timeout
825
+ )
826
+ response_data.read()
827
+ return self.api_client.response_deserialize(
828
+ response_data=response_data,
829
+ response_types_map=_response_types_map,
830
+ ).data
831
+
832
+
833
+ @validate_call
834
+ def as_reported_balance_sheet_presentation_with_http_info(
835
+ self,
836
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
837
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
838
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
839
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
840
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
841
+ _request_timeout: Union[
842
+ None,
843
+ Annotated[StrictFloat, Field(gt=0)],
844
+ Tuple[
845
+ Annotated[StrictFloat, Field(gt=0)],
846
+ Annotated[StrictFloat, Field(gt=0)]
847
+ ]
848
+ ] = None,
849
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
850
+ _content_type: Optional[StrictStr] = None,
851
+ _headers: Optional[Dict[StrictStr, Any]] = None,
852
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
853
+ ) -> ApiResponse[AsReportedIncomeStatementPresentation200Response]:
854
+ """As-reported balance sheet (presentation)
855
+
856
+ Fetch as-reported balance sheet data in presentation format (nested tree structure based on parent_path). Minimum tier for redistribute: PRO.
857
+
858
+ :param identifier: Ticker symbol or CIK (required)
859
+ :type identifier: str
860
+ :param fiscal_period_type: Type of fiscal period (required)
861
+ :type fiscal_period_type: str
862
+ :param sort: Sort direction for periods by period_end
863
+ :type sort: str
864
+ :param limit: Maximum number of periods per ticker
865
+ :type limit: int
866
+ :param offset: Number of periods to skip for pagination
867
+ :type offset: int
868
+ :param _request_timeout: timeout setting for this request. If one
869
+ number provided, it will be total request
870
+ timeout. It can also be a pair (tuple) of
871
+ (connection, read) timeouts.
872
+ :type _request_timeout: int, tuple(int, int), optional
873
+ :param _request_auth: set to override the auth_settings for an a single
874
+ request; this effectively ignores the
875
+ authentication in the spec for a single request.
876
+ :type _request_auth: dict, optional
877
+ :param _content_type: force content-type for the request.
878
+ :type _content_type: str, Optional
879
+ :param _headers: set to override the headers for a single
880
+ request; this effectively ignores the headers
881
+ in the spec for a single request.
882
+ :type _headers: dict, optional
883
+ :param _host_index: set to override the host_index for a single
884
+ request; this effectively ignores the host_index
885
+ in the spec for a single request.
886
+ :type _host_index: int, optional
887
+ :return: Returns the result object.
888
+ """ # noqa: E501
889
+
890
+ _param = self._as_reported_balance_sheet_presentation_serialize(
891
+ identifier=identifier,
892
+ fiscal_period_type=fiscal_period_type,
893
+ sort=sort,
894
+ limit=limit,
895
+ offset=offset,
896
+ _request_auth=_request_auth,
897
+ _content_type=_content_type,
898
+ _headers=_headers,
899
+ _host_index=_host_index
900
+ )
901
+
902
+ _response_types_map: Dict[str, Optional[str]] = {
903
+ '200': "AsReportedIncomeStatementPresentation200Response",
904
+ '400': "CompanyAvailableCompanies401Response",
905
+ '401': "CompanyAvailableCompanies401Response",
906
+ '404': "CompanyAvailableCompanies401Response",
907
+ '500': "CompanyAvailableCompanies401Response",
908
+ }
909
+ response_data = self.api_client.call_api(
910
+ *_param,
911
+ _request_timeout=_request_timeout
912
+ )
913
+ response_data.read()
914
+ return self.api_client.response_deserialize(
915
+ response_data=response_data,
916
+ response_types_map=_response_types_map,
917
+ )
918
+
919
+
920
+ @validate_call
921
+ def as_reported_balance_sheet_presentation_without_preload_content(
922
+ self,
923
+ identifier: Annotated[StrictStr, Field(description="Ticker symbol or CIK")],
924
+ fiscal_period_type: Annotated[StrictStr, Field(description="Type of fiscal period")],
925
+ sort: Annotated[Optional[StrictStr], Field(description="Sort direction for periods by period_end")] = None,
926
+ limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="Maximum number of periods per ticker")] = None,
927
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Number of periods to skip for pagination")] = None,
928
+ _request_timeout: Union[
929
+ None,
930
+ Annotated[StrictFloat, Field(gt=0)],
931
+ Tuple[
932
+ Annotated[StrictFloat, Field(gt=0)],
933
+ Annotated[StrictFloat, Field(gt=0)]
934
+ ]
935
+ ] = None,
936
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
937
+ _content_type: Optional[StrictStr] = None,
938
+ _headers: Optional[Dict[StrictStr, Any]] = None,
939
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
940
+ ) -> RESTResponseType:
941
+ """As-reported balance sheet (presentation)
942
+
943
+ Fetch as-reported balance sheet data in presentation format (nested tree structure based on parent_path). Minimum tier for redistribute: PRO.
944
+
945
+ :param identifier: Ticker symbol or CIK (required)
946
+ :type identifier: str
947
+ :param fiscal_period_type: Type of fiscal period (required)
948
+ :type fiscal_period_type: str
949
+ :param sort: Sort direction for periods by period_end
950
+ :type sort: str
951
+ :param limit: Maximum number of periods per ticker
952
+ :type limit: int
953
+ :param offset: Number of periods to skip for pagination
954
+ :type offset: int
955
+ :param _request_timeout: timeout setting for this request. If one
956
+ number provided, it will be total request
957
+ timeout. It can also be a pair (tuple) of
958
+ (connection, read) timeouts.
959
+ :type _request_timeout: int, tuple(int, int), optional
960
+ :param _request_auth: set to override the auth_settings for an a single
961
+ request; this effectively ignores the
962
+ authentication in the spec for a single request.
963
+ :type _request_auth: dict, optional
964
+ :param _content_type: force content-type for the request.
965
+ :type _content_type: str, Optional
966
+ :param _headers: set to override the headers for a single
967
+ request; this effectively ignores the headers
968
+ in the spec for a single request.
969
+ :type _headers: dict, optional
970
+ :param _host_index: set to override the host_index for a single
971
+ request; this effectively ignores the host_index
972
+ in the spec for a single request.
973
+ :type _host_index: int, optional
974
+ :return: Returns the result object.
975
+ """ # noqa: E501
976
+
977
+ _param = self._as_reported_balance_sheet_presentation_serialize(
978
+ identifier=identifier,
979
+ fiscal_period_type=fiscal_period_type,
980
+ sort=sort,
981
+ limit=limit,
982
+ offset=offset,
983
+ _request_auth=_request_auth,
984
+ _content_type=_content_type,
985
+ _headers=_headers,
986
+ _host_index=_host_index
987
+ )
988
+
989
+ _response_types_map: Dict[str, Optional[str]] = {
990
+ '200': "AsReportedIncomeStatementPresentation200Response",
991
+ '400': "CompanyAvailableCompanies401Response",
992
+ '401': "CompanyAvailableCompanies401Response",
993
+ '404': "CompanyAvailableCompanies401Response",
994
+ '500': "CompanyAvailableCompanies401Response",
995
+ }
996
+ response_data = self.api_client.call_api(
997
+ *_param,
998
+ _request_timeout=_request_timeout
999
+ )
1000
+ return response_data.response
1001
+
1002
+
1003
+ def _as_reported_balance_sheet_presentation_serialize(
1004
+ self,
1005
+ identifier,
1006
+ fiscal_period_type,
1007
+ sort,
1008
+ limit,
1009
+ offset,
1010
+ _request_auth,
1011
+ _content_type,
1012
+ _headers,
1013
+ _host_index,
1014
+ ) -> RequestSerialized:
1015
+
1016
+ _host = None
1017
+
1018
+ _collection_formats: Dict[str, str] = {
1019
+ }
1020
+
1021
+ _path_params: Dict[str, str] = {}
1022
+ _query_params: List[Tuple[str, str]] = []
1023
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1024
+ _form_params: List[Tuple[str, str]] = []
1025
+ _files: Dict[
1026
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1027
+ ] = {}
1028
+ _body_params: Optional[bytes] = None
1029
+
1030
+ # process the path parameters
1031
+ # process the query parameters
1032
+ if identifier is not None:
1033
+
1034
+ _query_params.append(('identifier', identifier))
1035
+
1036
+ if fiscal_period_type is not None:
1037
+
1038
+ _query_params.append(('fiscal_period_type', fiscal_period_type))
1039
+
1040
+ if sort is not None:
1041
+
1042
+ _query_params.append(('sort', sort))
1043
+
1044
+ if limit is not None:
1045
+
1046
+ _query_params.append(('limit', limit))
1047
+
1048
+ if offset is not None:
1049
+
1050
+ _query_params.append(('offset', offset))
1051
+
1052
+ # process the header parameters
1053
+ # process the form parameters
1054
+ # process the body parameter
1055
+
1056
+
1057
+ # set the HTTP header `Accept`
1058
+ if 'Accept' not in _header_params:
1059
+ _header_params['Accept'] = self.api_client.select_header_accept(
1060
+ [
1061
+ 'application/json'
1062
+ ]
1063
+ )
1064
+
1065
+
1066
+ # authentication setting
1067
+ _auth_settings: List[str] = [
1068
+ 'bearerAuth'
1069
+ ]
1070
+
1071
+ return self.api_client.param_serialize(
1072
+ method='GET',
1073
+ resource_path='/v1/as-reported/balance-sheet/presentation',
1074
+ path_params=_path_params,
1075
+ query_params=_query_params,
1076
+ header_params=_header_params,
1077
+ body=_body_params,
1078
+ post_params=_form_params,
1079
+ files=_files,
1080
+ auth_settings=_auth_settings,
1081
+ collection_formats=_collection_formats,
1082
+ _host=_host,
1083
+ _request_auth=_request_auth
1084
+ )
1085
+
1086
+