---
title: "How do I add a multi-value property to an entity?"
slug: "how-do-i-add-a-multi-value-property-to-an-entity"
updated: 2026-03-16T13:02:10Z
published: 2026-03-16T13:02:10Z
canonical: "support.lusid.com/how-do-i-add-a-multi-value-property-to-an-entity"
---

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

# How do I add a multi-value property to an entity?

You can add a [multi-value property](/v1/docs/understanding-multi-value-properties) to most types of entity. [Adding a single-value property](/v1/docs/how-do-i-add-a-property-to-an-entity).

For example, you could add a `Portfolio/Manager/Name` property to a portfolio to record the names of all its managers.

Once added, you can [update](/v1/docs/updating-or-deleting-properties) a multi-value property at any time. If you no longer need a multi-value property, you can [delete it](/v1/docs/updating-or-deleting-properties#deleting-properties).

## 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](https://www.lusid.com/docs/api#operation/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](https://www.lusid.com/docs/api#operation/UpsertInstrumentsProperties).
- If an entity type has a `Create*` API (for example [CreatePortfolio](https://www.lusid.com/docs/api#operation/CreatePortfolio)), you can add multi-value properties when you create entities. Subsequently, you must use a dedicated property API, for example [UpsertPortfolioProperties](https://www.lusid.com/docs/api#operation/UpsertPortfolioProperties).

For example, to add a multi-value `Portfolio/Manager/Name` property to a transaction portfolio when you create it, call the `CreatePortfolio` API and append to the `properties` collection:

- The `key` must be a 3-stage property key in the `Portfolio` domain.
- The `value` must be a `labelValueSet` object consisting of a `values` array with a comma-separated list of string values. If the underlying property type has:
  - A `collectionType` of `Set`, these values are unordered and must be unique.
  - A `collectionType` of `Array`, values are ordered and can be duplicated. [More information](/v1/docs/understanding-multi-value-properties).
- `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](/v1/docs/what-date-formats-are-accepted).

REST APIPython SDK

```bash
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",
  "created": "2020-01-01",
  "baseCurrency": "GBP",
  "properties": {
    "Portfolio/Manager/Name": {
      "key": "Portfolio/Manager/Name",
      "value": {
        "labelValueSet": {
          "values": [
            "Joe Bloggs",            
            "Jane Doe",
            "Matt Smith"
          ]
        }
      },
      "effectiveFrom": "2022-01-01T09:00:00.0000000+00:00" 
    }
  }
}'
```

```python
portfolios_api = lusid_api_factory.build(lusid.api.TransactionPortfoliosApi)

portfolio_request = lusid.models.CreateTransactionPortfolioRequest(
    display_name="Portfolio UK",
    code="PortfolioUK",
    base_currency="GBP",
    created=datetime.datetime(2020, 1, 1, 0, 0, 0, tzinfo=datetime.timezone.utc),
    properties={
        "Portfolio/Manager/Name": lusid.models.ModelProperty(
            key="Portfolio/Manager/Name",
            value=lusid.models.PropertyValue(
                label_value_set=lusid.models.LabelValueSet(
                    values=["Joe Bloggs", "Jane Doe", "Matt Smith"]
                )
            ),
            effective_from=datetime.datetime(2022, 1, 1, 9, 0, 0, tzinfo=datetime.timezone.utc)
        )      
    }
)

try:
    portfolio_response = portfolios_api.create_portfolio(
        create_transaction_portfolio_request=portfolio_request,
        scope = "examplescope"
    )
except lusid.ApiException as e:
    print(e)
```

## Using Luminesce

You must first ‘inline’ properties into entity providers before you can add properties to entities using Luminesce. [More information](/v1/docs/how-do-i-configure-luminesce-entity-providers-to-readwrite-properties).

## Using the LUSID web app

You can use the LUSID web app to add a multi-value property to an entity.

For example, to add a multi-value `Portfolio/Manager/Name` property to a transaction portfolio:

1. Sign in to the [LUSID web app](https://www.lusid.com/app/home).
2. Use the left-hand menu to navigate to **Data Management > Portfolios**: ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(106).png)
3. Select **Edit** on the portfolio you want to add the property to: ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(107).png)
4. Select **Add property** and choose one or more properties to add to the portfolio: ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(108).png)
5. Provide line-separated values for the property and save your changes: ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(109).png)
