All transactions that you enter into LUSID must reference an instrument (e.g. equity, bond, OTC contract etc.). When they are booked the instrument identifier is validated to ensure that the instrument exists in the Instrument Master and that the instrument is active (i.e. not deleted).
All instruments defined in LUSID have a unique "LUSID Instrument Identifier" (or LUID). This identifier is generated by LUSID, and never changes. Internally LUSID records the instrument's LUID on each transaction.
In addition to the LUID, LUSID supports adding additional instrument identifiers, which can also be used to locate and identify instruments. Example identifier schemes include Open PermID, OpenFIGI, SEDOL, ISIN etc.
Instrument identifiers can be classified as unique, or non-unique. For 'unique' identifiers, LUSID will ensure that at any point in time, only a single instrument can have a specific ID value; whereas non-unique identifiers can point to a number of different instruments simultaneously.
To give an example, consider the ISIN GB0007980591, for BP PLC. Whilst the share class has a single ISIN, it will have different FIGIs depending on the trading venue:
If it was required to differentiate between the instrument on these two venues, you could configure your instrument master to use FIGI as a unique identifier, and have ISIN as a non-unique identifier.
2. Creating Instruments
Multiple instruments can be created in a single call if desired.
For each instrument, you must supply a name, and at least one unique identifier.
In addition, you can optionally provide some instrument properties for the instrument, and an economic definition document, though neither are mandatory.
Whilst you can manually create instruments if desired, you can also search the OpenFIGI database, and use this data to populate instruments in LUSID.
This is achieved via the InstrumentsSearch endpoint. Here you can pass in common market identifiers, such as ISIN or SEDOL, and it will return both a selection of instruments from within LUSID's instrument master, and a separate selection of instruments from OpenFIGI.
For convenience, the OpenFIGI responses from this endpoint are in the same format as those required by the UpsertInstruments API, so can be passed directly from one into the other.