Providing you have suitable access control permissions, you can add a multi-value property to most types of entity. See how to add a single-value property.
For example, you could add a Portfolio/Manager/Name
property to a portfolio to record the names of all its managers:
- Using the LUSID REST API
- Using the LUSID web app
- If you have a Luminesce license, by writing a SQL query.
Once added, you can update a multi-value property at any time. If you no longer need a multi-value property, you can delete it.
Using the LUSID REST API
Each entity type adheres to a specific methodology for adding multi-value properties to entities:
- If an entity type has an
Upsert*
API (for example UpsertInstruments), you can add multi-value properties when you create or update entities (that is, at any time). There may be a dedicated property API that you can use independently if you want, for example UpsertInstrumentProperties. - If an entity type has a
Create*
API (for example CreatePortfolio), you can add multi-value properties when you create entities. Subsequently, you must use a dedicated property API, for example UpsertPortfolioProperties.
For example, to add a multi-value Portfolio/Manager/Name
property to a transaction portfolio when you create that portfolio:
- Obtain an API access token.
- Call the
CreatePortfolio
API for your LUSID domain, passing in your API access token and appending a property to theproperties
collection:key
must be a 3-stage property key in thePortfolio
domain.value
must be alabelValueSet
object consisting of avalues
collection with a comma-separated list of string values. If the underlying property type has:- A
collectionType
ofSet
, values are unordered and must be unique. - A
collectionType
ofArray
, values are ordered and can be duplicated. More information.
- A
effectiveFrom
is nominally optional but for a time-variant multi-value property sets the 'start date' for all the values; it must a valid date:
curl -X POST "https://<your-domain>.lusid.com/api/api/transactionportfolios/examplescope" -H "Authorization: Bearer <your-API-access-token>" -H "Content-Type: application/json" -d '{ "displayName": "Portfolio UK", "code": "PortfolioUK", "baseCurrency": "GBP", "properties": { "Portfolio/Manager/Name": { "key": "Portfolio/Manager/Name", "value": { "labelValueSet": { "values": [ "Joe Bloggs", "Jane Doe", "Matt Smith" ] } }, "effectiveFrom": "2022-06-18T09:00:00.0000000+00:00" } } }'
Using the LUSID web app
Coming soon.