Related resources:




Providing you have suitable access control permissions, you can upload corporate actions to a corporate action source.

Using the LUSID API

You can upload an unbounded number of corporate actions in a single API call:

  1. Obtain an API access token.
  2. Call the UpsertInstrumentEvents API with the scope and code of a particular corporate action source, and specifying in the body of the request:
    • An instrumentEventId that uniquely identifies the corporate action in the corporate action source.
    • In the instrumentIdentifiers collection, at least one unique identifier (type and value) that resolves to an instrument in the LUSID Security Master.
    • In the instrumentEvent object, a valid definition for a particular type of corporate action, for example CashDividendEvent or AccumulationEvent. See a list of events.
    • A participationType of MandatoryWithChoices or Voluntary if the corporate action allows it. The default is Mandatory.
    • Optionally, one or more properties to extend the data model. These properties must be from the InstrumentEvent domain.

Consider the following example, of a CashDividendEvent corporate action uploaded to a corporate action source with a scope of Example-CAS-scope and code of Example-CAS-code (highlighted in red in the URL below). The dividend is $0.20 per share in an instrument with a FIGI of BBG000BPH459, electing to take it in GBP instead of USD at an exchange rate of 0.8 (so £0.16 per share):

curl -X POST 'https://<your-domain>'
 -H 'Content-Type: application/json-patch+json'
 -H 'Authorization: Bearer <your-API-access-token>'
 -d '[
    "instrumentEventId": "MSCashDividend-2024-02-06",
    "instrumentIdentifiers": {"Instrument/default/Figi": "BBG000BPH459"},
    "description": "Cash dividend of 20 cents per Microsoft share",
    "participationType": "MandatoryWithChoices",
    "instrumentEvent": {
      "instrumentEventType": "CashDividendEvent",
      "announcementDate": "2024-01-01T00:00:00.0000000+00:00",
      "exDate": "2024-02-06T00:00:00.0000000+00:00",
      "recordDate": "2024-02-10T00:00:00.0000000+00:00",
      "paymentDate": "2024-02-10T00:00:00.0000000+00:00",
      "cashElections": [
          "electionKey": "USD",
          "dividendCurrency": "USD",
          "dividendRate": "0.2",
          "isDeclared": "True",
          "isChosen": "False",
          "isDefault": "True",
          "electionKey": "GBP",
          "dividendCurrency": "GBP",
          "exchangeRate": "0.8",
          "isDeclared": "False",
          "isChosen": "True",
          "isDefault": "False",

We recommend checking the failed section of the response (highlighted in red below) for corporate actions that fail to load. Successfully-loaded corporate actions are listed in the values section:

  "failed": {},
  "values": {

Using the LUSID web app

Coming soon