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.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +263 -0
- data/lib/wefunder/client.rb +283 -0
- data/lib/wefunder/errors.rb +87 -0
- data/lib/wefunder/oauth.rb +135 -0
- data/lib/wefunder/pagination.rb +52 -0
- data/lib/wefunder/token_manager.rb +80 -0
- data/lib/wefunder/transport.rb +93 -0
- data/lib/wefunder/version.rb +5 -0
- data/lib/wefunder/webhooks.rb +238 -0
- data/lib/wefunder.rb +26 -0
- data/lib/wefunder_generated/api/activity_api.rb +234 -0
- data/lib/wefunder_generated/api/attribution_api.rb +182 -0
- data/lib/wefunder_generated/api/attribution_partners_api.rb +392 -0
- data/lib/wefunder_generated/api/attribution_webhooks_api.rb +504 -0
- data/lib/wefunder_generated/api/campaigns_api.rb +82 -0
- data/lib/wefunder_generated/api/companies_api.rb +101 -0
- data/lib/wefunder_generated/api/explore_api.rb +633 -0
- data/lib/wefunder_generated/api/installations_api.rb +405 -0
- data/lib/wefunder_generated/api/intents_api.rb +301 -0
- data/lib/wefunder_generated/api/investment_delta_api.rb +99 -0
- data/lib/wefunder_generated/api/investments_api.rb +238 -0
- data/lib/wefunder_generated/api/portfolio_api.rb +166 -0
- data/lib/wefunder_generated/api/syndicate_deals_api.rb +381 -0
- data/lib/wefunder_generated/api/syndicate_members_api.rb +976 -0
- data/lib/wefunder_generated/api/syndicate_portfolio_api.rb +178 -0
- data/lib/wefunder_generated/api/syndicate_statistics_api.rb +85 -0
- data/lib/wefunder_generated/api/syndicates_api.rb +226 -0
- data/lib/wefunder_generated/api/users_api.rb +329 -0
- data/lib/wefunder_generated/api/webhook_endpoints_api.rb +539 -0
- data/lib/wefunder_generated/api_client.rb +437 -0
- data/lib/wefunder_generated/api_error.rb +58 -0
- data/lib/wefunder_generated/configuration.rb +392 -0
- data/lib/wefunder_generated/models/anonymized_attribution.rb +298 -0
- data/lib/wefunder_generated/models/anonymized_attribution_attribution.rb +330 -0
- data/lib/wefunder_generated/models/anonymized_attribution_status.rb +260 -0
- data/lib/wefunder_generated/models/attributed_investment_list_envelope.rb +226 -0
- data/lib/wefunder_generated/models/attributed_investment_list_envelope_data_inner.rb +105 -0
- data/lib/wefunder_generated/models/attributed_investment_list_envelope_meta.rb +295 -0
- data/lib/wefunder_generated/models/attribution_campaign_access.rb +241 -0
- data/lib/wefunder_generated/models/attribution_campaign_summary.rb +251 -0
- data/lib/wefunder_generated/models/attribution_campaign_summary_list_envelope.rb +216 -0
- data/lib/wefunder_generated/models/attribution_me.rb +235 -0
- data/lib/wefunder_generated/models/attribution_me_envelope.rb +214 -0
- data/lib/wefunder_generated/models/attribution_partner.rb +275 -0
- data/lib/wefunder_generated/models/attribution_stats.rb +266 -0
- data/lib/wefunder_generated/models/attribution_stats_by_campaign_inner.rb +232 -0
- data/lib/wefunder_generated/models/attribution_stats_by_source_inner.rb +232 -0
- data/lib/wefunder_generated/models/attribution_stats_envelope.rb +214 -0
- data/lib/wefunder_generated/models/attribution_stats_period.rb +223 -0
- data/lib/wefunder_generated/models/attribution_stats_quality_breakdown.rb +236 -0
- data/lib/wefunder_generated/models/attribution_stats_totals.rb +245 -0
- data/lib/wefunder_generated/models/attribution_user.rb +232 -0
- data/lib/wefunder_generated/models/audit_event.rb +234 -0
- data/lib/wefunder_generated/models/audit_event_attributes.rb +391 -0
- data/lib/wefunder_generated/models/audit_event_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/bulk_invite_link_create_input.rb +243 -0
- data/lib/wefunder_generated/models/bulk_invite_link_envelope.rb +237 -0
- data/lib/wefunder_generated/models/bulk_invite_link_envelope_errors_inner.rb +233 -0
- data/lib/wefunder_generated/models/bulk_invite_link_envelope_meta.rb +232 -0
- data/lib/wefunder_generated/models/campaign.rb +232 -0
- data/lib/wefunder_generated/models/campaign_attributes.rb +301 -0
- data/lib/wefunder_generated/models/campaign_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/comment_proposal_envelope.rb +274 -0
- data/lib/wefunder_generated/models/comment_proposal_envelope_draft.rb +260 -0
- data/lib/wefunder_generated/models/comment_proposal_envelope_proposal.rb +286 -0
- data/lib/wefunder_generated/models/comment_proposal_envelope_related_questions_inner.rb +264 -0
- data/lib/wefunder_generated/models/company.rb +234 -0
- data/lib/wefunder_generated/models/company_attributes.rb +318 -0
- data/lib/wefunder_generated/models/company_attributes_location.rb +235 -0
- data/lib/wefunder_generated/models/company_disclosures.rb +268 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes.rb +434 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_business.rb +255 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_capital_structure_inner.rb +255 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_current_position.rb +281 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_filing.rb +256 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_financial_statements.rb +233 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_outstanding_debts.rb +227 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_outstanding_debts_items_inner.rb +255 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_outstanding_notes_inner.rb +284 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_prior_offerings_inner.rb +266 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_ratios.rb +272 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_related_parties.rb +226 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_related_parties_parties_inner.rb +265 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_use_of_funds_inner.rb +226 -0
- data/lib/wefunder_generated/models/company_disclosures_attributes_voting_power_inner.rb +236 -0
- data/lib/wefunder_generated/models/company_disclosures_envelope.rb +214 -0
- data/lib/wefunder_generated/models/company_envelope.rb +214 -0
- data/lib/wefunder_generated/models/company_pitch.rb +268 -0
- data/lib/wefunder_generated/models/company_pitch_attributes.rb +311 -0
- data/lib/wefunder_generated/models/company_pitch_attributes_perks.rb +248 -0
- data/lib/wefunder_generated/models/company_pitch_attributes_story.rb +255 -0
- data/lib/wefunder_generated/models/company_pitch_envelope.rb +214 -0
- data/lib/wefunder_generated/models/company_question.rb +268 -0
- data/lib/wefunder_generated/models/company_question_attributes.rb +329 -0
- data/lib/wefunder_generated/models/company_question_attributes_answers_inner.rb +253 -0
- data/lib/wefunder_generated/models/company_question_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/company_question_list_envelope_meta.rb +301 -0
- data/lib/wefunder_generated/models/company_question_person.rb +247 -0
- data/lib/wefunder_generated/models/company_search_result.rb +268 -0
- data/lib/wefunder_generated/models/company_search_result_attributes.rb +266 -0
- data/lib/wefunder_generated/models/company_search_result_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/company_search_result_list_envelope_meta.rb +223 -0
- data/lib/wefunder_generated/models/company_totals.rb +249 -0
- data/lib/wefunder_generated/models/company_update.rb +269 -0
- data/lib/wefunder_generated/models/company_update_attributes.rb +350 -0
- data/lib/wefunder_generated/models/company_update_attributes_author.rb +215 -0
- data/lib/wefunder_generated/models/company_update_envelope.rb +214 -0
- data/lib/wefunder_generated/models/company_update_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/company_update_list_envelope_meta.rb +243 -0
- data/lib/wefunder_generated/models/connected_app.rb +233 -0
- data/lib/wefunder_generated/models/connected_app_attributes.rb +258 -0
- data/lib/wefunder_generated/models/connected_app_list_envelope.rb +216 -0
- data/lib/wefunder_generated/models/connected_app_revocation.rb +223 -0
- data/lib/wefunder_generated/models/connected_app_revocation_envelope.rb +214 -0
- data/lib/wefunder_generated/models/convertible_note_security.rb +266 -0
- data/lib/wefunder_generated/models/convertible_note_security_terms.rb +266 -0
- data/lib/wefunder_generated/models/create_installation_request.rb +294 -0
- data/lib/wefunder_generated/models/create_installation_token_request.rb +216 -0
- data/lib/wefunder_generated/models/create_intent_request.rb +320 -0
- data/lib/wefunder_generated/models/create_partner_invite_request.rb +287 -0
- data/lib/wefunder_generated/models/create_webhook_endpoint_request.rb +291 -0
- data/lib/wefunder_generated/models/create_webhook_subscription_request.rb +263 -0
- data/lib/wefunder_generated/models/current_raise.rb +288 -0
- data/lib/wefunder_generated/models/deal_investor.rb +234 -0
- data/lib/wefunder_generated/models/deal_investor_attributes.rb +321 -0
- data/lib/wefunder_generated/models/deal_investor_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/deal_investor_list_envelope_meta.rb +252 -0
- data/lib/wefunder_generated/models/debt_security.rb +266 -0
- data/lib/wefunder_generated/models/debt_security_terms.rb +235 -0
- data/lib/wefunder_generated/models/delete_webhook_endpoint200_response.rb +214 -0
- data/lib/wefunder_generated/models/delete_webhook_endpoint200_response_data.rb +232 -0
- data/lib/wefunder_generated/models/disclosure_document.rb +224 -0
- data/lib/wefunder_generated/models/disclosure_person.rb +254 -0
- data/lib/wefunder_generated/models/eligible_target_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/eligible_target_list_envelope_data_inner.rb +295 -0
- data/lib/wefunder_generated/models/equity_security.rb +266 -0
- data/lib/wefunder_generated/models/equity_security_terms.rb +271 -0
- data/lib/wefunder_generated/models/error.rb +214 -0
- data/lib/wefunder_generated/models/error_error.rb +254 -0
- data/lib/wefunder_generated/models/exemption.rb +271 -0
- data/lib/wefunder_generated/models/fiscal_year_financials.rb +296 -0
- data/lib/wefunder_generated/models/follow_state_envelope.rb +214 -0
- data/lib/wefunder_generated/models/follow_state_envelope_data.rb +268 -0
- data/lib/wefunder_generated/models/follow_state_envelope_data_attributes.rb +225 -0
- data/lib/wefunder_generated/models/followed_company.rb +268 -0
- data/lib/wefunder_generated/models/followed_company_attributes.rb +275 -0
- data/lib/wefunder_generated/models/followed_company_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/full_attribution.rb +272 -0
- data/lib/wefunder_generated/models/full_attribution_attribution.rb +326 -0
- data/lib/wefunder_generated/models/full_attribution_investor.rb +242 -0
- data/lib/wefunder_generated/models/full_attribution_status.rb +257 -0
- data/lib/wefunder_generated/models/fund_security.rb +267 -0
- data/lib/wefunder_generated/models/installation.rb +233 -0
- data/lib/wefunder_generated/models/installation_attributes.rb +307 -0
- data/lib/wefunder_generated/models/installation_attributes_target.rb +267 -0
- data/lib/wefunder_generated/models/installation_envelope.rb +223 -0
- data/lib/wefunder_generated/models/installation_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/installation_list_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/installation_token_envelope.rb +232 -0
- data/lib/wefunder_generated/models/installation_token_envelope_token.rb +252 -0
- data/lib/wefunder_generated/models/intent.rb +234 -0
- data/lib/wefunder_generated/models/intent_attributes.rb +375 -0
- data/lib/wefunder_generated/models/intent_attributes_resource_id.rb +106 -0
- data/lib/wefunder_generated/models/intent_envelope.rb +214 -0
- data/lib/wefunder_generated/models/intent_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/intent_preview_envelope.rb +214 -0
- data/lib/wefunder_generated/models/intent_preview_envelope_data.rb +257 -0
- data/lib/wefunder_generated/models/intent_preview_envelope_data_attributes.rb +262 -0
- data/lib/wefunder_generated/models/intent_review.rb +234 -0
- data/lib/wefunder_generated/models/investment_change_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/investment_change_list_envelope_meta.rb +285 -0
- data/lib/wefunder_generated/models/investment_delta_record.rb +504 -0
- data/lib/wefunder_generated/models/investment_delta_record_amounts.rb +251 -0
- data/lib/wefunder_generated/models/investment_delta_record_blockers_inner.rb +224 -0
- data/lib/wefunder_generated/models/investment_delta_record_contracts_inner.rb +234 -0
- data/lib/wefunder_generated/models/investment_delta_record_investor.rb +286 -0
- data/lib/wefunder_generated/models/investment_envelope.rb +223 -0
- data/lib/wefunder_generated/models/investment_envelope_meta.rb +270 -0
- data/lib/wefunder_generated/models/investment_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/investment_list_envelope_meta.rb +288 -0
- data/lib/wefunder_generated/models/investment_session.rb +232 -0
- data/lib/wefunder_generated/models/investment_session_attributes.rb +384 -0
- data/lib/wefunder_generated/models/investment_session_attributes_events_inner.rb +232 -0
- data/lib/wefunder_generated/models/investment_session_create_input.rb +331 -0
- data/lib/wefunder_generated/models/investment_session_envelope.rb +223 -0
- data/lib/wefunder_generated/models/investment_session_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/investment_session_list_envelope_meta.rb +242 -0
- data/lib/wefunder_generated/models/investor.rb +233 -0
- data/lib/wefunder_generated/models/investor_attributes.rb +262 -0
- data/lib/wefunder_generated/models/investor_envelope.rb +214 -0
- data/lib/wefunder_generated/models/investor_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/invite_link.rb +233 -0
- data/lib/wefunder_generated/models/invite_link_attributes.rb +375 -0
- data/lib/wefunder_generated/models/invite_link_attributes_events_inner.rb +243 -0
- data/lib/wefunder_generated/models/invite_link_create_input.rb +295 -0
- data/lib/wefunder_generated/models/invite_link_envelope.rb +223 -0
- data/lib/wefunder_generated/models/invite_link_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/invite_link_update_input.rb +227 -0
- data/lib/wefunder_generated/models/invite_syndicate_member_request.rb +277 -0
- data/lib/wefunder_generated/models/marketing_partner.rb +295 -0
- data/lib/wefunder_generated/models/marketing_partner_envelope.rb +214 -0
- data/lib/wefunder_generated/models/member_investment.rb +234 -0
- data/lib/wefunder_generated/models/member_investment_attributes.rb +301 -0
- data/lib/wefunder_generated/models/member_investment_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/member_investment_list_envelope_meta.rb +225 -0
- data/lib/wefunder_generated/models/my_company.rb +268 -0
- data/lib/wefunder_generated/models/my_company_attributes.rb +257 -0
- data/lib/wefunder_generated/models/my_company_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/offering.rb +267 -0
- data/lib/wefunder_generated/models/offering_attributes.rb +469 -0
- data/lib/wefunder_generated/models/offering_attributes_intended_security.rb +258 -0
- data/lib/wefunder_generated/models/offering_attributes_security.rb +105 -0
- data/lib/wefunder_generated/models/offering_envelope.rb +214 -0
- data/lib/wefunder_generated/models/offering_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/offering_list_envelope_meta.rb +265 -0
- data/lib/wefunder_generated/models/offering_stats_envelope.rb +223 -0
- data/lib/wefunder_generated/models/offering_stats_envelope_data.rb +253 -0
- data/lib/wefunder_generated/models/offering_stats_envelope_data_by_status_value.rb +232 -0
- data/lib/wefunder_generated/models/offering_stats_envelope_data_total.rb +233 -0
- data/lib/wefunder_generated/models/offering_stats_envelope_meta.rb +258 -0
- data/lib/wefunder_generated/models/offering_warnings_inner.rb +257 -0
- data/lib/wefunder_generated/models/other_security.rb +267 -0
- data/lib/wefunder_generated/models/other_security_terms.rb +235 -0
- data/lib/wefunder_generated/models/pagination_meta.rb +234 -0
- data/lib/wefunder_generated/models/pagination_meta_next_cursor.rb +106 -0
- data/lib/wefunder_generated/models/partner_investment.rb +232 -0
- data/lib/wefunder_generated/models/partner_investment_attributes.rb +305 -0
- data/lib/wefunder_generated/models/partner_investment_attributes_accreditation.rb +289 -0
- data/lib/wefunder_generated/models/partner_investment_envelope.rb +214 -0
- data/lib/wefunder_generated/models/partner_investment_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/partner_investor.rb +233 -0
- data/lib/wefunder_generated/models/partner_investor_attributes.rb +264 -0
- data/lib/wefunder_generated/models/partner_investor_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/partner_invite.rb +360 -0
- data/lib/wefunder_generated/models/partner_invite_envelope.rb +214 -0
- data/lib/wefunder_generated/models/partner_invite_list_envelope.rb +216 -0
- data/lib/wefunder_generated/models/partner_webhook_event.rb +257 -0
- data/lib/wefunder_generated/models/partner_webhook_event_envelope.rb +214 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription.rb +232 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_attributes.rb +243 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_create_input.rb +239 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_envelope.rb +214 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_list_envelope.rb +216 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_with_secret.rb +239 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_with_secret_all_of_attributes.rb +215 -0
- data/lib/wefunder_generated/models/partner_webhook_subscription_with_secret_envelope.rb +214 -0
- data/lib/wefunder_generated/models/past_round.rb +309 -0
- data/lib/wefunder_generated/models/perk_tier.rb +226 -0
- data/lib/wefunder_generated/models/pitch_block.rb +375 -0
- data/lib/wefunder_generated/models/pitch_block_links_inner.rb +226 -0
- data/lib/wefunder_generated/models/portfolio_company_ref.rb +235 -0
- data/lib/wefunder_generated/models/portfolio_holding.rb +258 -0
- data/lib/wefunder_generated/models/portfolio_position.rb +268 -0
- data/lib/wefunder_generated/models/portfolio_position_attributes.rb +456 -0
- data/lib/wefunder_generated/models/portfolio_position_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/portfolio_position_list_envelope_meta.rb +234 -0
- data/lib/wefunder_generated/models/portfolio_security.rb +323 -0
- data/lib/wefunder_generated/models/portfolio_security_owner.rb +258 -0
- data/lib/wefunder_generated/models/portfolio_security_terms.rb +257 -0
- data/lib/wefunder_generated/models/portfolio_summary_envelope.rb +214 -0
- data/lib/wefunder_generated/models/portfolio_summary_envelope_data.rb +223 -0
- data/lib/wefunder_generated/models/portfolio_summary_envelope_data_attributes.rb +292 -0
- data/lib/wefunder_generated/models/portfolio_summary_envelope_data_attributes_position_counts.rb +242 -0
- data/lib/wefunder_generated/models/preview_intent_request.rb +262 -0
- data/lib/wefunder_generated/models/register_as_partner_request.rb +232 -0
- data/lib/wefunder_generated/models/reorder_syndicate_members_request.rb +224 -0
- data/lib/wefunder_generated/models/revenue_share_security.rb +266 -0
- data/lib/wefunder_generated/models/revenue_share_security_terms.rb +300 -0
- data/lib/wefunder_generated/models/safe_security.rb +266 -0
- data/lib/wefunder_generated/models/safe_security_terms.rb +257 -0
- data/lib/wefunder_generated/models/security.rb +66 -0
- data/lib/wefunder_generated/models/security_summary.rb +272 -0
- data/lib/wefunder_generated/models/spv.rb +232 -0
- data/lib/wefunder_generated/models/spv_attributes.rb +353 -0
- data/lib/wefunder_generated/models/spv_attributes_target_company.rb +223 -0
- data/lib/wefunder_generated/models/spv_cancel_intent_envelope.rb +224 -0
- data/lib/wefunder_generated/models/spv_cancel_intent_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/spv_close_intent_envelope.rb +224 -0
- data/lib/wefunder_generated/models/spv_close_intent_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/spv_create_input.rb +274 -0
- data/lib/wefunder_generated/models/spv_envelope.rb +214 -0
- data/lib/wefunder_generated/models/spv_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/spv_metrics.rb +261 -0
- data/lib/wefunder_generated/models/spv_settings.rb +275 -0
- data/lib/wefunder_generated/models/spv_status.rb +232 -0
- data/lib/wefunder_generated/models/spv_status_attributes.rb +289 -0
- data/lib/wefunder_generated/models/spv_status_envelope.rb +223 -0
- data/lib/wefunder_generated/models/spv_terms.rb +348 -0
- data/lib/wefunder_generated/models/spv_with_meta_envelope.rb +223 -0
- data/lib/wefunder_generated/models/spv_with_meta_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/syndicate.rb +234 -0
- data/lib/wefunder_generated/models/syndicate_attributes.rb +412 -0
- data/lib/wefunder_generated/models/syndicate_attributes_annual_subscription.rb +236 -0
- data/lib/wefunder_generated/models/syndicate_attributes_traditional_fund.rb +225 -0
- data/lib/wefunder_generated/models/syndicate_deal.rb +234 -0
- data/lib/wefunder_generated/models/syndicate_deal_attributes.rb +435 -0
- data/lib/wefunder_generated/models/syndicate_deal_attributes_exemption.rb +105 -0
- data/lib/wefunder_generated/models/syndicate_deal_attributes_security.rb +105 -0
- data/lib/wefunder_generated/models/syndicate_deal_close_intent_envelope.rb +224 -0
- data/lib/wefunder_generated/models/syndicate_deal_close_intent_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_deal_detail_envelope.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_deal_envelope.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_deal_finalize_intent_envelope.rb +224 -0
- data/lib/wefunder_generated/models/syndicate_deal_finalize_intent_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_deal_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/syndicate_detail_envelope.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/syndicate_member.rb +234 -0
- data/lib/wefunder_generated/models/syndicate_member_attributes.rb +650 -0
- data/lib/wefunder_generated/models/syndicate_member_envelope.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_member_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope.rb +214 -0
- data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope_data.rb +223 -0
- data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope_data_attributes.rb +302 -0
- data/lib/wefunder_generated/models/syndicate_portfolio_summary_envelope_data_attributes_deal_counts.rb +242 -0
- data/lib/wefunder_generated/models/syndicate_statistics.rb +224 -0
- data/lib/wefunder_generated/models/syndicate_statistics_attributes.rb +277 -0
- data/lib/wefunder_generated/models/syndicate_statistics_envelope.rb +214 -0
- data/lib/wefunder_generated/models/tag_ref.rb +238 -0
- data/lib/wefunder_generated/models/target_company_input.rb +258 -0
- data/lib/wefunder_generated/models/test_webhook_endpoint_request.rb +249 -0
- data/lib/wefunder_generated/models/update_syndicate_member_request.rb +221 -0
- data/lib/wefunder_generated/models/update_syndicate_member_request_member.rb +251 -0
- data/lib/wefunder_generated/models/update_syndicate_request.rb +221 -0
- data/lib/wefunder_generated/models/update_syndicate_request_syndicate.rb +232 -0
- data/lib/wefunder_generated/models/update_webhook_endpoint_request.rb +252 -0
- data/lib/wefunder_generated/models/user.rb +233 -0
- data/lib/wefunder_generated/models/user_attributes.rb +300 -0
- data/lib/wefunder_generated/models/user_envelope.rb +214 -0
- data/lib/wefunder_generated/models/validation_error.rb +215 -0
- data/lib/wefunder_generated/models/validation_error_error.rb +234 -0
- data/lib/wefunder_generated/models/validation_error_error_details_inner.rb +232 -0
- data/lib/wefunder_generated/models/webhook_delivery.rb +318 -0
- data/lib/wefunder_generated/models/webhook_endpoint.rb +232 -0
- data/lib/wefunder_generated/models/webhook_endpoint_attributes.rb +327 -0
- data/lib/wefunder_generated/models/webhook_endpoint_envelope.rb +223 -0
- data/lib/wefunder_generated/models/webhook_endpoint_envelope_meta.rb +214 -0
- data/lib/wefunder_generated/models/webhook_endpoint_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/webhook_endpoint_list_envelope_meta.rb +233 -0
- data/lib/wefunder_generated/models/webhook_endpoint_test_result_envelope.rb +223 -0
- data/lib/wefunder_generated/models/webhook_endpoint_test_result_envelope_data.rb +306 -0
- data/lib/wefunder_generated/models/webhook_subscription.rb +304 -0
- data/lib/wefunder_generated/models/webhook_subscription_envelope.rb +214 -0
- data/lib/wefunder_generated/models/webhook_subscription_list_envelope.rb +225 -0
- data/lib/wefunder_generated/models/webhook_subscription_list_envelope_meta.rb +225 -0
- data/lib/wefunder_generated/models/webhook_subscription_with_recent_deliveries_envelope.rb +214 -0
- data/lib/wefunder_generated/models/webhook_subscription_with_recent_deliveries_envelope_data.rb +322 -0
- data/lib/wefunder_generated/models/webhook_subscription_with_secret2_envelope.rb +214 -0
- data/lib/wefunder_generated/models/webhook_subscription_with_secret2_envelope_data.rb +320 -0
- data/lib/wefunder_generated/models/webhook_subscription_with_secret_envelope.rb +214 -0
- data/lib/wefunder_generated/models/webhook_subscription_with_secret_envelope_data.rb +320 -0
- data/lib/wefunder_generated/models/webhook_test_result.rb +233 -0
- data/lib/wefunder_generated/models/webhook_test_result_envelope.rb +214 -0
- data/lib/wefunder_generated/models/wefunder_round.rb +330 -0
- data/lib/wefunder_generated/models/wefunder_round_exemption.rb +104 -0
- data/lib/wefunder_generated/models/wefunder_round_security.rb +104 -0
- data/lib/wefunder_generated/version.rb +15 -0
- data/lib/wefunder_generated.rb +382 -0
- metadata +456 -0
|
@@ -0,0 +1,166 @@
|
|
|
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 PortfolioApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Get portfolio summary
|
|
23
|
+
# Returns totals across the authenticated investor's portfolio: cost basis, current value, realized and unrealized gains, and per-status position counts. Accepts the same `status` and `company` filters as `GET /portfolio/positions` to total a slice of the portfolio, such as only exited positions. Requires a user-authorized token. App-only (client credentials) tokens receive 403. Portfolio values are recalculated periodically rather than on each request, so recent investments and valuation changes can take a few minutes to appear. `as_of` is the timestamp of the oldest calculation included in the response. Monetary values are **integer cents**; per-share prices and return multiples are **decimal strings**.
|
|
24
|
+
# @param [Hash] opts the optional parameters
|
|
25
|
+
# @option opts [String] :status Total only positions with this status.
|
|
26
|
+
# @option opts [String] :company Total only positions in this company, by its id (`co_...`). Unknown ids return 404.
|
|
27
|
+
# @return [PortfolioSummaryEnvelope]
|
|
28
|
+
def get_portfolio(opts = {})
|
|
29
|
+
data, _status_code, _headers = get_portfolio_with_http_info(opts)
|
|
30
|
+
data
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Get portfolio summary
|
|
34
|
+
# Returns totals across the authenticated investor's portfolio: cost basis, current value, realized and unrealized gains, and per-status position counts. Accepts the same `status` and `company` filters as `GET /portfolio/positions` to total a slice of the portfolio, such as only exited positions. Requires a user-authorized token. App-only (client credentials) tokens receive 403. Portfolio values are recalculated periodically rather than on each request, so recent investments and valuation changes can take a few minutes to appear. `as_of` is the timestamp of the oldest calculation included in the response. Monetary values are **integer cents**; per-share prices and return multiples are **decimal strings**.
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @option opts [String] :status Total only positions with this status.
|
|
37
|
+
# @option opts [String] :company Total only positions in this company, by its id (`co_...`). Unknown ids return 404.
|
|
38
|
+
# @return [Array<(PortfolioSummaryEnvelope, Integer, Hash)>] PortfolioSummaryEnvelope data, response status code and response headers
|
|
39
|
+
def get_portfolio_with_http_info(opts = {})
|
|
40
|
+
if @api_client.config.debugging
|
|
41
|
+
@api_client.config.logger.debug 'Calling API: PortfolioApi.get_portfolio ...'
|
|
42
|
+
end
|
|
43
|
+
allowable_values = ["active", "exited", "sold", "failed"]
|
|
44
|
+
if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
|
|
45
|
+
fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
|
|
46
|
+
end
|
|
47
|
+
# resource path
|
|
48
|
+
local_var_path = '/portfolio'
|
|
49
|
+
|
|
50
|
+
# query parameters
|
|
51
|
+
query_params = opts[:query_params] || {}
|
|
52
|
+
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
|
53
|
+
query_params[:'company'] = opts[:'company'] if !opts[:'company'].nil?
|
|
54
|
+
|
|
55
|
+
# header parameters
|
|
56
|
+
header_params = opts[:header_params] || {}
|
|
57
|
+
# HTTP header 'Accept' (if needed)
|
|
58
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
59
|
+
|
|
60
|
+
# form parameters
|
|
61
|
+
form_params = opts[:form_params] || {}
|
|
62
|
+
|
|
63
|
+
# http body (model)
|
|
64
|
+
post_body = opts[:debug_body]
|
|
65
|
+
|
|
66
|
+
# return_type
|
|
67
|
+
return_type = opts[:debug_return_type] || 'PortfolioSummaryEnvelope'
|
|
68
|
+
|
|
69
|
+
# auth_names
|
|
70
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
71
|
+
|
|
72
|
+
new_options = opts.merge(
|
|
73
|
+
:operation => :"PortfolioApi.get_portfolio",
|
|
74
|
+
:header_params => header_params,
|
|
75
|
+
:query_params => query_params,
|
|
76
|
+
:form_params => form_params,
|
|
77
|
+
:body => post_body,
|
|
78
|
+
:auth_names => auth_names,
|
|
79
|
+
:return_type => return_type
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
83
|
+
if @api_client.config.debugging
|
|
84
|
+
@api_client.config.logger.debug "API called: PortfolioApi#get_portfolio\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
85
|
+
end
|
|
86
|
+
return data, status_code, headers
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# List portfolio positions
|
|
90
|
+
# Returns the authenticated investor's positions, one per offering (fundraise), newest first. Position totals cover everything the investor holds in that offering; `securities` breaks the total down by security offering and legal owner, so early bird tiers and personally-held vs entity-held stakes each appear separately. Fund and SPV positions identify the companies the vehicle invested in under `holdings`. To compute an average cost per share, divide `cost_basis_cents` by `shares_held`. Requires a user-authorized token, like `GET /portfolio`.
|
|
91
|
+
# @param [Hash] opts the optional parameters
|
|
92
|
+
# @option opts [Integer] :cursor Cursor-based pagination token. Use the `next_cursor` value from the previous response's `meta` object to retrieve the next page of results. Omit this parameter to retrieve the first page.
|
|
93
|
+
# @option opts [Integer] :per_page Page size, 1-100. Defaults to 25. (default to 25)
|
|
94
|
+
# @option opts [String] :status Filter positions by status.
|
|
95
|
+
# @option opts [String] :company Filter to a single company by its id (`co_...`). Unknown ids return 404.
|
|
96
|
+
# @return [PortfolioPositionListEnvelope]
|
|
97
|
+
def list_portfolio_positions(opts = {})
|
|
98
|
+
data, _status_code, _headers = list_portfolio_positions_with_http_info(opts)
|
|
99
|
+
data
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# List portfolio positions
|
|
103
|
+
# Returns the authenticated investor's positions, one per offering (fundraise), newest first. Position totals cover everything the investor holds in that offering; `securities` breaks the total down by security offering and legal owner, so early bird tiers and personally-held vs entity-held stakes each appear separately. Fund and SPV positions identify the companies the vehicle invested in under `holdings`. To compute an average cost per share, divide `cost_basis_cents` by `shares_held`. Requires a user-authorized token, like `GET /portfolio`.
|
|
104
|
+
# @param [Hash] opts the optional parameters
|
|
105
|
+
# @option opts [Integer] :cursor Cursor-based pagination token. Use the `next_cursor` value from the previous response's `meta` object to retrieve the next page of results. Omit this parameter to retrieve the first page.
|
|
106
|
+
# @option opts [Integer] :per_page Page size, 1-100. Defaults to 25. (default to 25)
|
|
107
|
+
# @option opts [String] :status Filter positions by status.
|
|
108
|
+
# @option opts [String] :company Filter to a single company by its id (`co_...`). Unknown ids return 404.
|
|
109
|
+
# @return [Array<(PortfolioPositionListEnvelope, Integer, Hash)>] PortfolioPositionListEnvelope data, response status code and response headers
|
|
110
|
+
def list_portfolio_positions_with_http_info(opts = {})
|
|
111
|
+
if @api_client.config.debugging
|
|
112
|
+
@api_client.config.logger.debug 'Calling API: PortfolioApi.list_portfolio_positions ...'
|
|
113
|
+
end
|
|
114
|
+
if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 100
|
|
115
|
+
fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling PortfolioApi.list_portfolio_positions, must be smaller than or equal to 100.'
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
allowable_values = ["active", "exited", "sold", "failed"]
|
|
119
|
+
if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
|
|
120
|
+
fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
|
|
121
|
+
end
|
|
122
|
+
# resource path
|
|
123
|
+
local_var_path = '/portfolio/positions'
|
|
124
|
+
|
|
125
|
+
# query parameters
|
|
126
|
+
query_params = opts[:query_params] || {}
|
|
127
|
+
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
|
|
128
|
+
query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
|
|
129
|
+
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
|
130
|
+
query_params[:'company'] = opts[:'company'] if !opts[:'company'].nil?
|
|
131
|
+
|
|
132
|
+
# header parameters
|
|
133
|
+
header_params = opts[:header_params] || {}
|
|
134
|
+
# HTTP header 'Accept' (if needed)
|
|
135
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
136
|
+
|
|
137
|
+
# form parameters
|
|
138
|
+
form_params = opts[:form_params] || {}
|
|
139
|
+
|
|
140
|
+
# http body (model)
|
|
141
|
+
post_body = opts[:debug_body]
|
|
142
|
+
|
|
143
|
+
# return_type
|
|
144
|
+
return_type = opts[:debug_return_type] || 'PortfolioPositionListEnvelope'
|
|
145
|
+
|
|
146
|
+
# auth_names
|
|
147
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
148
|
+
|
|
149
|
+
new_options = opts.merge(
|
|
150
|
+
:operation => :"PortfolioApi.list_portfolio_positions",
|
|
151
|
+
:header_params => header_params,
|
|
152
|
+
:query_params => query_params,
|
|
153
|
+
:form_params => form_params,
|
|
154
|
+
:body => post_body,
|
|
155
|
+
:auth_names => auth_names,
|
|
156
|
+
:return_type => return_type
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
160
|
+
if @api_client.config.debugging
|
|
161
|
+
@api_client.config.logger.debug "API called: PortfolioApi#list_portfolio_positions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
162
|
+
end
|
|
163
|
+
return data, status_code, headers
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|
|
@@ -0,0 +1,381 @@
|
|
|
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 SyndicateDealsApi
|
|
17
|
+
attr_accessor :api_client
|
|
18
|
+
|
|
19
|
+
def initialize(api_client = ApiClient.default)
|
|
20
|
+
@api_client = api_client
|
|
21
|
+
end
|
|
22
|
+
# Close deal
|
|
23
|
+
# Closing a deal is irreversible and requires human approval through the Intent system. This endpoint server-mints a pending `syndicates.close_deal` intent and returns the deal under `data` plus the intent's `review_url` under `meta.close_deal_intent`. The deal is not transitioned until a permitted human approves the intent in the Wefunder UI. Idempotent: a repeated call returns the same pending intent rather than minting a duplicate.
|
|
24
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
25
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
26
|
+
# @param [Hash] opts the optional parameters
|
|
27
|
+
# @return [SyndicateDealCloseIntentEnvelope]
|
|
28
|
+
def close_syndicate_deal(syndicate_id, fundraise_id, opts = {})
|
|
29
|
+
data, _status_code, _headers = close_syndicate_deal_with_http_info(syndicate_id, fundraise_id, opts)
|
|
30
|
+
data
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Close deal
|
|
34
|
+
# Closing a deal is irreversible and requires human approval through the Intent system. This endpoint server-mints a pending `syndicates.close_deal` intent and returns the deal under `data` plus the intent's `review_url` under `meta.close_deal_intent`. The deal is not transitioned until a permitted human approves the intent in the Wefunder UI. Idempotent: a repeated call returns the same pending intent rather than minting a duplicate.
|
|
35
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
36
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
37
|
+
# @param [Hash] opts the optional parameters
|
|
38
|
+
# @return [Array<(SyndicateDealCloseIntentEnvelope, Integer, Hash)>] SyndicateDealCloseIntentEnvelope data, response status code and response headers
|
|
39
|
+
def close_syndicate_deal_with_http_info(syndicate_id, fundraise_id, opts = {})
|
|
40
|
+
if @api_client.config.debugging
|
|
41
|
+
@api_client.config.logger.debug 'Calling API: SyndicateDealsApi.close_syndicate_deal ...'
|
|
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 SyndicateDealsApi.close_syndicate_deal"
|
|
46
|
+
end
|
|
47
|
+
# verify the required parameter 'fundraise_id' is set
|
|
48
|
+
if @api_client.config.client_side_validation && fundraise_id.nil?
|
|
49
|
+
fail ArgumentError, "Missing the required parameter 'fundraise_id' when calling SyndicateDealsApi.close_syndicate_deal"
|
|
50
|
+
end
|
|
51
|
+
# resource path
|
|
52
|
+
local_var_path = '/syndicates/{syndicate_id}/deals/{fundraise_id}/close'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'fundraise_id' + '}', CGI.escape(fundraise_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] || 'SyndicateDealCloseIntentEnvelope'
|
|
70
|
+
|
|
71
|
+
# auth_names
|
|
72
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
73
|
+
|
|
74
|
+
new_options = opts.merge(
|
|
75
|
+
:operation => :"SyndicateDealsApi.close_syndicate_deal",
|
|
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: SyndicateDealsApi#close_syndicate_deal\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
87
|
+
end
|
|
88
|
+
return data, status_code, headers
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Finalize deal
|
|
92
|
+
# Finalizing a deal is irreversible and requires human approval through the Intent system. This endpoint server-mints a pending `syndicates.finalize_deal` intent and returns the deal under `data` plus the intent's `review_url` under `meta.finalize_deal_intent`. The finalize runs only when a permitted human approves the intent in the Wefunder UI. Idempotent: a repeated call returns the same pending intent rather than minting a duplicate.
|
|
93
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
94
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
95
|
+
# @param [Hash] opts the optional parameters
|
|
96
|
+
# @return [SyndicateDealFinalizeIntentEnvelope]
|
|
97
|
+
def finalize_syndicate_deal(syndicate_id, fundraise_id, opts = {})
|
|
98
|
+
data, _status_code, _headers = finalize_syndicate_deal_with_http_info(syndicate_id, fundraise_id, opts)
|
|
99
|
+
data
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Finalize deal
|
|
103
|
+
# Finalizing a deal is irreversible and requires human approval through the Intent system. This endpoint server-mints a pending `syndicates.finalize_deal` intent and returns the deal under `data` plus the intent's `review_url` under `meta.finalize_deal_intent`. The finalize runs only when a permitted human approves the intent in the Wefunder UI. Idempotent: a repeated call returns the same pending intent rather than minting a duplicate.
|
|
104
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
105
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
106
|
+
# @param [Hash] opts the optional parameters
|
|
107
|
+
# @return [Array<(SyndicateDealFinalizeIntentEnvelope, Integer, Hash)>] SyndicateDealFinalizeIntentEnvelope data, response status code and response headers
|
|
108
|
+
def finalize_syndicate_deal_with_http_info(syndicate_id, fundraise_id, opts = {})
|
|
109
|
+
if @api_client.config.debugging
|
|
110
|
+
@api_client.config.logger.debug 'Calling API: SyndicateDealsApi.finalize_syndicate_deal ...'
|
|
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 SyndicateDealsApi.finalize_syndicate_deal"
|
|
115
|
+
end
|
|
116
|
+
# verify the required parameter 'fundraise_id' is set
|
|
117
|
+
if @api_client.config.client_side_validation && fundraise_id.nil?
|
|
118
|
+
fail ArgumentError, "Missing the required parameter 'fundraise_id' when calling SyndicateDealsApi.finalize_syndicate_deal"
|
|
119
|
+
end
|
|
120
|
+
# resource path
|
|
121
|
+
local_var_path = '/syndicates/{syndicate_id}/deals/{fundraise_id}/finalize'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'fundraise_id' + '}', CGI.escape(fundraise_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] || 'SyndicateDealFinalizeIntentEnvelope'
|
|
139
|
+
|
|
140
|
+
# auth_names
|
|
141
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
142
|
+
|
|
143
|
+
new_options = opts.merge(
|
|
144
|
+
:operation => :"SyndicateDealsApi.finalize_syndicate_deal",
|
|
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: SyndicateDealsApi#finalize_syndicate_deal\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
156
|
+
end
|
|
157
|
+
return data, status_code, headers
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Get deal details
|
|
161
|
+
# Returns full details for a specific deal including investor breakdown.
|
|
162
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
163
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
164
|
+
# @param [Hash] opts the optional parameters
|
|
165
|
+
# @return [SyndicateDealDetailEnvelope]
|
|
166
|
+
def get_syndicate_deal(syndicate_id, fundraise_id, opts = {})
|
|
167
|
+
data, _status_code, _headers = get_syndicate_deal_with_http_info(syndicate_id, fundraise_id, opts)
|
|
168
|
+
data
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Get deal details
|
|
172
|
+
# Returns full details for a specific deal including investor breakdown.
|
|
173
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
174
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
175
|
+
# @param [Hash] opts the optional parameters
|
|
176
|
+
# @return [Array<(SyndicateDealDetailEnvelope, Integer, Hash)>] SyndicateDealDetailEnvelope data, response status code and response headers
|
|
177
|
+
def get_syndicate_deal_with_http_info(syndicate_id, fundraise_id, opts = {})
|
|
178
|
+
if @api_client.config.debugging
|
|
179
|
+
@api_client.config.logger.debug 'Calling API: SyndicateDealsApi.get_syndicate_deal ...'
|
|
180
|
+
end
|
|
181
|
+
# verify the required parameter 'syndicate_id' is set
|
|
182
|
+
if @api_client.config.client_side_validation && syndicate_id.nil?
|
|
183
|
+
fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateDealsApi.get_syndicate_deal"
|
|
184
|
+
end
|
|
185
|
+
# verify the required parameter 'fundraise_id' is set
|
|
186
|
+
if @api_client.config.client_side_validation && fundraise_id.nil?
|
|
187
|
+
fail ArgumentError, "Missing the required parameter 'fundraise_id' when calling SyndicateDealsApi.get_syndicate_deal"
|
|
188
|
+
end
|
|
189
|
+
# resource path
|
|
190
|
+
local_var_path = '/syndicates/{syndicate_id}/deals/{fundraise_id}'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'fundraise_id' + '}', CGI.escape(fundraise_id.to_s))
|
|
191
|
+
|
|
192
|
+
# query parameters
|
|
193
|
+
query_params = opts[:query_params] || {}
|
|
194
|
+
|
|
195
|
+
# header parameters
|
|
196
|
+
header_params = opts[:header_params] || {}
|
|
197
|
+
# HTTP header 'Accept' (if needed)
|
|
198
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
199
|
+
|
|
200
|
+
# form parameters
|
|
201
|
+
form_params = opts[:form_params] || {}
|
|
202
|
+
|
|
203
|
+
# http body (model)
|
|
204
|
+
post_body = opts[:debug_body]
|
|
205
|
+
|
|
206
|
+
# return_type
|
|
207
|
+
return_type = opts[:debug_return_type] || 'SyndicateDealDetailEnvelope'
|
|
208
|
+
|
|
209
|
+
# auth_names
|
|
210
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
211
|
+
|
|
212
|
+
new_options = opts.merge(
|
|
213
|
+
:operation => :"SyndicateDealsApi.get_syndicate_deal",
|
|
214
|
+
:header_params => header_params,
|
|
215
|
+
:query_params => query_params,
|
|
216
|
+
:form_params => form_params,
|
|
217
|
+
:body => post_body,
|
|
218
|
+
:auth_names => auth_names,
|
|
219
|
+
:return_type => return_type
|
|
220
|
+
)
|
|
221
|
+
|
|
222
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
223
|
+
if @api_client.config.debugging
|
|
224
|
+
@api_client.config.logger.debug "API called: SyndicateDealsApi#get_syndicate_deal\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
225
|
+
end
|
|
226
|
+
return data, status_code, headers
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
# List deal investors
|
|
230
|
+
# Returns syndicate members who invested in this deal. Results are scoped to syndicate member user IDs only and sorted by amount descending. **Manager/operator only.** Who invested how much is moderator data, as on the web deal pipeline page: an ordinary member, backer, or follower of the syndicate gets `403`, even with `read:syndicates`. Callers who pass that gate see `user_email`. `amount` is whole dollars as a string (e.g. `\"5000\"` is $5,000). Offset-paginated: pass `offset` and `per_page`; `meta` carries `total_count`, `offset`, `per_page`, and `has_more`. Without `per_page` the full list is returned.
|
|
231
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
232
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
233
|
+
# @param [Hash] opts the optional parameters
|
|
234
|
+
# @option opts [Integer] :offset Number of investors to skip. (default to 0)
|
|
235
|
+
# @option opts [Integer] :per_page Results per page, 1-200. Omit to return every investor.
|
|
236
|
+
# @return [DealInvestorListEnvelope]
|
|
237
|
+
def list_syndicate_deal_investors(syndicate_id, fundraise_id, opts = {})
|
|
238
|
+
data, _status_code, _headers = list_syndicate_deal_investors_with_http_info(syndicate_id, fundraise_id, opts)
|
|
239
|
+
data
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# List deal investors
|
|
243
|
+
# Returns syndicate members who invested in this deal. Results are scoped to syndicate member user IDs only and sorted by amount descending. **Manager/operator only.** Who invested how much is moderator data, as on the web deal pipeline page: an ordinary member, backer, or follower of the syndicate gets `403`, even with `read:syndicates`. Callers who pass that gate see `user_email`. `amount` is whole dollars as a string (e.g. `\"5000\"` is $5,000). Offset-paginated: pass `offset` and `per_page`; `meta` carries `total_count`, `offset`, `per_page`, and `has_more`. Without `per_page` the full list is returned.
|
|
244
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
245
|
+
# @param fundraise_id [String] The deal's id (`ofr_...`), as returned by the deals list. Integer ids are internal and not accepted.
|
|
246
|
+
# @param [Hash] opts the optional parameters
|
|
247
|
+
# @option opts [Integer] :offset Number of investors to skip. (default to 0)
|
|
248
|
+
# @option opts [Integer] :per_page Results per page, 1-200. Omit to return every investor.
|
|
249
|
+
# @return [Array<(DealInvestorListEnvelope, Integer, Hash)>] DealInvestorListEnvelope data, response status code and response headers
|
|
250
|
+
def list_syndicate_deal_investors_with_http_info(syndicate_id, fundraise_id, opts = {})
|
|
251
|
+
if @api_client.config.debugging
|
|
252
|
+
@api_client.config.logger.debug 'Calling API: SyndicateDealsApi.list_syndicate_deal_investors ...'
|
|
253
|
+
end
|
|
254
|
+
# verify the required parameter 'syndicate_id' is set
|
|
255
|
+
if @api_client.config.client_side_validation && syndicate_id.nil?
|
|
256
|
+
fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateDealsApi.list_syndicate_deal_investors"
|
|
257
|
+
end
|
|
258
|
+
# verify the required parameter 'fundraise_id' is set
|
|
259
|
+
if @api_client.config.client_side_validation && fundraise_id.nil?
|
|
260
|
+
fail ArgumentError, "Missing the required parameter 'fundraise_id' when calling SyndicateDealsApi.list_syndicate_deal_investors"
|
|
261
|
+
end
|
|
262
|
+
if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 200
|
|
263
|
+
fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling SyndicateDealsApi.list_syndicate_deal_investors, must be smaller than or equal to 200.'
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
# resource path
|
|
267
|
+
local_var_path = '/syndicates/{syndicate_id}/deals/{fundraise_id}/investors'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s)).sub('{' + 'fundraise_id' + '}', CGI.escape(fundraise_id.to_s))
|
|
268
|
+
|
|
269
|
+
# query parameters
|
|
270
|
+
query_params = opts[:query_params] || {}
|
|
271
|
+
query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
|
|
272
|
+
query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
|
|
273
|
+
|
|
274
|
+
# header parameters
|
|
275
|
+
header_params = opts[:header_params] || {}
|
|
276
|
+
# HTTP header 'Accept' (if needed)
|
|
277
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
278
|
+
|
|
279
|
+
# form parameters
|
|
280
|
+
form_params = opts[:form_params] || {}
|
|
281
|
+
|
|
282
|
+
# http body (model)
|
|
283
|
+
post_body = opts[:debug_body]
|
|
284
|
+
|
|
285
|
+
# return_type
|
|
286
|
+
return_type = opts[:debug_return_type] || 'DealInvestorListEnvelope'
|
|
287
|
+
|
|
288
|
+
# auth_names
|
|
289
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
290
|
+
|
|
291
|
+
new_options = opts.merge(
|
|
292
|
+
:operation => :"SyndicateDealsApi.list_syndicate_deal_investors",
|
|
293
|
+
:header_params => header_params,
|
|
294
|
+
:query_params => query_params,
|
|
295
|
+
:form_params => form_params,
|
|
296
|
+
:body => post_body,
|
|
297
|
+
:auth_names => auth_names,
|
|
298
|
+
:return_type => return_type
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
302
|
+
if @api_client.config.debugging
|
|
303
|
+
@api_client.config.logger.debug "API called: SyndicateDealsApi#list_syndicate_deal_investors\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
304
|
+
end
|
|
305
|
+
return data, status_code, headers
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
# List deals
|
|
309
|
+
# Returns the syndicate's **live** deals (open, oversubscribed, or closing) with status, terms, and metrics. Closed and upcoming rounds are not listed; `statistics.total_deals` counts all linked rounds.
|
|
310
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
311
|
+
# @param [Hash] opts the optional parameters
|
|
312
|
+
# @option opts [String] :cursor Opaque cursor from the previous response's `meta.next_cursor`.
|
|
313
|
+
# @option opts [Integer] :per_page Results per page, 1-100. Defaults to 25. (default to 25)
|
|
314
|
+
# @return [SyndicateDealListEnvelope]
|
|
315
|
+
def list_syndicate_deals(syndicate_id, opts = {})
|
|
316
|
+
data, _status_code, _headers = list_syndicate_deals_with_http_info(syndicate_id, opts)
|
|
317
|
+
data
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
# List deals
|
|
321
|
+
# Returns the syndicate's **live** deals (open, oversubscribed, or closing) with status, terms, and metrics. Closed and upcoming rounds are not listed; `statistics.total_deals` counts all linked rounds.
|
|
322
|
+
# @param syndicate_id [String] The syndicate's id (`syn_...`).
|
|
323
|
+
# @param [Hash] opts the optional parameters
|
|
324
|
+
# @option opts [String] :cursor Opaque cursor from the previous response's `meta.next_cursor`.
|
|
325
|
+
# @option opts [Integer] :per_page Results per page, 1-100. Defaults to 25. (default to 25)
|
|
326
|
+
# @return [Array<(SyndicateDealListEnvelope, Integer, Hash)>] SyndicateDealListEnvelope data, response status code and response headers
|
|
327
|
+
def list_syndicate_deals_with_http_info(syndicate_id, opts = {})
|
|
328
|
+
if @api_client.config.debugging
|
|
329
|
+
@api_client.config.logger.debug 'Calling API: SyndicateDealsApi.list_syndicate_deals ...'
|
|
330
|
+
end
|
|
331
|
+
# verify the required parameter 'syndicate_id' is set
|
|
332
|
+
if @api_client.config.client_side_validation && syndicate_id.nil?
|
|
333
|
+
fail ArgumentError, "Missing the required parameter 'syndicate_id' when calling SyndicateDealsApi.list_syndicate_deals"
|
|
334
|
+
end
|
|
335
|
+
if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 100
|
|
336
|
+
fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling SyndicateDealsApi.list_syndicate_deals, must be smaller than or equal to 100.'
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# resource path
|
|
340
|
+
local_var_path = '/syndicates/{syndicate_id}/deals'.sub('{' + 'syndicate_id' + '}', CGI.escape(syndicate_id.to_s))
|
|
341
|
+
|
|
342
|
+
# query parameters
|
|
343
|
+
query_params = opts[:query_params] || {}
|
|
344
|
+
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
|
|
345
|
+
query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
|
|
346
|
+
|
|
347
|
+
# header parameters
|
|
348
|
+
header_params = opts[:header_params] || {}
|
|
349
|
+
# HTTP header 'Accept' (if needed)
|
|
350
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
351
|
+
|
|
352
|
+
# form parameters
|
|
353
|
+
form_params = opts[:form_params] || {}
|
|
354
|
+
|
|
355
|
+
# http body (model)
|
|
356
|
+
post_body = opts[:debug_body]
|
|
357
|
+
|
|
358
|
+
# return_type
|
|
359
|
+
return_type = opts[:debug_return_type] || 'SyndicateDealListEnvelope'
|
|
360
|
+
|
|
361
|
+
# auth_names
|
|
362
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth', 'bearerAuth']
|
|
363
|
+
|
|
364
|
+
new_options = opts.merge(
|
|
365
|
+
:operation => :"SyndicateDealsApi.list_syndicate_deals",
|
|
366
|
+
:header_params => header_params,
|
|
367
|
+
:query_params => query_params,
|
|
368
|
+
:form_params => form_params,
|
|
369
|
+
:body => post_body,
|
|
370
|
+
:auth_names => auth_names,
|
|
371
|
+
:return_type => return_type
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
375
|
+
if @api_client.config.debugging
|
|
376
|
+
@api_client.config.logger.debug "API called: SyndicateDealsApi#list_syndicate_deals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
377
|
+
end
|
|
378
|
+
return data, status_code, headers
|
|
379
|
+
end
|
|
380
|
+
end
|
|
381
|
+
end
|