--- title: "Lusid.Instrument.Property" slug: "lusidinstrumentproperty" tags: ["luminesce ", "provider", "property"] updated: 2025-09-01T14:57:16Z published: 2025-09-01T14:57:16Z canonical: "support.lusid.com/lusidinstrumentproperty" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.lusid.com/llms.txt > Use this file to discover all available pages before exploring further. # Lusid.Instrument.Property | **Type** | **Read/write** | **Author** | **Availability** | | --- | --- | --- | --- | | [Data provider](/v1/docs/what-are-a-data-provider-and-a-direct-provider) | Read | Finbourne | Provided with LUSID | The `Lusid.Instrument.Property` provider enables you to write a [Luminesce SQL query](/v1/docs/understanding-the-luminesce-sql-query-syntax) that retrieves [custom properties](/v1/docs/properties) for [instruments](/v1/docs/instruments) mastered in LUSID. > **Note:** The LUSID user running the query must have sufficient [access control permissions](/v1/docs/creating-policies-to-control-access-to-providers-for-different-luminesce-end-users) to both use the provider *and* read instrument and property data stored in LUSID. This should automatically be the case if you are the domain owner. Note that, by default, the `Lusid.Instrument` entity provider [does not retrieve properties](/v1/docs/how-do-i-configure-luminesce-entity-providers-to-readwrite-properties). You can use `Lusid.Instrument.Property` to do so in conjunction with other providers (including `Lusid.Instrument`) to analyse all the data associated with instruments. ## Basic usage ```sql select * from Lusid.Instrument.Property where ; ``` You must specify either: - The `InstrumentIdType` and `InstrumentId` fields to identify an instrument whose properties to return. The `InstrumentIdType` field refers to a [unique instrument identifier](/v1/docs/what-are-unique-and-non-unique-identifiers), and the `InstrumentId` field to a valid value for that identifier. - The `PropertyScope` and `PropertyCode` fields to identify the scope and code of a property whose instruments to return. Specify the `InstrumentScope` field as well if instruments are mastered in a [custom instrument scope](/v1/docs/understanding-instrument-scopes) (otherwise only the built-in `default` scope is searched). ## Query parameters `Lusid.Instrument.Property` has parameters that enable you to filter or refine a query. To list available parameters, their data types, default values, and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries): ```sql select FieldName, DataType, ParamDefaultValue, Description from Sys.Field where TableName = 'Lusid.Instrument.Property' and FieldType = 'Parameter'; ``` ## Data fields By default, `Lusid.Instrument.Property` returns a table of data populated with particular fields (columns). You can return just a subset of these fields if you wish. To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries): ```sql select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field where TableName = 'Lusid.Instrument.Property' and FieldType = 'Column'; ``` > **Note:** Fields marked 'main' are returned by queries that use a caret character, for example `select ^ from Lusid.Instrument.Property`. ## Examples > **Note:** For more example Luminesce SQL queries, visit our [Github repo](https://github.com/finbourne/luminesce-examples/tree/master/examples). ### Example 1: Retrieve all the properties for a particular instrument In this example, the instrument is identified by [LUID](/v1/docs/what-is-a-lusid-instrument-id-or-luid). ```sql select * from Lusid.Instrument.Property where InstrumentIdType = 'LusidInstrumentId' and InstrumentId = 'LUID_6OHFNCI7'; ``` In this example, the instrument is identified by FIGI and mastered in a custom instrument scope. ```sql select * from Lusid.Instrument.Property where InstrumentScope = 'my-custom-instrument-scope' and InstrumentIdType = 'Figi' and InstrumentId = 'BBG000BDZGH6'; ``` ### Example 2: Retrieve all the instruments that have a particular property ```sql select * from Lusid.Instrument.Property where PropertyScope = 'Ibor' and PropertyCode = 'GICSSector'; ``` ### Example 3: Retrieve all the multi-value properties for a particular instrument You can join `Lusid.Instrument.Property` to [Lusid.Property.Definition](/v1/docs/lusidpropertydefinition) to retrieve information about [underlying property types](/v1/docs/how-do-i-create-a-property-type): ```sql select * from Lusid.Instrument.Property prop inner join Lusid.Property.Definition def    on def.PropertyScope = prop.PropertyScope    and def.PropertyCode = prop.PropertyCode    where prop.InstrumentIdType = 'LusidInstrumentId' and prop.InstrumentId = 'LUID_6OHFNCI7'    and def.ConstraintStyle = 'Collection'; ``` ### Example 4: Retrieve a time-variant property as a time-series for a particular instrument Specify the `GetHistorical` query parameter to retrieve a [time-variant property](/v1/docs/how-do-i-retrieve-a-time-variant-property-as-a-time-series). ```sql select * from Lusid.Instrument.Property where EntityIdType = 'LusidInstrumentId' and EntityId = 'LUID_G67H99J6' and PropertyScope = 'Ibor' and PropertyCode = 'AnalystRating' and GetHistorical = True; ``` ### Example 5: Retrieve all the properties for all the equity instruments ```sql select * from Lusid.Instrument.Property where InstrumentIdType = 'LusidInstrumentId' and InstrumentId in (select LusidInstrumentId from Lusid.Instrument.Equity); ``` ### Example 6: Decorate particular instrument properties onto holdings You can join `Lusid.Instrument.Property` to an entity provider such as [Lusid.Portfolio.Holding](/v1/docs/lusidportfolioholding) to decorate holdings with particular instrument properties: ```sql select   h.*,   pC.Value as Coupon,   pI.Value as Industry from   lusid.portfolio.holding h   left outer join Lusid.Instrument.Property pC      on pC.InstrumentIdType = 'LusidInstrumentId'      and pC.InstrumentId = h.LusidInstrumentId      and pC.PropertyCode = 'Coupon'   left outer join Lusid.Instrument.Property pI      on pI.InstrumentIdType = 'LusidInstrumentId'      and pI.InstrumentId = h.LusidInstrumentId      and pI.PropertyCode = 'Industry' where   h.PortfolioScope = 'Finbourne-Examples' ```