# App.published

URL: /business/events/App.published · Id: `event:App.published`

> Emitted each time an App is published.

[App.publish](/business/nouns/app/publish) emits `App.published` when it completes on an [App](/business/nouns/app).

| Property | Value |
| --- | --- |
| Emitted by | [App.publish](/business/nouns/app/publish) |
| Noun | [App](/business/nouns/app) |
| Wakes | None. |

### Payload
Each delivery is an [Event](/business/nouns/event) record. `data` holds what [App.publish](/business/nouns/app/publish) returns.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | `string` | Yes | `App.published`. |
| `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.app` | [App](/business/nouns/app) | Yes | The App, now released. |
| `data.app.kind` | `string` | Yes | One of `api`, `mcp`, `cli`, `sdk`, `site`, `app`, `docs`, or `webhooks`. |
| `data.app.path` | `string` | No | Where it is mounted on its Domain, such as `/api`. |
| `data.app.conformsTo` | `json` | No | The Standards it also speaks, each mapping the Standard’s operations onto the Product’s Verbs. |
| `data.app.personas` | list of [Persona](/business/nouns/persona) | No | The Personas it serves. |
| `data.app.views` | list of [Dashboard](/business/nouns/dashboard) | No | Its Dashboards, compiled by default from the Persona’s Role: a list and record per Noun, a form per Verb. |
| `data.app.slots` | `json` | No | Named places where a Component replaces a default part, such as a record header or the ask control. |

### Example
```json
{
  "$id": "https://api.sb/routewise.dev/events/event_1",
  "$type": "Event",
  "name": "App.published",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "app": {
      "$id": "https://api.sb/routewise.dev/apps/app_1",
      "$type": "App",
      "kind": "api",
      "path": "/",
      "conformsTo": {
        "standard": "openai-chat",
        "operations": {
          "chat.completions.create": "Listing.write"
        }
      },
      "personas": [
        "persona_1"
      ],
      "views": [
        "dashboard_1"
      ],
      "slots": {}
    }
  },
  "seq": 1
}
```