Note: By default, LUSID does not retrieve properties; you must explicitly request them for most entities. Note it may be more intuitive to retrieve time-variant properties as a time-series.
For example, you could request that LUSID 'decorate' the
Instrument/BBG/AnalystRating property onto instruments retrieved from the LUSID instrument master:
Note the following:
- LUSID may automatically decorate relevant system properties onto some API responses. These are properties in the protected
systemscopes, for example
- For some entities such as transactions and holdings, you can additionally retrieve properties for other entities such as instruments and portfolios. Find out more about this.
There are several ways to retrieve properties for entities:
- Using the LUSID REST API
- Using the LUSID web app
- If you have a Luminesce license, by writing a SQL query.
Most entity types have multiple APIs for retrieving entities of that type. For example, to retrieve instruments from the instrument master you can call:
- The ListInstruments API to retrieve all instruments.
- The GetInstruments API to retrieve all instruments with one or more identifier types, for example FIGI and/or ISIN.
- The GetInstrument API to retrieve a single instrument with a particular identifier value, for example FIGI
Most API endpoints have a query parameter you can use to decorate properties onto entities, for example
instrumentPropertyKeys for the
This parameter name might differ between endpoints; for example, it is
propertyKeys for the
For example, to retrieve the
Instrument/BBG/Country properties for a set of instruments:
- Obtain an API access token.
- Call the
ListInstrumentsAPI for your LUSID domain, passing in your API access token and specifying the 3-stage key of each property as an argument to separate instances of the
instrumentPropertyKeysquery parameter, for example:
curl -X POST "https://<your-domain>.lusid.com/api/api/instruments?instrumentPropertyKeys=Instrument%2FBBG%2FAnalystRating&instrumentPropertyKeys=Instrument%2FBBG%2FCountry" -H "Authorization: Bearer <your-API-access-token>"
It might be easier to understand using the equivalent method in the Python SDK. Here, 3-stage property keys are specified as comma-separated string values in a list passed to the
response = instruments_api.list_instruments( instrument_property_keys = ["Instrument/BBG/AnalystRating", "Instrument/BBG/Country"] )