---
title: "Understanding instrument identifiers"
slug: "understanding-instrument-identifiers"
updated: 2024-10-23T15:12:14Z
published: 2024-10-23T15:12:14Z
canonical: "support.lusid.com/understanding-instrument-identifiers"
---

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

# Understanding instrument identifiers

When you [create an instrument](/v1/docs/how-do-i-master-an-instrument) in LUSID, you must specify at least one *identifier*. [See a list of available identifiers](/v1/docs/what-are-unique-and-non-unique-identifiers).

> **Note**: If an identifer you use or need is not in our list, [contact us](https://www.finbourne.com/contact/) to add it to your LUSID domain.

Each identifier maps the instrument to a particular security identification scheme, whether this is to an open standard such as [FIGI](https://openfigi.com/) or [PermID](https://permid.org/), an industry scheme such as [ISIN](https://www.isin.org/), [CUSIP](https://www.cusip.com/index.html) or [SEDOL](https://corporatefinanceinstitute.com/resources/knowledge/trading-investing/stock-exchange-daily-official-list-sedol/), or to your own internal security database. When data is loaded into LUSID from different sources—each likely referencing the same financial asset using a different identifier—it can be [automatically resolved](/v1/docs/how-does-lusid-resolve-data-to-instruments) to the same, correct instrument, thereby guaranteeing a consistent economic impact but without transforming ingested data in any way, so it remains meaningful to the originating system.

Identifiers are classed as either [unique or non-unique](/v1/docs/what-are-unique-and-non-unique-identifiers) within an [instrument scope](/v1/docs/understanding-instrument-scopes). You must specify at least one unique identifier when you master an instrument. In addition, LUSID automatically generates a [LUSID Instrument ID](/v1/docs/what-is-a-lusid-instrument-id-or-luid) (or LUID), an internal identifier that is guaranteed to be unique and never change. You can specify as many other identifiers of either class as you like; the more you add, the more successful LUSID will be at consolidating data from different systems.

For example, imagine you are creating a instrument to model a simple equity such as [BP PLC $0.25 shares traded in London](https://www.londonstockexchange.com/stock/BP./bp-plc/company-page). You could assign the following identifiers to the instrument:

- A FIGI of `BBG000C05BD1`
- A SEDOL of `0798059`
- An ISIN of `GB0007980591`
- A ClientInternal of `bp-plc-ldn` (this represents your internal security database for demonstration purposes)

When transactional or other data items identifying BP PLC $0.25 shares using any of the above values are loaded into LUSID, they can be automatically resolved to the correct instrument.

> **Note:** If LUSID cannot resolve a data item, it is mapped to the [unknown instrument](/v1/docs/what-is-the-unknown-instrument-or-luid-zzzzzzzz). This prevents the data load operation failing, but you should take steps to manually resolve unknown instruments.

You can call the LUSID [UpsertInstruments](https://www.lusid.com/docs/api#operation/UpsertInstruments) API to create an instrument with a set of identifiers, for example:

```json
curl -X POST "https://<your-domain>.lusid.com/api/api/instruments"
   -H "Authorization: Bearer <your-API-access-token>"
   -H "Content-Type: application/json"
   -d '{"upsert-request-1": {
    "name": "BP $0.25 LDN",
    "identifiers": {
      "Figi": {"value": "BBG000C05BD1"},
      "Sedol": {"value": "0798059"}
      "Isin": {"value": "GB0007980591"},
      "ClientInternal": {"value": "bp-plc-ldn"}
      },
    "definition": {
      "instrumentType": "Equity",
      "domCcy": "GBP",
      }
  }
}'
```

Note the response reveals the automatically-generated LUID:

```json
{
    "values": {
        "upsert-request-1": {
            "href": "https://<your-domain>.lusid.com/api/api/instruments/LusidInstrumentId/LUID_00003D5C",
            "lusidInstrumentId": "LUID_00003D5C",
            "version": {
                "effectiveFrom": "0001-01-01T00:00:00.0000000+00:00",
                "asAtDate": "2021-11-23T10:14:07.7454320+00:00"
            },
            "name": "BP $0.25 LDN",
            "identifiers": {
                "Figi": "BBG000C05BD1",
                "ClientInternal": "bp-plc-ldn",
                "LusidInstrumentId": "LUID_00003D5C",
                "Sedol": "0798059",
                "Isin": "GB0007980591"
            },
            ...
        }
    },
}
```

You can address an instrument in subsequent API calls using any of its identifiers. For the BP PLC $0.25 instrument, this would be:

| **Identifier type (case-sensitive)** | **Example identifier value** | **3-stage key (case-sensitive)** | **Unique?** |
| --- | --- | --- | --- |
| `LusidInstrumentId` | `LUID_00003D5C` | `Instrument/default/LusidInstrumentId` | YES |
| `ClientInternal` | `bp-plc-ldn` | `Instrument/default/ClientInternal` | YES |
| `Figi` | `BBG000C05BD1` | `Instrument/default/Figi` | YES |
| `Sedol` | `0798059` | `Instrument/default/Sedol` | NO |
| `Isin` | `GB0007980591` | `Instrument/default/Isin` | NO |

Note the following:

- As mentioned above, identifiers are classed as either [unique or non-unique](/v1/docs/what-are-unique-and-non-unique-identifiers) within a particular [instrument scope](/v1/docs/understanding-instrument-scopes). You cannot assign a unique identifier to more than one instrument in the same scope; conversely, a non-unique identifier can match more than one instrument in a scope. You must specify at least one unique (market) identifier for an instrument (that is, in addition to the automatically-generated LUID).
- An identifier is given a 3-stage key (like [custom properties](/v1/docs/properties)), where the first stage is the scope (`Instrument`), the second is the code (`default`, which means internal to LUSID), and the third is the identifier name. You use this key to address the instrument in several places, notably when upserting transactions.
- In the real world, it's possible for certain identifiers to change or be recycled. If this happens, you can delete an identifier from one instrument and add it to another.
