generated: '2026-10-20' method: derived generator: derive-data-model.py source: - openapi/bigdata-analyst-estimates-api-openapi.yml - openapi/bigdata-company-events-api-openapi.yml - openapi/bigdata-financials-ratios-api-openapi.yml - openapi/bigdata-fixed-income-api-openapi.yml - openapi/bigdata-fund-holdings-api-openapi.yml - openapi/bigdata-market-data-api-openapi.yml - openapi/bigdata-private-markets-api-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 137 entities_in_spec: 137 relationships: 198 entities: - name: ActivityRank fields: 4 description: A company's position in the data provider's ranking, and how it has moved. - name: Address fields: 8 description: A postal address. - name: AftermarketQuery fields: 1 - name: AftermarketQuote fields: 6 description: Latest extended-hours (aftermarket) quote. - name: AftermarketRecord fields: 4 description: Latest extended-hours trade and quote for a single entity. - name: AftermarketResponse fields: 5 description: Company aftermarket trades & quotes response model. - name: AftermarketTrade fields: 3 description: Latest extended-hours (aftermarket) trade. - name: AnalystEstimates fields: 4 - name: AnalystRatings fields: 8 - name: AnalystRatingsQuery fields: 1 - name: AnalystRatingsResponse fields: 5 - name: BadRequestError fields: 2 description: Bad Request Error - name: BalanceSheet fields: 4 - name: Bond fields: 17 description: One bond and its terms. - name: BondByIsin fields: 16 description: One bond and its terms, looked up by ISIN, so its issuer may be unmapped. - name: BondByIsinQuery fields: 1 - name: BondByIsinResponse fields: 5 - name: BondsByIssuerQuery fields: 3 - name: BondsByIssuerResponse fields: 6 - name: CashFlowStatement fields: 4 - name: CompanyFundHoldingsResults fields: 1 - name: CompanyFundHoldingsRow fields: 10 - name: CompanyFundsHoldingsFilters fields: 2 description: Extended filters for stock funds holdings. - name: CompanyProfileData fields: 37 description: Company profile data model. - name: CompanyQuote fields: 19 - name: CompanyQuoteQuery fields: 1 - name: CompanyRatiosTTM fields: 61 - name: CompanyRatiosTTMQuery fields: 1 - name: CompanyRatiosTTMResponse fields: 5 - name: CompanyRevenueGeographic fields: 4 - name: CompanyRevenueProduct fields: 4 - name: CompanyScreenerFilters fields: 17 description: Filters for the company screener request. - name: CompanyScreenerQuery fields: 2 description: Allows filtering companies based on various financial and descriptive criteria. - name: DailyPriceIdentifier fields: 2 - name: DailyPricesQuery fields: 2 - name: DailyPricesResponse fields: 5 description: Company Daily Prices response model. - name: DailyPricesResults fields: 4 description: Prices for an entity id. - name: DateWithPrecision fields: 2 description: A date that may be known only to the month or the year. - name: DividendsQuery fields: 2 - name: DividendsResponse fields: 5 description: Company Dividends response model. - name: DividendsResults fields: 4 - name: ESGPerformanceScore fields: 7 - name: EconomicCalendarQuery fields: 5 - name: EconomicCalendarResponse fields: 5 - name: EconomicEvent fields: 21 - name: EmptyResponse fields: 0 - name: EntityReference fields: 3 description: Another entity a row points at, such as an investor in a funding round. - name: ErrorDetail fields: 1 - name: EventCalendar fields: 11 - name: EventsCalendarQuery fields: 8 - name: EventsCalendarResponse fields: 7 - name: HoldingsMapping fields: 2 description: Mapping of RP entity IDs to Wall St Rank symbols used. - name: HoldingsOverviewFilters fields: 2 - name: Identifier fields: 2 - name: IdentifierQuery fields: 1 - name: IncomeStatement fields: 4 - name: InternalServerError fields: 2 description: Internal Server Error - name: IntradayPricesQuery fields: 3 - name: IntradayPricesResponse fields: 5 description: Company Intraday Prices response model. - name: IntradayPricesResults fields: 4 description: Alternative result model with strongly typed records. - name: IsinIdentifier fields: 2 - name: KeyMetricsTTM fields: 44 - name: KeyMetricsTTMQuery fields: 1 - name: KeyMetricsTTMResponse fields: 5 - name: LatestSurprise fields: 10 - name: LatestSurpriseQuery fields: 1 - name: LatestSurpriseResponse fields: 5 - name: Metadata fields: 2 - name: MoneyAmount fields: 3 description: An amount of money, as reported and converted to US dollars. - name: Pagination fields: 2 description: Common pagination response for endpoints that support pagination. - name: PriceChanges fields: 13 - name: PriceChangesQuery fields: 1 - name: PublicAnalystEstimatesQuery fields: 3 - name: PublicAnalystEstimatesResponse fields: 5 - name: PublicBalanceSheetQuery fields: 3 - name: PublicBalanceSheetResponse fields: 5 - name: PublicCashFlowResponse fields: 5 - name: PublicCashFlowStatementQuery fields: 3 - name: PublicCompanyFundsHoldingsRequestMetadata fields: 6 description: Metadata for the request. Includes the backend request. - name: PublicCompanyProfileResponse fields: 4 description: Response model for company profile query. - name: PublicCompanyQuoteResponse fields: 5 - name: PublicCompanyRevenueGeographicQuery fields: 2 - name: PublicCompanyRevenueGeographicResponse fields: 5 - name: PublicCompanyRevenueProductQuery fields: 2 - name: PublicCompanyRevenueProductResponse fields: 5 - name: PublicCompanyScreenerResponse fields: 5 description: Response model for the Company Screener service. - name: PublicESGPerformanceScoreResponse fields: 4 - name: PublicFundTrendsMetadata fields: 7 description: Metadata for fund trends response. - name: PublicFundTrendsResponse fields: 5 description: Main response for fund trends aggregated endpoint. - name: PublicFundTrendsResults fields: 13 description: Container with all fund trends data. - name: PublicFundingRound fields: 14 description: One funding round a company raised. - name: PublicFundingRoundsMetadata fields: 3 - name: PublicFundingRoundsQuery fields: 3 - name: PublicFundingRoundsResponse fields: 6 - name: PublicGetCompanyFundsHoldingsQuery fields: 2 description: Schema for the request to the public API. - name: PublicGetCompanyFundsHoldingsResponse fields: 4 - name: PublicGetFundTrendsQuery fields: 3 description: Schema for the request to the fund trends public API. - name: PublicGetHoldingsOverviewQuery fields: 2 - name: PublicGetHoldingsOverviewResponse fields: 5 - name: PublicGetHoldingsOverviewResult fields: 29 description: Result object containing holdings list and portfolio summary data. - name: PublicGetPerformanceScoreQuery fields: 1 description: Schema for the request to the public API. - name: PublicHolding fields: 13 description: Model for a single holding in the portfolio. - name: PublicHoldingsRequestMetadata fields: 6 description: Metadata for the request. Includes the backend request. - name: PublicIncomeStatementQuery fields: 3 - name: PublicIncomeStatementResponse fields: 5 - name: PublicNetCallsItem fields: 7 description: Item for net calls trend. - name: PublicNetClosedPositionsItem fields: 7 description: Item for net closed positions trend. - name: PublicNetIncreasedPositionsItem fields: 7 description: Item for net increased positions trend. - name: PublicNetNewPositionsItem fields: 7 description: Item for net new positions trend. - name: PublicNetPutsItem fields: 7 description: Item for net puts trend. - name: PublicNetReducedPositionsItem fields: 7 description: Item for net reduced positions trend. - name: PublicPeopleMetadata fields: 3 - name: PublicPeopleQuery fields: 3 - name: PublicPeopleResponse fields: 6 - name: PublicPosition fields: 6 description: One position a person holds or held at the company. - name: PublicPositionChangeItem fields: 8 description: Item for position change trends (calls, puts, new_positions, etc.). - name: PublicPriceChangesResponse fields: 5 - name: PublicPrivateCompanyOverview fields: 20 - name: PublicPrivateCompanyOverviewQuery fields: 1 - name: PublicPrivateCompanyOverviewResponse fields: 5 - name: PublicSectorComposition fields: 2 - name: PublicTargetPriceResponse fields: 5 - name: PublicTopTransactions fields: 2 description: Model for top buys and sells transactions. - name: QueryDateRange fields: 2 - name: QueryTimestamp fields: 2 - name: ScreenedCompany fields: 15 description: Represents a company returned by the screening service. - name: SentimentDataPoint fields: 4 description: Individual sentiment data for a specific date. - name: SingleIdentifier fields: 2 - name: Source fields: 2 description: A content catalog source that contributed data to a structured-data response. - name: StructuredDataMetadata fields: 2 - name: TargetPrice fields: 7 - name: TargetPriceQuery fields: 1 - name: TimeSeriesSentimentQuery fields: 2 description: Query model for time series sentiment request. - name: TimeSeriesSentimentResponse fields: 5 description: Public API response for time series sentiment query. - name: TimeSeriesSentimentResults fields: 3 description: Results container for time series sentiment data. - name: TooManyRequestsError fields: 2 description: Too many requests. Please try again later. - name: Usage fields: 0 description: Public structured-data usage for a request, aggregated per content tier. relationships: - from: AnalystRatingsResponse to: AnalystRatings type: has_many via: results - from: AnalystRatingsResponse to: Metadata type: has_one via: metadata - from: AnalystRatingsResponse to: Source type: has_many via: sources - from: AnalystRatingsResponse to: Usage type: has_one via: usage - from: TargetPriceQuery to: Identifier type: has_one via: identifier - from: PublicAnalystEstimatesQuery to: Identifier type: has_one via: identifier - from: PublicAnalystEstimatesResponse to: AnalystEstimates type: has_one via: results - from: PublicAnalystEstimatesResponse to: Metadata type: has_one via: metadata - from: PublicAnalystEstimatesResponse to: Source type: has_many via: sources - from: PublicAnalystEstimatesResponse to: Usage type: has_one via: usage - from: AnalystRatingsQuery to: Identifier type: has_one via: identifier - from: LatestSurpriseResponse to: LatestSurprise type: has_many via: results - from: LatestSurpriseResponse to: Metadata type: has_one via: metadata - from: LatestSurpriseResponse to: Source type: has_many via: sources - from: LatestSurpriseResponse to: Usage type: has_one via: usage - from: PublicTargetPriceResponse to: TargetPrice type: has_many via: results - from: PublicTargetPriceResponse to: Metadata type: has_one via: metadata - from: PublicTargetPriceResponse to: Source type: has_many via: sources - from: PublicTargetPriceResponse to: Usage type: has_one via: usage - from: LatestSurpriseQuery to: Identifier type: has_one via: identifier - from: PublicGetPerformanceScoreQuery to: SingleIdentifier type: has_one via: identifier - from: EconomicCalendarResponse to: EconomicEvent type: has_many via: results - from: EconomicCalendarResponse to: Metadata type: has_one via: metadata - from: EconomicCalendarResponse to: Source type: has_many via: sources - from: EconomicCalendarResponse to: Usage type: has_one via: usage - from: PublicESGPerformanceScoreResponse to: ESGPerformanceScore type: has_one via: results - from: PublicESGPerformanceScoreResponse to: EmptyResponse type: has_one via: results - from: PublicESGPerformanceScoreResponse to: Metadata type: has_one via: metadata - from: PublicESGPerformanceScoreResponse to: Source type: has_many via: sources - from: PublicESGPerformanceScoreResponse to: Usage type: has_one via: usage - from: PublicCompanyProfileResponse to: CompanyProfileData type: has_many via: results - from: PublicCompanyProfileResponse to: Metadata type: has_one via: metadata - from: PublicCompanyProfileResponse to: Source type: has_many via: sources - from: PublicCompanyProfileResponse to: Usage type: has_one via: usage - from: IdentifierQuery to: Identifier type: has_one via: identifier - from: CompanyScreenerQuery to: CompanyScreenerFilters type: has_one via: filters - from: EventsCalendarResponse to: Metadata type: has_one via: metadata - from: EventsCalendarResponse to: Pagination type: has_one via: pagination - from: EventsCalendarResponse to: Source type: has_many via: sources - from: EventsCalendarResponse to: Usage type: has_one via: usage - from: PublicCompanyScreenerResponse to: ScreenedCompany type: has_many via: results - from: PublicCompanyScreenerResponse to: Metadata type: has_one via: metadata - from: PublicCompanyScreenerResponse to: Source type: has_many via: sources - from: PublicCompanyScreenerResponse to: Usage type: has_one via: usage - from: CompanyRatiosTTMResponse to: CompanyRatiosTTM type: has_many via: results - from: CompanyRatiosTTMResponse to: Metadata type: has_one via: metadata - from: CompanyRatiosTTMResponse to: Source type: has_many via: sources - from: CompanyRatiosTTMResponse to: Usage type: has_one via: usage - from: PublicCompanyRevenueProductResponse to: CompanyRevenueProduct type: has_one via: results - from: PublicCompanyRevenueProductResponse to: Metadata type: has_one via: metadata - from: PublicCompanyRevenueProductResponse to: Source type: has_many via: sources - from: PublicCompanyRevenueProductResponse to: Usage type: has_one via: usage - from: KeyMetricsTTMQuery to: Identifier type: has_one via: identifier - from: KeyMetricsTTMResponse to: KeyMetricsTTM type: has_many via: results - from: KeyMetricsTTMResponse to: Metadata type: has_one via: metadata - from: KeyMetricsTTMResponse to: Source type: has_many via: sources - from: KeyMetricsTTMResponse to: Usage type: has_one via: usage - from: PublicBalanceSheetQuery to: Identifier type: has_one via: identifier - from: PublicCompanyRevenueProductQuery to: SingleIdentifier type: has_one via: identifier - from: PublicCashFlowResponse to: CashFlowStatement type: has_one via: results - from: PublicCashFlowResponse to: Metadata type: has_one via: metadata - from: PublicCashFlowResponse to: Source type: has_many via: sources - from: PublicCashFlowResponse to: Usage type: has_one via: usage - from: PublicCashFlowStatementQuery to: SingleIdentifier type: has_one via: identifier - from: PublicIncomeStatementQuery to: SingleIdentifier type: has_one via: identifier - from: PublicCompanyRevenueGeographicResponse to: CompanyRevenueGeographic type: has_one via: results - from: PublicCompanyRevenueGeographicResponse to: Metadata type: has_one via: metadata - from: PublicCompanyRevenueGeographicResponse to: Source type: has_many via: sources - from: PublicCompanyRevenueGeographicResponse to: Usage type: has_one via: usage - from: PublicCompanyRevenueGeographicQuery to: SingleIdentifier type: has_one via: identifier - from: PublicIncomeStatementResponse to: IncomeStatement type: has_one via: results - from: PublicIncomeStatementResponse to: Metadata type: has_one via: metadata - from: PublicIncomeStatementResponse to: Source type: has_many via: sources - from: PublicIncomeStatementResponse to: Usage type: has_one via: usage - from: CompanyRatiosTTMQuery to: Identifier type: has_one via: identifier - from: PublicBalanceSheetResponse to: BalanceSheet type: has_one via: results - from: PublicBalanceSheetResponse to: Metadata type: has_one via: metadata - from: PublicBalanceSheetResponse to: Source type: has_many via: sources - from: PublicBalanceSheetResponse to: Usage type: has_one via: usage - from: BondsByIssuerResponse to: Bond type: has_many via: results - from: BondsByIssuerResponse to: Metadata type: has_one via: metadata - from: BondsByIssuerResponse to: Pagination type: has_one via: pagination - from: BondsByIssuerResponse to: Source type: has_many via: sources - from: BondsByIssuerResponse to: Usage type: has_one via: usage - from: BondsByIssuerQuery to: SingleIdentifier type: has_one via: identifier - from: BondByIsinResponse to: StructuredDataMetadata type: has_one via: metadata - from: BondByIsinResponse to: Usage type: has_one via: usage - from: BondByIsinQuery to: IsinIdentifier type: has_one via: identifier - from: PublicGetCompanyFundsHoldingsQuery to: SingleIdentifier type: has_one via: identifier - from: PublicGetCompanyFundsHoldingsQuery to: CompanyFundsHoldingsFilters type: has_one via: filters - from: PublicFundTrendsResponse to: PublicFundTrendsResults type: has_one via: results - from: PublicFundTrendsResponse to: PublicFundTrendsMetadata type: has_one via: metadata - from: PublicFundTrendsResponse to: Source type: has_many via: sources - from: PublicFundTrendsResponse to: Usage type: has_one via: usage - from: PublicGetHoldingsOverviewResult to: PublicHolding type: has_many via: holdings - from: PublicGetHoldingsOverviewResult to: PublicTopTransactions type: has_one via: top_transactions - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: calls - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: puts - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: new_positions - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: closed_positions - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: increased_positions - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: reduced_positions - from: PublicFundTrendsResults to: PublicPositionChangeItem type: has_many via: holding_in_top - from: PublicFundTrendsResults to: PublicNetCallsItem type: has_many via: net_calls - from: PublicFundTrendsResults to: PublicNetPutsItem type: has_many via: net_puts - from: PublicFundTrendsResults to: PublicNetNewPositionsItem type: has_many via: net_new_positions - from: PublicFundTrendsResults to: PublicNetClosedPositionsItem type: has_many via: net_closed_positions - from: PublicFundTrendsResults to: PublicNetIncreasedPositionsItem type: has_many via: net_increased_positions - from: PublicFundTrendsResults to: PublicNetReducedPositionsItem type: has_many via: net_reduced_positions - from: PublicFundTrendsMetadata to: HoldingsMapping type: has_one via: mapping - from: PublicTopTransactions to: PublicHolding type: has_many via: buys - from: PublicTopTransactions to: PublicHolding type: has_many via: sells - from: PublicGetCompanyFundsHoldingsResponse to: CompanyFundHoldingsResults type: has_one via: results - from: PublicGetCompanyFundsHoldingsResponse to: EmptyResponse type: has_one via: results - from: PublicGetCompanyFundsHoldingsResponse to: PublicCompanyFundsHoldingsRequestMetadata type: has_one via: metadata - from: PublicGetCompanyFundsHoldingsResponse to: Source type: has_many via: sources - from: PublicGetCompanyFundsHoldingsResponse to: Usage type: has_one via: usage - from: PublicGetHoldingsOverviewResponse to: PublicGetHoldingsOverviewResult type: has_one via: results - from: PublicGetHoldingsOverviewResponse to: EmptyResponse type: has_one via: results - from: PublicGetHoldingsOverviewResponse to: PublicHoldingsRequestMetadata type: has_one via: metadata - from: PublicGetHoldingsOverviewResponse to: Source type: has_many via: sources - from: PublicGetHoldingsOverviewResponse to: Usage type: has_one via: usage - from: PublicGetHoldingsOverviewQuery to: HoldingsOverviewFilters type: has_one via: filters - from: TimeSeriesSentimentResponse to: TimeSeriesSentimentResults type: has_one via: results - from: TimeSeriesSentimentResponse to: ErrorDetail type: has_many via: errors - from: TimeSeriesSentimentResponse to: Metadata type: has_one via: metadata - from: TimeSeriesSentimentResponse to: Source type: has_many via: sources - from: TimeSeriesSentimentResponse to: Usage type: has_one via: usage - from: DailyPricesQuery to: DailyPriceIdentifier type: has_one via: identifier - from: DailyPricesQuery to: QueryDateRange type: has_one via: date_range - from: TimeSeriesSentimentQuery to: Identifier type: has_one via: identifier - from: TimeSeriesSentimentQuery to: QueryDateRange type: has_one via: timestamp - from: DailyPricesResponse to: DailyPricesResults type: has_many via: results - from: DailyPricesResponse to: Metadata type: has_one via: metadata - from: DailyPricesResponse to: Source type: has_many via: sources - from: DailyPricesResponse to: Usage type: has_one via: usage - from: DividendsQuery to: SingleIdentifier type: has_one via: identifier - from: AftermarketRecord to: AftermarketTrade type: has_one via: trade - from: AftermarketRecord to: AftermarketQuote type: has_one via: quote - from: PublicPriceChangesResponse to: PriceChanges type: has_many via: results - from: PublicPriceChangesResponse to: Metadata type: has_one via: metadata - from: PublicPriceChangesResponse to: Source type: has_many via: sources - from: PublicPriceChangesResponse to: Usage type: has_one via: usage - from: TimeSeriesSentimentResults to: SentimentDataPoint type: has_many via: values - from: PriceChangesQuery to: Identifier type: has_one via: identifier - from: AftermarketQuery to: Identifier type: has_one via: identifier - from: PublicCompanyQuoteResponse to: CompanyQuote type: has_many via: results - from: PublicCompanyQuoteResponse to: Metadata type: has_one via: metadata - from: PublicCompanyQuoteResponse to: Source type: has_many via: sources - from: PublicCompanyQuoteResponse to: Usage type: has_one via: usage - from: IntradayPricesResponse to: IntradayPricesResults type: has_one via: results - from: IntradayPricesResponse to: Metadata type: has_one via: metadata - from: IntradayPricesResponse to: Source type: has_many via: sources - from: IntradayPricesResponse to: Usage type: has_one via: usage - from: DividendsResponse to: DividendsResults type: has_many via: results - from: DividendsResponse to: Metadata type: has_one via: metadata - from: DividendsResponse to: Source type: has_many via: sources - from: DividendsResponse to: Usage type: has_one via: usage - from: AftermarketResponse to: AftermarketRecord type: has_many via: results - from: AftermarketResponse to: Metadata type: has_one via: metadata - from: AftermarketResponse to: Source type: has_many via: sources - from: AftermarketResponse to: Usage type: has_one via: usage - from: IntradayPricesQuery to: SingleIdentifier type: has_one via: identifier - from: IntradayPricesQuery to: QueryTimestamp type: has_one via: timestamp - from: CompanyQuoteQuery to: Identifier type: has_one via: identifier - from: PublicPrivateCompanyOverview to: DateWithPrecision type: has_one via: founded_on - from: PublicPrivateCompanyOverview to: Address type: has_one via: headquarters - from: PublicPrivateCompanyOverview to: MoneyAmount type: has_one via: funding_total - from: PublicPrivateCompanyOverview to: MoneyAmount type: has_one via: last_funding_total - from: PublicPrivateCompanyOverview to: DateWithPrecision type: has_one via: last_funding_date - from: PublicPrivateCompanyOverview to: MoneyAmount type: has_one via: valuation - from: PublicPrivateCompanyOverview to: DateWithPrecision type: has_one via: valuation_date - from: PublicPrivateCompanyOverview to: ActivityRank type: has_one via: activity_rank - from: PublicFundingRoundsQuery to: SingleIdentifier type: has_one via: identifier - from: PublicPrivateCompanyOverviewResponse to: PublicPrivateCompanyOverview type: has_many via: results - from: PublicPrivateCompanyOverviewResponse to: Metadata type: has_one via: metadata - from: PublicPrivateCompanyOverviewResponse to: Source type: has_many via: sources - from: PublicPrivateCompanyOverviewResponse to: Usage type: has_one via: usage - from: PublicFundingRoundsResponse to: PublicFundingRound type: has_many via: results - from: PublicFundingRoundsResponse to: PublicFundingRoundsMetadata type: has_one via: metadata - from: PublicFundingRoundsResponse to: Pagination type: has_one via: pagination - from: PublicFundingRoundsResponse to: Source type: has_many via: sources - from: PublicFundingRoundsResponse to: Usage type: has_one via: usage - from: PublicPeopleResponse to: PublicPosition type: has_many via: results - from: PublicPeopleResponse to: PublicPeopleMetadata type: has_one via: metadata - from: PublicPeopleResponse to: Pagination type: has_one via: pagination - from: PublicPeopleResponse to: Source type: has_many via: sources - from: PublicPeopleResponse to: Usage type: has_one via: usage - from: PublicPeopleQuery to: SingleIdentifier type: has_one via: identifier - from: PublicPrivateCompanyOverviewQuery to: Identifier type: has_one via: identifier - from: PublicPosition to: DateWithPrecision type: has_one via: started_on - from: PublicPosition to: DateWithPrecision type: has_one via: ended_on - from: PublicFundingRound to: DateWithPrecision type: has_one via: announced_on - from: PublicFundingRound to: DateWithPrecision type: has_one via: closed_on - from: PublicFundingRound to: MoneyAmount type: has_one via: money_raised - from: PublicFundingRound to: MoneyAmount type: has_one via: target_money_raised - from: PublicFundingRound to: MoneyAmount type: has_one via: pre_money_valuation - from: PublicFundingRound to: MoneyAmount type: has_one via: post_money_valuation