Views:

Related resources:

Explanation

Tutorials

How-to guides

You can retrieve properties for entities of a particular type in LUSID using Get* and List* APIs specific to that entity type.

For example, you can call the GetHoldings API to generate a holdings report and specify the propertyKeys parameter to 'decorate' any number of properties from the native Holding domain onto the response. A property in the Holding domain is one whose underlying property type has a 3-stage key in the format Holding/<scope>/<code>.

Consider the following example using the equivalent get_holdings method in the Python SDK, where the syntax is easier to understand:

get_holdings_response = transaction_portfolios_api.get_holdings(
    scope = "Finbourne-Examples", 
    code = "UK-Equities",
    property_keys = ["Holding/Ibor/CurrentMarketValue"],
)

For some entity types, you can also retrieve properties from other domains. For example, for holdings you can retrieve properties from the Instrument and Portfolio domains as well as Holding. Consider the following example, in which a holdings report is enriched with the friendly names of instruments and their countries of origin, and portfolio manager names:

get_holdings_response = transaction_portfolios_api.get_holdings(
    scope = "Finbourne-Examples", 
    code = "UK-Equities",
    property_keys = ["Holding/Ibor/CurrentMarketValue", "Instrument/default/Name", "Instrument/Tax/Country", "Portfolio/Manager/Name"],
)

Note: Properties such as Instrument/default/Name that are in the protected default and system scopes are system properties. LUSID may automatically decorate relevant system properties onto Get* and List* API responses.

Entity typeNative property domainOther retrievable property domainsNotes
PortfoliosPortfolioAny that support relationships. More information. 
Portfolio groupsPortfolioGroupAny that support relationships. 
InstrumentsInstrumentAny that support relationships. 
HoldingsHoldingInstrument, Portfolio, CustodianAccountAlso properties in the Transaction domain that are registered as sub-holding keys for a transaction portfolio.
TransactionsTransactionInstrument, LegalEntity, CustodianAccount 
ConstituentsReferenceHoldingInstrument 
Journal entry lines Instrument, Transaction, Portfolio, Account, LegalEntity, CustodianAccountJournal entry lines do not have a property domain of their own.
Custom entities Any that support relationships.Custom entities do not have a property domain of their own. However, you can decorate properties from related entities onto custom entities.
Legal entitiesLegalEntityAny that support relationships. 
PeoplePersonAny that support relationships. 

To see whether a particular API supports this behavior, examine the LUSID API documentation and look for a propertyKeys or similar query parameter. The explanation should state which property domains can be retrieved, in this case the GetHoldingsWithOrders API: