Understanding multi-value properties

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 of string).

  • 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.