Views:

You can subscribe to:

  • LUSID events that occur in the core investment data management platform itself.
  • LUSID events that occur in ecosystem applications such as Drive, Scheduler and Luminesce.
  • Non-LUSID custom events that you trigger yourself by calling the TriggerManualEvent API. You could of course attach a webhook to that event to call a LUSID API that then triggers a LUSID event, and so on.

To see the list of events you can subscribe to, obtain an API access token and call the ListEventTypes API for your LUSID domain, for example:

curl -X GET "https://<your-domain>.lusid.com/notification/api/eventtypes"
  -H "Authorization: Bearer <your-API-access-token>"

The response contains a list of events and their attributes. The following snippet shows the detail of the response for the LUSID PortfolioCreated event. Note attributes common to all events are in the headerSchema, while attributes specific to this event are in the bodySchema:

{
  "values": [
    {
      "id": "PortfolioCreated",
      "displayName": "Portfolio Created",
      "description": "An event of this type is fired whenever a PortfolioCreated event is created in LUSID",
      "application": "Lusid",
      "headerSchema": [
        { 
          "name": "eventType",
          "type": "String" 
        },
        { 
          "name": "requestId",
          "type": "String" 
        },
        { 
          "name": "userId",
          "type": "String" 
        },
        { 
          "name": "action",
          "type": "String" 
        },
        { 
          "name": "entityType",
          "type": "String" 
        },
        { 
          "name": "timestamp",
          "type": "String" 
        },
        { 
          "name": "href",
          "type": "String" 
        }
      ],
      "bodySchema": [
        { 
          "name": "portfolioScope",
          "type": "String" 
        },
        { 
          "name": "portfolioCode",
          "type": "String" 
        }
      ]
      "href": "https://<your-domain>.lusid.com/notification/api/eventtypes/PortfolioCreated"
    },
    ...
  ],
}

Note the following:

  • You use the id of an event (in this case, PortfolioCreated) to subscribe to that event in the eventType field of a subscription:
    "matchingPattern": {
       "eventType": "PortfolioCreated",
       "filter": "Body.portfolioScope eq 'Finbourne-Examples'"
       }
    
  • You can use attributes of an event (in this case, Body.portfolioScope and Body.portfolioCode) in condition filters (to subscribe to events conditionally) and mustache templates (to enrich notification messages).