A property in LUSID can be either single or multi-value. The cardinality is determined by the property type.
Note the following about multi-value properties:
While most types of entity support single-value properties, not all support multi-value properties.
A multi-value property can be either perpetual or time-variant.
Values must be strings (scope of
system
and code ofstring
).Values are stored in either a set (the default) or an array: a set is unordered and values must be unique, whereas an array is ordered and values can be duplicated.
The maximum number of values per property is 250.
The maximum number of characters per value is 1024.
Only values with 128 characters or less are returned if you retrieve a multi-value property using a filter, to keep the system performant.
To create a multi-value property type, specify a constraintStyle
of Collection
and a collectionType
of either Set
or Array
. More information on creating property types.
curl -X POST "https://<your-domain>.lusid.com/api/api/propertydefinitions"
-H "Authorization: Bearer <your-API-access-token>"
-H "Content-Type: application/json-patch+json"
-d '{
"domain": "Portfolio",
"scope": "Manager",
"code": "Name",
"displayName": "Portfolio manager",
"dataTypeId": {"scope": "system", "code": "string"},
"lifeTime": "TimeVariant",
"constraintStyle": "Collection",
"collectionType": "Set",
"propertyDescription": "An unordered list of unique portfolio manager names"
}'
For an example of adding a multi-value property of this type to a portfolio, see this article.