wefunder 0.1.0.beta1

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 (361) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +263 -0
  4. data/lib/wefunder/client.rb +283 -0
  5. data/lib/wefunder/errors.rb +87 -0
  6. data/lib/wefunder/oauth.rb +135 -0
  7. data/lib/wefunder/pagination.rb +52 -0
  8. data/lib/wefunder/token_manager.rb +80 -0
  9. data/lib/wefunder/transport.rb +93 -0
  10. data/lib/wefunder/version.rb +5 -0
  11. data/lib/wefunder/webhooks.rb +238 -0
  12. data/lib/wefunder.rb +26 -0
  13. data/lib/wefunder_generated/api/activity_api.rb +234 -0
  14. data/lib/wefunder_generated/api/attribution_api.rb +182 -0
  15. data/lib/wefunder_generated/api/attribution_partners_api.rb +392 -0
  16. data/lib/wefunder_generated/api/attribution_webhooks_api.rb +504 -0
  17. data/lib/wefunder_generated/api/campaigns_api.rb +82 -0
  18. data/lib/wefunder_generated/api/companies_api.rb +101 -0
  19. data/lib/wefunder_generated/api/explore_api.rb +633 -0
  20. data/lib/wefunder_generated/api/installations_api.rb +405 -0
  21. data/lib/wefunder_generated/api/intents_api.rb +301 -0
  22. data/lib/wefunder_generated/api/investment_delta_api.rb +99 -0
  23. data/lib/wefunder_generated/api/investments_api.rb +238 -0
  24. data/lib/wefunder_generated/api/portfolio_api.rb +166 -0
  25. data/lib/wefunder_generated/api/syndicate_deals_api.rb +381 -0
  26. data/lib/wefunder_generated/api/syndicate_members_api.rb +976 -0
  27. data/lib/wefunder_generated/api/syndicate_portfolio_api.rb +178 -0
  28. data/lib/wefunder_generated/api/syndicate_statistics_api.rb +85 -0
  29. data/lib/wefunder_generated/api/syndicates_api.rb +226 -0
  30. data/lib/wefunder_generated/api/users_api.rb +329 -0
  31. data/lib/wefunder_generated/api/webhook_endpoints_api.rb +539 -0
  32. data/lib/wefunder_generated/api_client.rb +437 -0
  33. data/lib/wefunder_generated/api_error.rb +58 -0
  34. data/lib/wefunder_generated/configuration.rb +392 -0
  35. data/lib/wefunder_generated/models/anonymized_attribution.rb +298 -0
  36. data/lib/wefunder_generated/models/anonymized_attribution_attribution.rb +330 -0
  37. data/lib/wefunder_generated/models/anonymized_attribution_status.rb +260 -0
  38. data/lib/wefunder_generated/models/attributed_investment_list_envelope.rb +226 -0
  39. data/lib/wefunder_generated/models/attributed_investment_list_envelope_data_inner.rb +105 -0
  40. data/lib/wefunder_generated/models/attributed_investment_list_envelope_meta.rb +295 -0
  41. data/lib/wefunder_generated/models/attribution_campaign_access.rb +241 -0
  42. data/lib/wefunder_generated/models/attribution_campaign_summary.rb +251 -0
  43. data/lib/wefunder_generated/models/attribution_campaign_summary_list_envelope.rb +216 -0
  44. data/lib/wefunder_generated/models/attribution_me.rb +235 -0
  45. data/lib/wefunder_generated/models/attribution_me_envelope.rb +214 -0
  46. data/lib/wefunder_generated/models/attribution_partner.rb +275 -0
  47. data/lib/wefunder_generated/models/attribution_stats.rb +266 -0
  48. data/lib/wefunder_generated/models/attribution_stats_by_campaign_inner.rb +232 -0
  49. data/lib/wefunder_generated/models/attribution_stats_by_source_inner.rb +232 -0
  50. data/lib/wefunder_generated/models/attribution_stats_envelope.rb +214 -0
  51. data/lib/wefunder_generated/models/attribution_stats_period.rb +223 -0
  52. data/lib/wefunder_generated/models/attribution_stats_quality_breakdown.rb +236 -0
  53. data/lib/wefunder_generated/models/attribution_stats_totals.rb +245 -0
  54. data/lib/wefunder_generated/models/attribution_user.rb +232 -0
  55. data/lib/wefunder_generated/models/audit_event.rb +234 -0
  56. data/lib/wefunder_generated/models/audit_event_attributes.rb +391 -0
  57. data/lib/wefunder_generated/models/audit_event_list_envelope.rb +225 -0
  58. data/lib/wefunder_generated/models/bulk_invite_link_create_input.rb +243 -0
  59. data/lib/wefunder_generated/models/bulk_invite_link_envelope.rb +237 -0
  60. data/lib/wefunder_generated/models/bulk_invite_link_envelope_errors_inner.rb +233 -0
  61. data/lib/wefunder_generated/models/bulk_invite_link_envelope_meta.rb +232 -0
  62. data/lib/wefunder_generated/models/campaign.rb +232 -0
  63. data/lib/wefunder_generated/models/campaign_attributes.rb +301 -0
  64. data/lib/wefunder_generated/models/campaign_list_envelope.rb +225 -0
  65. data/lib/wefunder_generated/models/comment_proposal_envelope.rb +274 -0
  66. data/lib/wefunder_generated/models/comment_proposal_envelope_draft.rb +260 -0
  67. data/lib/wefunder_generated/models/comment_proposal_envelope_proposal.rb +286 -0
  68. data/lib/wefunder_generated/models/comment_proposal_envelope_related_questions_inner.rb +264 -0
  69. data/lib/wefunder_generated/models/company.rb +234 -0
  70. data/lib/wefunder_generated/models/company_attributes.rb +318 -0
  71. data/lib/wefunder_generated/models/company_attributes_location.rb +235 -0
  72. data/lib/wefunder_generated/models/company_disclosures.rb +268 -0
  73. data/lib/wefunder_generated/models/company_disclosures_attributes.rb +434 -0
  74. data/lib/wefunder_generated/models/company_disclosures_attributes_business.rb +255 -0
  75. data/lib/wefunder_generated/models/company_disclosures_attributes_capital_structure_inner.rb +255 -0
  76. data/lib/wefunder_generated/models/company_disclosures_attributes_current_position.rb +281 -0
  77. data/lib/wefunder_generated/models/company_disclosures_attributes_filing.rb +256 -0
  78. data/lib/wefunder_generated/models/company_disclosures_attributes_financial_statements.rb +233 -0
  79. data/lib/wefunder_generated/models/company_disclosures_attributes_outstanding_debts.rb +227 -0
  80. data/lib/wefunder_generated/models/company_disclosures_attributes_outstanding_debts_items_inner.rb +255 -0
  81. data/lib/wefunder_generated/models/company_disclosures_attributes_outstanding_notes_inner.rb +284 -0
  82. data/lib/wefunder_generated/models/company_disclosures_attributes_prior_offerings_inner.rb +266 -0
  83. data/lib/wefunder_generated/models/company_disclosures_attributes_ratios.rb +272 -0
  84. data/lib/wefunder_generated/models/company_disclosures_attributes_related_parties.rb +226 -0
  85. data/lib/wefunder_generated/models/company_disclosures_attributes_related_parties_parties_inner.rb +265 -0
  86. data/lib/wefunder_generated/models/company_disclosures_attributes_use_of_funds_inner.rb +226 -0
  87. data/lib/wefunder_generated/models/company_disclosures_attributes_voting_power_inner.rb +236 -0
  88. data/lib/wefunder_generated/models/company_disclosures_envelope.rb +214 -0
  89. data/lib/wefunder_generated/models/company_envelope.rb +214 -0
  90. data/lib/wefunder_generated/models/company_pitch.rb +268 -0
  91. data/lib/wefunder_generated/models/company_pitch_attributes.rb +311 -0
  92. data/lib/wefunder_generated/models/company_pitch_attributes_perks.rb +248 -0
  93. data/lib/wefunder_generated/models/company_pitch_attributes_story.rb +255 -0
  94. data/lib/wefunder_generated/models/company_pitch_envelope.rb +214 -0
  95. data/lib/wefunder_generated/models/company_question.rb +268 -0
  96. data/lib/wefunder_generated/models/company_question_attributes.rb +329 -0
  97. data/lib/wefunder_generated/models/company_question_attributes_answers_inner.rb +253 -0
  98. data/lib/wefunder_generated/models/company_question_list_envelope.rb +225 -0
  99. data/lib/wefunder_generated/models/company_question_list_envelope_meta.rb +301 -0
  100. data/lib/wefunder_generated/models/company_question_person.rb +247 -0
  101. data/lib/wefunder_generated/models/company_search_result.rb +268 -0
  102. data/lib/wefunder_generated/models/company_search_result_attributes.rb +266 -0
  103. data/lib/wefunder_generated/models/company_search_result_list_envelope.rb +225 -0
  104. data/lib/wefunder_generated/models/company_search_result_list_envelope_meta.rb +223 -0
  105. data/lib/wefunder_generated/models/company_totals.rb +249 -0
  106. data/lib/wefunder_generated/models/company_update.rb +269 -0
  107. data/lib/wefunder_generated/models/company_update_attributes.rb +350 -0
  108. data/lib/wefunder_generated/models/company_update_attributes_author.rb +215 -0
  109. data/lib/wefunder_generated/models/company_update_envelope.rb +214 -0
  110. data/lib/wefunder_generated/models/company_update_list_envelope.rb +225 -0
  111. data/lib/wefunder_generated/models/company_update_list_envelope_meta.rb +243 -0
  112. data/lib/wefunder_generated/models/connected_app.rb +233 -0
  113. data/lib/wefunder_generated/models/connected_app_attributes.rb +258 -0
  114. data/lib/wefunder_generated/models/connected_app_list_envelope.rb +216 -0
  115. data/lib/wefunder_generated/models/connected_app_revocation.rb +223 -0
  116. data/lib/wefunder_generated/models/connected_app_revocation_envelope.rb +214 -0
  117. data/lib/wefunder_generated/models/convertible_note_security.rb +266 -0
  118. data/lib/wefunder_generated/models/convertible_note_security_terms.rb +266 -0
  119. data/lib/wefunder_generated/models/create_installation_request.rb +294 -0
  120. data/lib/wefunder_generated/models/create_installation_token_request.rb +216 -0
  121. data/lib/wefunder_generated/models/create_intent_request.rb +320 -0
  122. data/lib/wefunder_generated/models/create_partner_invite_request.rb +287 -0
  123. data/lib/wefunder_generated/models/create_webhook_endpoint_request.rb +291 -0
  124. data/lib/wefunder_generated/models/create_webhook_subscription_request.rb +263 -0
  125. data/lib/wefunder_generated/models/current_raise.rb +288 -0
  126. data/lib/wefunder_generated/models/deal_investor.rb +234 -0
  127. data/lib/wefunder_generated/models/deal_investor_attributes.rb +321 -0
  128. data/lib/wefunder_generated/models/deal_investor_list_envelope.rb +225 -0
  129. data/lib/wefunder_generated/models/deal_investor_list_envelope_meta.rb +252 -0
  130. data/lib/wefunder_generated/models/debt_security.rb +266 -0
  131. data/lib/wefunder_generated/models/debt_security_terms.rb +235 -0
  132. data/lib/wefunder_generated/models/delete_webhook_endpoint200_response.rb +214 -0
  133. data/lib/wefunder_generated/models/delete_webhook_endpoint200_response_data.rb +232 -0
  134. data/lib/wefunder_generated/models/disclosure_document.rb +224 -0
  135. data/lib/wefunder_generated/models/disclosure_person.rb +254 -0
  136. data/lib/wefunder_generated/models/eligible_target_list_envelope.rb +225 -0
  137. data/lib/wefunder_generated/models/eligible_target_list_envelope_data_inner.rb +295 -0
  138. data/lib/wefunder_generated/models/equity_security.rb +266 -0
  139. data/lib/wefunder_generated/models/equity_security_terms.rb +271 -0
  140. data/lib/wefunder_generated/models/error.rb +214 -0
  141. data/lib/wefunder_generated/models/error_error.rb +254 -0
  142. data/lib/wefunder_generated/models/exemption.rb +271 -0
  143. data/lib/wefunder_generated/models/fiscal_year_financials.rb +296 -0
  144. data/lib/wefunder_generated/models/follow_state_envelope.rb +214 -0
  145. data/lib/wefunder_generated/models/follow_state_envelope_data.rb +268 -0
  146. data/lib/wefunder_generated/models/follow_state_envelope_data_attributes.rb +225 -0
  147. data/lib/wefunder_generated/models/followed_company.rb +268 -0
  148. data/lib/wefunder_generated/models/followed_company_attributes.rb +275 -0
  149. data/lib/wefunder_generated/models/followed_company_list_envelope.rb +225 -0
  150. data/lib/wefunder_generated/models/full_attribution.rb +272 -0
  151. data/lib/wefunder_generated/models/full_attribution_attribution.rb +326 -0
  152. data/lib/wefunder_generated/models/full_attribution_investor.rb +242 -0
  153. data/lib/wefunder_generated/models/full_attribution_status.rb +257 -0
  154. data/lib/wefunder_generated/models/fund_security.rb +267 -0
  155. data/lib/wefunder_generated/models/installation.rb +233 -0
  156. data/lib/wefunder_generated/models/installation_attributes.rb +307 -0
  157. data/lib/wefunder_generated/models/installation_attributes_target.rb +267 -0
  158. data/lib/wefunder_generated/models/installation_envelope.rb +223 -0
  159. data/lib/wefunder_generated/models/installation_list_envelope.rb +225 -0
  160. data/lib/wefunder_generated/models/installation_list_envelope_meta.rb +214 -0
  161. data/lib/wefunder_generated/models/installation_token_envelope.rb +232 -0
  162. data/lib/wefunder_generated/models/installation_token_envelope_token.rb +252 -0
  163. data/lib/wefunder_generated/models/intent.rb +234 -0
  164. data/lib/wefunder_generated/models/intent_attributes.rb +375 -0
  165. data/lib/wefunder_generated/models/intent_attributes_resource_id.rb +106 -0
  166. data/lib/wefunder_generated/models/intent_envelope.rb +214 -0
  167. data/lib/wefunder_generated/models/intent_list_envelope.rb +225 -0
  168. data/lib/wefunder_generated/models/intent_preview_envelope.rb +214 -0
  169. data/lib/wefunder_generated/models/intent_preview_envelope_data.rb +257 -0
  170. data/lib/wefunder_generated/models/intent_preview_envelope_data_attributes.rb +262 -0
  171. data/lib/wefunder_generated/models/intent_review.rb +234 -0
  172. data/lib/wefunder_generated/models/investment_change_list_envelope.rb +225 -0
  173. data/lib/wefunder_generated/models/investment_change_list_envelope_meta.rb +285 -0
  174. data/lib/wefunder_generated/models/investment_delta_record.rb +504 -0
  175. data/lib/wefunder_generated/models/investment_delta_record_amounts.rb +251 -0
  176. data/lib/wefunder_generated/models/investment_delta_record_blockers_inner.rb +224 -0
  177. data/lib/wefunder_generated/models/investment_delta_record_contracts_inner.rb +234 -0
  178. data/lib/wefunder_generated/models/investment_delta_record_investor.rb +286 -0
  179. data/lib/wefunder_generated/models/investment_envelope.rb +223 -0
  180. data/lib/wefunder_generated/models/investment_envelope_meta.rb +270 -0
  181. data/lib/wefunder_generated/models/investment_list_envelope.rb +225 -0
  182. data/lib/wefunder_generated/models/investment_list_envelope_meta.rb +288 -0
  183. data/lib/wefunder_generated/models/investment_session.rb +232 -0
  184. data/lib/wefunder_generated/models/investment_session_attributes.rb +384 -0
  185. data/lib/wefunder_generated/models/investment_session_attributes_events_inner.rb +232 -0
  186. data/lib/wefunder_generated/models/investment_session_create_input.rb +331 -0
  187. data/lib/wefunder_generated/models/investment_session_envelope.rb +223 -0
  188. data/lib/wefunder_generated/models/investment_session_list_envelope.rb +225 -0
  189. data/lib/wefunder_generated/models/investment_session_list_envelope_meta.rb +242 -0
  190. data/lib/wefunder_generated/models/investor.rb +233 -0
  191. data/lib/wefunder_generated/models/investor_attributes.rb +262 -0
  192. data/lib/wefunder_generated/models/investor_envelope.rb +214 -0
  193. data/lib/wefunder_generated/models/investor_list_envelope.rb +225 -0
  194. data/lib/wefunder_generated/models/invite_link.rb +233 -0
  195. data/lib/wefunder_generated/models/invite_link_attributes.rb +375 -0
  196. data/lib/wefunder_generated/models/invite_link_attributes_events_inner.rb +243 -0
  197. data/lib/wefunder_generated/models/invite_link_create_input.rb +295 -0
  198. data/lib/wefunder_generated/models/invite_link_envelope.rb +223 -0
  199. data/lib/wefunder_generated/models/invite_link_list_envelope.rb +225 -0
  200. data/lib/wefunder_generated/models/invite_link_update_input.rb +227 -0
  201. data/lib/wefunder_generated/models/invite_syndicate_member_request.rb +277 -0
  202. data/lib/wefunder_generated/models/marketing_partner.rb +295 -0
  203. data/lib/wefunder_generated/models/marketing_partner_envelope.rb +214 -0
  204. data/lib/wefunder_generated/models/member_investment.rb +234 -0
  205. data/lib/wefunder_generated/models/member_investment_attributes.rb +301 -0
  206. data/lib/wefunder_generated/models/member_investment_list_envelope.rb +225 -0
  207. data/lib/wefunder_generated/models/member_investment_list_envelope_meta.rb +225 -0
  208. data/lib/wefunder_generated/models/my_company.rb +268 -0
  209. data/lib/wefunder_generated/models/my_company_attributes.rb +257 -0
  210. data/lib/wefunder_generated/models/my_company_list_envelope.rb +225 -0
  211. data/lib/wefunder_generated/models/offering.rb +267 -0
  212. data/lib/wefunder_generated/models/offering_attributes.rb +469 -0
  213. data/lib/wefunder_generated/models/offering_attributes_intended_security.rb +258 -0
  214. data/lib/wefunder_generated/models/offering_attributes_security.rb +105 -0
  215. data/lib/wefunder_generated/models/offering_envelope.rb +214 -0
  216. data/lib/wefunder_generated/models/offering_list_envelope.rb +225 -0
  217. data/lib/wefunder_generated/models/offering_list_envelope_meta.rb +265 -0
  218. data/lib/wefunder_generated/models/offering_stats_envelope.rb +223 -0
  219. data/lib/wefunder_generated/models/offering_stats_envelope_data.rb +253 -0
  220. data/lib/wefunder_generated/models/offering_stats_envelope_data_by_status_value.rb +232 -0
  221. data/lib/wefunder_generated/models/offering_stats_envelope_data_total.rb +233 -0
  222. data/lib/wefunder_generated/models/offering_stats_envelope_meta.rb +258 -0
  223. data/lib/wefunder_generated/models/offering_warnings_inner.rb +257 -0
  224. data/lib/wefunder_generated/models/other_security.rb +267 -0
  225. data/lib/wefunder_generated/models/other_security_terms.rb +235 -0
  226. data/lib/wefunder_generated/models/pagination_meta.rb +234 -0
  227. data/lib/wefunder_generated/models/pagination_meta_next_cursor.rb +106 -0
  228. data/lib/wefunder_generated/models/partner_investment.rb +232 -0
  229. data/lib/wefunder_generated/models/partner_investment_attributes.rb +305 -0
  230. data/lib/wefunder_generated/models/partner_investment_attributes_accreditation.rb +289 -0
  231. data/lib/wefunder_generated/models/partner_investment_envelope.rb +214 -0
  232. data/lib/wefunder_generated/models/partner_investment_list_envelope.rb +225 -0
  233. data/lib/wefunder_generated/models/partner_investor.rb +233 -0
  234. data/lib/wefunder_generated/models/partner_investor_attributes.rb +264 -0
  235. data/lib/wefunder_generated/models/partner_investor_list_envelope.rb +225 -0
  236. data/lib/wefunder_generated/models/partner_invite.rb +360 -0
  237. data/lib/wefunder_generated/models/partner_invite_envelope.rb +214 -0
  238. data/lib/wefunder_generated/models/partner_invite_list_envelope.rb +216 -0
  239. data/lib/wefunder_generated/models/partner_webhook_event.rb +257 -0
  240. data/lib/wefunder_generated/models/partner_webhook_event_envelope.rb +214 -0
  241. data/lib/wefunder_generated/models/partner_webhook_subscription.rb +232 -0
  242. data/lib/wefunder_generated/models/partner_webhook_subscription_attributes.rb +243 -0
  243. data/lib/wefunder_generated/models/partner_webhook_subscription_create_input.rb +239 -0
  244. data/lib/wefunder_generated/models/partner_webhook_subscription_envelope.rb +214 -0
  245. data/lib/wefunder_generated/models/partner_webhook_subscription_list_envelope.rb +216 -0
  246. data/lib/wefunder_generated/models/partner_webhook_subscription_with_secret.rb +239 -0
  247. data/lib/wefunder_generated/models/partner_webhook_subscription_with_secret_all_of_attributes.rb +215 -0
  248. data/lib/wefunder_generated/models/partner_webhook_subscription_with_secret_envelope.rb +214 -0
  249. data/lib/wefunder_generated/models/past_round.rb +309 -0
  250. data/lib/wefunder_generated/models/perk_tier.rb +226 -0
  251. data/lib/wefunder_generated/models/pitch_block.rb +375 -0
  252. data/lib/wefunder_generated/models/pitch_block_links_inner.rb +226 -0
  253. data/lib/wefunder_generated/models/portfolio_company_ref.rb +235 -0
  254. data/lib/wefunder_generated/models/portfolio_holding.rb +258 -0
  255. data/lib/wefunder_generated/models/portfolio_position.rb +268 -0
  256. data/lib/wefunder_generated/models/portfolio_position_attributes.rb +456 -0
  257. data/lib/wefunder_generated/models/portfolio_position_list_envelope.rb +225 -0
  258. data/lib/wefunder_generated/models/portfolio_position_list_envelope_meta.rb +234 -0
  259. data/lib/wefunder_generated/models/portfolio_security.rb +323 -0
  260. data/lib/wefunder_generated/models/portfolio_security_owner.rb +258 -0
  261. data/lib/wefunder_generated/models/portfolio_security_terms.rb +257 -0
  262. data/lib/wefunder_generated/models/portfolio_summary_envelope.rb +214 -0
  263. data/lib/wefunder_generated/models/portfolio_summary_envelope_data.rb +223 -0
  264. data/lib/wefunder_generated/models/portfolio_summary_envelope_data_attributes.rb +292 -0
  265. data/lib/wefunder_generated/models/portfolio_summary_envelope_data_attributes_position_counts.rb +242 -0
  266. data/lib/wefunder_generated/models/preview_intent_request.rb +262 -0
  267. data/lib/wefunder_generated/models/register_as_partner_request.rb +232 -0
  268. data/lib/wefunder_generated/models/reorder_syndicate_members_request.rb +224 -0
  269. data/lib/wefunder_generated/models/revenue_share_security.rb +266 -0
  270. data/lib/wefunder_generated/models/revenue_share_security_terms.rb +300 -0
  271. data/lib/wefunder_generated/models/safe_security.rb +266 -0
  272. data/lib/wefunder_generated/models/safe_security_terms.rb +257 -0
  273. data/lib/wefunder_generated/models/security.rb +66 -0
  274. data/lib/wefunder_generated/models/security_summary.rb +272 -0
  275. data/lib/wefunder_generated/models/spv.rb +232 -0
  276. data/lib/wefunder_generated/models/spv_attributes.rb +353 -0
  277. data/lib/wefunder_generated/models/spv_attributes_target_company.rb +223 -0
  278. data/lib/wefunder_generated/models/spv_cancel_intent_envelope.rb +224 -0
  279. data/lib/wefunder_generated/models/spv_cancel_intent_envelope_meta.rb +214 -0
  280. data/lib/wefunder_generated/models/spv_close_intent_envelope.rb +224 -0
  281. data/lib/wefunder_generated/models/spv_close_intent_envelope_meta.rb +214 -0
  282. data/lib/wefunder_generated/models/spv_create_input.rb +274 -0
  283. data/lib/wefunder_generated/models/spv_envelope.rb +214 -0
  284. data/lib/wefunder_generated/models/spv_list_envelope.rb +225 -0
  285. data/lib/wefunder_generated/models/spv_metrics.rb +261 -0
  286. data/lib/wefunder_generated/models/spv_settings.rb +275 -0
  287. data/lib/wefunder_generated/models/spv_status.rb +232 -0
  288. data/lib/wefunder_generated/models/spv_status_attributes.rb +289 -0
  289. data/lib/wefunder_generated/models/spv_status_envelope.rb +223 -0
  290. data/lib/wefunder_generated/models/spv_terms.rb +348 -0
  291. data/lib/wefunder_generated/models/spv_with_meta_envelope.rb +223 -0
  292. data/lib/wefunder_generated/models/spv_with_meta_envelope_meta.rb +214 -0
  293. data/lib/wefunder_generated/models/syndicate.rb +234 -0
  294. data/lib/wefunder_generated/models/syndicate_attributes.rb +412 -0
  295. data/lib/wefunder_generated/models/syndicate_attributes_annual_subscription.rb +236 -0
  296. data/lib/wefunder_generated/models/syndicate_attributes_traditional_fund.rb +225 -0
  297. data/lib/wefunder_generated/models/syndicate_deal.rb +234 -0
  298. data/lib/wefunder_generated/models/syndicate_deal_attributes.rb +435 -0
  299. data/lib/wefunder_generated/models/syndicate_deal_attributes_exemption.rb +105 -0
  300. data/lib/wefunder_generated/models/syndicate_deal_attributes_security.rb +105 -0
  301. data/lib/wefunder_generated/models/syndicate_deal_close_intent_envelope.rb +224 -0
  302. data/lib/wefunder_generated/models/syndicate_deal_close_intent_envelope_meta.rb +214 -0
  303. data/lib/wefunder_generated/models/syndicate_deal_detail_envelope.rb +214 -0
  304. data/lib/wefunder_generated/models/syndicate_deal_envelope.rb +214 -0
  305. data/lib/wefunder_generated/models/syndicate_deal_finalize_intent_envelope.rb +224 -0
  306. data/lib/wefunder_generated/models/syndicate_deal_finalize_intent_envelope_meta.rb +214 -0
  307. data/lib/wefunder_generated/models/syndicate_deal_list_envelope.rb +225 -0
  308. data/lib/wefunder_generated/models/syndicate_detail_envelope.rb +214 -0
  309. data/lib/wefunder_generated/models/syndicate_list_envelope.rb +225 -0
  310. data/lib/wefunder_generated/models/syndicate_member.rb +234 -0
  311. data/lib/wefunder_generated/models/syndicate_member_attributes.rb +650 -0
  312. data/lib/wefunder_generated/models/syndicate_member_envelope.rb +214 -0
  313. data/lib/wefunder_generated/models/syndicate_member_list_envelope.rb +225 -0
  314. data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope.rb +214 -0
  315. data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope_data.rb +223 -0
  316. data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope_data_attributes.rb +302 -0
  317. data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope_data_attributes_deal_counts.rb +242 -0
  318. data/lib/wefunder_generated/models/syndicate_statistics.rb +224 -0
  319. data/lib/wefunder_generated/models/syndicate_statistics_attributes.rb +277 -0
  320. data/lib/wefunder_generated/models/syndicate_statistics_envelope.rb +214 -0
  321. data/lib/wefunder_generated/models/tag_ref.rb +238 -0
  322. data/lib/wefunder_generated/models/target_company_input.rb +258 -0
  323. data/lib/wefunder_generated/models/test_webhook_endpoint_request.rb +249 -0
  324. data/lib/wefunder_generated/models/update_syndicate_member_request.rb +221 -0
  325. data/lib/wefunder_generated/models/update_syndicate_member_request_member.rb +251 -0
  326. data/lib/wefunder_generated/models/update_syndicate_request.rb +221 -0
  327. data/lib/wefunder_generated/models/update_syndicate_request_syndicate.rb +232 -0
  328. data/lib/wefunder_generated/models/update_webhook_endpoint_request.rb +252 -0
  329. data/lib/wefunder_generated/models/user.rb +233 -0
  330. data/lib/wefunder_generated/models/user_attributes.rb +300 -0
  331. data/lib/wefunder_generated/models/user_envelope.rb +214 -0
  332. data/lib/wefunder_generated/models/validation_error.rb +215 -0
  333. data/lib/wefunder_generated/models/validation_error_error.rb +234 -0
  334. data/lib/wefunder_generated/models/validation_error_error_details_inner.rb +232 -0
  335. data/lib/wefunder_generated/models/webhook_delivery.rb +318 -0
  336. data/lib/wefunder_generated/models/webhook_endpoint.rb +232 -0
  337. data/lib/wefunder_generated/models/webhook_endpoint_attributes.rb +327 -0
  338. data/lib/wefunder_generated/models/webhook_endpoint_envelope.rb +223 -0
  339. data/lib/wefunder_generated/models/webhook_endpoint_envelope_meta.rb +214 -0
  340. data/lib/wefunder_generated/models/webhook_endpoint_list_envelope.rb +225 -0
  341. data/lib/wefunder_generated/models/webhook_endpoint_list_envelope_meta.rb +233 -0
  342. data/lib/wefunder_generated/models/webhook_endpoint_test_result_envelope.rb +223 -0
  343. data/lib/wefunder_generated/models/webhook_endpoint_test_result_envelope_data.rb +306 -0
  344. data/lib/wefunder_generated/models/webhook_subscription.rb +304 -0
  345. data/lib/wefunder_generated/models/webhook_subscription_envelope.rb +214 -0
  346. data/lib/wefunder_generated/models/webhook_subscription_list_envelope.rb +225 -0
  347. data/lib/wefunder_generated/models/webhook_subscription_list_envelope_meta.rb +225 -0
  348. data/lib/wefunder_generated/models/webhook_subscription_with_recent_deliveries_envelope.rb +214 -0
  349. data/lib/wefunder_generated/models/webhook_subscription_with_recent_deliveries_envelope_data.rb +322 -0
  350. data/lib/wefunder_generated/models/webhook_subscription_with_secret2_envelope.rb +214 -0
  351. data/lib/wefunder_generated/models/webhook_subscription_with_secret2_envelope_data.rb +320 -0
  352. data/lib/wefunder_generated/models/webhook_subscription_with_secret_envelope.rb +214 -0
  353. data/lib/wefunder_generated/models/webhook_subscription_with_secret_envelope_data.rb +320 -0
  354. data/lib/wefunder_generated/models/webhook_test_result.rb +233 -0
  355. data/lib/wefunder_generated/models/webhook_test_result_envelope.rb +214 -0
  356. data/lib/wefunder_generated/models/wefunder_round.rb +330 -0
  357. data/lib/wefunder_generated/models/wefunder_round_exemption.rb +104 -0
  358. data/lib/wefunder_generated/models/wefunder_round_security.rb +104 -0
  359. data/lib/wefunder_generated/version.rb +15 -0
  360. data/lib/wefunder_generated.rb +382 -0
  361. metadata +456 -0
@@ -0,0 +1,539 @@
1
+ =begin
2
+ #Wefunder API v2
3
+
4
+ #OAuth 2.0 API for accessing Wefunder data programmatically. ## Authentication This API uses OAuth 2.0 for authentication. To get started: 1. Create an OAuth application at `/oauth/applications` 2. Get your Client ID and Client Secret 3. Implement the OAuth 2.0 Authorization Code flow 4. Use the access token to make API requests ## Versioning The API is versioned by the dated `Wefunder-Version` request header (`YYYY-MM-DD`), never by the URL. Resolution is header → your application's pinned version → latest; every response carries `Wefunder-Version` (the version that handled it) and `Wefunder-Version-Latest`. An unknown value returns `400 invalid_request` naming the valid versions. Current: `2026-10-01`. ## Rate Limits - Standard API: 1,000 requests/hour per token - Admin API: 10,000 requests/hour per token ## Base URL All API requests should be made to: `https://api.wefunder.com` (no version in the path).
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: api@wefunder.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module WefunderGenerated
16
+ class WebhookEndpointsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a webhook endpoint
23
+ # Registers an endpoint for your application. The response is the only time the signing `secret` is returned; store it to verify signatures. Requires an owner, admin, or developer role in the application's organization. On the sandbox API this returns `403 manage_endpoints_on_live_api`: create test endpoints through the live API with `mode: \"test\"`, and they are mirrored into sandbox.
24
+ # @param create_webhook_endpoint_request [CreateWebhookEndpointRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [WebhookEndpointEnvelope]
27
+ def create_webhook_endpoint(create_webhook_endpoint_request, opts = {})
28
+ data, _status_code, _headers = create_webhook_endpoint_with_http_info(create_webhook_endpoint_request, opts)
29
+ data
30
+ end
31
+
32
+ # Create a webhook endpoint
33
+ # Registers an endpoint for your application. The response is the only time the signing `secret` is returned; store it to verify signatures. Requires an owner, admin, or developer role in the application's organization. On the sandbox API this returns `403 manage_endpoints_on_live_api`: create test endpoints through the live API with `mode: \"test\"`, and they are mirrored into sandbox.
34
+ # @param create_webhook_endpoint_request [CreateWebhookEndpointRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(WebhookEndpointEnvelope, Integer, Hash)>] WebhookEndpointEnvelope data, response status code and response headers
37
+ def create_webhook_endpoint_with_http_info(create_webhook_endpoint_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.create_webhook_endpoint ...'
40
+ end
41
+ # verify the required parameter 'create_webhook_endpoint_request' is set
42
+ if @api_client.config.client_side_validation && create_webhook_endpoint_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'create_webhook_endpoint_request' when calling WebhookEndpointsApi.create_webhook_endpoint"
44
+ end
45
+ # resource path
46
+ local_var_path = '/webhook_endpoints'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_webhook_endpoint_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'WebhookEndpointEnvelope'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"WebhookEndpointsApi.create_webhook_endpoint",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#create_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Remove a webhook endpoint
91
+ # Stops deliveries immediately. The endpoint is retained as removed and cannot be restored. Returns `403 manage_endpoints_on_live_api` on the sandbox API; use the live API.
92
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [DeleteWebhookEndpoint200Response]
95
+ def delete_webhook_endpoint(external_id, opts = {})
96
+ data, _status_code, _headers = delete_webhook_endpoint_with_http_info(external_id, opts)
97
+ data
98
+ end
99
+
100
+ # Remove a webhook endpoint
101
+ # Stops deliveries immediately. The endpoint is retained as removed and cannot be restored. Returns &#x60;403 manage_endpoints_on_live_api&#x60; on the sandbox API; use the live API.
102
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(DeleteWebhookEndpoint200Response, Integer, Hash)>] DeleteWebhookEndpoint200Response data, response status code and response headers
105
+ def delete_webhook_endpoint_with_http_info(external_id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.delete_webhook_endpoint ...'
108
+ end
109
+ # verify the required parameter 'external_id' is set
110
+ if @api_client.config.client_side_validation && external_id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'external_id' when calling WebhookEndpointsApi.delete_webhook_endpoint"
112
+ end
113
+ # resource path
114
+ local_var_path = '/webhook_endpoints/{external_id}'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body]
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type] || 'DeleteWebhookEndpoint200Response'
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"WebhookEndpointsApi.delete_webhook_endpoint",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#delete_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # Get a webhook endpoint
154
+ # Requires an owner, admin, or developer role in the application's organization.
155
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
156
+ # @param [Hash] opts the optional parameters
157
+ # @return [WebhookEndpointEnvelope]
158
+ def get_webhook_endpoint(external_id, opts = {})
159
+ data, _status_code, _headers = get_webhook_endpoint_with_http_info(external_id, opts)
160
+ data
161
+ end
162
+
163
+ # Get a webhook endpoint
164
+ # Requires an owner, admin, or developer role in the application&#39;s organization.
165
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
166
+ # @param [Hash] opts the optional parameters
167
+ # @return [Array<(WebhookEndpointEnvelope, Integer, Hash)>] WebhookEndpointEnvelope data, response status code and response headers
168
+ def get_webhook_endpoint_with_http_info(external_id, opts = {})
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.get_webhook_endpoint ...'
171
+ end
172
+ # verify the required parameter 'external_id' is set
173
+ if @api_client.config.client_side_validation && external_id.nil?
174
+ fail ArgumentError, "Missing the required parameter 'external_id' when calling WebhookEndpointsApi.get_webhook_endpoint"
175
+ end
176
+ # resource path
177
+ local_var_path = '/webhook_endpoints/{external_id}'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
178
+
179
+ # query parameters
180
+ query_params = opts[:query_params] || {}
181
+
182
+ # header parameters
183
+ header_params = opts[:header_params] || {}
184
+ # HTTP header 'Accept' (if needed)
185
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
186
+
187
+ # form parameters
188
+ form_params = opts[:form_params] || {}
189
+
190
+ # http body (model)
191
+ post_body = opts[:debug_body]
192
+
193
+ # return_type
194
+ return_type = opts[:debug_return_type] || 'WebhookEndpointEnvelope'
195
+
196
+ # auth_names
197
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
198
+
199
+ new_options = opts.merge(
200
+ :operation => :"WebhookEndpointsApi.get_webhook_endpoint",
201
+ :header_params => header_params,
202
+ :query_params => query_params,
203
+ :form_params => form_params,
204
+ :body => post_body,
205
+ :auth_names => auth_names,
206
+ :return_type => return_type
207
+ )
208
+
209
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
210
+ if @api_client.config.debugging
211
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#get_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
+ end
213
+ return data, status_code, headers
214
+ end
215
+
216
+ # List webhook endpoints
217
+ # Your application's webhook endpoints. The signing secret is never included. Requires an owner, admin, or developer role in the application's organization.
218
+ # @param [Hash] opts the optional parameters
219
+ # @return [WebhookEndpointListEnvelope]
220
+ def list_webhook_endpoints(opts = {})
221
+ data, _status_code, _headers = list_webhook_endpoints_with_http_info(opts)
222
+ data
223
+ end
224
+
225
+ # List webhook endpoints
226
+ # Your application&#39;s webhook endpoints. The signing secret is never included. Requires an owner, admin, or developer role in the application&#39;s organization.
227
+ # @param [Hash] opts the optional parameters
228
+ # @return [Array<(WebhookEndpointListEnvelope, Integer, Hash)>] WebhookEndpointListEnvelope data, response status code and response headers
229
+ def list_webhook_endpoints_with_http_info(opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.list_webhook_endpoints ...'
232
+ end
233
+ # resource path
234
+ local_var_path = '/webhook_endpoints'
235
+
236
+ # query parameters
237
+ query_params = opts[:query_params] || {}
238
+
239
+ # header parameters
240
+ header_params = opts[:header_params] || {}
241
+ # HTTP header 'Accept' (if needed)
242
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
243
+
244
+ # form parameters
245
+ form_params = opts[:form_params] || {}
246
+
247
+ # http body (model)
248
+ post_body = opts[:debug_body]
249
+
250
+ # return_type
251
+ return_type = opts[:debug_return_type] || 'WebhookEndpointListEnvelope'
252
+
253
+ # auth_names
254
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
255
+
256
+ new_options = opts.merge(
257
+ :operation => :"WebhookEndpointsApi.list_webhook_endpoints",
258
+ :header_params => header_params,
259
+ :query_params => query_params,
260
+ :form_params => form_params,
261
+ :body => post_body,
262
+ :auth_names => auth_names,
263
+ :return_type => return_type
264
+ )
265
+
266
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
267
+ if @api_client.config.debugging
268
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#list_webhook_endpoints\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
269
+ end
270
+ return data, status_code, headers
271
+ end
272
+
273
+ # Re-enable a disabled endpoint
274
+ # Recovery after auto-disable. Idempotent. Requires an org management role on the live API. Also allowed on the sandbox API for an endpoint sandbox itself disabled (sandbox runs its own health checks on its mirror of a test endpoint), authorized by the caller's realm.
275
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
276
+ # @param [Hash] opts the optional parameters
277
+ # @return [WebhookEndpointEnvelope]
278
+ def reenable_webhook_endpoint(external_id, opts = {})
279
+ data, _status_code, _headers = reenable_webhook_endpoint_with_http_info(external_id, opts)
280
+ data
281
+ end
282
+
283
+ # Re-enable a disabled endpoint
284
+ # Recovery after auto-disable. Idempotent. Requires an org management role on the live API. Also allowed on the sandbox API for an endpoint sandbox itself disabled (sandbox runs its own health checks on its mirror of a test endpoint), authorized by the caller&#39;s realm.
285
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
286
+ # @param [Hash] opts the optional parameters
287
+ # @return [Array<(WebhookEndpointEnvelope, Integer, Hash)>] WebhookEndpointEnvelope data, response status code and response headers
288
+ def reenable_webhook_endpoint_with_http_info(external_id, opts = {})
289
+ if @api_client.config.debugging
290
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.reenable_webhook_endpoint ...'
291
+ end
292
+ # verify the required parameter 'external_id' is set
293
+ if @api_client.config.client_side_validation && external_id.nil?
294
+ fail ArgumentError, "Missing the required parameter 'external_id' when calling WebhookEndpointsApi.reenable_webhook_endpoint"
295
+ end
296
+ # resource path
297
+ local_var_path = '/webhook_endpoints/{external_id}/reenable'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
298
+
299
+ # query parameters
300
+ query_params = opts[:query_params] || {}
301
+
302
+ # header parameters
303
+ header_params = opts[:header_params] || {}
304
+ # HTTP header 'Accept' (if needed)
305
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
306
+
307
+ # form parameters
308
+ form_params = opts[:form_params] || {}
309
+
310
+ # http body (model)
311
+ post_body = opts[:debug_body]
312
+
313
+ # return_type
314
+ return_type = opts[:debug_return_type] || 'WebhookEndpointEnvelope'
315
+
316
+ # auth_names
317
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
318
+
319
+ new_options = opts.merge(
320
+ :operation => :"WebhookEndpointsApi.reenable_webhook_endpoint",
321
+ :header_params => header_params,
322
+ :query_params => query_params,
323
+ :form_params => form_params,
324
+ :body => post_body,
325
+ :auth_names => auth_names,
326
+ :return_type => return_type
327
+ )
328
+
329
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
330
+ if @api_client.config.debugging
331
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#reenable_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
332
+ end
333
+ return data, status_code, headers
334
+ end
335
+
336
+ # Rotate the signing secret
337
+ # Returns a new signing secret (shown once). The previous secret keeps signing for a 24h overlap window, so deliveries carry a `v1` for both; verify against either. Returns `403 manage_endpoints_on_live_api` on the sandbox API; use the live API.
338
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
339
+ # @param [Hash] opts the optional parameters
340
+ # @return [WebhookEndpointEnvelope]
341
+ def rotate_webhook_endpoint_secret(external_id, opts = {})
342
+ data, _status_code, _headers = rotate_webhook_endpoint_secret_with_http_info(external_id, opts)
343
+ data
344
+ end
345
+
346
+ # Rotate the signing secret
347
+ # Returns a new signing secret (shown once). The previous secret keeps signing for a 24h overlap window, so deliveries carry a &#x60;v1&#x60; for both; verify against either. Returns &#x60;403 manage_endpoints_on_live_api&#x60; on the sandbox API; use the live API.
348
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
349
+ # @param [Hash] opts the optional parameters
350
+ # @return [Array<(WebhookEndpointEnvelope, Integer, Hash)>] WebhookEndpointEnvelope data, response status code and response headers
351
+ def rotate_webhook_endpoint_secret_with_http_info(external_id, opts = {})
352
+ if @api_client.config.debugging
353
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.rotate_webhook_endpoint_secret ...'
354
+ end
355
+ # verify the required parameter 'external_id' is set
356
+ if @api_client.config.client_side_validation && external_id.nil?
357
+ fail ArgumentError, "Missing the required parameter 'external_id' when calling WebhookEndpointsApi.rotate_webhook_endpoint_secret"
358
+ end
359
+ # resource path
360
+ local_var_path = '/webhook_endpoints/{external_id}/rotate_secret'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
361
+
362
+ # query parameters
363
+ query_params = opts[:query_params] || {}
364
+
365
+ # header parameters
366
+ header_params = opts[:header_params] || {}
367
+ # HTTP header 'Accept' (if needed)
368
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
369
+
370
+ # form parameters
371
+ form_params = opts[:form_params] || {}
372
+
373
+ # http body (model)
374
+ post_body = opts[:debug_body]
375
+
376
+ # return_type
377
+ return_type = opts[:debug_return_type] || 'WebhookEndpointEnvelope'
378
+
379
+ # auth_names
380
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
381
+
382
+ new_options = opts.merge(
383
+ :operation => :"WebhookEndpointsApi.rotate_webhook_endpoint_secret",
384
+ :header_params => header_params,
385
+ :query_params => query_params,
386
+ :form_params => form_params,
387
+ :body => post_body,
388
+ :auth_names => auth_names,
389
+ :return_type => return_type
390
+ )
391
+
392
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
393
+ if @api_client.config.debugging
394
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#rotate_webhook_endpoint_secret\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
395
+ end
396
+ return data, status_code, headers
397
+ end
398
+
399
+ # Send a test event
400
+ # Sends a real, signed example event (fake values) using the production envelope, signature scheme, and transport, and reports the outcome inline. Does not affect delivery health. Rate-limited to 10 per minute per endpoint. Investor email appears in the example only if your application holds `read:investors:pii`, matching what real deliveries can carry.
401
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
402
+ # @param [Hash] opts the optional parameters
403
+ # @option opts [TestWebhookEndpointRequest] :test_webhook_endpoint_request
404
+ # @return [WebhookEndpointTestResultEnvelope]
405
+ def test_webhook_endpoint(external_id, opts = {})
406
+ data, _status_code, _headers = test_webhook_endpoint_with_http_info(external_id, opts)
407
+ data
408
+ end
409
+
410
+ # Send a test event
411
+ # Sends a real, signed example event (fake values) using the production envelope, signature scheme, and transport, and reports the outcome inline. Does not affect delivery health. Rate-limited to 10 per minute per endpoint. Investor email appears in the example only if your application holds &#x60;read:investors:pii&#x60;, matching what real deliveries can carry.
412
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
413
+ # @param [Hash] opts the optional parameters
414
+ # @option opts [TestWebhookEndpointRequest] :test_webhook_endpoint_request
415
+ # @return [Array<(WebhookEndpointTestResultEnvelope, Integer, Hash)>] WebhookEndpointTestResultEnvelope data, response status code and response headers
416
+ def test_webhook_endpoint_with_http_info(external_id, opts = {})
417
+ if @api_client.config.debugging
418
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.test_webhook_endpoint ...'
419
+ end
420
+ # verify the required parameter 'external_id' is set
421
+ if @api_client.config.client_side_validation && external_id.nil?
422
+ fail ArgumentError, "Missing the required parameter 'external_id' when calling WebhookEndpointsApi.test_webhook_endpoint"
423
+ end
424
+ # resource path
425
+ local_var_path = '/webhook_endpoints/{external_id}/test'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
426
+
427
+ # query parameters
428
+ query_params = opts[:query_params] || {}
429
+
430
+ # header parameters
431
+ header_params = opts[:header_params] || {}
432
+ # HTTP header 'Accept' (if needed)
433
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
434
+ # HTTP header 'Content-Type'
435
+ content_type = @api_client.select_header_content_type(['application/json'])
436
+ if !content_type.nil?
437
+ header_params['Content-Type'] = content_type
438
+ end
439
+
440
+ # form parameters
441
+ form_params = opts[:form_params] || {}
442
+
443
+ # http body (model)
444
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'test_webhook_endpoint_request'])
445
+
446
+ # return_type
447
+ return_type = opts[:debug_return_type] || 'WebhookEndpointTestResultEnvelope'
448
+
449
+ # auth_names
450
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
451
+
452
+ new_options = opts.merge(
453
+ :operation => :"WebhookEndpointsApi.test_webhook_endpoint",
454
+ :header_params => header_params,
455
+ :query_params => query_params,
456
+ :form_params => form_params,
457
+ :body => post_body,
458
+ :auth_names => auth_names,
459
+ :return_type => return_type
460
+ )
461
+
462
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
463
+ if @api_client.config.debugging
464
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#test_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
465
+ end
466
+ return data, status_code, headers
467
+ end
468
+
469
+ # Update a webhook endpoint
470
+ # `events` replaces the subscription list wholesale (no merge); omit it to leave it unchanged. An endpoint must subscribe to at least one event, so `[]` and `null` are rejected; delete the endpoint to stop all deliveries. Requires an org management role. Returns `403 manage_endpoints_on_live_api` on the sandbox API; use the live API.
471
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
472
+ # @param [Hash] opts the optional parameters
473
+ # @option opts [UpdateWebhookEndpointRequest] :update_webhook_endpoint_request
474
+ # @return [WebhookEndpointEnvelope]
475
+ def update_webhook_endpoint(external_id, opts = {})
476
+ data, _status_code, _headers = update_webhook_endpoint_with_http_info(external_id, opts)
477
+ data
478
+ end
479
+
480
+ # Update a webhook endpoint
481
+ # &#x60;events&#x60; replaces the subscription list wholesale (no merge); omit it to leave it unchanged. An endpoint must subscribe to at least one event, so &#x60;[]&#x60; and &#x60;null&#x60; are rejected; delete the endpoint to stop all deliveries. Requires an org management role. Returns &#x60;403 manage_endpoints_on_live_api&#x60; on the sandbox API; use the live API.
482
+ # @param external_id [String] The webhook endpoint&#39;s id (whe_...).
483
+ # @param [Hash] opts the optional parameters
484
+ # @option opts [UpdateWebhookEndpointRequest] :update_webhook_endpoint_request
485
+ # @return [Array<(WebhookEndpointEnvelope, Integer, Hash)>] WebhookEndpointEnvelope data, response status code and response headers
486
+ def update_webhook_endpoint_with_http_info(external_id, opts = {})
487
+ if @api_client.config.debugging
488
+ @api_client.config.logger.debug 'Calling API: WebhookEndpointsApi.update_webhook_endpoint ...'
489
+ end
490
+ # verify the required parameter 'external_id' is set
491
+ if @api_client.config.client_side_validation && external_id.nil?
492
+ fail ArgumentError, "Missing the required parameter 'external_id' when calling WebhookEndpointsApi.update_webhook_endpoint"
493
+ end
494
+ # resource path
495
+ local_var_path = '/webhook_endpoints/{external_id}'.sub('{' + 'external_id' + '}', CGI.escape(external_id.to_s))
496
+
497
+ # query parameters
498
+ query_params = opts[:query_params] || {}
499
+
500
+ # header parameters
501
+ header_params = opts[:header_params] || {}
502
+ # HTTP header 'Accept' (if needed)
503
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
504
+ # HTTP header 'Content-Type'
505
+ content_type = @api_client.select_header_content_type(['application/json'])
506
+ if !content_type.nil?
507
+ header_params['Content-Type'] = content_type
508
+ end
509
+
510
+ # form parameters
511
+ form_params = opts[:form_params] || {}
512
+
513
+ # http body (model)
514
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'update_webhook_endpoint_request'])
515
+
516
+ # return_type
517
+ return_type = opts[:debug_return_type] || 'WebhookEndpointEnvelope'
518
+
519
+ # auth_names
520
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
521
+
522
+ new_options = opts.merge(
523
+ :operation => :"WebhookEndpointsApi.update_webhook_endpoint",
524
+ :header_params => header_params,
525
+ :query_params => query_params,
526
+ :form_params => form_params,
527
+ :body => post_body,
528
+ :auth_names => auth_names,
529
+ :return_type => return_type
530
+ )
531
+
532
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
533
+ if @api_client.config.debugging
534
+ @api_client.config.logger.debug "API called: WebhookEndpointsApi#update_webhook_endpoint\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
535
+ end
536
+ return data, status_code, headers
537
+ end
538
+ end
539
+ end