Enrollment.finished
A Contact passed the last step of a Sequence with no exit Event, so the run ends with exitReason finished.
| Property | Value |
|---|---|
| Raised by | No Verb: the runtime raises it |
| Noun | Enrollment |
| Moves | Enrollment active to exited |
| Wakes | None. |
Payload
Each delivery is an Event record. data holds the Enrollment as it stands, and previous holds the state it left.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | Enrollment.finished. |
at | datetime | required | When it happened. |
seq | integer | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. | |
data | json | required | The Thing as the Action left it. |
data.enrollment | Enrollment | required | The Enrollment as the change left it. |
data.enrollment.status | string | required | Where the run stands. |
data.enrollment.step | string | required | The Sequence step the person is on. |
data.enrollment.nextAt | datetime | When the next step fires; empty while paused or exited. | |
data.enrollment.branches | string[] | The branches taken so far, in order. | |
data.enrollment.exitReason | string | Why the run ended. | |
data.previous.status | string | required | The status before this Event: active. |
Example
{
"$id": "https: //api.sb/ leaseline.app/ events/ evt_1A8LSZTwSf",
"$type": "Event",
"name": "Enrollment.finished",
"at": "2026-10-22T12: 00: 00Z",
"data": {
"enrollment": {
"$id": "https: //api.sb/ leaseline.app/ enrollments/ enrollment_t2LKaLorKn",
"$type": "Enrollment",
"status": "exited",
"step": "Example step",
"nextAt": "2026-10-22T12: 00: 00Z",
"branches": [
"Example branches"
],
"exitReason": "replied"
},
"previous": {
"status": "active"
}
},
"seq": 1695
}