Events
Events protocol schemas
Metadata Event Types
Triggered when metadata items are created, updated, or deleted.
Follows the pattern: metadata.\{type\}.\{action\}
Examples:
-
metadata.object.created- A new object was created -
metadata.view.updated- A view was updated -
metadata.agent.deleted- An agent was deleted
Source: packages/spec/src/api/events.zod.ts
TypeScript Usage
import { DataEvent, DataEventType, MetadataEventType } from '@objectstack/spec/api';
import type { DataEvent, DataEventType, MetadataEventType } from '@objectstack/spec/api';
// Validate data
const result = DataEvent.parse(data);DataEvent
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | ✅ | Unique event identifier |
| type | Enum<'data.record.created' | 'data.record.updated' | 'data.record.deleted' | 'data.field.changed'> | ✅ | Event type |
| object | string | ✅ | Object name |
| recordId | string | ✅ | Record ID |
| changes | Record<string, any> | optional | Changed fields |
| before | Record<string, any> | optional | Before state |
| after | Record<string, any> | optional | After state |
| userId | string | optional | User who triggered the event |
| timestamp | string | ✅ | Event timestamp |
DataEventType
Allowed Values
data.record.createddata.record.updateddata.record.deleteddata.field.changed
MetadataEventType
Allowed Values
metadata.object.createdmetadata.object.updatedmetadata.object.deletedmetadata.field.createdmetadata.field.updatedmetadata.field.deletedmetadata.view.createdmetadata.view.updatedmetadata.view.deletedmetadata.app.createdmetadata.app.updatedmetadata.app.deletedmetadata.agent.createdmetadata.agent.updatedmetadata.agent.deletedmetadata.tool.createdmetadata.tool.updatedmetadata.tool.deletedmetadata.flow.createdmetadata.flow.updatedmetadata.flow.deletedmetadata.action.createdmetadata.action.updatedmetadata.action.deletedmetadata.workflow.createdmetadata.workflow.updatedmetadata.workflow.deletedmetadata.dashboard.createdmetadata.dashboard.updatedmetadata.dashboard.deletedmetadata.report.createdmetadata.report.updatedmetadata.report.deletedmetadata.role.createdmetadata.role.updatedmetadata.role.deletedmetadata.permission.createdmetadata.permission.updatedmetadata.permission.deleted