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.