Event

The flat audit-log row, as stored in the `event` table. Producers (services) emit events via `logEvent` — those calls are type-narrowed against the `EventInput` discriminated union in `packages/services/src/events.ts`, so each variant's `data` shape is type-checked at the call site. This schema is the *consumer* shape: what `GET /api/events` returns. `data` is delivered as opaque JSON; clients discriminate on `type` and parse `data` per the catalogue in docs/events.md. Subject type isn't stored separately — the `subjectId` prefix encodes it (`agt_…` = agent, `wsp_…` = workspace, …). Use `detectEntityType` from `@aeontel/shared` to recover it.

Definition

TypeScript
interface Event {
  id: string;
  type:
    | "agent.created"
    | "agent.deleted"
    | "agent.purged"
    | "agent.restored"
    | "agent.updated"
    | "agent_version.created"
    | "agent_version.deleted"
    | "agent_version.purged"
    | "agent_version.restored"
    | "agent_version.updated"
    | "api.created"
    | "api.deleted"
    | "api.purged"
    | "api.restored"
    | "api.updated"
    | "api_key.created"
    | "api_key.deleted"
    | "api_key.purged"
    | "api_key.restored"
    | "api_key.rotated"
    | "api_key.updated"
    | "app.build_cancelled"
    | "app.build_completed"
    | "app.build_failed"
    | "app.build_requested"
    | "app.build_started"
    | "app.created"
    | "app.default_version_changed"
    | "app.deleted"
    | "app.deploy_cancelled"
    | "app.deploy_completed"
    | "app.deploy_failed"
    | "app.deploy_requested"
    | "app.deploy_started"
    | "app.domain_activated"
    | "app.domain_failed"
    | "app.domain_removed"
    | "app.domain_set"
    | "app.file.changed"
    | "app.preview.started"
    | "app.preview.stopped"
    | "app.purged"
    | "app.restored"
    | "app.updated"
    | "app_version.created"
    | "app_version.deleted"
    | "app_version.failed"
    | "app_version.purged"
    | "app_version.ready"
    | "app_version.requested"
    | "app_version.restored"
    | "build.cancelled"
    | "build.completed"
    | "build.created"
    | "build.deleted"
    | "build.failed"
    | "build.started"
    | "connector.deleted"
    | "connector.purged"
    | "connector.restored"
    | "database.created"
    | "database.deleted"
    | "database.purged"
    | "database.query_executed"
    | "database.ready"
    | "database.restored"
    | "database.updated"
    | "deploy.cancelled"
    | "deploy.completed"
    | "deploy.created"
    | "deploy.deleted"
    | "deploy.failed"
    | "deploy.started"
    | "directory.created"
    | "directory.deleted"
    | "directory.purged"
    | "directory.restored"
    | "directory.updated"
    | "element.build_cancelled"
    | "element.build_completed"
    | "element.build_failed"
    | "element.build_requested"
    | "element.build_started"
    | "element.created"
    | "element.default_version_changed"
    | "element.deleted"
    | "element.file.changed"
    | "element.preview.started"
    | "element.preview.stopped"
    | "element.purged"
    | "element.restored"
    | "element.updated"
    | "element_version.created"
    | "element_version.deleted"
    | "element_version.failed"
    | "element_version.purged"
    | "element_version.requested"
    | "element_version.restored"
    | "element_version.updated"
    | "email.deleted"
    | "email.purged"
    | "email.received"
    | "email.rejected"
    | "email.restored"
    | "email.stored"
    | "endpoint.created"
    | "endpoint.deleted"
    | "endpoint.invoked"
    | "endpoint.purged"
    | "endpoint.restored"
    | "endpoint.updated"
    | "file.created"
    | "file.deleted"
    | "file.error"
    | "file.purged"
    | "file.ready"
    | "file.restored"
    | "file.updated"
    | "function.created"
    | "function.deleted"
    | "function.failed"
    | "function.invoked"
    | "function.purged"
    | "function.restored"
    | "function.updated"
    | "function_file.created"
    | "function_file.deleted"
    | "function_file.updated"
    | "function_version.created"
    | "function_version.deleted"
    | "function_version.purged"
    | "function_version.restored"
    | "function_version.updated"
    | "graph.deleted"
    | "graph.purged"
    | "graph.restored"
    | "graph_definition.created"
    | "graph_definition.deleted"
    | "graph_definition.purged"
    | "graph_definition.restored"
    | "graph_definition.updated"
    | "graph_node.created"
    | "graph_node.deleted"
    | "image.created"
    | "image.deleted"
    | "image.provision_failed"
    | "image.provision_requested"
    | "integration.created"
    | "integration.deleted"
    | "integration.install.purged"
    | "integration.install.upgraded"
    | "integration.installed"
    | "integration.member.added"
    | "integration.member.files_requested"
    | "integration.published"
    | "integration.purged"
    | "integration.reinstalled"
    | "integration.restored"
    | "integration.uninstalled"
    | "integration.updated"
    | "mcp_server.created"
    | "mcp_server.deleted"
    | "mcp_server.purged"
    | "mcp_server.restored"
    | "mcp_server.updated"
    | "message.created"
    | "message.deleted"
    | "message.purged"
    | "message.restored"
    | "notification.deleted"
    | "notification.purged"
    | "notification.restored"
    | "oauth_application.created"
    | "oauth_application.disabled"
    | "oauth_application.secret_rotated"
    | "oauth_application.updated"
    | "oauth_consent.granted"
    | "oauth_consent.revoked"
    | "organization.created"
    | "organization.deleted"
    | "organization.member.added"
    | "organization.member.removed"
    | "organization.member.updated"
    | "organization.purged"
    | "organization.restored"
    | "organization.updated"
    | "page.created"
    | "page.deleted"
    | "page.purged"
    | "page.restored"
    | "page.updated"
    | "permission.granted"
    | "permission.purged"
    | "permission.restored"
    | "permission.revoked"
    | "permission.updated"
    | "run.cancelled"
    | "run.completed"
    | "run.created"
    | "run.deleted"
    | "run.failed"
    | "run.purged"
    | "run.restored"
    | "schedule.created"
    | "schedule.deleted"
    | "schedule.fired"
    | "schedule.purged"
    | "schedule.restored"
    | "schedule.skipped"
    | "schedule.updated"
    | "schema.created"
    | "schema.deleted"
    | "schema.purged"
    | "schema.restored"
    | "schema.updated"
    | "secret.created"
    | "secret.deleted"
    | "secret.purged"
    | "secret.restored"
    | "secret.updated"
    | "session.created"
    | "skill.created"
    | "skill.deleted"
    | "skill.purged"
    | "skill.restored"
    | "skill.updated"
    | "solution.created"
    | "solution.deleted"
    | "solution.member.added"
    | "solution.member.removed"
    | "solution.purged"
    | "solution.restored"
    | "solution.updated"
    | "spec.created"
    | "spec.deleted"
    | "spec.purged"
    | "spec.refreshed"
    | "spec.restored"
    | "spec.updated"
    | "swarm.created"
    | "swarm.deleted"
    | "swarm.purged"
    | "swarm.restored"
    | "swarm.updated"
    | "swarm_version.created"
    | "swarm_version.deleted"
    | "swarm_version.purged"
    | "swarm_version.restored"
    | "swarm_version.updated"
    | "team.created"
    | "team.deleted"
    | "team.member.added"
    | "team.member.removed"
    | "team.member.updated"
    | "team.purged"
    | "team.restored"
    | "team.updated"
    | "thread.created"
    | "thread.deleted"
    | "thread.participant.joined"
    | "thread.participant.left"
    | "thread.purged"
    | "thread.read"
    | "thread.restored"
    | "thread.updated"
    | "tool.created"
    | "tool.deleted"
    | "tool.purged"
    | "tool.restored"
    | "tool.updated"
    | "trigger.created"
    | "trigger.deleted"
    | "trigger.fired"
    | "trigger.purged"
    | "trigger.restored"
    | "trigger.updated"
    | "user.created"
    | "user.deleted"
    | "user.updated"
    | "video.created"
    | "video.deleted"
    | "video.error"
    | "video.provision_failed"
    | "video.provision_requested"
    | "video.ready"
    | "webhook.delivery_completed"
    | "webhook.delivery_exhausted"
    | "webhook.delivery_failed"
    | "webhook.delivery_requested"
    | "webhook.received"
    | "webhook_call.deleted"
    | "webhook_endpoint.created"
    | "webhook_endpoint.deleted"
    | "webhook_endpoint.purged"
    | "webhook_endpoint.restored"
    | "webhook_endpoint.updated"
    | "webhook_subscription.created"
    | "webhook_subscription.deleted"
    | "webhook_subscription.purged"
    | "webhook_subscription.restored"
    | "webhook_subscription.updated"
    | "workflow.created"
    | "workflow.deleted"
    | "workflow.executed"
    | "workflow.purged"
    | "workflow.restored"
    | "workflow.updated"
    | "workspace.created"
    | "workspace.deleted"
    | "workspace.member.added"
    | "workspace.member.removed"
    | "workspace.member.updated"
    | "workspace.purged"
    | "workspace.restored"
    | "workspace.updated";
  subjectId: string | null;
  userId: string | null;
  workspaceId: string | null;
  parentId: string | null;
  data: unknown;
  createdAt: string;
}

Fields

FieldTypeNotes
idstringreadonly required
type"agent.created" | "agent.deleted" | "agent.purged" | "agent.restored" | "agent.updated" | "agent_version.created" | "agent_version.deleted" | "agent_version.purged" | "agent_version.restored" | "agent_version.updated" | "api.created" | "api.deleted" | "api.purged" | "api.restored" | "api.updated" | "api_key.created" | "api_key.deleted" | "api_key.purged" | "api_key.restored" | "api_key.rotated" | "api_key.updated" | "app.build_cancelled" | "app.build_completed" | "app.build_failed" | "app.build_requested" | "app.build_started" | "app.created" | "app.default_version_changed" | "app.deleted" | "app.deploy_cancelled" | "app.deploy_completed" | "app.deploy_failed" | "app.deploy_requested" | "app.deploy_started" | "app.domain_activated" | "app.domain_failed" | "app.domain_removed" | "app.domain_set" | "app.file.changed" | "app.preview.started" | "app.preview.stopped" | "app.purged" | "app.restored" | "app.updated" | "app_version.created" | "app_version.deleted" | "app_version.failed" | "app_version.purged" | "app_version.ready" | "app_version.requested" | "app_version.restored" | "build.cancelled" | "build.completed" | "build.created" | "build.deleted" | "build.failed" | "build.started" | "connector.deleted" | "connector.purged" | "connector.restored" | "database.created" | "database.deleted" | "database.purged" | "database.query_executed" | "database.ready" | "database.restored" | "database.updated" | "deploy.cancelled" | "deploy.completed" | "deploy.created" | "deploy.deleted" | "deploy.failed" | "deploy.started" | "directory.created" | "directory.deleted" | "directory.purged" | "directory.restored" | "directory.updated" | "element.build_cancelled" | "element.build_completed" | "element.build_failed" | "element.build_requested" | "element.build_started" | "element.created" | "element.default_version_changed" | "element.deleted" | "element.file.changed" | "element.preview.started" | "element.preview.stopped" | "element.purged" | "element.restored" | "element.updated" | "element_version.created" | "element_version.deleted" | "element_version.failed" | "element_version.purged" | "element_version.requested" | "element_version.restored" | "element_version.updated" | "email.deleted" | "email.purged" | "email.received" | "email.rejected" | "email.restored" | "email.stored" | "endpoint.created" | "endpoint.deleted" | "endpoint.invoked" | "endpoint.purged" | "endpoint.restored" | "endpoint.updated" | "file.created" | "file.deleted" | "file.error" | "file.purged" | "file.ready" | "file.restored" | "file.updated" | "function.created" | "function.deleted" | "function.failed" | "function.invoked" | "function.purged" | "function.restored" | "function.updated" | "function_file.created" | "function_file.deleted" | "function_file.updated" | "function_version.created" | "function_version.deleted" | "function_version.purged" | "function_version.restored" | "function_version.updated" | "graph.deleted" | "graph.purged" | "graph.restored" | "graph_definition.created" | "graph_definition.deleted" | "graph_definition.purged" | "graph_definition.restored" | "graph_definition.updated" | "graph_node.created" | "graph_node.deleted" | "image.created" | "image.deleted" | "image.provision_failed" | "image.provision_requested" | "integration.created" | "integration.deleted" | "integration.install.purged" | "integration.install.upgraded" | "integration.installed" | "integration.member.added" | "integration.member.files_requested" | "integration.published" | "integration.purged" | "integration.reinstalled" | "integration.restored" | "integration.uninstalled" | "integration.updated" | "mcp_server.created" | "mcp_server.deleted" | "mcp_server.purged" | "mcp_server.restored" | "mcp_server.updated" | "message.created" | "message.deleted" | "message.purged" | "message.restored" | "notification.deleted" | "notification.purged" | "notification.restored" | "oauth_application.created" | "oauth_application.disabled" | "oauth_application.secret_rotated" | "oauth_application.updated" | "oauth_consent.granted" | "oauth_consent.revoked" | "organization.created" | "organization.deleted" | "organization.member.added" | "organization.member.removed" | "organization.member.updated" | "organization.purged" | "organization.restored" | "organization.updated" | "page.created" | "page.deleted" | "page.purged" | "page.restored" | "page.updated" | "permission.granted" | "permission.purged" | "permission.restored" | "permission.revoked" | "permission.updated" | "run.cancelled" | "run.completed" | "run.created" | "run.deleted" | "run.failed" | "run.purged" | "run.restored" | "schedule.created" | "schedule.deleted" | "schedule.fired" | "schedule.purged" | "schedule.restored" | "schedule.skipped" | "schedule.updated" | "schema.created" | "schema.deleted" | "schema.purged" | "schema.restored" | "schema.updated" | "secret.created" | "secret.deleted" | "secret.purged" | "secret.restored" | "secret.updated" | "session.created" | "skill.created" | "skill.deleted" | "skill.purged" | "skill.restored" | "skill.updated" | "solution.created" | "solution.deleted" | "solution.member.added" | "solution.member.removed" | "solution.purged" | "solution.restored" | "solution.updated" | "spec.created" | "spec.deleted" | "spec.purged" | "spec.refreshed" | "spec.restored" | "spec.updated" | "swarm.created" | "swarm.deleted" | "swarm.purged" | "swarm.restored" | "swarm.updated" | "swarm_version.created" | "swarm_version.deleted" | "swarm_version.purged" | "swarm_version.restored" | "swarm_version.updated" | "team.created" | "team.deleted" | "team.member.added" | "team.member.removed" | "team.member.updated" | "team.purged" | "team.restored" | "team.updated" | "thread.created" | "thread.deleted" | "thread.participant.joined" | "thread.participant.left" | "thread.purged" | "thread.read" | "thread.restored" | "thread.updated" | "tool.created" | "tool.deleted" | "tool.purged" | "tool.restored" | "tool.updated" | "trigger.created" | "trigger.deleted" | "trigger.fired" | "trigger.purged" | "trigger.restored" | "trigger.updated" | "user.created" | "user.deleted" | "user.updated" | "video.created" | "video.deleted" | "video.error" | "video.provision_failed" | "video.provision_requested" | "video.ready" | "webhook.delivery_completed" | "webhook.delivery_exhausted" | "webhook.delivery_failed" | "webhook.delivery_requested" | "webhook.received" | "webhook_call.deleted" | "webhook_endpoint.created" | "webhook_endpoint.deleted" | "webhook_endpoint.purged" | "webhook_endpoint.restored" | "webhook_endpoint.updated" | "webhook_subscription.created" | "webhook_subscription.deleted" | "webhook_subscription.purged" | "webhook_subscription.restored" | "webhook_subscription.updated" | "workflow.created" | "workflow.deleted" | "workflow.executed" | "workflow.purged" | "workflow.restored" | "workflow.updated" | "workspace.created" | "workspace.deleted" | "workspace.member.added" | "workspace.member.removed" | "workspace.member.updated" | "workspace.purged" | "workspace.restored" | "workspace.updated"required — Event kind, formatted entity.action (e.g. agent.created, workspace.deleted).
subjectIdstring | nullrequired — Prefixed ID of the entity the event is about; null for events without a subject.
userIdstring | nullrequired — User who caused the event, if any; null for system-emitted events.
workspaceIdstring | nullrequired — Workspace the event is scoped to; null for global / personal events.
parentIdstring | nullrequired — Parent event in the causality chain (e.g. agent call → function call).
dataunknownrequired — Event payload — opaque to consumers. Shape varies by type; see EventInput in packages/services/src/events.ts for per-variant shapes.
createdAtstringreadonly required — ISO-8601 timestamp when the event was recorded.