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 protecteddefault
andsystem
scopes are system properties. LUSID may automatically decorate relevant system properties ontoGet*
andList*
API responses.
Entity type | Native property domain | Other retrievable property domains | Notes |
| Any that support relationships. More information. |
| |
| Any that support relationships. |
| |
| Any that support relationships. |
| |
|
| Also properties in the | |
|
|
| |
|
|
| |
|
| Journal entry lines do not have a property domain of their own. | |
| 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. | |
| Any that support relationships. |
| |
| Any 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: