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 createdmetadata.view.updated- A view was updatedmetadata.agent.deleted- An agent was deleted
Source: packages/spec/src/api/events.zod.ts
TypeScript Usage
import { BulkDataEventSchema, BulkDataEventType, DataEventSchema, DataEventType, MetadataEventSchema, MetadataEventType } from '@objectstack/spec/api';
import type { BulkDataEvent, BulkDataEventType, DataEvent, DataEventType, MetadataEvent, MetadataEventType } from '@objectstack/spec/api';
// Validate data
const result = BulkDataEventSchema.parse(data);BulkDataEvent
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | ✅ | Unique event identifier |
| type | Enum<'data.records.updated' | 'data.records.deleted'> | ✅ | Event type |
| object | string | ✅ | Object name |
| matched | integer | ✅ | Number of records affected |
| userId | string | optional | User who triggered the event |
| timestamp | string | ✅ | Event timestamp |
BulkDataEventType
Allowed Values
data.records.updateddata.records.deleted
DataEvent
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | ✅ | Unique event identifier |
| type | Enum<'data.record.created' | 'data.record.updated' | 'data.record.deleted'> | ✅ | 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.deleted
MetadataEvent
Properties
| Property | Type | Required | Description |
|---|---|---|---|
| id | string | ✅ | Unique event identifier |
| type | Enum<'metadata.object.created' | 'metadata.object.updated' | 'metadata.object.deleted' | 'metadata.field.created' | 'metadata.field.updated' | … +34 more> | ✅ | Event type |
| metadataType | string | ✅ | Metadata type (object, view, agent, etc.) |
| name | string | ✅ | Metadata item name |
| packageId | string | optional | Package ID |
| definition | any | optional | Full definition (create/update only) |
| userId | string | optional | User who triggered the event |
| timestamp | string | ✅ | Event timestamp |
Allowed Values: MetadataEvent.type
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
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