You can subscribe to:
- LUSID system events that occur in the core investment data management platform itself.
- LUSID system events that occur in ecosystem applications such as Drive, Scheduler and Luminesce.
- Non-LUSID 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 system event, and so on.
To see the list of system events you can subscribe to, obtain an API access token and call the Notification Service 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 system events and their attributes. The following snippet shows the detail of the response for the LUSID PortfolioCreated
system event. Note attributes common to all system events are in the headerSchema
, while attributes specific to this system 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 a system event (in this case,PortfolioCreated
) to subscribe to it in theeventType
field of a subscription:"matchingPattern": { "eventType": "PortfolioCreated", "filter": "Body.portfolioScope eq 'Finbourne-Examples'" }
- You can use attributes of a system event (in this case,
Body.portfolioScope
andBody.portfolioCode
) in condition filters (to subscribe to system events conditionally) and mustache templates (to enrich notification messages).