# Voice.retired

URL: /business/events/Voice.retired · Id: `event:Voice.retired`

> Emitted each time a Voice is retired.

[Voice.retire](/business/nouns/voice/retire) emits `Voice.retired` when it completes on a [Voice](/business/nouns/voice).

| Property | Value |
| --- | --- |
| Emitted by | [Voice.retire](/business/nouns/voice/retire) |
| Noun | [Voice](/business/nouns/voice) |
| Moves | [Voice](/business/nouns/voice) `training` to `retired`; [Voice](/business/nouns/voice) `ready` to `retired` |
| Wakes | None. |

### Payload
Each delivery is an [Event](/business/nouns/event) record. `data` holds what [Voice.retire](/business/nouns/voice/retire) returns, and `previous` holds the state it left.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | `Voice.retired`. |
| `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.voice` | [Voice](/business/nouns/voice) | Yes | The Voice, now `retired`. |
| `data.voice.origin` | `string` | Yes | `cloned` from a real speaker’s recordings, or `designed` from a description and sounding like no real person. |
| `data.voice.speaker` | [Person](/business/nouns/person) | No | The real person a cloned Voice sounds like. |
| `data.voice.consent` | [Consent](/business/nouns/consent) | No | The speaker’s Consent, recorded in that voice, naming the Startup and the uses allowed; required for a cloned Voice. |
| `data.voice.scope` | `string` | Yes | Who may speak in it: every sibling, one Startup, or one Customer. |
| `data.voice.samples` | list of [File](/business/nouns/file) | No | The recordings it was trained from, kept forever. |
| `data.voice.status` | `string` | Yes | `training` until the upstream finishes, `ready` for speech, `retired` once its trained copy is deleted. |
| `data.previous.status` | `string` | Yes | The `status` before this Event: `training`. |

### Example
```json
{
  "$id": "https://api.sb/kilnbakery.com/events/event_1",
  "$type": "Event",
  "name": "Voice.retired",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "voice": {
      "$id": "https://api.sb/kilnbakery.com/voices/voice_1",
      "$type": "Voice",
      "origin": "cloned",
      "speaker": "person_1",
      "consent": "consent_1",
      "scope": "studio",
      "samples": [
        "file_1"
      ],
      "status": "retired"
    },
    "previous": {
      "status": "training"
    }
  },
  "seq": 1
}
```