---
title: "Terminating instrument events if a bond issuer defaults"
slug: "terminating-instrument-lifecycle-events-if-a-bond-issuer-defaults"
updated: 2026-03-30T08:10:47Z
published: 2026-03-30T08:10:47Z
canonical: "support.lusid.com/terminating-instrument-lifecycle-events-if-a-bond-issuer-defaults"
---

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

# Terminating instrument events if a bond issuer defaults

If a bond issuer defaults on their obligation, you can instruct LUSID to terminate [instrument lifecycle events](/v1/docs/understanding-instrument-lifecycle-events-emitted-by-lusid) for an instrument of type `Bond`, `ComplexBond` or `InflationLinkedBond`.

To do this, manually load a `BondDefaultEvent` into a corporate action source and subscribe each portfolio with a holding in the defaulted bond to that source. Note the following:

- A `BondDefaultEvent` has a single mandatory `effectiveDate` field that represents the datetime from which events should terminate.
- LUSID terminates instrument lifecycle events of types `BondCouponEvent` and `BondPrincipalEvent` from this date. This means no subsequent transactions representing coupon and principal payments are generated.
- LUSID *does* still emit a `MaturityEvent` on the original instrument maturity date, and generates a transaction with a cost of zero. You can handle this event in the normal way to reduce your units down to zero on that date, or alternatively take pre-emptive action if you wish.

## Step 1: Create a corporate action source

If a suitable corporate action source does not exist, call the [CreateCorporateActionSource](https://www.lusid.com/docs/api/lusid/endpoints/corporate-action-sources/CreateCorporateActionSource) API to create one. Note if the defaulted bond is stored in a [custom instrument scope](/v1/docs/understanding-instrument-scopes) you should populate the `instrumentScopes` object, for example:

```json
curl -X POST 'https://<your-domain>.lusid.com/api/api/corporateactionsources'
  -H 'Content-Type: application/json-patch+json'
  -H 'Authorization: Bearer <your-API-access-token>'
  -d '{
    "scope": "My-CAS-scope",
    "code": "My-CAS-code",
    "displayName": "Example corporate action source",
    "description": "This is an example corporate action source",
    "instrumentScopes": ["My-bond-instrument-scope"]
  }'
```

## Step 2: Subscribe a portfolio to the corporate action source

Call the [UpsertPortfolioDetails](https://www.lusid.com/docs/api/lusid/endpoints/transaction-portfolios/UpsertPortfolioDetails) API to retrospectively subscribe an existing portfolio with a holding in the defaulted bond to the corporate action source, for example:

```json
curl -X POST 'https://<your-domain>.lusid.com/api/api/transactionportfolios/growth/uk-equities/details'
 -H 'Content-Type: application/json-patch+json'
 -H 'Authorization: Bearer <your-API-access-token>'
 -d '{
  "corporateActionSourceId": {
    "scope": "My-CAS-scope",
    "code": "My-CAS-code"
  }
}'
```

## Step 3: Load a `BondDefaultEvent` into the corporate action source

Call the [UpsertInstrumentEvents](https://www.lusid.com/docs/api/lusid/endpoints/corporate-action-sources/UpsertInstrumentEvents/) API to load a `BondDefaultEvent` into the corporate action source, for example:

```json
curl -X POST 'https://<your-domain>.lusid.com/api/api/corporateactionsources/My-CAS-scope/My-CAS-code/instrumentevents'
 -H 'Content-Type: application/json-patch+json'
 -H 'Authorization: Bearer <your-API-access-token>'
 -d '[
  {
    "instrumentEventId": "BondDefault-2024-08-15",
    "instrumentIdentifiers": {"Instrument/default/LusidInstrumentId": "LUID_00003E33"},
    "description": "Bond default - stop automatic coupon and principal repayments",
    "instrumentEvent": {
      "instrumentEventType": "BondDefaultEvent",
      "effectiveDate": "2024-08-15T00:00:00.0000000+00:00"
    }
  }
]'
```

Note the following:

- The `instrumentEventId` is a free string field that must uniquely identify this corporate action in the corporate action source.
- The `instrumentIdentifiers` field uses a LUID to resolve to a bond instrument mastered in the LUSID Security Master, but you csn specify any [unique identifier](/v1/docs/what-are-unique-and-non-unique-identifiers).
- The `effectiveDate` refers to the *settlement* date of automatically-generated transactions at midnight (see below).

## Examining the impact of a `BondDefaultEvent`

Consider the example of a portfolio containing a single bond with an annual coupon payment on 15 August each year from 2020 until 2026. The principal repayment is due on the maturity date, 15 August 2026. LUSID would normally generate the following transactions in response to events emitted for this bond; note the settlement date of transactions is 15 August at midnight:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(346).png)

If we load a `BondDefaultEvent` with `"effectiveDate": "2024-08-15T00:00:01"` (that is, a time component after midnight), then the bond coupon due on 15 August 2024 *is* paid:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(345).png)

To prevent the coupon on 15 August 2024, load a `BondDefaultEvent` with `"effectiveDate": "2024-08-15"` (that is, exactly midnight):

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image(344).png)
