# Template.upgraded

URL: /business/events/Template.upgraded · Id: `event:Template.upgraded`

> Emitted each time a Template is upgraded.

[Template.upgrade](/business/nouns/template/upgrade) emits `Template.upgraded` when it completes on a [Template](/business/nouns/template).

| Property | Value |
| --- | --- |
| Emitted by | [Template.upgrade](/business/nouns/template/upgrade) |
| Noun | [Template](/business/nouns/template) |
| Wakes | None. |

### Payload
Each delivery is an [Event](/business/nouns/event) record. `data` holds what [Template.upgrade](/business/nouns/template/upgrade) returns.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | `Template.upgraded`. |
| `at` | `datetime` | Yes | When it happened. |
| `seq` | `integer` | No | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. |
| `data` | `json` | Yes | The Thing as the Action left it. |
| `data.change` | [Change](/business/nouns/change) | Yes | The Change that moves the pin. |
| `data.template` | [Template](/business/nouns/template) | Yes | The Template upgraded to. |
| `data.template.body` | `text` | Yes | The MDX source with its variables. |

### Example
```json
{
  "$id": "https://api.sb/tutorloop.com/events/event_1",
  "$type": "Event",
  "name": "Template.upgraded",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "change": {
      "$id": "https://api.sb/tutorloop.com/changes/change_1",
      "$type": "Change",
      "status": "Open",
      "base": "version_1"
    },
    "template": {
      "$id": "https://api.sb/tutorloop.com/templates/template_1",
      "$type": "Template",
      "body": "Example body"
    }
  },
  "seq": 1
}
```