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,976 @@
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 SyndicateMembersApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Approve applicant
23
+ # Approve a pending applicant. Only applicants can be approved via API; invitees must accept their invite link.
24
+ # @param syndicate_id [String] The syndicate's id (`syn_...`).
25
+ # @param member_id [String] The member's id (`mem_...`), as returned by the members list (`data[].id`). Integer ids are internal and not accepted.
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [SyndicateMemberEnvelope]
28
+ def approve_syndicate_member(syndicate_id, member_id, opts = {})
29
+ data, _status_code, _headers = approve_syndicate_member_with_http_info(syndicate_id, member_id, opts)
30
+ data
31
+ end
32
+
33
+ # Approve applicant
34
+ # Approve a pending applicant. Only applicants can be approved via API; invitees must accept their invite link.
35
+ # @param syndicate_id [String] The syndicate's id (`syn_...`).
36
+ # @param member_id [String] The member's id (`mem_...`), as returned by the members list (`data[].id`). Integer ids are internal and not accepted.
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
39
+ def approve_syndicate_member_with_http_info(syndicate_id, member_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.approve_syndicate_member ...'
42
+ end
43
+ # verify the required parameter 'syndicate_id' is set
44
+ if @api_client.config.client_side_validation && syndicate_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.approve_syndicate_member"
46
+ end
47
+ # verify the required parameter 'member_id' is set
48
+ if @api_client.config.client_side_validation && member_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.approve_syndicate_member"
50
+ end
51
+ # resource path
52
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/approve'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:debug_body]
67
+
68
+ # return_type
69
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
70
+
71
+ # auth_names
72
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
73
+
74
+ new_options = opts.merge(
75
+ :operation => :"SyndicateMembersApi.approve_syndicate_member",
76
+ :header_params => header_params,
77
+ :query_params => query_params,
78
+ :form_params => form_params,
79
+ :body => post_body,
80
+ :auth_names => auth_names,
81
+ :return_type => return_type
82
+ )
83
+
84
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#approve_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # Demote member to operator
92
+ # Demote a member from full_access (admin) to operator permission.
93
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
94
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [SyndicateMemberEnvelope]
97
+ def demote_syndicate_member(syndicate_id, member_id, opts = {})
98
+ data, _status_code, _headers = demote_syndicate_member_with_http_info(syndicate_id, member_id, opts)
99
+ data
100
+ end
101
+
102
+ # Demote member to operator
103
+ # Demote a member from full_access (admin) to operator permission.
104
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
105
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
106
+ # @param [Hash] opts the optional parameters
107
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
108
+ def demote_syndicate_member_with_http_info(syndicate_id, member_id, opts = {})
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.demote_syndicate_member ...'
111
+ end
112
+ # verify the required parameter 'syndicate_id' is set
113
+ if @api_client.config.client_side_validation && syndicate_id.nil?
114
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.demote_syndicate_member"
115
+ end
116
+ # verify the required parameter 'member_id' is set
117
+ if @api_client.config.client_side_validation && member_id.nil?
118
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.demote_syndicate_member"
119
+ end
120
+ # resource path
121
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/demote'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
122
+
123
+ # query parameters
124
+ query_params = opts[:query_params] || {}
125
+
126
+ # header parameters
127
+ header_params = opts[:header_params] || {}
128
+ # HTTP header 'Accept' (if needed)
129
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
130
+
131
+ # form parameters
132
+ form_params = opts[:form_params] || {}
133
+
134
+ # http body (model)
135
+ post_body = opts[:debug_body]
136
+
137
+ # return_type
138
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
139
+
140
+ # auth_names
141
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
142
+
143
+ new_options = opts.merge(
144
+ :operation => :"SyndicateMembersApi.demote_syndicate_member",
145
+ :header_params => header_params,
146
+ :query_params => query_params,
147
+ :form_params => form_params,
148
+ :body => post_body,
149
+ :auth_names => auth_names,
150
+ :return_type => return_type
151
+ )
152
+
153
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#demote_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
156
+ end
157
+ return data, status_code, headers
158
+ end
159
+
160
+ # Export members CSV
161
+ # Generate a CSV export of the member directory. Returns the CSV data directly with Content-Type text/csv. Requires operator permission.
162
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
163
+ # @param [Hash] opts the optional parameters
164
+ # @return [String]
165
+ def export_syndicate_members_csv(syndicate_id, opts = {})
166
+ data, _status_code, _headers = export_syndicate_members_csv_with_http_info(syndicate_id, opts)
167
+ data
168
+ end
169
+
170
+ # Export members CSV
171
+ # Generate a CSV export of the member directory. Returns the CSV data directly with Content-Type text/csv. Requires operator permission.
172
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
175
+ def export_syndicate_members_csv_with_http_info(syndicate_id, opts = {})
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.export_syndicate_members_csv ...'
178
+ end
179
+ # verify the required parameter 'syndicate_id' is set
180
+ if @api_client.config.client_side_validation && syndicate_id.nil?
181
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.export_syndicate_members_csv"
182
+ end
183
+ # resource path
184
+ local_var_path = '/syndicates/{syndicate_id}/members/export_csv'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s))
185
+
186
+ # query parameters
187
+ query_params = opts[:query_params] || {}
188
+
189
+ # header parameters
190
+ header_params = opts[:header_params] || {}
191
+ # HTTP header 'Accept' (if needed)
192
+ header_params['Accept'] = @api_client.select_header_accept(['text/csv', 'application/json']) unless header_params['Accept']
193
+
194
+ # form parameters
195
+ form_params = opts[:form_params] || {}
196
+
197
+ # http body (model)
198
+ post_body = opts[:debug_body]
199
+
200
+ # return_type
201
+ return_type = opts[:debug_return_type] || 'String'
202
+
203
+ # auth_names
204
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
205
+
206
+ new_options = opts.merge(
207
+ :operation => :"SyndicateMembersApi.export_syndicate_members_csv",
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#export_syndicate_members_csv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # Exile member
224
+ # Exile (hide) a member from the syndicate. Sets their role to exiled.
225
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
226
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
227
+ # @param [Hash] opts the optional parameters
228
+ # @return [SyndicateMemberEnvelope]
229
+ def hide_syndicate_member(syndicate_id, member_id, opts = {})
230
+ data, _status_code, _headers = hide_syndicate_member_with_http_info(syndicate_id, member_id, opts)
231
+ data
232
+ end
233
+
234
+ # Exile member
235
+ # Exile (hide) a member from the syndicate. Sets their role to exiled.
236
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
237
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
238
+ # @param [Hash] opts the optional parameters
239
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
240
+ def hide_syndicate_member_with_http_info(syndicate_id, member_id, opts = {})
241
+ if @api_client.config.debugging
242
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.hide_syndicate_member ...'
243
+ end
244
+ # verify the required parameter 'syndicate_id' is set
245
+ if @api_client.config.client_side_validation && syndicate_id.nil?
246
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.hide_syndicate_member"
247
+ end
248
+ # verify the required parameter 'member_id' is set
249
+ if @api_client.config.client_side_validation && member_id.nil?
250
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.hide_syndicate_member"
251
+ end
252
+ # resource path
253
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/hide'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
254
+
255
+ # query parameters
256
+ query_params = opts[:query_params] || {}
257
+
258
+ # header parameters
259
+ header_params = opts[:header_params] || {}
260
+ # HTTP header 'Accept' (if needed)
261
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
262
+
263
+ # form parameters
264
+ form_params = opts[:form_params] || {}
265
+
266
+ # http body (model)
267
+ post_body = opts[:debug_body]
268
+
269
+ # return_type
270
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
271
+
272
+ # auth_names
273
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
274
+
275
+ new_options = opts.merge(
276
+ :operation => :"SyndicateMembersApi.hide_syndicate_member",
277
+ :header_params => header_params,
278
+ :query_params => query_params,
279
+ :form_params => form_params,
280
+ :body => post_body,
281
+ :auth_names => auth_names,
282
+ :return_type => return_type
283
+ )
284
+
285
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#hide_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
288
+ end
289
+ return data, status_code, headers
290
+ end
291
+
292
+ # Invite member
293
+ # Send an invitation to join the syndicate by email.
294
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
295
+ # @param invite_syndicate_member_request [InviteSyndicateMemberRequest]
296
+ # @param [Hash] opts the optional parameters
297
+ # @return [SyndicateMemberEnvelope]
298
+ def invite_syndicate_member(syndicate_id, invite_syndicate_member_request, opts = {})
299
+ data, _status_code, _headers = invite_syndicate_member_with_http_info(syndicate_id, invite_syndicate_member_request, opts)
300
+ data
301
+ end
302
+
303
+ # Invite member
304
+ # Send an invitation to join the syndicate by email.
305
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
306
+ # @param invite_syndicate_member_request [InviteSyndicateMemberRequest]
307
+ # @param [Hash] opts the optional parameters
308
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
309
+ def invite_syndicate_member_with_http_info(syndicate_id, invite_syndicate_member_request, opts = {})
310
+ if @api_client.config.debugging
311
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.invite_syndicate_member ...'
312
+ end
313
+ # verify the required parameter 'syndicate_id' is set
314
+ if @api_client.config.client_side_validation && syndicate_id.nil?
315
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.invite_syndicate_member"
316
+ end
317
+ # verify the required parameter 'invite_syndicate_member_request' is set
318
+ if @api_client.config.client_side_validation && invite_syndicate_member_request.nil?
319
+ fail ArgumentError, "Missing the required parameter 'invite_syndicate_member_request' when calling SyndicateMembersApi.invite_syndicate_member"
320
+ end
321
+ # resource path
322
+ local_var_path = '/syndicates/{syndicate_id}/members/invite'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s))
323
+
324
+ # query parameters
325
+ query_params = opts[:query_params] || {}
326
+
327
+ # header parameters
328
+ header_params = opts[:header_params] || {}
329
+ # HTTP header 'Accept' (if needed)
330
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
331
+ # HTTP header 'Content-Type'
332
+ content_type = @api_client.select_header_content_type(['application/json'])
333
+ if !content_type.nil?
334
+ header_params['Content-Type'] = content_type
335
+ end
336
+
337
+ # form parameters
338
+ form_params = opts[:form_params] || {}
339
+
340
+ # http body (model)
341
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(invite_syndicate_member_request)
342
+
343
+ # return_type
344
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
345
+
346
+ # auth_names
347
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
348
+
349
+ new_options = opts.merge(
350
+ :operation => :"SyndicateMembersApi.invite_syndicate_member",
351
+ :header_params => header_params,
352
+ :query_params => query_params,
353
+ :form_params => form_params,
354
+ :body => post_body,
355
+ :auth_names => auth_names,
356
+ :return_type => return_type
357
+ )
358
+
359
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
360
+ if @api_client.config.debugging
361
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#invite_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
362
+ end
363
+ return data, status_code, headers
364
+ end
365
+
366
+ # List member investments
367
+ # Returns this member's investments in syndicate deals. Scoped to the syndicate's selected deals (one per company, matching directory semantics). **Moderator-only.** `amount` and `meta.total_amount` are whole dollars as strings.
368
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
369
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
370
+ # @param [Hash] opts the optional parameters
371
+ # @return [MemberInvestmentListEnvelope]
372
+ def list_syndicate_member_investments(syndicate_id, member_id, opts = {})
373
+ data, _status_code, _headers = list_syndicate_member_investments_with_http_info(syndicate_id, member_id, opts)
374
+ data
375
+ end
376
+
377
+ # List member investments
378
+ # Returns this member&#39;s investments in syndicate deals. Scoped to the syndicate&#39;s selected deals (one per company, matching directory semantics). **Moderator-only.** &#x60;amount&#x60; and &#x60;meta.total_amount&#x60; are whole dollars as strings.
379
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
380
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
381
+ # @param [Hash] opts the optional parameters
382
+ # @return [Array<(MemberInvestmentListEnvelope, Integer, Hash)>] MemberInvestmentListEnvelope data, response status code and response headers
383
+ def list_syndicate_member_investments_with_http_info(syndicate_id, member_id, opts = {})
384
+ if @api_client.config.debugging
385
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.list_syndicate_member_investments ...'
386
+ end
387
+ # verify the required parameter 'syndicate_id' is set
388
+ if @api_client.config.client_side_validation && syndicate_id.nil?
389
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.list_syndicate_member_investments"
390
+ end
391
+ # verify the required parameter 'member_id' is set
392
+ if @api_client.config.client_side_validation && member_id.nil?
393
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.list_syndicate_member_investments"
394
+ end
395
+ # resource path
396
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/investments'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
397
+
398
+ # query parameters
399
+ query_params = opts[:query_params] || {}
400
+
401
+ # header parameters
402
+ header_params = opts[:header_params] || {}
403
+ # HTTP header 'Accept' (if needed)
404
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
405
+
406
+ # form parameters
407
+ form_params = opts[:form_params] || {}
408
+
409
+ # http body (model)
410
+ post_body = opts[:debug_body]
411
+
412
+ # return_type
413
+ return_type = opts[:debug_return_type] || 'MemberInvestmentListEnvelope'
414
+
415
+ # auth_names
416
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
417
+
418
+ new_options = opts.merge(
419
+ :operation => :"SyndicateMembersApi.list_syndicate_member_investments",
420
+ :header_params => header_params,
421
+ :query_params => query_params,
422
+ :form_params => form_params,
423
+ :body => post_body,
424
+ :auth_names => auth_names,
425
+ :return_type => return_type
426
+ )
427
+
428
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
429
+ if @api_client.config.debugging
430
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#list_syndicate_member_investments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
431
+ end
432
+ return data, status_code, headers
433
+ end
434
+
435
+ # List members
436
+ # Returns the member directory for a syndicate with role, status, tags, sidebar notes, and investment history summaries. Supports filtering, sorting, search, and pagination.
437
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
438
+ # @param [Hash] opts the optional parameters
439
+ # @option opts [String] :role Filter by role (e.g. creator, manager, member, invitee, applicant)
440
+ # @option opts [String] :permission Filter by syndicate permission level
441
+ # @option opts [String] :search Search by name or email
442
+ # @option opts [String] :sort Sort order. &#x60;investment_amount&#x60; (highest total invested first) is **moderator-only**; non-moderators requesting it get the default order. Unknown values fall back to the default.
443
+ # @option opts [String] :has_invested Filter by whether the member has invested in any syndicate deal
444
+ # @option opts [String] :accredited **Moderator-only.** Filter by accreditation status; ignored for non-moderators.
445
+ # @option opts [String] :tag Filter by &#39;can help with&#39; tag (ILIKE match)
446
+ # @option opts [String] :location Match on city, state, or country (public location data only).
447
+ # @option opts [String] :cursor Opaque cursor from the previous response&#39;s &#x60;meta.next_cursor&#x60;.
448
+ # @option opts [Integer] :per_page Results per page, 1-100. Defaults to 25. (default to 25)
449
+ # @return [SyndicateMemberListEnvelope]
450
+ def list_syndicate_members(syndicate_id, opts = {})
451
+ data, _status_code, _headers = list_syndicate_members_with_http_info(syndicate_id, opts)
452
+ data
453
+ end
454
+
455
+ # List members
456
+ # Returns the member directory for a syndicate with role, status, tags, sidebar notes, and investment history summaries. Supports filtering, sorting, search, and pagination.
457
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
458
+ # @param [Hash] opts the optional parameters
459
+ # @option opts [String] :role Filter by role (e.g. creator, manager, member, invitee, applicant)
460
+ # @option opts [String] :permission Filter by syndicate permission level
461
+ # @option opts [String] :search Search by name or email
462
+ # @option opts [String] :sort Sort order. &#x60;investment_amount&#x60; (highest total invested first) is **moderator-only**; non-moderators requesting it get the default order. Unknown values fall back to the default.
463
+ # @option opts [String] :has_invested Filter by whether the member has invested in any syndicate deal
464
+ # @option opts [String] :accredited **Moderator-only.** Filter by accreditation status; ignored for non-moderators.
465
+ # @option opts [String] :tag Filter by &#39;can help with&#39; tag (ILIKE match)
466
+ # @option opts [String] :location Match on city, state, or country (public location data only).
467
+ # @option opts [String] :cursor Opaque cursor from the previous response&#39;s &#x60;meta.next_cursor&#x60;.
468
+ # @option opts [Integer] :per_page Results per page, 1-100. Defaults to 25. (default to 25)
469
+ # @return [Array<(SyndicateMemberListEnvelope, Integer, Hash)>] SyndicateMemberListEnvelope data, response status code and response headers
470
+ def list_syndicate_members_with_http_info(syndicate_id, opts = {})
471
+ if @api_client.config.debugging
472
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.list_syndicate_members ...'
473
+ end
474
+ # verify the required parameter 'syndicate_id' is set
475
+ if @api_client.config.client_side_validation && syndicate_id.nil?
476
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.list_syndicate_members"
477
+ end
478
+ allowable_values = ["full_access", "operator"]
479
+ if @api_client.config.client_side_validation && opts[:'permission'] && !allowable_values.include?(opts[:'permission'])
480
+ fail ArgumentError, "invalid value for \"permission\", must be one of #{allowable_values}"
481
+ end
482
+ allowable_values = ["newest", "oldest", "alphabetical", "last_activity", "investment_amount"]
483
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
484
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
485
+ end
486
+ allowable_values = ["true", "false"]
487
+ if @api_client.config.client_side_validation && opts[:'has_invested'] && !allowable_values.include?(opts[:'has_invested'])
488
+ fail ArgumentError, "invalid value for \"has_invested\", must be one of #{allowable_values}"
489
+ end
490
+ allowable_values = ["true", "false"]
491
+ if @api_client.config.client_side_validation && opts[:'accredited'] && !allowable_values.include?(opts[:'accredited'])
492
+ fail ArgumentError, "invalid value for \"accredited\", must be one of #{allowable_values}"
493
+ end
494
+ if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 100
495
+ fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling SyndicateMembersApi.list_syndicate_members, must be smaller than or equal to 100.'
496
+ end
497
+
498
+ # resource path
499
+ local_var_path = '/syndicates/{syndicate_id}/members'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s))
500
+
501
+ # query parameters
502
+ query_params = opts[:query_params] || {}
503
+ query_params[:'role'] = opts[:'role'] if !opts[:'role'].nil?
504
+ query_params[:'permission'] = opts[:'permission'] if !opts[:'permission'].nil?
505
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
506
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
507
+ query_params[:'has_invested'] = opts[:'has_invested'] if !opts[:'has_invested'].nil?
508
+ query_params[:'accredited'] = opts[:'accredited'] if !opts[:'accredited'].nil?
509
+ query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
510
+ query_params[:'location'] = opts[:'location'] if !opts[:'location'].nil?
511
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
512
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
513
+
514
+ # header parameters
515
+ header_params = opts[:header_params] || {}
516
+ # HTTP header 'Accept' (if needed)
517
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
518
+
519
+ # form parameters
520
+ form_params = opts[:form_params] || {}
521
+
522
+ # http body (model)
523
+ post_body = opts[:debug_body]
524
+
525
+ # return_type
526
+ return_type = opts[:debug_return_type] || 'SyndicateMemberListEnvelope'
527
+
528
+ # auth_names
529
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
530
+
531
+ new_options = opts.merge(
532
+ :operation => :"SyndicateMembersApi.list_syndicate_members",
533
+ :header_params => header_params,
534
+ :query_params => query_params,
535
+ :form_params => form_params,
536
+ :body => post_body,
537
+ :auth_names => auth_names,
538
+ :return_type => return_type
539
+ )
540
+
541
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
542
+ if @api_client.config.debugging
543
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#list_syndicate_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
544
+ end
545
+ return data, status_code, headers
546
+ end
547
+
548
+ # Promote member to admin
549
+ # Promote a member to full_access (admin) role. Only the syndicate creator can promote members.
550
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
551
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
552
+ # @param [Hash] opts the optional parameters
553
+ # @return [SyndicateMemberEnvelope]
554
+ def promote_syndicate_member(syndicate_id, member_id, opts = {})
555
+ data, _status_code, _headers = promote_syndicate_member_with_http_info(syndicate_id, member_id, opts)
556
+ data
557
+ end
558
+
559
+ # Promote member to admin
560
+ # Promote a member to full_access (admin) role. Only the syndicate creator can promote members.
561
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
562
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
563
+ # @param [Hash] opts the optional parameters
564
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
565
+ def promote_syndicate_member_with_http_info(syndicate_id, member_id, opts = {})
566
+ if @api_client.config.debugging
567
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.promote_syndicate_member ...'
568
+ end
569
+ # verify the required parameter 'syndicate_id' is set
570
+ if @api_client.config.client_side_validation && syndicate_id.nil?
571
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.promote_syndicate_member"
572
+ end
573
+ # verify the required parameter 'member_id' is set
574
+ if @api_client.config.client_side_validation && member_id.nil?
575
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.promote_syndicate_member"
576
+ end
577
+ # resource path
578
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/promote'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
579
+
580
+ # query parameters
581
+ query_params = opts[:query_params] || {}
582
+
583
+ # header parameters
584
+ header_params = opts[:header_params] || {}
585
+ # HTTP header 'Accept' (if needed)
586
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
587
+
588
+ # form parameters
589
+ form_params = opts[:form_params] || {}
590
+
591
+ # http body (model)
592
+ post_body = opts[:debug_body]
593
+
594
+ # return_type
595
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
596
+
597
+ # auth_names
598
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
599
+
600
+ new_options = opts.merge(
601
+ :operation => :"SyndicateMembersApi.promote_syndicate_member",
602
+ :header_params => header_params,
603
+ :query_params => query_params,
604
+ :form_params => form_params,
605
+ :body => post_body,
606
+ :auth_names => auth_names,
607
+ :return_type => return_type
608
+ )
609
+
610
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
611
+ if @api_client.config.debugging
612
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#promote_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
613
+ end
614
+ return data, status_code, headers
615
+ end
616
+
617
+ # Remove member (requires intent)
618
+ # Removing a member is irreversible and requires human approval through the Intent system. This endpoint always returns 422 with a `use_intents` error directing you to `POST /intents` with action `syndicates.remove_member`.
619
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
620
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
621
+ # @param [Hash] opts the optional parameters
622
+ # @return [nil]
623
+ def remove_syndicate_member(syndicate_id, member_id, opts = {})
624
+ remove_syndicate_member_with_http_info(syndicate_id, member_id, opts)
625
+ nil
626
+ end
627
+
628
+ # Remove member (requires intent)
629
+ # Removing a member is irreversible and requires human approval through the Intent system. This endpoint always returns 422 with a &#x60;use_intents&#x60; error directing you to &#x60;POST /intents&#x60; with action &#x60;syndicates.remove_member&#x60;.
630
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
631
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
632
+ # @param [Hash] opts the optional parameters
633
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
634
+ def remove_syndicate_member_with_http_info(syndicate_id, member_id, opts = {})
635
+ if @api_client.config.debugging
636
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.remove_syndicate_member ...'
637
+ end
638
+ # verify the required parameter 'syndicate_id' is set
639
+ if @api_client.config.client_side_validation && syndicate_id.nil?
640
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.remove_syndicate_member"
641
+ end
642
+ # verify the required parameter 'member_id' is set
643
+ if @api_client.config.client_side_validation && member_id.nil?
644
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.remove_syndicate_member"
645
+ end
646
+ # resource path
647
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
648
+
649
+ # query parameters
650
+ query_params = opts[:query_params] || {}
651
+
652
+ # header parameters
653
+ header_params = opts[:header_params] || {}
654
+ # HTTP header 'Accept' (if needed)
655
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
656
+
657
+ # form parameters
658
+ form_params = opts[:form_params] || {}
659
+
660
+ # http body (model)
661
+ post_body = opts[:debug_body]
662
+
663
+ # return_type
664
+ return_type = opts[:debug_return_type]
665
+
666
+ # auth_names
667
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
668
+
669
+ new_options = opts.merge(
670
+ :operation => :"SyndicateMembersApi.remove_syndicate_member",
671
+ :header_params => header_params,
672
+ :query_params => query_params,
673
+ :form_params => form_params,
674
+ :body => post_body,
675
+ :auth_names => auth_names,
676
+ :return_type => return_type
677
+ )
678
+
679
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
680
+ if @api_client.config.debugging
681
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#remove_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
682
+ end
683
+ return data, status_code, headers
684
+ end
685
+
686
+ # Reorder members
687
+ # Set the display order for the member directory.
688
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
689
+ # @param reorder_syndicate_members_request [ReorderSyndicateMembersRequest]
690
+ # @param [Hash] opts the optional parameters
691
+ # @return [nil]
692
+ def reorder_syndicate_members(syndicate_id, reorder_syndicate_members_request, opts = {})
693
+ reorder_syndicate_members_with_http_info(syndicate_id, reorder_syndicate_members_request, opts)
694
+ nil
695
+ end
696
+
697
+ # Reorder members
698
+ # Set the display order for the member directory.
699
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
700
+ # @param reorder_syndicate_members_request [ReorderSyndicateMembersRequest]
701
+ # @param [Hash] opts the optional parameters
702
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
703
+ def reorder_syndicate_members_with_http_info(syndicate_id, reorder_syndicate_members_request, opts = {})
704
+ if @api_client.config.debugging
705
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.reorder_syndicate_members ...'
706
+ end
707
+ # verify the required parameter 'syndicate_id' is set
708
+ if @api_client.config.client_side_validation && syndicate_id.nil?
709
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.reorder_syndicate_members"
710
+ end
711
+ # verify the required parameter 'reorder_syndicate_members_request' is set
712
+ if @api_client.config.client_side_validation && reorder_syndicate_members_request.nil?
713
+ fail ArgumentError, "Missing the required parameter 'reorder_syndicate_members_request' when calling SyndicateMembersApi.reorder_syndicate_members"
714
+ end
715
+ # resource path
716
+ local_var_path = '/syndicates/{syndicate_id}/members/reorder'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s))
717
+
718
+ # query parameters
719
+ query_params = opts[:query_params] || {}
720
+
721
+ # header parameters
722
+ header_params = opts[:header_params] || {}
723
+ # HTTP header 'Accept' (if needed)
724
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
725
+ # HTTP header 'Content-Type'
726
+ content_type = @api_client.select_header_content_type(['application/json'])
727
+ if !content_type.nil?
728
+ header_params['Content-Type'] = content_type
729
+ end
730
+
731
+ # form parameters
732
+ form_params = opts[:form_params] || {}
733
+
734
+ # http body (model)
735
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(reorder_syndicate_members_request)
736
+
737
+ # return_type
738
+ return_type = opts[:debug_return_type]
739
+
740
+ # auth_names
741
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
742
+
743
+ new_options = opts.merge(
744
+ :operation => :"SyndicateMembersApi.reorder_syndicate_members",
745
+ :header_params => header_params,
746
+ :query_params => query_params,
747
+ :form_params => form_params,
748
+ :body => post_body,
749
+ :auth_names => auth_names,
750
+ :return_type => return_type
751
+ )
752
+
753
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
754
+ if @api_client.config.debugging
755
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#reorder_syndicate_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
756
+ end
757
+ return data, status_code, headers
758
+ end
759
+
760
+ # Resend invitation
761
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
762
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
763
+ # @param [Hash] opts the optional parameters
764
+ # @return [nil]
765
+ def resend_syndicate_invite(syndicate_id, member_id, opts = {})
766
+ resend_syndicate_invite_with_http_info(syndicate_id, member_id, opts)
767
+ nil
768
+ end
769
+
770
+ # Resend invitation
771
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
772
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
773
+ # @param [Hash] opts the optional parameters
774
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
775
+ def resend_syndicate_invite_with_http_info(syndicate_id, member_id, opts = {})
776
+ if @api_client.config.debugging
777
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.resend_syndicate_invite ...'
778
+ end
779
+ # verify the required parameter 'syndicate_id' is set
780
+ if @api_client.config.client_side_validation && syndicate_id.nil?
781
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.resend_syndicate_invite"
782
+ end
783
+ # verify the required parameter 'member_id' is set
784
+ if @api_client.config.client_side_validation && member_id.nil?
785
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.resend_syndicate_invite"
786
+ end
787
+ # resource path
788
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/resend_invite'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
789
+
790
+ # query parameters
791
+ query_params = opts[:query_params] || {}
792
+
793
+ # header parameters
794
+ header_params = opts[:header_params] || {}
795
+ # HTTP header 'Accept' (if needed)
796
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
797
+
798
+ # form parameters
799
+ form_params = opts[:form_params] || {}
800
+
801
+ # http body (model)
802
+ post_body = opts[:debug_body]
803
+
804
+ # return_type
805
+ return_type = opts[:debug_return_type]
806
+
807
+ # auth_names
808
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
809
+
810
+ new_options = opts.merge(
811
+ :operation => :"SyndicateMembersApi.resend_syndicate_invite",
812
+ :header_params => header_params,
813
+ :query_params => query_params,
814
+ :form_params => form_params,
815
+ :body => post_body,
816
+ :auth_names => auth_names,
817
+ :return_type => return_type
818
+ )
819
+
820
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
821
+ if @api_client.config.debugging
822
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#resend_syndicate_invite\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
823
+ end
824
+ return data, status_code, headers
825
+ end
826
+
827
+ # Restore exiled or resigned member
828
+ # Restore a member who was previously exiled or resigned. Sets their role back to member.
829
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
830
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
831
+ # @param [Hash] opts the optional parameters
832
+ # @return [SyndicateMemberEnvelope]
833
+ def restore_syndicate_member(syndicate_id, member_id, opts = {})
834
+ data, _status_code, _headers = restore_syndicate_member_with_http_info(syndicate_id, member_id, opts)
835
+ data
836
+ end
837
+
838
+ # Restore exiled or resigned member
839
+ # Restore a member who was previously exiled or resigned. Sets their role back to member.
840
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
841
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
842
+ # @param [Hash] opts the optional parameters
843
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
844
+ def restore_syndicate_member_with_http_info(syndicate_id, member_id, opts = {})
845
+ if @api_client.config.debugging
846
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.restore_syndicate_member ...'
847
+ end
848
+ # verify the required parameter 'syndicate_id' is set
849
+ if @api_client.config.client_side_validation && syndicate_id.nil?
850
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.restore_syndicate_member"
851
+ end
852
+ # verify the required parameter 'member_id' is set
853
+ if @api_client.config.client_side_validation && member_id.nil?
854
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.restore_syndicate_member"
855
+ end
856
+ # resource path
857
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}/restore'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
858
+
859
+ # query parameters
860
+ query_params = opts[:query_params] || {}
861
+
862
+ # header parameters
863
+ header_params = opts[:header_params] || {}
864
+ # HTTP header 'Accept' (if needed)
865
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
866
+
867
+ # form parameters
868
+ form_params = opts[:form_params] || {}
869
+
870
+ # http body (model)
871
+ post_body = opts[:debug_body]
872
+
873
+ # return_type
874
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
875
+
876
+ # auth_names
877
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
878
+
879
+ new_options = opts.merge(
880
+ :operation => :"SyndicateMembersApi.restore_syndicate_member",
881
+ :header_params => header_params,
882
+ :query_params => query_params,
883
+ :form_params => form_params,
884
+ :body => post_body,
885
+ :auth_names => auth_names,
886
+ :return_type => return_type
887
+ )
888
+
889
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
890
+ if @api_client.config.debugging
891
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#restore_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
892
+ end
893
+ return data, status_code, headers
894
+ end
895
+
896
+ # Update member
897
+ # Update title and carry override for a member. Requires operator permission.
898
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
899
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
900
+ # @param update_syndicate_member_request [UpdateSyndicateMemberRequest]
901
+ # @param [Hash] opts the optional parameters
902
+ # @return [SyndicateMemberEnvelope]
903
+ def update_syndicate_member(syndicate_id, member_id, update_syndicate_member_request, opts = {})
904
+ data, _status_code, _headers = update_syndicate_member_with_http_info(syndicate_id, member_id, update_syndicate_member_request, opts)
905
+ data
906
+ end
907
+
908
+ # Update member
909
+ # Update title and carry override for a member. Requires operator permission.
910
+ # @param syndicate_id [String] The syndicate&#39;s id (&#x60;syn_...&#x60;).
911
+ # @param member_id [String] The member&#39;s id (&#x60;mem_...&#x60;), as returned by the members list (&#x60;data[].id&#x60;). Integer ids are internal and not accepted.
912
+ # @param update_syndicate_member_request [UpdateSyndicateMemberRequest]
913
+ # @param [Hash] opts the optional parameters
914
+ # @return [Array<(SyndicateMemberEnvelope, Integer, Hash)>] SyndicateMemberEnvelope data, response status code and response headers
915
+ def update_syndicate_member_with_http_info(syndicate_id, member_id, update_syndicate_member_request, opts = {})
916
+ if @api_client.config.debugging
917
+ @api_client.config.logger.debug 'Calling API: SyndicateMembersApi.update_syndicate_member ...'
918
+ end
919
+ # verify the required parameter 'syndicate_id' is set
920
+ if @api_client.config.client_side_validation && syndicate_id.nil?
921
+ fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateMembersApi.update_syndicate_member"
922
+ end
923
+ # verify the required parameter 'member_id' is set
924
+ if @api_client.config.client_side_validation && member_id.nil?
925
+ fail ArgumentError, "Missing the required parameter 'member_id' when calling SyndicateMembersApi.update_syndicate_member"
926
+ end
927
+ # verify the required parameter 'update_syndicate_member_request' is set
928
+ if @api_client.config.client_side_validation && update_syndicate_member_request.nil?
929
+ fail ArgumentError, "Missing the required parameter 'update_syndicate_member_request' when calling SyndicateMembersApi.update_syndicate_member"
930
+ end
931
+ # resource path
932
+ local_var_path = '/syndicates/{syndicate_id}/members/{member_id}'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'member_id' + '}', CGI.escape(member_id.to_s))
933
+
934
+ # query parameters
935
+ query_params = opts[:query_params] || {}
936
+
937
+ # header parameters
938
+ header_params = opts[:header_params] || {}
939
+ # HTTP header 'Accept' (if needed)
940
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
941
+ # HTTP header 'Content-Type'
942
+ content_type = @api_client.select_header_content_type(['application/json'])
943
+ if !content_type.nil?
944
+ header_params['Content-Type'] = content_type
945
+ end
946
+
947
+ # form parameters
948
+ form_params = opts[:form_params] || {}
949
+
950
+ # http body (model)
951
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_syndicate_member_request)
952
+
953
+ # return_type
954
+ return_type = opts[:debug_return_type] || 'SyndicateMemberEnvelope'
955
+
956
+ # auth_names
957
+ auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
958
+
959
+ new_options = opts.merge(
960
+ :operation => :"SyndicateMembersApi.update_syndicate_member",
961
+ :header_params => header_params,
962
+ :query_params => query_params,
963
+ :form_params => form_params,
964
+ :body => post_body,
965
+ :auth_names => auth_names,
966
+ :return_type => return_type
967
+ )
968
+
969
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
970
+ if @api_client.config.debugging
971
+ @api_client.config.logger.debug "API called: SyndicateMembersApi#update_syndicate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
972
+ end
973
+ return data, status_code, headers
974
+ end
975
+ end
976
+ end